0

我知道如何排除文件夹、文件类型,但我不知道如何排除包含特定单词的链接。我有这个规则:

RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]

如何从此规则中排除开头的链接:index.php?a=admin

4

1 回答 1

1

这应该可以解决问题:

RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteCond %{REQUEST_FILENAME} index\.php
RewriteCond %{QUERY_STRING} !^a=admin
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]

在这里,我们添加了一个条件,即仅当主机为www.domain.com、被请求的文件为index.php且查询字符串不为时才可能发生重写a=admin

因此,www.domain.com/test将重定向到en.domain.com/test,但www.domain.com/index.php?a=admin根本不会重定向。

于 2013-04-20T15:49:51.570 回答