2016-10-28 4 views
0

Ich versuche, dieses Format oder URL zu 301 umleitenhtaccess 301-Weiterleitung regex

mydomain.com/texas/map-of-texas/ 

zu

mydomain.com/texas/ 

ich viele Urls von Staaten und Städte mit diesem Muster haben, so brauche ich einen regulären Ausdruck Regel, aber ich kann nicht scheinen, die Regex-Syntax richtig zu bekommen.

Ich habe dies und ähnliches verwendet. Was mache ich falsch?

RewriteRule ^/map-of(.+) mydomain.com /$1 [R=301,L] 
+0

Bei der Eingabe 'mydomain.com/Texas /' ist es in der Regel die richtige Seite laden? – anubhava

Antwort

0

Die ^ entspricht den Beginn des Pfadabschnittes der URL, aber in Ihrem Beispiel „Karte-of“ ist nicht am Anfang der URL. Desweiteren starten Mod_rewrite-Pfade nicht mit /, sondern direkt mit dem URL-Pfad.

A mod_rewrite Regel, dass alle URLs mit "map-of" umschreibt sieht wie folgt aus:

RewriteRule (^|/)map-of-(.+?)(/|$) /$2 [R=301,L] 

Die ? bedeutet, dass das Spiel nicht "gierig" ist.

Die Rewrite-Regel leitet die folgende Art von Urls

mydomain.com/texas/map-of-texas/ 
mydomain.com/texas/map-of-texas/123 
mydomain.com/map-of-texas 

zu

mydomain.com/texas 
+0

Danke Peter - Ich habe das versucht, aber ich bekomme immer noch einen 404 Fehler auf meiner mydomain.com/texas/map-of-texas/. – Jolo