301 редирект несколько тысяч страниц

R
На сайте с 20.04.2018
Offline
0
439

Всем привет!

Как вы настраиваете 301 редирект если страниц очень много?

Сейчас у меня есть интернет-магазин на самописной cms, где url имеют вид:

http://www.site.ru/%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/%D1%81%D0%B2%D0%B0%D1%80%D0%BE%D1%87%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D1%8B

http://site.ru/content/товар

http://site.ru/content/

http://site.ru/каталог/

http://site.ru/каталог/название раздела

и прочая хрень, которая криво была сделана.

Сейчас разработан новый интернет-магазин на CMS 1C Битрикс. Где структура понятна.

http://site.ru/catalog/

http://site.ru/catalog/nazvanie_razdela/

http://site.ru/catalog/nazvanie_razdela/id_elementa/

Вопрос: Как массово перенести url 301 редиректом? Если их очень много и проблема даже в сопоставлении этих адресов?

Как вы делаете? Спасибо

Станислав
На сайте с 27.12.2009
Offline
237
#1

Все очень просто.

Создается дополнительный роутер который обрабатывает старые запросы, в нем вам необходимо реализовать запрос к базе данных для поиска "раздела" и сделать редирект на новый url раздела.

По сути все индивидуально если это касается самописа, если в базе ничего искать не нужно то можно и через nginx сделать редиректы с различными регулярками.

1. Старый URL /раздел/

2. Ищем в базе раздел

3. Нашли, получаем новый URL (razdel)

4. Делаем редирект на новый раздел, если не нашли его то 404 отдаем

Мы там, где рады нас видеть.
M
На сайте с 04.12.2013
Offline
223
#2

ruscosmonavt, либо в основном движке прописываете роуты для старых адресов и подключаете к ним соотв. обработчик(и).

Либо по каким-то признакам определяете возможную принадлежность поступающих адресов к старому формату и при попадании вызываете отдельный скрипт с собственным роутером, который работает или исключительно с таблицей старых адресов, или учитывает в том числе и текущее состояние данных (например, если слаги товаров не изменились, можно их брать из новой таблицы и по адресам старого формата работать в том числе и с новыми товарами). Вот примерные наводки:

http://gency.ru/wp-redirection

http://gency.ru/shortcuts

---------- Добавлено 21.04.2018 в 18:33 ----------

P.S. Старые адреса были вполне вменяемые, если не считать помеси кириллицы с латиницей. Многие предпочитают для страниц товаров использовать короткие адреса вроде /products/товар или даже /товар без отражения в адресах иерархии каталога.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts

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