Перенаправление htaccess из поддомена в основной домен

Мне нужно перенаправить все запросы из конкретного каталога поддоменов в основной домен

Пример:

dev.example.com/directory/test

нужно перенаправить на

example.com/directory/test

(перенаправлять только запросы с каталогом directory)

1 ответ

В .htaccess файл в корне вашего субдомена, вы можете добавить следующие директивы mod_rewrite для перенаправления на вершину домена:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^dev\.(example\.com) [NC]
RewriteRule ^directory/ https://%1%{REQUEST_URI} [R=302,L]

Что делать, если у меня есть несколько поддоменов, и я хочу перенаправить их не только из dev.*, Но и из других поддоменов.... Поддомен и основной домен указывают на одни и те же каталоги

Чтобы перенаправить из нескольких конкретных поддоменов, вы можете изменить приведенное выше правило следующим образом:

RewriteCond %{HTTP_HOST} ^dev\.example\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^dev0\.example\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^dev1\.example\.com [NC]
RewriteRule ^directory/ https://example.com%{REQUEST_URI} [R=302,L]

Заметки нет OR флаг на последнем условии.

Чтобы перенаправить любой поддомен, вы можете использовать более широкое регулярное выражение. Например:

RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com) [NC]
RewriteRule ^directory/ https://%1%{REQUEST_URI} [R=302,L]
Другие вопросы по тегам