.htaccess域目录不能正确parsingdomain.com/domain

我有2个域指向相同的IP foo.combar.com

我没有权限为域设置虚拟主机,但是我已经设法创build了.htaccess规则,以便像这样设置。

  • foo.com指向/目录
  • bar.com指向/ bar目录

现在有了上面的设置,我可以有不同的index.html文件来访问域的根目录。

这是我为bar.com实施的规则

 RewriteCond %{HTTP_HOST} ^(www\.)?bar\.com$ RewriteCond %{REQUEST_URI} !bar/ RewriteRule ^(.*)$ bar/$1 [L] 

上面的规则完美地工作,但是当我浏览到bar.com/bar它不给我一个404 ,而是它仍然指向我的bar目录的根。

所以,我创build了另一个RewriteCond来处理这个问题。

 RewriteCond %{HTTP_HOST} ^(www\.)?bar\.com$ RewriteCond %{THE_REQUEST} "(GET|POST) \/bar\/ HTTP/" 

RewriteCond完美的工作。 我不知道什么重写规则我会写,所以当用户访问bar.com/bar它会指向/bar/bar目录,因此会给我一个404

我试过下面的RewriteRule ,但似乎没有工作

 RewriteRule ^bar/(.*)$ bar/bar/$1 [L,QSA] 

所以我暂时创build了一个redirect到主bar.com域。

 RewriteRule ^bar/(.*)$ http://bar.com/$1 [L,QSA,R=301] 

我就是这么做的

 RewriteCond %{HTTP_HOST} ^(www\.)?bar\.com$ RewriteCond %{THE_REQUEST} "(GET|POST) \/bar\/(.*) HTTP/" RewriteCond %{ENV:REDIRECT_STATUS} !200 RewriteRule ^(.*)$ /bar/$1 [L]