我知道如何排除文件夹、文件类型,但我不知道如何排除包含特定单词的链接。我有这个规则:
RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]
如何从此规则中排除开头的链接:index.php?a=admin
我知道如何排除文件夹、文件类型,但我不知道如何排除包含特定单词的链接。我有这个规则:
RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]
如何从此规则中排除开头的链接:index.php?a=admin
这应该可以解决问题:
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
根本不会重定向。