You need to enable JavaScript to run this app. 如何通过.htaccess为WordPress设置301重定向移除URL带数字的/bpage/后缀
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.htaccess为WordPress设置301重定向移除URL带数字的/bpage/后缀

注意:WordPress 自动生成的 # BEGIN WordPress 到 # END WordPress 区间的内容会被系统动态覆盖,所有自定义重定向规则必须放在这个区块的上方,不要修改区间内的原有内容,你之前在区间内加的两行错误规则可以直接删除。

你之前的配置失效核心有两个问题:

  • 用了%{QUERY_STRING}匹配查询参数,但你要处理的是URL路径部分,不是问号后的参数,匹配对象完全错误
  • 正则只匹配了字母,没有匹配你需要的数字段,目标跳转地址也不符合需求

正确配置方案

完整的.htaccess结构如下:

# 自定义重定向规则,放在WordPress默认配置之前
<IfModule mod_rewrite.c>
RewriteEngine On
# 移除URL中/bpage/数字段的301重定向规则
RewriteRule ^(.*)/bpage/([0-9]+)/?$ /$1 [L,R=301,NC]
</IfModule>

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

规则说明

  • 正则^(.*)/bpage/([0-9]+)/?$中:(.*)捕获/bpage/之前的所有路径内容,[0-9]+匹配1位及以上的正整数(兼容1到数千的可变数值),/?兼容路径末尾带/或不带/的两种情况
  • 跳转地址/$1直接调用捕获到的前缀路径,自动移除/bpage/数字/段
  • 参数说明:R=301为永久重定向,L表示命中规则后停止执行后续重定向逻辑,NC表示不区分路径大小写

修改完成后请清空浏览器缓存再测试,301重定向会被浏览器长期缓存,建议用浏览器无痕模式验证规则是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 16:42:04