Назад | Перейти на главную страницу

Каталог домена .htaccess неправильно разрешает домен.com/domain

У меня 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]