.htaccess não resolve domínio.com / domínio corretamente

1

Eu tenho dois domínios que apontam para o mesmo IP foo.com e bar.com

Eu não tenho acesso à configuração de um host virtual para os domínios, mas consegui criar .htaccess regras para que ele seja configurado assim.

  • foo.com aponta para / directory
  • pontos do bar.com para o diretório / bar

Tendo a configuração acima agora, eu poderia ter diferentes arquivos index.html para acessar a raiz do domínio.

Esta é a regra que implementei para bar.com

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

A regra acima funciona perfeitamente, no entanto, quando navego para bar.com/bar , não me dá um 404 , mas ainda aponta para a raiz do meu diretório bar .

Então, criei outro RewriteCond para lidar com esse problema.

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

Enquanto o RewriteCond funciona perfeitamente. Não tenho certeza de qual regra de reescrita eu escreveria para que, quando o usuário visitar bar.com/bar , aponte para o diretório /bar/bar e, assim, me forneça um 404

Eu tentei o RewriteRule abaixo, mas parece que não funciona

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

Por isso, criei temporariamente um redirecionamento para o domínio principal bar.com .

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

1 resposta

0

Foi assim que eu fiz.

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