Плагин RedirectMap

Опубликовано: 21 Мая 2014

Плагин для тех, кто делал перенос сайта или менял адрес страницы и хочет сохранить вес страницы и пользователей. Суть решения очень проста — организация редиректа 301 со старого адреса на новый.

Код плагина:

global $modx;

$mapChunk = $modx->getChunk($chunk);

$mapLines = explode("\r\n",$mapChunk);

$mapArr = array();

foreach($mapLines as $line) {
        list($link,$redirectId) = explode('||',$line);
        $mapArr[$link] = $redirectId;
}

$q = $_REQUEST['q'];

if(isset($mapArr[$q])) {
        $url = $modx->makeUrl($mapArr[$q]);
        $modx->sendRedirect($url,0,'REDIRECT_HEADER','HTTP/1.1 301 Moved Permanently');
        exit();
}


Конфигурация:

&chunk=Чанк с картой редиректов;text;КартаРедиректов

Здесь указывается название чанка, где содержится список редиректов.

Событие: OnPageNotFound


Пример чанка:

o-cms-modx.html||12
xarakteristika-modx.html||9

То есть:
— одна строка описывает одно правило
— до разделителя "||" указывается старый URL, после разделителя указывает ID ресурса.

 

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


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: