MODX. Редирект с адресов c указанием id на нормальные адреса страниц
Отредактировано: 20 Декабря 2018
Для запрета показа страниц с адресом типа site.ru/?id=2 можно использовать следующий плагин, срабатывающий на событие OnWebPageInit.
Плагин может редиректить страницы на их дружественные адреса, либо на 404 страницу.
<?php
if($modx->context->key == 'mgr') return;
// Проверка на случай обращения по id документа
if(preg_match('/^\/(([0-9]+)|\?id=([0-9]+))(\/?|\.(htm|html|php|txt|xml|\/))$/',$_SERVER['REQUEST_URI'],$match)){
$id = ($match[2] ? $match[2] : $match[3]);
// Если нужен редирект на 404
//$modx->sendErrorPage();
//exit;
if($modx->getCount('modResource',$id) == 0) return;
$url = $modx->makeUrl($id);
// Перепроверка url во избежании зацикленности
if($url != $_SERVER['REQUEST_URI']){
$redir_url = $url;
header("HTTP/1.1 301 Moved Permanently");
header("Location: {$redir_url}");
exit();
}
}
tnx
За плагин спасибо:
Илье УткинуЗдравствуйте!
Позвольте представиться, меня зовут Марина. Более 10 лет я занимаюсь обслуживанием сайтов и развитием интернет проектов. Если вы хотите избавиться от хлопот связанных с созданием и поддержкой сайта, тогда вы попали по адресу. При работе с сайтами я предоставляю качественные услуги, ориентируясь на ваши индивидуальные потребности. Для связи со мной воспользуйтесь формой обратной связи.