我有这个重写条件和规则,当在查询字符串中遇到问号时会删除它之后的所有内容。它适用于像这样的查询字符串:
?route=product/product&product_id=158?ax13g76h
它返回:
?route=product/product&product_id=158
这就是我想要的。但是,如果查询字符串包含多个问号,例如:
?route=product/product&product_id=158?ax13g76h??123
它返回:
?route=product/product&product_id=158%3f123
这是条件和规则,任何人都可以看到为什么当遇到另一个问号以及我如何修复它以便删除问号之后的所有内容时这样做?
RewriteCond %{QUERY_STRING} (.+)\?.*
RewriteRule (.*) /$1?%1 [L,R=301]
非常感谢
Pjn
答案 0 :(得分:1)
RewriteCond %{QUERY_STRING} (.+?)\?.*
RewriteRule (.*) /$1?%1 [L,R=301]
注意(。+ ?)