重写URL并允许多个查询字符串

时间:2011-09-15 14:36:53

标签: apache .htaccess mod-rewrite url-rewriting

我想重写URL,同时仍然允许多个可选的查询字符串。

例如,我知道我可以这样做:

RewriteCond %{QUERY_STRING} ^page=(\d+)$
RewriteRule ^products/?$ products.php

是否可以允许传递更多查询字符串,以便我可以使用products/?page=1&foo=bar之类的东西等等?

感谢。

编辑:我想要的只是规则末尾的[QSA]。像我预期的那样工作。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

RewriteCond %{QUERY_STRING} ^page=[0-9]*&foo=bar$
RewriteRule ^products/?$ products.php [L]

或者简单地重写你的条件:

RewriteCond %{QUERY_STRING} (^|&)page=[0-9]*(&|$)
RewriteRule ^products/?$ products.php [L]