2016-11-08 2 views
0

Ich habe ein ungültiges Link irgendwo die Leute auf meine Sitemap aber zu einer URL wie.htaccess RedirectMatch regulärer Ausdruck Endlosschleife zu vermeiden

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

usw. dann stell sie mit defekten Links sendet.

Während ich die schlechte Verbindung jagen, schrieb ich so ein 301 alle Besucher auf der Seite 301ed zu machen und aufgeräumt:

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

Aber das gibt mir eine „zu viele 301s“ Fehler, weil site.com/sitemap.php stimmt mit dem Ausdruck überein und es wird geloopt. Gibt es einen regulären Ausdruck, dass ich statt verwenden kann, die nicht übereinstimmen, wenn es nichts überhaupt ist (dh, wenn die URL nur mit „.php“ endet

Antwort

1

Genau diese Regel verwenden (. *):

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

und Browser-Cache löschen. Hinweis Verwendung von .+ (1 oder mehrere beliebige Zeichen) statt .* (0 oder mehr Zeichen)

+0

@pg. Hat diese Arbeit für Sie aus? – anubhava