RewriteRule域包含'?'

时间:2012-10-31 18:13:38

标签: mod-rewrite redirect url-rewriting

我想让RewriteRule在domain的/ page / test或/ page / test /中去www.domain.com。仅限于这两个例子。 我试试:

RewriteRule ^/page/test/?$ http://www.domain.com [R=301,L,NC]

这样会好,但我还有其他页面,例如/ page / test /?D_test 当我放入RewriteRule时,还重定向/ page / test /?D_test。问题是'?'。如何编写我的规则,不要将另一个页面重写为www.domain.com?例如

/page/test/?D_test /page/test/(.*)

1 个答案:

答案 0 :(得分:0)

我不确定我理解你的问题。您要么问我如何将包括查询字符串在内的所有流量重定向到域并取消查询字符串。在这种情况下,我通常这样做:

RewriteRule ^/page/test/?$ http://www.domain.com? [R=301,L,NC]

如果您想这样做,如果有查询字符串则不会重定向,那么您必须使用重写条件。

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/page/test/?$ http://www.domain.com? [R=301,L,NC]