Мне нужно перенаправить все запросы из каталога поддомена в основной домен
Пример:
dev.example.com/directory/test
нужно перенаправить на
example.com/directory/test
(перенаправлять только запросы с каталогом directory
)
в .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
флаг на последнем условии.
Перенаправить любой subdomain, тогда вы можете использовать более обширное регулярное выражение. Например:
RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com) [NC]
RewriteRule ^directory/ https://%1%{REQUEST_URI} [R=302,L]