Removendo barra final de URLs redirecionados (.jpg/ .htm/ .gif/) com Apache

Removendo barra final de URLs redirecionados (.jpg/ .htm/ .gif/) com Apache

Tenho um site que está sendo redirecionado de um host antigo. Não consigo alterar o redirecionamento do host antigo.

O problema é que o redirecionamento acrescenta uma barra final quando não é apropriado. Exemplo: http://example.com/picture.jpg/ou http://example.com/page.html/.

Isso está fazendo com que meu servidor retorne um 404.

Idealmente, eu corrigiria o redirecionamento do site antigo, mas não consigo.

Existe uma maneira de remover a barra final no final do URL? Este é um site que não é complexo (html simples, sem linguagens de script, etc.).

Procurei e não consegui encontrar uma solução existente.

Responder1

Você poderia fazer algo como o seguinte para remover a barra final de qualquer URL que termine com uma extensão de arquivo ( ,,, .jpgetc. ).html.png

RewriteEngine On
RewriteRule ^/?(.+?\.[a-z]{2,4})/$ /$1 [R=302,L]

Altere 302 (temporário) para 301 (permanente) somente depois de testar se funciona bem (evite problemas de cache).

ATUALIZAR:http redirecionou para https, e https reescreveu a barra final engraçada.

Se todos esses links forem direcionados apenas para HTTP (não HTTPS), faria sentido executar esse redirecionamento apenas no HTTP vHost e redirecionar diretamente para HTTPS também. Por exemplo:

RewriteRule ^/(.+?\.[a-z]{2,4})/$ https://example.com/$1 [R=302,L]

(Embora seja concedido, se estiver no vHost para HTTPS, ele capturará todas as solicitações.)

informação relacionada