Вложенные урлы

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
Santyago
Forum Members
Forum Members
Posts: 48
Joined: Thu Mar 08, 2012 2:09 pm

Вложенные урлы

Post by Santyago »

Допустим адрес страницы такой
site.ru/razdel1/stranica2.html
Оказывается эта страница также доступна по адресу
site.ru/razdel1654564654654еще-все-что захотите/stranica2.html

Как это лечится?
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm

Re: Вложенные урлы

Post by guro »

Здесь возможное решение.
Santyago
Forum Members
Forum Members
Posts: 48
Joined: Thu Mar 08, 2012 2:09 pm

Re: Вложенные урлы

Post by Santyago »

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();
}
Post Reply

Return to “Russian - русский”