@andreyguryev

.htaccess — как сделать редирект с доменного имени третьего уровня на домен второго уровня с добавлением параметра к url?

Здравствуйте!
Как в .htaccess сделать редирект таким образом, чтобы при переходе по-ссылке: italy.domainname.com/contacts, выполнялся редирект на URL: www.domainname.com/contacts?country=Italy

Большое спасибо!
  • Вопрос задан
  • 381 просмотр
Решения вопроса 1
@dodo512
RewriteCond %{HTTP_HOST} ^(www\.)?italy\.domainname\.com$ [NC]
RewriteRule ^contacts$ http://www.domainname.com/contacts?country=Italy [R=301,L]

Или так:
RewriteCond %{HTTP_HOST} ^(?:www\.)?+(.+)\.(domainname\.com)$ [NC]
RewriteRule ^(contacts)$ http://www.%2/$1?country=%1 [R=301,L]


Или
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^(?:www\.)?+(.+)\.(domainname\.com)$ [NC]
RewriteRule ^(.*)$ http://www.%2/$1?country=%1 [R=301,L]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{HTTP_HOST} ^(www.|)(.+[^\.])\.domainname\.com/$
# с ввв и без нее, выделяем во вторую группу домен3 уровня до первой точки.
RewriteRule ^contacts$ https://www.domainname.com/contacts\?country\=%2 [L,R=301]
# не забываем экранировать спец символ \?, равно кстати тоже спец символ \= ( хотя = и так сработает)

В конце не забываем отметить вопрос решенным ставим чувачкам галочки ;)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы