У меня 2 домена, которые указывают на один и тот же IP-адрес foo.com
и bar.com
У меня нет доступа к настройке виртуального хоста для доменов, но мне удалось создать .htaccess
rules, чтобы он был настроен следующим образом.
Имея настройку выше, я мог бы иметь разные index.html
файлы для доступа к корню домена.
Это правило я реализовал для bar.com
RewriteCond %{HTTP_HOST} ^(www\.)?bar\.com$
RewriteCond %{REQUEST_URI} !bar/
RewriteRule ^(.*)$ bar/$1 [L]
Однако приведенное выше правило отлично работает, когда я перехожу к bar.com/bar
это не дает мне 404
но вместо этого он по-прежнему указывает на корень моего bar
каталог.
Итак, я создал еще один 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]
Поэтому я временно создал перенаправление на основной 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]