t-alexashka
@t-alexashka
Сразу пишу legacy код

Как заменить кучу урлов 301ым редиректом?

Есть урлы вида:

site.ru/abc/1
site.ru/abc/2
site.ru/abc/3
...


их много

сейчас задача сделать алиасы этим урлам чтобы было

site.ru/abc/1-title-page
site.ru/abc/2-title-page
site.ru/abc/3-title-page


посоветуйте как бы так сделать, без последствий для поисковиков, чтобы не послали долеко :)

спасибо
  • Вопрос задан
  • 2611 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
В коде php
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://site.ru/abc/1-title-page"); 
die();


UPD
Тут ниже @Scorpi и @KorsaR-ZN пишут "сделайте через веб-сервер".
Во первых по маске редирект сделать не получится, т.к автору нужны ЧПУ
Во вторых можно конечно сделать редиректов по числу страниц - но это
а) гемморой, т.к автор сказал что страниц таких много
б) при большом количестве страниц будет достаточно медленно обрабатываться и тормозить весь сайт в целом. На php же это 1 запрос в базу что бы получить полный URL и один редирект.
Т.е по сути что бы показать страницу получается +1 запрос к серверу и +1 sql запрос.
Не думаю что у автора там огромный трафик.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Scorpi
@Scorpi
Не думаю что стоит тревожить PHP ради этого, сделайте через веб-сервер.
Ответ написан
Комментировать
KorsaR-ZN
@KorsaR-ZN
Если у Вас apache, то нужен модуль mod_rewrite.
и через файлик (.htaccess) в корне сайта, можно сделать 301 редирект по маске URL.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы