Редирект со слешом на конце

#1 24 февраля 2016 в 23:52
Всем привет.
Подскажите, пожалуйста, как правильно организовать редирект в InstantCMS, чтобы на конце присутствовал слеш? Например, для компонента "блоги" URL выглядел: "mysite.ru/blogs/".
В cms.core на 1090 строке есть код :
  1. public static function redirect($url, $code='303'){
  2. if ($code == '301'){
  3. header('HTTP/1.1 301 Moved Permanently');
  4. } else {
  5. header('HTTP/1.1 303 See Other');
  6. }
  7. header('Location:'.$url);
  8. self::halt();
  9. }
Если закоментировать self:halt(), то ссылки проходят со слешем. Но, без die() редирект делать говорят неправильно.
Как быть?
#2 27 февраля 2016 в 22:32
Без большого кол-ва правок этого сделать нельзя, т.к. все ссылки формируются без слеша. Движок редиректит с url, где есть слеш на конце на url без слеша, см файл url_rewrite.php. Комментировать self::halt(); не нужно.
А вообще задача не имеет смысла. Не стоит читать советы "гуру", которые считают, что по слешу на конце поисковики определяют категорию. Если время совсем не на что потратить, то конечно дерзайте.
#3 28 февраля 2016 в 23:09

Без большого кол-ва правок этого сделать нельзя, т.к. все ссылки формируются без слеша. Движок редиректит с url, где есть слеш на конце на url без слеша, см файл url_rewrite.php. Комментировать self::halt(); не нужно.
А вообще задача не имеет смысла. Не стоит читать советы "гуру", которые считают, что по слешу на конце поисковики определяют категорию. Если время совсем не на что потратить, то конечно дерзайте.

Fuze
Спасибо за ответ!
Видимо нужно в .htaccess что-то прописать, чтобы слэш в конец добавлялся. Относительно правок, в принципе не так уж и много, только url_rewrite.php и в роутерах каждого компонента.
Подскажите, пожалуйста, как лучше отредактировать .htaccess в соответствии с тем, что уже там есть?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.