Вопрос по исключению лишних слешей с урл

Всем привет! Хочу убрать лишние слеши с урлов.

Использую такое правило:

RewriteCond %{THE_REQUEST} //
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.

Все работает, за исключением страниц пагинации =( На странице пагинации выбивает циклическую переадресацию. 

Может кто знает/подскажет как правильно внедрить?
 


2 ответа

  • 1

    Попробуйте так:

    RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
    RewriteRule . %1/%2 [R=301,L]

    • +1
      Yaroslav Yaroslav 27 ноября 2019 19:45 #

      Попробовал, но к сожалению даже редирект не срабатывает =(

  • 1
    Yaroslav 27 ноября 2019 20:33 #

    Нашел решение, которое почти работает 

    RewriteCond %{THE_REQUEST} " /(?|/+|(.+?/)/+) "
    RewriteRule .? /%1 [R=301,L]

    Но страницы пагинации с get парметром и по умолчанию они должны быть без слеша
    ?page=2
    а это правило добавляет в конце слеш для страниц пагинции  
    ?page=2/


Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите