Показать сообщение отдельно
Старый 11.04.2014, 03:05   #1
alagor
Сам себе режиссер
 
Аватар для alagor
 
Регистрация: 31.03.2010
Адрес: Россия
Сообщений: 1,561
Сказал(а) спасибо: 19
Поблагодарили 81 раз(а) в 74 сообщениях
18 Переадресация сайта с учетом адресов на новом домене

Переадресация сайта с учетом адресов на новом домене


Пара слов откуда "ноги растут"...

При переносе форума на новое доменное имя я воспользовался инструкцией Яндекса "Переезд сайта на новый домен" и использовал вариант с фалом Robot.txt и директивой Host в нем, а также установил редирект через <meta http-equiv="refresh" content="0;URL='http://my_new_site.ru/'">

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

Вот в этом то и проблема: вы ищите, предпололжим информацию где купить биотуалет через тот же Яндекс или Google, кликаете по ссылке а вместо самой статьи вам попадается главная страница ресурса и нужно искать все заново... Как говорится, "маразм крепчал и..." В общем проблема нарисовалась и пришлось искать пути ее решения...

Оказалось, все делается довольно-таки просто если использовать возможности файла .htaccess
Достаточно прописать в нем редирект следующим образом:
PHP код:
Options +FollowSymLinks
RewriteEngine on
RewriteRule 
(.*) http://forum.vika-plus.ru/$1 [R=301,L] 
и все!!!
Такая запись перенаправляет любой запрос на адрес http://forum.vika-plus.ru, при этом всё адреса перенаправляются на соответствующие им на новом домене, т.е., предположим с адреса http://forum.vika-plus.ru/showthread.php?t=142 человек перенаправлялся на анлогичную страницу по адресу http://forum.vika-plus.ru/showthread.php?t=142 чего и требовалось добиться...

Замечу, что если нет необходимости переправлять пользователей на новый домен а только с одного адреса на другой, то достаточно прописать в .htaccess следующее:
PHP код:
RewriteEngine   on
RewriteBase     
/
RewriteRule     ^oldpages\.html$  /newcat/newpage.html [R=permanent
т.е. идет перенаправление с адреса oldpages.html лежащего в корне на newcat/newpage.html

Ну и есть условие для того чтобы работал данный способ - на apache должен быть установлен и включен модуль mod-rewrite...
alagor вне форума   Ответить с цитированием