htaccess - Elimina múltiples barras después del dominio con caracteres acentuados codificados
Puedo eliminar múltiples barras diagonales en cualquier lugar de la URL usando:
RewriteCond %{REQUEST_URI} ^(.*?)(/{2,})(.*)$
RewriteRule . %1/%3 [R=301,L]
Pero no funciona para varias barras después del dominio
Yo he tratado
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{THE_REQUEST} ^[A-Z]+\s//+(.*)\sHTTP/[0-9.]+$ [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s(.*/)/+\sHTTP/[0-9.]+$
RewriteRule .* http://%{HTTP_HOST}/%1 [R=301,L]
desde:eliminar múltiples barras diagonales mod_rewritey
RewriteCond %{THE_REQUEST} ^([A-Z]{3,9})\ (.*)//([^\ ]*)
RewriteRule ^ %2/%3 [R=301,L]
desde:Elimina la barra al final después del dominioambos producen la reirección esperada al pasar de
domain.com/////hello
a
domain.com/hello
Pero de donde
domain.com/////héllo
el resultado está codificado
domain.com/h%25c%25allo
¿Cómo evitar que los caracteres acentuados se codifiquen al eliminar varias barras después del dominio?
EDITAR: pera a la respuesta de anubhava
RewriteCond %{THE_REQUEST} \s/+(.*?)/{2,}([^\s]*) [NC]
RewriteRule ^ %1/%2 [R=301,L,NE]
El carácter acentuado está protegido y recortado con éxito con más de barras repetidas
domain.com////////héllo
pero no con solo 2
domain.com//héllo