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

WordPress主站非www跳转正常 子目录站点跳转失效如何解决

问题根因

子目录下的.htaccess优先级高于根目录的.htaccess,默认不会继承根目录的重写规则。且你子目录配置的WP Rocket缓存规则、WordPress默认路由规则都带有[L]标记,请求匹配到这些规则后会直接终止重写流程,不会再执行根目录的非www跳转逻辑。

推荐解决方案(更稳定,无规则冲突风险)

直接在子目录的.htaccess所有规则的最顶部添加非www转www的专属跳转规则,修改后子目录的完整配置开头如下:

# 新增的跳转规则放在最顶部
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/sub/$1 [R=301,L]
</IfModule>

# 原有子目录的WP Rocket规则、WordPress默认规则保持不变,接在后面即可
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sub/
... # 你原来的剩余配置内容
</IfModule>
配置生效注意事项
  • 修改完成后先清除WP Rocket的全站静态缓存
  • 清除浏览器缓存(301重定向会被浏览器长期缓存,建议用无痕模式测试跳转效果)
可选替代方案

如果你不想修改子目录配置,也可以修改根目录的.htaccess,开启子目录规则继承,将根目录配置调整为:

RewriteEngine on
# 让根目录的重写规则优先于所有子目录的规则执行
RewriteOptions InheritDownBefore
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

注意:该方案可能会和子目录的自定义重写规则产生冲突,非必要不推荐使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:06:05