Ich verschiebe ein auf einem Apache-Server gehostetes Blog auf eine neue Domäne.
Die Permalinks bleiben für die Blogbeiträge gleich, es gibt jedoch einige Seiten, bei denen sich der URL-Slug auf der neuen Domäne ändert.
Meine Frage ist, ob Folgendes möglich ist und wie ich das mit Umschreibregeln machen würde.
Die URL-Slugs/Permalinks der Blogbeiträge und der meisten Seiten der alten Domain bleiben auf der neuen Domain gleich. Ich stelle mir also vor, dass ich eine Umleitungsregel hinzufügen könnte, die von https://huiskopenomteverhuren.nl/
nach umleitet https://vastgoedmentor.com
, da sie auf der neuen Domain denselben /Slug findet
Einige Seiten der alten Website wurden auf neue Permalinks verschoben. Ich brauche also zusätzliche Regeln, um beispielsweise umzuleiten, https://huiskopenomteverhuren.nl/kennisbank/
und https://vastgoedmentor.com/resources
muss dies auch für einige andere Seiten tun.
Antwort1
RewriteRule
Innerhalb der Serverkonfiguration können mehrere Direktiven mit regulären Ausdrücken angelegt werden . Dabei sollte mit den spezifischen Weiterleitungen mit geänderten Permalinks begonnen werden. Die allgemeine Weiterleitung für alle anderen Seiten kann am Ende hinzugefügt werden.
RewriteEngine On
RewriteRule ^/kennisbank(/.*)?$ https://vastgoedmentor.com/resources$1 [END,R=301]
RewriteRule ^/old2(/.*)?$ https://vastgoedmentor.com/new2$1 [END,R=301]
RewriteRule ^/old3(/.*)?$ https://vastgoedmentor.com/new3$1 [END,R=301]
RewriteRule ^/(.*)$ https://vastgoedmentor.com/$1 [END,R=301]
Die Notation von (/.*)?
führt die Umleitung mit und ohne abschließenden Schrägstrich aus und fügt der neuen URL alle zusätzlichen Pfaddetails hinzu. Es wird also huiskopenomteverhuren.nl/kennisbank/something-or-nothing
zu vastgoedmentor.com/resources/something-or-nothing
.
Weitere Einzelheiten RewriteRule
finden Sie unter
https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
Da alle Regeln auf eine andere Domäne verweisen, besteht keine Gefahr, in eine Schleife zu geraten. Trotzdem ist es eine gute Idee, das END
Flag zu allen Regeln hinzuzufügen, um zu verhindern, dass die übrigen Regeln ausgewertet werden. Anders als das L
Flag END
verhindert das Flag auch die Auswertung weiterer Regeln in .htaccess-Dateien.
Weitere Einzelheiten zu den Flaggen finden Sie unter https://httpd.apache.org/docs/current/rewrite/flags.html