Исполнено

0

Автоматический редирект на нижний регистр URL

Андрей Викторов Обновлен 3 года назад в категории CMS Общий функционал 3

Обнаружили интересный баг.

Страница
https://55opt.org/CATALOG/all/
и
https://55opt.org/catalog/all/

Две разные страницы для поискового робота.
Встроенный функционал
"Правила для 301 редиректов"

Не реагирует на подобные правила


======================================
Вот варианты решений:
1)
if ( $_SERVER['REQUEST_URI'] != strtolower( $_SERVER['REQUEST_URI']) ) {
header('Location: http://'.$_SERVER['HTTP_HOST'] .
strtolower($_SERVER['REQUEST_URI']), true, 301);
exit();
}

2)
Через htaccess
RewriteCond expr "tolower(%{REQUEST_URI}) =~ /(.+)/"
RewriteRule [A-Z] %1 [R=301,L]



Второй вариант работает, но убрал на несколько дней, для демонстрации проблемы.

Комментарии 3

  • Поло Арт 3 года назад

    Сайт психоделический ;) "Мечта" эпилептика.

    Откуда у вас взялись ссылки в верхнем регистре?

    Можно ведь и через знак вопроса на главную чего угодно накидать
    Примерно так
    https://55opt.org/?Andrey_Viktorov
    и отобразится главная.

    • Андрей Викторов 3 года назад

      Поло Арт, мы рады что у нас не просто сайт, а чья-то "Мечта".

      Вопрос в другом. Запретить индексирование ненужных параметров не составляет труда.
      А вот как через robots например запретить индексацию в верхнем регистре не ясно.
      Логичнее было бы в коробку внедрить формирование основных URL только в нижнем регистре. (либо автоматический редирект).

  • Артем Полторанин 3 года назад

    Добавим в следующем обновлении, чтобы в rel=canonical всегда была ссылка в нижнем регистре.

Написать сообщение