使用.htaccess修复URL查询字符串格式时遇编码字符404问题
URL重写含编码字符时触发404的问题记录
- 需求场景:需要修正URL格式,将第一个紧跟
utm_source的&替换为标准查询字符串分隔符?,例如把domain.com/category-b&utm_source=x%20yz调整为domain.com/category-b?utm_source=x%20yz - 初始有效规则:使用Apache重写规则
RewriteRule ^/?([^&]+)&(.*)$ /$1?$2 [R=301,L,QSA](感谢arkascha),该规则在URL无编码字符时(如&utm_source=IAMGoogle)可正常工作 - 异常情况:当URL包含编码字符(如
&utm_source=I%20AM%20Google)时,执行重写后会出现404错误 - 当前状态:已通过添加额外Rewrite规则实现临时解决,但原规则仅覆盖了无编码字符的初始场景
内容的提问来源于stack exchange,提问作者user1610350
相关产品推荐
相关产品推荐

