/ / htaccess redirectmatch expresión regular para evitar bucle infinito - regex, .htaccess, redirect

Expresión regular de htaccess redirectmatch para evitar bucles infinitos - expresiones regulares, .htaccess, redirect

Tengo un enlace con formato incorrecto en algún lugar que envía a las personas a mi mapa del sitio pero a una URL como

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

etc. Esto les presenta enlaces rotos.

Mientras busco el enlace incorrecto, escribí un 301 como este para hacer que todo el tráfico a la página se 301 borre y limpie:

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

Pero esto me da un error de "demasiados 301s"porque site.com/sitemap.php coincide con la expresión y se enlaza. ¿Hay alguna expresión regular que pueda usar en lugar de (. *) Que no coincida si no hay nada (es decir, si la URL acaba con ".php"?

Respuestas

1 para la respuesta № 1

Solo usa esta regla:

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

Y borre el caché de su navegador. Tenga en cuenta el uso de .+ (1 o más de cualquier personaje) en lugar de .* (0 o más caracteres)