.htaccess перенаправляет псевдоним домена - PullRequest
4 голосов
/ 05 мая 2011

У меня есть клиент с большим количеством псевдонимов домена, и он хочет, чтобы все они были перенаправлены на один основной домен на сайте. Они также хотят знать, какой из псевдонимов домена выполняет перенаправление. У меня есть эта часть, но я хочу оптимизировать код так, как это нужно, и устранить объем кода, который я должен написать. Я хочу знать, есть ли способ передать URL-адрес RewriteRule использованный псевдоним домена.

Это то, что у меня сейчас. Я ищу псевдоним домена, который ударил и затем передал этот псевдоним в URL. Затем в Google Analytics я вижу, сколько раз этот URL был использован для перехода на страницу.

RewriteCond %{HTTP_HOST} ^(www\.)?domain-alias1\.com [NC]
RewriteRule ^(.*) http://www.main-domain.com/?domain-alias1\.com$1 [R=301,L}

Но моя цель - не писать ни условия, ни правила для каждого псевдонима домена.

Есть ли способ узнать, какой псевдоним был получен, и затем правило перезаписи автоматически добавит его в указанную мной позицию?

Первоначально я пробовал что-то подобное, чтобы посмотреть, сработает ли это (хотя я пробовал много разных способов):

RewriteCond %{HTTP_HOST} ^(www\.)?([a-z]+)\.com [NC]
RewriteRule ^(.*) http://www.main-domain.com/?$1\.com$2 [R=301,L]

1 Ответ

4 голосов
/ 05 мая 2011

Вы можете попробовать что-то вроде этого:

RewriteCond %{HTTP_HOST} !^(www\.)?main-domain\.com$ [NC]
RewriteRule ^(.*) http://www.main-domain.com/$1?domain=%{HTTP_HOST} [R=301,L]

При этом любой запрос НЕ для домена www.main-domain.com будет перенаправлен на www.main-domain.com с именем домена в строке запроса.domain.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...