Mod_Rewrite - 如何修改以便删除所有字符?

时间:2011-07-29 12:26:59

标签: 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%3f123

这是条件和规则,任何人都可以看到为什么当遇到另一个问号以及我如何修复它以便删除问号之后的所有内容时这样做?

RewriteCond %{QUERY_STRING} (.+)\?.* 
RewriteRule (.*) /$1?%1 [L,R=301]

非常感谢

Pjn

1 个答案:

答案 0 :(得分:1)

RewriteCond %{QUERY_STRING} (.+?)\?.* 
RewriteRule (.*) /$1?%1 [L,R=301]

注意(。+