Нет, не совсем правильно меня поняли.
Мне нужно удалять двойные слеши только из request_uri , не трогая get параметры (которые могут содержать url как в указанном примере: https://site.ru/folder1/folder2//?newhref=https://...
В указанном примере нужно удалить двойной слэш после [folder2] , но ваша конфигурация htaccess проигнорирует этот url: https://site.ru/folder1/folder2//?newhref=https://...
из-за RewriteCond %{QUERY_STRING} !http(s|)://
несмотря на то, что он неправильный
Если я уберу RewriteCond %{QUERY_STRING} !http(s|):// , то в моем случае это приведет к циклической переадресации.
RewriteCond %{THE_REQUEST} //
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteCond %{QUERY_STRING} !http(s|)://
# Убедимся что это не урл в GET
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.
Мне нужно удалять двойные слеши только из request_uri , не трогая get параметры (которые могут содержать url как в указанном примере: https://site.ru/folder1/folder2//?newhref=https://...
В указанном примере нужно удалить двойной слэш после [folder2] , но ваша конфигурация htaccess проигнорирует этот url: https://site.ru/folder1/folder2//?newhref=https://...
из-за RewriteCond %{QUERY_STRING} !http(s|)://
несмотря на то, что он неправильный
Если я уберу RewriteCond %{QUERY_STRING} !http(s|):// , то в моем случае это приведет к циклической переадресации.
Для понимания ситуации вот вам наглядный пример:
https://klondike-studio.ru/?href=https://site.ru