@SONce

Как убрать двойной Трейл слеш в CodeIgniter?

Заметил что на моем сайта который на CI есть такая беда:

есть контроллер foo, на него ведет ссылка
site.ru/foo/bar.html
но на него также можно зайти через
site.ru//foo/bar.html

как сделать чтобы второй адрес отдавал 404?
  • Вопрос задан
  • 276 просмотров
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
Не нужно вообще об этом париться, просто указывайте в мета-тэгах canonical путь страницы, и всё будет у вас хорошо.
Вот что первое по этому поводу нашел: moz.com/blog/canonical-url-tag-the-most-important-...
Ответ написан
Комментировать
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1. Есть мнение что в canonical лучше писать абсолютную ссылку вместе с доменом
2. Мы сделали достаточно "тупое" решение в каждом контролере:

$app->vars->seo->canonical = ... ; //определяем ссылку

...

if (isset($app->vars->seo->canonical) && ($_SERVER['REQUEST_URI'] != $app->vars->seo->canonical) )
{
	header('HTTP/1.1 301 Moved Permanently');
	header('Location: '.$app->vars->seo->canonical);
	die();
}


Наверное это не очень красиво, но с учетом того что сеошники свои хотелки присылают регулярно, - городить что то более унифицированное я пока не вижу смысла.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы