/ / Remover barras à direita do Apache - Apache, .htaccess, mod-rewrite

Remova as barras à direita do Apache - Apache, .htaccess, mod-rewrite

Estou com um problema ao tentar remover barras no final de uma string de consulta no apache.

Eu tenho as seguintes regras de reconfiguração em vigor agora para tornar o URL e a string de consulta todas em minúsculas:

   RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} ^[^A-Z]*[A-Z].* [OR]
RewriteCond %{QUERY_STRING} ^[^A-Z]*[A-Z].*
RewriteRule ^ ${lc:%{REQUEST_URI}}?${lc:%{QUERY_STRING}} [L,R=301]

Eu tentei adicionar:

RewriteCond %{QUERY_STRING} (.+)/$
RewriteRule ^ %1 [R=301,L]

Mas isso quebra o site. Eu tenho procurado por uma maneira de fazer isso, mas não consigo encontrar nenhuma solução ainda. Eu tentei as respostas de esta postagem mas eles não funcionaram.

A razão pela qual eu preciso fazer isso é porque o nossoO firewall do aplicativo procura por "ID" na url e, se houver qualquer caractere não alfanumérico depois disso, ele bloqueia a solicitação. O firewall é implementado após a solicitação do Apache atingir o servidor.

Espero que alguém com mais experiência com as regras do Apache Rewrite possa me ajudar. Desde já, obrigado.

Respostas:

4 para resposta № 1

Para remover a barra à direita da string de consulta, você pode usar esta regra:

RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^ %{REQUEST_URI}?%1 [R=301,L,NE]

Certifique-se de que esta é a primeira regra no seu .htaccess abaixo RewriteEngine On linha.