Допустим адрес страницы такой
site.ru/razdel1/stranica2.html
Оказывается эта страница также доступна по адресу
site.ru/razdel1654564654654еще-все-что захотите/stranica2.html
Как это лечится?
Вложенные урлы
Re: Вложенные урлы
Здесь возможное решение.
Re: Вложенные урлы
Спасибо, продолжу в эту тему.guro wrote:Здесь возможное решение.
допустим есть такие страницы
раздел1/страница1
раздел1/страница2
И если я создам вот такие страницы
раздел2/страница1
раздел2/страница2
Тогда вызывая их будет ошибка
Not Found
The requested URL was not found on this server.
Именно не страница ошибки CMS, а такая.
И еще - страница
раздел2/страница1.html
также доступна по адресу
раздел2/страница1/
и
раздел2/страница1
check_alias
Code: Select all
global $gCms;
$page_alias = explode("/", preg_replace("|^\/(.*?)\/$|", "$1", $_SERVER['REQUEST_URI']));
$page_alias = str_replace($gCms->config['page_extension'], "", $page_alias[count($page_alias)-1]);
$manager =& $gCms->GetHierarchyManager();
$node =& $manager->sureGetNodeByAlias($page_alias);
if (!isset($node)) return;
$content =& $node->GetContent();
if ($content !== FALSE && is_object($content)) {
$url = $content->GetUrl();
}
$url = str_replace($gCms->config['root_url'], "", $url);
if ($url != $_SERVER['REQUEST_URI'] && $url != $_SERVER['REQUEST_URI'] . $gCms->config['page_extension']) {
ErrorHandler404();
}