Задать вопрос

Редирект для определенных ссылок. Проблема с RewriteRule

Здравствуйте.
Прошу помочь с правильным составлением условия в .htaccess.
Вкратце суть:
У сайта mysite.ru (Сайт 1) изменилось доменное имя на http://old.mysite.ru, а имя mysite.ru было присвоено новому сайту (Сайт 2).
Часть материалов с Сайта 1 не была перенесена на Сайт 2 и задача в том, чтобы эти, проиндексированные поисковиками материалы со ссылками типа "http://mysite.ru/content/view/любое_целое_число/11/" , открывались, но, разумеется, уже по ссылкам типа "http://old.mysite.ru/content/view/любое_целое_число/11/"

В корне Сайта 2 в .htaccess прописываю:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite\.ru\/content\/view\/([0-9]+)\/11\/$ [NC]
RewriteRule ^(.*)$ http://old.mysite.ru/content/view/$1/11/ [L]


Но, видать, что-то перемудрил с синтаксисом и перенаправления не происходит.
Натолкните на правильную мысль, пожалуйста.
  • Вопрос задан
  • 2676 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Nc_Soft
У вас никогда такого HTTP_HOST не будет, используйте THE_REQUEST
Ответ написан
Комментировать
Tikson
@Tikson
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite\.ru$ [NC]
RewriteRule ^(.*)$ old.mysite.ru/$1 [R=301,L]

Редирект с mysite.ru на old.mysite.ru. Если первые две строчки раскомментированы, то их еще раз писать не нужно.
Ответ написан
Лови рабочий код.

RewriteEngine On
RewriteCond %{REQUEST_URI} /content/view/([0-9]+)/11/$ [NC]
RewriteRule ^(.*) http://old.mysite.ru/$1 [R=301,L]


HTTP_HOST - возвращается mysite.ru, www.mysite.ru, subdomain.mysite.ru. REQUEST_URI - возвращает все, что после домена.

Обратные слеши перед слешами не нужны.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 10:44
15000 руб./за проект
22 дек. 2024, в 10:12
10000 руб./за проект
22 дек. 2024, в 09:51
3000 руб./за проект