Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mod_Rewrite-如何修改以删除所有字符?_Php_Apache_.htaccess - Fatal编程技术网

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]