htaccess 301 Redirect - PullRequest
       12

htaccess 301 Redirect

3 голосов
/ 31 мая 2011

Я пытаюсь 301 перенаправить

http://www.domain.com/page.html

до

http://subdomain.domain.com/page.html

и пробовал:

redirect 301 /page.html http://subdomain.domain.com/page.html

Проблема заключается в том, что домен и поддомен указывают на один и тот же каталог, и это делает перенаправление таким способом, который никогда не завершится.

также попытался безуспешно:

RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^page\.html$ "http\:\/\/subdomain\.domain\.com\/page\.html" [R=301,L]

1 Ответ

1 голос
/ 01 июня 2011

хорошо ... Я понял это - второй случай работает - просто нужно поместить сразу после RewriteEngine On:

RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$

RewriteRule ^page.html$ http://subdomain.domain.com/page.html [R=301,L]

, и это можно использовать для нескольких правил при одном условии:

RewriteCond %{HTTP_HOST} !^(www\.)?domain.com$ [NC]
RewriteRule .* - [S=2]

RewriteRule ^page.html$ http://subdomain.domain.com/page.html [R=301,L]
RewriteRule ^page-2.html$ http://subdomain.domain.com/page-2.html [R=301,L]
...