Php Mod_Rewrite-如何修改以删除所有字符?
我有一个重写条件和规则,当在查询字符串中遇到问号时,它会删除后面的所有内容。它适用于以下查询字符串:Php Mod_Rewrite-如何修改以删除所有字符?,php,apache,.htaccess,Php,Apache,.htaccess,我有一个重写条件和规则,当在查询字符串中遇到问号时,它会删除后面的所有内容。它适用于以下查询字符串: ?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?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
注(+?)就可以了(为什么我们不能在适当的时候写这样的简短评论:()
RewriteCond %{QUERY_STRING} (.+?)\?.*
RewriteRule (.*) /$1?%1 [L,R=301]