Как сделать так, чтобы .htaccess перенаправлял с определенного домена? - PullRequest
0 голосов
/ 21 ноября 2011

У меня была следующая директива в файле .htaccess сайта, в корне:

# redirect to contact page
redirectMatch 301 ^(/about)/?$ /contact/

Однако на сайте также размещены несколько других доменов, которые отображаются в корневой папке как их собственные каталоги. Например, http://mysite.com/anothersite/ отображает то же самое, что и http://anothersite.com

Из-за этого правило перенаправления, как оно написано, также перенаправляет с http://anothersite.com/about/ на http://anothersite.com/contact/.

Как переписать директиву в корневом файле .htaccess, чтобы она относилась только к http://mysite.com/about/?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

Попробуйте

RewriteCond %{HTTP_HOST} ^mysite\.com$ 
RewriteRule ^about/? /contact/   [R=301,L]

Вышеуказанное будет работать только для mysite.com. Для включения всех поддоменов mysite, например, www и т. д. и mysite.com используют

RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+\.)?mysite\.com$ 
RewriteRule ^about/$ /contact/   [R=301,L]
0 голосов
/ 21 ноября 2011

Примерно так должно работать:

RewriteCond %{HTTP_REFERER} ^.*mysite.com.*$ 
RewriteRule ^(/about)/?$ /contact/   [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...