petushok55
@petushok55
Обучаюсь на практике.

Почему как-то странно работает штекер .htaccess?

RewriteRule ^info/?$ /index.php?page=info [L,QSA]
Есть вот такая строчка в штекере. По идее она должна переводить на сайт по адресу
site.ru/info
Так это и работает. Но, если добавить в конец слэш, например
site.ru/info/ или site.ru/info////
то страница все равно открывается нужная, хотя вроде как не должна
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
@dodo512
Правило срабатывает для info//// потому что на вход RewriteRule попадает строка уже после удаления всех дублирующих / т.е. всегда остается просто info/.
Если из шаблона ^info/?$ убрать /? то правило будет срабатывать только для site.ru/info

Если нужен 301 редирект с /info//// -> /info/
RewriteCond %{THE_REQUEST} ^[^?]+//
RewriteRule .* /$0 [R=301,L]

Ставить в начало .htaccess сразу после RewriteEngine on.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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