/ / htaccess redirectmatch expressão regular para evitar loop infinito - regex, .htaccess, redirecionar

htaccess redirectmatch expressão regular para evitar loop infinito - regex, htaccess, redirecionar

Tenho um link malformado em algum lugar que envia pessoas ao meu sitemap, mas a um URL como

www.example.com/sitemap.php""abc def

etc. Isso os apresenta com links quebrados.

Enquanto eu busco o link incorreto, escrevi um 301 como este para fazer com que todo o tráfego da página seja reduzido e limpo:

RedirectMatch 301 ^sitemap.php(.*) http://www.example.com/sitemap.php

Mas isso me dá um erro "muitos 301s"porque site.com/sitemap.php corresponde à expressão e ela recebe um loop. Existe uma expressão regular que eu possa usar em vez de (. *) Que não corresponderá se não houver nada (ou seja, se a URL terminar com ".php"?

Respostas:

1 para resposta № 1

Basta usar esta regra:

RedirectMatch 301 ^/(sitemap.php).+ /$1

E limpe o cache do navegador. Observe o uso de .+ (1 ou mais de qualquer caractere) em vez de .* (0 ou mais caracteres)