Оценок: 4
454
PHP редирект со страницы 404 - сниппет

PHP редирект со страницы 404

Представлю небольшой сниппет (PHP скрипт) для переадресации посетителей. Понадобится не более 5 минут

Сниппет вызывается на странице 404, в сниппете массив, в котором задается список ссылок в формате "откуда => куда". Посетитель попадает на страницу 404 по битой ссылке, если эта ссылка есть в массиве, перенаправляется на нужную страницу, если нет - остается на странице 404.

На мой взгляд - хорошая альтернатива редиректам в htaccess (не люблю захламлять этот файл, тем более если таких редиректов много), когда нужно всего то перенаправить с неправильного на правильный URL страницы.

Если вдруг у вас еще нет страницы 404, нужно создать документ (с любым названием и шаблоном) и указать ее ID в "Системные настройки - core - Сайт - страница 404".

Если/когда страница 404 создана, создаем сниппет RedirectPHP с таким содержимым:

<?php
$redirect = array( //массив с URL, 'стараый' => 'новый'
    '/about-us' => '/o-nas.html',
    '/gallereya' => '/',//здесь - переход на главную
    //url от корня сайта, с "/"
);
//получаем текущий url страницы
$this_url = $_SERVER['REQUEST_URI'];
//ищем его в массиве
if (array_key_exists($this_url, $redirect)) {
    //если нашелся - делаем замену и перенаправляем
    $result = strtr($this_url, $redirect);
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: '.$result);
} else {
    return '';
}

Сниппет можно вызвать прямо в содержимом страницы (если не предусмотрен отдельный шаблон): [[!RedirectPHP]].

Вот и все, добавлять новые URL не сложно и подтягивается этот список только после перехода по битой ссылке.

Оценок: 4

Комментарии (2)

  1. А ничо, что Redirector (https://docs.modx.com/current/ru/extras/redirector) 14-ть лет назад как уже выпустили?)

    Не скажу 08 мая 2024, 16:10 0
    • 14 лет, а я впервые вижу)

      Владимир 09 мая 2024, 07:35 0
    Надежный хостинг VPS серверов
    • Свои ISO образы
    • VDS с оплатой раз и навсегда
    • Аренда VDS на любой срок, с оплатой по дням
    • Большое разнообразие конфигураций
    • Дата-центры в ЕС и России
    + скидка 10%