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

如何阻止子目录首页跟随根域名重定向?

解决根域名跳转导致子目录首页异常的问题

听起来你遇到的是典型的跳转规则覆盖子目录请求的问题——根域名的跳转规则没有区分「根目录请求」和「子目录首页请求」,导致访问/blog这种子目录首页时,被根的跳转规则截胡了,但/blog/contact这种带具体路径的请求因为规则没匹配到,所以能正常加载子目录的内容。

下面分两种常见场景给你解决方案:

一、如果是用.htaccess配置的根域名跳转

假设你原来的根目录.htaccess里的跳转规则是类似这样的(会匹配所有请求):

RewriteEngine On
RewriteRule ^(.*)$ https://目标域名/$1 [R=301,L]

你需要修改规则,先排除所有子目录的请求,再执行根域名的跳转:

RewriteEngine On

# 逐个排除需要保留的子目录,每个子目录加一行RewriteCond
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_URI} !^/其他子目录名/

# 只对根目录的请求执行跳转(如果根下还有单独页面需要跳转,看下面注释)
RewriteRule ^$ https://目标域名/ [R=301,L]

# 如果你需要根域名下的其他独立页面(比如/about)也跳转,但不影响子目录,用这条替换上面的RewriteRule:
# RewriteRule ^((?!blog|其他子目录名).*)$ https://目标域名/$1 [R=301,L]

同时要确保每个子目录(比如/blog)里的WordPress.htaccess配置正常,应该是这样的:

RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]

二、如果是通过主机面板(比如cPanel)设置的跳转

很多主机面板的「重定向」功能默认会跳转整个站点的所有路径,你需要调整设置:

  • 找到面板里的「重定向」工具
  • 选择「仅重定向根域名」(而不是「重定向所有请求到目标域名」)
  • 确认保存后,只有访问根域名flippinghousesforrookies.com时才会跳转,子目录的请求会正常加载自身内容

最后注意事项

  • 测试前一定要清除浏览器缓存,或者用隐私窗口测试——301永久跳转的缓存会让你看不到修改后的效果
  • 检查子目录的文件权限,确保index.php和.htaccess的权限是服务器能正常读取的(一般是644)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:39:04