0

我在服务器中托管了几个域,并且我有一个.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 规则。

任何人都知道我应该如何调试这个?

提前致谢。

4

0 回答 0