You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress多站点htaccess条件逻辑:排除主域名跳转至www和HTTPS

WordPress多站点.htaccess条件重定向解决方案:排除指定主域名

没问题,这个需求完全可以通过给现有重定向规则添加简单的排除条件实现,而且绝对不会影响站点加载速度——.htaccess规则是按顺序执行的,我们只需要给目标主域名加一个“跳过后续规则”的判断就好,不会像逐个配置域名那样增加规则复杂度和执行开销。

这里提供两种简洁高效的实现方式,你可以根据偏好选择:

方式一:先排除主域名,再执行通用重定向

这种写法逻辑更清晰,后续如果要添加其他规则,也不会影响被排除的主域名:

<IfModule mod_rewrite.c>
RewriteEngine On

# 匹配主域名domain1.com,直接跳过所有后续重定向规则
RewriteCond %{HTTP_HOST} ^domain1\.com$
RewriteRule ^ - [L]

# 对其余所有域名强制跳转至HTTPS + www版本
RewriteCond %{HTTP_HOST} (?!^www\.)^(.+)$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

关键说明:

  • RewriteCond %{HTTP_HOST} ^domain1\.com$:精准匹配非www的主域名,注意正则里的点号需要用反斜杠转义(\.),避免被当作通配符。
  • RewriteRule ^ - [L]:表示对匹配到的请求不做任何URL修改,[L]标志告诉Apache这是最后一条要执行的规则,直接跳过后续所有重定向逻辑。
  • 如果你的主域名也需要同时排除www版本(比如www.domain1.com),可以把条件改成:RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$,这样不管带不带www的主域名都会被排除。

方式二:将排除条件合并到重定向规则中

这种写法更紧凑,把排除逻辑和原有重定向条件结合在一起:

<IfModule mod_rewrite.c>
RewriteEngine On

# 仅对非domain1.com的域名执行HTTPS + www重定向
RewriteCond %{HTTP_HOST} !^domain1\.com$
RewriteCond %{HTTP_HOST} (?!^www\.)^(.+)$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

关键说明:

  • RewriteCond %{HTTP_HOST} !^domain1\.com$:感叹号表示“非匹配”,意思是只有当请求域名不是domain1.com时,才会继续检查后面的重定向条件。

额外注意事项:

  1. 记得把代码中的domain1.com替换成你实际的主域名,不要忘记转义点号。
  2. 测试阶段建议把R=301改成R=302(临时重定向),确认规则生效后再改回301永久重定向,避免浏览器缓存错误的重定向规则。
  3. 这种单正则判断的开销极小,完全不会影响站点加载速度,和你原来的规则执行效率几乎一致。

内容的提问来源于stack exchange,提问作者dgPehrson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:25:48