"С миру по нитке..." Форум

"С миру по нитке..." Форум (http://forum.vika-plus.ru/index.php)
-   Копилка опыта (http://forum.vika-plus.ru/forumdisplay.php?f=24)
-   -   Переадресация сайта с учетом адресов на новом домене (http://forum.vika-plus.ru/showthread.php?t=789)

alagor 11.04.2014 03:05

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


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

При переносе форума на новое доменное имя я воспользовался инструкцией Яндекса "Переезд сайта на новый домен" и использовал вариант с фалом 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 чего и требовалось добиться... :vo:

Замечу, что если нет необходимости переправлять пользователей на новый домен а только с одного адреса на другой, то достаточно прописать в .htaccess следующее:
PHP код:

RewriteEngine   on
RewriteBase     
/
RewriteRule     ^oldpages\.html$  /newcat/newpage.html [R=permanent

т.е. идет перенаправление с адреса oldpages.html лежащего в корне на newcat/newpage.html

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

alagor 30.04.2014 02:14

Re: Переадресация сайта с учетом адресов на новом домене
 
в варианте выше нашлось досадной недоразумение, а именно, если адрес сайта источника заканчивался "/" то перенаправление работало как нужно, а вот если "/" в конце адреса не было - посетитель получал окно с ошибкой 404, в результате чего кол-во посещений упало за неделю в несколько раз (во многих ссылках в поисковых системах как раз "/" отсутствовал)

пришлось немного подкорректировать код с перенаправлением в файле .htaccess:

PHP код:

RewriteRule ^forum/(.*)$ http://forum.vika-plus.ru/$1 [R=301,L] 

ну и заодно добавил перенаправление с адреса http://www.мой.сайт на http://мой.сайт (для поисковых систем адрес с "www" и без - это два разных ресурса):
PHP код:

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



Часовой пояс GMT +5, время: 00:12.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot