Задать вопрос
maxsof
@maxsof
Фронтенд-разработчик

Как исключить из редиректа .htaccess страницы заканчивающиеся на #хештег с пробелом (нужна помощь с регуляркой)?

В .htaccess прописано правило:
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Т. е. если страница заканчивается без слеша, то она редиректится на страницу со слешем, например:
site.ru/about → site.ru/about/

При этом, если страница заканчивается на .html, то редиректа не происходит.

Пока все верно.

Как только я вызываю такую страницу (да, там пробел и хештег): site.ru/about/ #page
то происходит редирект на site.ru/about/%20/#page

Беда в том, что после знака пробела (%20) ставится слеш. Как сделать так, чтобы он не ставился и редиректа не происходило, а просто открывалась страница site.ru/about/%20#page?
  • Вопрос задан
  • 380 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
maxsof
@maxsof Автор вопроса
Фронтенд-разработчик
Решил так:
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteCond %{REQUEST_URI} /+[^\ ]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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