如何在.htaccess 301重定向时忽略GET参数?
如何在Apache重定向时忽略所有GET参数?
你当前使用的Redirect 301指令会自动把原URL的查询字符串(即?后面的a=1&b=2这类参数)附加到目标URL上,这就是重定向后参数仍存在的原因。要彻底丢弃查询参数,得用mod_rewrite的RewriteRule指令,配合QSD(Query String Discard)标记实现。
替换你现有的代码为以下内容:
RewriteEngine On RewriteRule ^product/category/name/something-123/?$ https://example.com/category/asdf.html [L,R=301,QSD]
关键说明:
RewriteEngine On:开启mod_rewrite模块(需确保服务器已启用该模块)^product/category/name/something-123/?$:精准匹配原URL路径,/?$兼容末尾带/或不带/的情况[L,R=301,QSD]:L:表示这是最后一条规则,匹配后不再处理后续规则R=301:发起301永久重定向QSD:核心参数,直接丢弃原URL的所有查询字符串,保证目标URL不带任何参数
替换完成后,访问原URL时,重定向后的新地址就不会附带?a=1&b=2这类参数了。
内容的提问来源于stack exchange,提问作者Mariusz Wu
相关产品推荐
相关产品推荐

