Переадресация .htaccess 301 - PullRequest
1 голос
/ 09 июля 2011

Кто-нибудь знает, как я могу сделать 301 перенаправить трафик из одного домена в другой - включая все те же элементы URL после имени домена - и применить то же правило ко всем возможным ссылкам, не записывая его для каждого URL отдельно - пример будетбыть примерно таким:

http://www.olddomain.com/catalogue/category/fruits/pg/2.html

для перенаправления на:

http://www.newdomain.com/catalogue/category/fruits/pg/2.html

На данный момент у меня есть что-то вроде этого:

RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com" [R=301,L]

, но это не будетнапример, работайте в следующей ситуации:

http://www.olddomain.com/login.html

он просто не будет перенаправлять на новый домен и не сохранит /login.html после.

Любые подсказки?

Ответы [ 3 ]

2 голосов
/ 09 июля 2011

Вы пробовали просто:

Redirect 301 / http://newdomain.com/

В корневой папке olddomain.com

1 голос
/ 09 июля 2011

Youre RewriteRule неверен.Вы только перенаправляете http://www.olddomain.com/, но не /login.html

Попробуйте изменить правило перезаписи, чтобы включить все пути в старом домене:

RewriteRule ^(.*)$ http://www.newdomain.com$1 [R=301,L]
0 голосов
/ 10 июля 2011

Хорошо - после долгих поисков я нашел решение, которое состоит из двух простых строк:

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

Спасибо всем за участие.

...