.htaccess配置:仅将主域名非www重定向到www,排除子域名
解决根域名重定向且不干扰WordPress子域名多站点的问题
刚好碰到过类似的场景——你的原始规则会把所有非www开头的域名(包括子域名)都转成www前缀,这显然会破坏WordPress子域名多站点的正常运行。我们只需要把规则限定为**仅作用于根域名example.com**即可,修改后的代码如下:
<IfModule mod_rewrite.c> RewriteEngine On # 仅精准匹配根域名example.com(不区分大小写) RewriteCond %{HTTP_HOST} ^example\.com$ [NC] # 将根域名永久重定向到www.example.com,匹配后停止后续规则 RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] </IfModule>
规则细节拆解:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]:这是核心修改点,^和$锚定了域名的首尾,确保只有完全匹配example.com的请求才会触发重定向;[NC]参数让规则不区分大小写(比如Example.com也能正常匹配)。- 把
RewriteRule里的%{HTTP_HOST}换成固定的www.example.com,避免了误将子域名拼接成www.site-x.example.com的问题。 R=301是永久重定向,对搜索引擎SEO友好;L表示这是最后一条执行的规则,匹配后不再处理后续重写逻辑。
这样调整后,example.com会正确跳转到www.example.com,而site-x.example.com这类子域名完全不受影响,完美适配你的WordPress子域名多站点架构。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

