@Doghdik

.htaccess — лишние слэши после имени домена. Как убрать?

Здравствуйте! У меня такой вопрос возник по причине того, что на моём хостинге, управляемом сервером apache, после имени домена можно добавить бесконечное число слэшей, и сайт всё равно открывается.

Пример:

http://имя_моего_домена//////имя_директории

Хотелось бы убрать все эти слэши так, чтобы было перенаправление на страницу без слэшей, т.е.

http://имя_моего_домена/имя_директории

Но проблема в том, что RewriteRule правила не видят множество слэшей именно после имени домена и избавиться от них можно, только пользуясь одним редиректом на ту же страницу (R=301). В связи с этим вопрос - если нельзя проверить никакие особые условия по содержанию самой URI, то каким ещё образом можно выполнить редирект только один раз во всём цикле обработки, а при возвращении к первому правилу обработки условий после редиректа просто пропускать существующий редирект каждый последующий раз?
  • Вопрос задан
  • 7125 просмотров
Пригласить эксперта
Ответы на вопрос 2
Bearatol
@Bearatol
RewriteCond %{THE_REQUEST} //
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.

5ac5c78fd077a261556944.jpeg
Ответ написан
@alex7r
Вот ответ:
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R,L]
Ответ написан
Ваш ответ на вопрос

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

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