htaccess-Umleitungsordner und Entfernen des URL-Endes

htaccess-Umleitungsordner und Entfernen des URL-Endes

Ich versuche, einige URLs umzuleiten, .htaccessaber ohne Erfolg. Das Problem besteht darin, dass ich zwei verschiedene Teile der URL umleiten muss.

Hier ist ein Beispiel dafür, was ich umleiten muss:

example.com/huawei-reparatie/huawei-mate-7-reparatie

muss umgeleitet werden an:

example.com/reparatie/huawei/huawei-mate-7

Was ist also zu tun:

  • Aufgeteilt huawei-reparatieinreparatie/huawei
  • Entfernen Sie das -reparatieam Ende jeder URL

Dies sind dynamische URLs, es ist also nicht nur diese eine. Ich muss alle diese URLs für viele verschiedene Marken (wie huawei) und viele verschiedene Geräte (wie huawei-mate-7) umleiten.

Ich hoffe, dass mir jemand helfen kann.

Antwort1

Um Ihre Anforderungen zu verdeutlichen:

/first-second/text-to-keep-removethis

Sollte weiterleiten zu;

/second/first/text-to-keep

Wo

  • first, secondund removethisenthalten nur Kleinbuchstaben von az.
  • firstund secondsind durch einen einzelnen Bindestrich getrennt.
  • removethiswird durch einen einzelnen Bindestrich vorangestellt (der ebenfalls entfernt wird) und tritt immer am Ende des URL-Pfades auf.
  • text-to-keepist eine beliebige Reihe von A-Z- und Bindestrichzeichen.

Versuchen Sie oben in der Stammdatei .htaccessmithilfe von mod_rewrite Folgendes:

RewriteEngine On

RewriteRule ^([a-z]+)-([a-z]+)/([a-z-]+?)-[a-z]+$ /$2/$1/$3 [R=302,L]

DerRewriteRule Muster(erstes Argument) ist ein regulärer Ausdruck, der nur mit dem angeforderten URL-Pfad abzüglich des Schrägstrichpräfixes übereinstimmt.

Die $nin derAuswechslungstring sind Rückverweise auf die entsprechende Erfassungsgruppe (eingeklammertes Teilmuster) in derRewriteRule Muster.

Alle in der ursprünglichen Anfrage vorhandenen Abfragezeichenfolgen werden unverändert weitergeleitet. Wenn eine Abfragezeichenfolge entfernt werden soll, fügen Sie das QSDFlag (Query String Discard) hinzu.

Beachten Sie, dass dies eine temporäre (302) Weiterleitung ist. Ändern Sie die Weiterleitung erst dann in eine 301 (permanente) Weiterleitung – wenn dies beabsichtigt ist –, wenn Sie bestätigt haben, dass die Weiterleitung ordnungsgemäß funktioniert.

verwandte Informationen