Quote from: barma at Aug 01, 2011, 03:50 AM
Нужно чтобы для для доступа к старнице был только 1 единственный url. Там видимо что то с seo связано
Гораздо логичней редиректить пользователя на страницу по ее УРЛ. Для этого пишется плагин с привязкой к событию onWebPageInit.
Вот примерный код нашего плагина:
// Проверяем на случай обращения к id документа
if(preg_match('/^\/(([0-9]+)|\?id=([0-9]+))(\/?|\.(htm|html|php|txt|xml))$/',$_SERVER['REQUEST_URI'], $match)){
//print_r($match);
$id = ($match[2] ? $match[2] : $match[3]);
$url = $modx->makeUrl($id);
// Перепроверяем созданный урл, чтобы не было зацикленности
if($url != $_SERVER['REQUEST_URI']) $redir_url = $url;
}
То есть здесь идет обработка различных вариантов обращения по ID и переправерка на случай если у документа тупо не указан алиас.
Далее берите и редиректе на этот адрес с 301-ым кодом.
header("HTTP/1.1 301 Moved Permanently");
header("Location: {$addr}");
exit();