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

WordPress站点如何设置301跳转全部子页到首页并保留部分页面例外

原有代码不生效核心原因
  • 规则顺序错误:你的自定义重写规则放在了WordPress自带的伪静态规则之后,WP默认规则会优先将所有请求路由到index.php,你的规则根本不会被触发
  • 排除逻辑缺陷:仅排除了index.php和impressum,未排除后台路径、静态资源路径、其他需要保留的页面,正则末尾的?符号会导致根路径也被纳入跳转范围,甚至触发死循环
  • 301缓存干扰:301是永久重定向,浏览器会长期缓存跳转规则,修改代码后未清缓存会看起来仍未生效
解决方案1:修改.htaccess规则(推荐)

将以下代码放在.htaccess文件的最顶部,必须放在WordPress自动生成的# BEGIN WordPress标记之前,避免被WP后续更新覆盖:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# 排除需要保留的页面、后台、系统目录
RewriteCond %{REQUEST_URI} !^/(index\.php|impressum|privacy-policy|wp-admin|wp-content|wp-includes) [NC]
# 排除静态资源文件
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|css|js|ico|pdf|webp|svg)$ [NC]
# 其余不存在的路径全部301跳转至首页
RewriteRule ^.*$ / [L,R=301]
</IfModule>

注意:将上述代码中的privacy-policy替换为你站点实际的隐私政策页面别名,其他需要保留的页面都可以加到第一个RewriteCond的括号内,用|分隔即可。

生效验证步骤

  1. 修改完保存后,清空浏览器缓存,或使用浏览器无痕模式测试
  2. 测试前可先将R=301改为R=302做临时跳转测试,确认规则符合预期后再改回301,避免错误规则被长期缓存
解决方案2:WordPress插件实现(零代码门槛)

如果不想修改配置文件,可以安装Redirection这类跳转插件,配置规则如下:

  • 源URL匹配模式选择「正则匹配」,填入规则:^/(?!index\.php|impressum|privacy-policy|wp-admin|wp-content|wp-includes|.*\.(jpg|jpeg|png|gif|css|js|ico|pdf|webp|svg)$).*$
  • 目标URL填入站点首页地址/
  • 跳转类型选择「301永久重定向」
  • 保存后清空站点缓存即可生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:15:01