С поддомена на основной домен
RewriteEngine On RewriteCond %{HTTP_HOST} ^(.+)\.site\.ru$ RewriteRule ^ https://site.ru/
Еще вариант
RewriteEngine On RewriteCond %{HTTP_HOST} !^site\.ru$ RewriteRule ^(.*)$ https://site.ru/$1
Еще вариант
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(.+).site.ru$ RewriteRule (.*) https://site.ru/$1 [L,R=301,QSA]
Если требуется выполнить редирект для всех поддоменов без исключения на динамический URL:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(.+).site.ru$ RewriteRule (.*) https://site.ru/$1?region=%1 [L,R=301,QSA]
Если речь идет о каком-то конкретном поддомене, то следует использовать следующую конструкцию:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^poddomen.site.ru$ [NC] RewriteRule (.*) https://site.ru/$1?region=poddomen [L,R=301,QSA]
Еще вариант
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^poddomen.site.ru$ [NC] RewriteRule ^(.*)$ https://site.ru%{REQUEST_URI} [R=301,NC,L,QSA]
С поддомена на другой поддомен
RewriteEngine On RewriteCond %{HTTP_HOST} ^poddomen1\.site\.ru$ [NC] RewriteRule ^ https://poddomen2.site.ru%{REQUEST_URI} [L,R=301,NE]
Описание
В основном используются в коммерческом SEO, когда создаются поддомены для регионального продвижения и надо грамотно организовать трафик, чтобы пользователи даже не заметили, что URL-адрес сменился. Для этих нужд есть разные редиректы, которые сохраняют и нет GET-параметры, которые просто ведут на главную страницу. И наоборот, с поддоменов ведут на главную страницу основного домена.
Также можно использовать и в инфо тематике, перенаправляя пользователей по разным направлениям, сервисам. Часто большие порталы выносят различные категории новостей на отдельные поддомены, где можно реализовать отдельно уникальный дизайн сайта. Например, criminal.site.ru, cultura.site.ru или ограничить контент для взрослых, вынеся его на отдельный поддомен 18.site.ru