/ / htaccess redirectmatch expression régulière pour éviter les boucles infinies - regex, .htaccess, redirect

htaccess redirectmatch expression régulière pour éviter les boucles infinies - regex, .htaccess, redirect

J'ai un lien mal formé quelque part qui envoie des gens vers mon sitemap mais vers une URL comme

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

etc. Ceci les présente alors avec des liens brisés.

Pendant que je cherchais le mauvais lien, j'ai écrit un 301 comme celui-ci pour que tout le trafic sur la page soit 301é et nettoyé:

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

Mais cela me donne un "trop ​​de 301" erreursparce que site.com/sitemap.php correspond à l'expression et qu'il est mis en boucle. Y a-t-il une expression régulière que je peux utiliser à la place de (. *) Et qui ne correspondra pas s'il n'y a rien du tout (c'est-à-dire si l'URL se termine simplement par ".php"?

Réponses:

1 pour la réponse № 1

Il suffit d'utiliser cette règle:

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

Et effacez le cache de votre navigateur. Notez l'utilisation de .+ (1 ou plusieurs caractères) au lieu de .* (0 ou plus caractères)