我知道如何排除文件夹,文件类型,但我不知道如何排除包含特定单词的链接。 我有这个规则:
RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]
如何从此规则中排除开头的链接:index.php?a = admin
答案 0 :(得分: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
时才会发生重写。 1}}。
因此,www.domain.com/test
会重定向到en.domain.com/test
,但www.domain.com/index.php?a=admin
根本不会重定向。