Ich versuche, einige URLs umzuleiten, .htaccess
aber 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-reparatie
inreparatie/huawei
- Entfernen Sie das
-reparatie
am 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
,second
undremovethis
enthalten nur Kleinbuchstaben von az.first
undsecond
sind durch einen einzelnen Bindestrich getrennt.removethis
wird durch einen einzelnen Bindestrich vorangestellt (der ebenfalls entfernt wird) und tritt immer am Ende des URL-Pfades auf.text-to-keep
ist eine beliebige Reihe von A-Z- und Bindestrichzeichen.
Versuchen Sie oben in der Stammdatei .htaccess
mithilfe 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 $n
in 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 QSD
Flag (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.