Как настроить 301 редирект при переносе сайта на новый домен с изменением url страниц.

(Ответов: 8, Просмотров: 6403)
  1. Студент Аватар для MALTIZER
    • Регистрация: 01.02.2013
    • Сообщений: 32
    • Репутация: 1
    В общем, есть сайт на домене moysite1.ru cms-livestreet.
    Нужно перенести его на другой домен moysite2.ru cms-Drupal, при этом изменbться структура сайта и адреса страниц. Очень важно при переносе не потерять имеющийся трафик, а значит правильно настроить 301 редирект.

    Сейчас url имеют примерно такой вид:

    moysite1.ru/nazvanie-razdela/10/08/2010/nazvanie-stranici.html (в url отражена полная дата добавления статьи - /10/08/2010/)

    После переноса на домен moysite2.ru, url страниц будут изменены так:

    moysite2.ru/nazvanie-razdela/nazvanie-stranici.htm

    или так

    moysite2.ru/nazvanie-stranici.htm

    На данный момент у меня есть только один вариант редиректа – в файле .htaccess на домене moysite1.ru настроить постраничный редирект с помощью директивы – Redirect

    Redirect 301 /nazvanie-razdela/10/08/2010/nazvanie-stranici.html http:// moysite2.ru/nazvanie-stranici.htm

    И так для всех страниц, которые нужно перенести.

    Дело в том, что страниц много и настройка такого редиректа потребует много времени.

    Вот я и решил узнать – может быть есть какой-то альтернативный вариант настройки редиректа, чтоб перенести всё разом (например - регулярные выражения или что-то ещё), ну или хоть как-то ускорить процесс переноса?
    • 0
  2. Опытный Аватар для andrei_z
    • Регистрация: 08.02.2012
    • Сообщений: 323
    • Репутация: 58
    Сталкивался с такой же проблемой. Так вот я делал так как предлагаете Вы (Было тогда страниц 200 на сайте).
    Сейчас бы я написал php скрипт который прошуршит ваш сайт, сохранит все урлы в файл ну и составит правило для редиректа. На выходе вы бы получили такие строки Redirect 301 /nazvanie-razdela/10/08/2010/nazvanie-stranici.html http:// moysite2.ru/nazvanie-stranici.htm для всех страниц
    А если есть карта сайта со всеми урл, то было бы совсем просто.
    Последний раз редактировалось andrei_z; 26.09.2013 в 13:21.
    • 1

    Спасибо сказали:

    MALTIZER(02.10.2013),
  3. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    MALTIZER, именно в таком виде не пробовал делать редиректы, но проверьте, сработают ли шаблоны. Примерно вот так:

    PHP код:
    Redirect 301 /nazvanie-razdela/([0-9]+)/([0-9]+)/([0-9]+)/([a-z0-9]+).html http:// moysite2.ru/$4.htm 
    В директивах RewriteRule такие штуки работают.
    • 1

    Спасибо сказали:

    MALTIZER(02.10.2013),
  4. Студент Аватар для MALTIZER
    • Регистрация: 01.02.2013
    • Сообщений: 32
    • Репутация: 1
    Спасибо за ответы!
    В общем-то страниц оказалось не так много, порядка 300. Поэтому настроил постраничный редирект вида:

    Redirect 301 /nazvanie-razdela/10/08/2010/nazvanie-stranici.html http:// moysite2.ru/nazvanie-stranici.htm

    По поводу скрипта - учту этот вариант на будущее, может пригодится.

    Что касается варианта с использованием шаблонов - то ту не до конца понял как его реализовать, нужно будет разобраться, возможно в будущем то же пригодится.
    • 0
  5. Опытный
    • Регистрация: 01.10.2013
    • Сообщений: 301
    • Репутация: 26
    Вопрос к знатокам: большое количество такого рода инструкций (триста 301 редиректов) в .htaccess создаёт дополнительную нагрузку на сервер или нет?
    • 0
  6. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    rawebmaster, должно давать. htaccess прочитывается веб-сервером при каждом обращении (и даже не один для случая вложенных папок). Для сравнения конфиг апача считывается только один раз при его запуске.
    • 1

    Спасибо сказали:

    rawebmaster(11.10.2013),
  7. Опытный
    • Регистрация: 01.10.2013
    • Сообщений: 301
    • Репутация: 26
    druzhkov, спасибо за ответ. А регулярка, как написано выше, меньше нагружает? Или точно так же?
    • 0
  8. Гуру
    • Регистрация: 09.10.2011
    • Сообщений: 1,813
    • Репутация: 251
    Цитата Сообщение от rawebmaster Посмотреть сообщение
    А регулярка
    один из самых тяжелых расчетов. Можна наверно в странце 404, сделать код, который будет смотреть запрашиваемую страницу, сравнивать с какой-то базой и выдавать нужную. По такому принципу работает ЧПУ.
    • 0
  9. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    Цитата Сообщение от rawebmaster Посмотреть сообщение
    А регулярка, как написано выше, меньше нагружает? Или точно так же?
    Если честно, измерений не проводил. Это надо ваять какую-то тестовую систему, чтобы уловить подобные различия.
    Всю свою сознательную "программерскую" жизнь делаю регулярки, и нареканий не было.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Как сделать редирект 301 со страниц со старым ЧПУ на новый ?
DLE 8 06.01.2013 17:01
Редирект с одних страниц сайта на другие.
Вопросы от новичков 2 24.08.2012 20:43
Перенос сайта на другой домен с изменением ЧПУ
Вопросы от новичков 10 24.08.2012 20:21
Как настроить 301 редирект
Вопросы от новичков 0 29.10.2011 00:57
Редирект. Как настроить?
Вопросы от новичков 0 14.11.2010 00:09

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры