Возникла необходимость достаточно нестандартного (для меня) 301 редиректа доменов в .htaccess. В случае, когда идет переадресация с нескольких доменов (например, domain1.ru, sub1.domain2.ru, sub2.domain1.ru) на определенный домен domain.ru с сохранением адреса необходимой страницы я использую вот такой код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.ru$ [NC]
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]
</IfModule>
Но теперь мне надо переадресовывать:
sub1.domain1.ru на sub1.
domain.ru
sub1.domain2.ru на sub1.
domain.ru
sub3.domain4.ru на sub3.
domain.ru
sub1.domain1.ru/section/index.php?test=test на sub1.
domain.ru/section/index.php?test=test
и так далее...
Говоря по-русски, мне надо брать поддомен (если есть) и перекидывать на такой же поддомен но в рамках основного домена, а если поддомена нет, то перекидывать просто на главный поддомен, сохраняя адрес страницы после домена/поддомена, если была запрошена определенная страница.