如何在.htaccess中配置301重定向移除URL参数并跳转至原URL?
解决WordPress URL带m参数的301重定向问题
你的原有规则无效是因为仅匹配网站根目录,无法覆盖具体页面路径,下面给出针对性的修复方案:
问题分析
你需要区分两种跳转场景:
- 带
?m=1的URL → 跳转至abcprice4india.co.in域名下的对应无参数页面 - 带
?m=0的URL → 跳转至当前abc.com域名下的对应无参数页面
正确的重写规则
将以下代码添加到你的.htaccess文件中,放在WordPress默认规则(# BEGIN WordPress)之前:
# 处理?m=1的跳转,指向目标域名 RewriteCond %{QUERY_STRING} ^m=1$ [NC] RewriteRule ^(.*)$ https://abcprice4india.co.in/$1? [R=301,L] # 处理?m=0的跳转,指向当前域名 RewriteCond %{QUERY_STRING} ^m=0$ [NC] RewriteRule ^(.*)$ https://abc.com/$1? [R=301,L]
关键说明
^(.*)$匹配所有页面路径,确保任意带参数的页面都能被处理- 规则末尾的
?用于清空查询字符串,实现移除m参数的效果 [NC]表示忽略大小写匹配,[L]表示这是最后一条规则,停止后续处理- 建议先使用
R=302(临时重定向)测试,确认跳转正常后再改为R=301(永久重定向),避免浏览器缓存错误
内容的提问来源于stack exchange,提问作者Jai
相关产品推荐
相关产品推荐

