@Ressive

301 редирект на php (wordpress)?

1. Нужно сделать множество редиректов на php, нашел в сети этот код
<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.newdomain.ru/newdir/newpage.htm”);
exit();
?>
но не пойму где тут задавать старый урл.

2. Множество редиректов через .htaccess будут тормозить быстродействие сайта?
  • Вопрос задан
  • 1211 просмотров
Пригласить эксперта
Ответы на вопрос 2
landergate
@landergate
IT-шный jack-of-all-trades
  1. Старый URL задавать не нужно, ведь вы переводите пользователей на какой-то новый URL. Заголовка 301 с ссылкой, куда перенаправляться, будет достаточно, чтобы перенаправить браузер пользователя. Предполагается, что этот скрипт лежит по тому пути, откуда вы и будете перенаправлять пользователей.
  2. Редиректы, сами по себе, не будут ощутимо тормозить быстродействие сайта. Накладные расходы наносит использование файлового .htaccess, вместо выноса этих параметров в конфиг vhost, который бы всё время был в памяти апача. Файловый .htaccess дёргает диск при каждом подключении пользователя.
    Если редиректов прямо действительно существенно много (субъективно - до сотни и больше), то вариант а) вынести логику перенаправлений в vhost апача, чтобы она была в памяти, а не загружалась с каждым посещением; б) если перед апачем есть nginx, лучше, конечно, перенести логику перенаправлений на него.
Ответ написан
SV0L0Ch
@SV0L0Ch
Разработчик специализируюсь на Bitrix и Wordpress
Как вариант можно прямо в коде проверять старый урл и по условию вызывать переход.
Что-то типа
if($_SERVER['REQUEST_URI'] == '/oldurl/'){
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.newdomain.ru/newdir/newpage.htm");
    exit();
}
Ответ написан
Ваш ответ на вопрос

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

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