我在服务器中托管了几个域,并且我有一个.htaccess
类似于此的文件:
# FIRST.COM
RewriteCond %{HTTP_HOST} !^www\.first\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.first\.com$ [NC]
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^(.*)$ /index.php?q=%2 [L,QSA,NC]
# there are some more rules for first.com here ...
# SECOND.COM
RewriteCond %{HTTP_HOST} !^www\.second\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.second\.com$ [NC]
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^(.*)$ /index.php?q=%2 [L,QSA,NC]
# there are some more rules for second.com here ...
# THIRD.COM
RewriteCond %{HTTP_HOST} !^www\.third\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.third\.com$ [NC]
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^(.*)$ /index.php?q=%2 [L,QSA,NC]
基本上所有域都指向一个脚本,但是它们的重写规则略有不同。
我现在只是添加了third.com 规则,我意识到所有网站(即使是那些在.htaccess 文件中没有任何重写规则的网站)现在都将访问third.com。
third.com 规则正好在 .htaccess 文件的底部,如果我删除它们,上述所有规则都可以正常工作。第一个和第二个域有很多规则,它们都可以正常工作,并且可以按预期进行,但是当我添加这四行时,没有任何规则可以匹配任何规则,并且所有请求都将匹配 third.com 规则。
任何人都知道我应该如何调试这个?
提前致谢。