Apache mod_rewrite操纵查询字符串

时间:2011-07-28 13:41:11

标签: php apache .htaccess

如何使用mod_rewrite操作查询字符串变量?

e.g。我想要以下查询字符串:

?route=product​/product&​product_id=158?​ax13g76h

重写为:

?route=product​/product&​product_id=158

基本上我只想保留2个问号之间的所有内容。一旦第二个问号被删除,一切都被删除

这可能吗?

1 个答案:

答案 0 :(得分:3)

对于这种情况,您可以使用:

RewriteCond %{QUERY_STRING} route=product/product&product_id=(\d+).*
RewriteRule (.*) $1?route=product/product&product_id=%1

对于所有其他

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