перенос репутации со старого домена на новый (через htaccess)

A
На сайте с 29.10.2015
Offline
0
715

Мне надо перенести "репутацию" со старого сайта на новый домен. Потом старый домен можно закрыть. Мне посоветовали редиректы поставить со страниц старого сайта но новый. Структура уже сильно отличается, поэтому страницы для переноса необходимо задавать вручную (хотел сравнить с помощью карт двух сайтов)

Я прописываю ссылку в .htaccess на старом сайте так:

Redirect 301 /index.php?option=com_lite&pdoc=info_center&Itemid=53 http://newdomain.ru/about/personal.html

но в браузере нет перехода

если по корневой открывать - то нормально переходит

посмотрите, пожалуйста, может я какой-то ньюанс не учитываю....?

а если указать

Redirect 301 / http://newdomain.ru/

то тогда любые конструкции на старом сайте с хвостами урлов он пытается дописать хвосты на новом

а мне нужно, чтобы он пытался преобразовать только ссылки прописанные в htaccess - а остальные, которые не прописаны, как-то заворачивать например на 404 ошибку, чтобы поисковик их удалял постепенно из индекса

A7
На сайте с 21.10.2015
Offline
15
#1

пробовал экранировать символы как для регулярных выражений - но тоже без вариантов

J
На сайте с 20.02.2014
Offline
120
jkm
#2

Дело в том что директивы Redirect, RedirectMatch, RedirectPermanent относятся к mod_alias.

site.ru/path?query

mod_alias позволяет сравнивать с шаблоном поиска только /path, т.е. нету возможности проверить, что находится после знака вопроса.

Решить данную задачу можно средствами mod_rewrite.

Шаблон поиска RewriteRule сравнивается только с path, а GET параметры следует искать в %{QUERY_STRING}.

Чтобы при редиректе отбросить %{QUERY_STRING} нужно добавить в конце "?".


RewriteCond %{QUERY_STRING} =option=com_lite&pdoc=info_center&Itemid=53
RewriteRule ^index\.php$ http://newdomain.ru/about/personal.html? [R=301,L]

Ну и конечно ставить правила в самом верху сразу после строки RewriteEngine On.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий