Mod_rewrite-Regel zum Erzwingen der Verwendung eines bestimmten Domänennamens für ein bestimmtes Verzeichnis

Mod_rewrite-Regel zum Erzwingen der Verwendung eines bestimmten Domänennamens für ein bestimmtes Verzeichnis

Ich möchte die Verwendung eines anderen Hostnamens/Domänennamens für ein bestimmtes Verzeichnis auf meiner Site erzwingen.

Derzeit gibt es ein Verzeichnis mit mehreren Webseiten unter mainsite.com/directory. Für die Seiten, die sich nur in diesem Verzeichnis befinden, möchte ich, dass sich der Domänenname in der Adressleiste der Benutzer in differentsite.com ändert. Im Idealfall erscheinen die Seiten auf der Stammebene von differentsite.com.

Welche Regel(n) kann ich meiner WordPress-.htaccess-Datei hinzufügen, um dies zu erreichen?

Antwort1

Erstellen Sie für jedes Verzeichnis, für das Sie dies tun möchten, einen Block der folgenden 3 Zeilen. Tun Sie dies nach der RewriteEngine onAnweisung. In diesem Beispiel ist www.example.com die Domäne, die Sie für das Verzeichnis verwenden möchten.

RewriteCond %{REQUEST_URI} ^/directory1(.*)
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule .* http://www.example.com%1 [L,R]

Nachdem Sie es getestet haben, ändern Sie [L,R]es in [L,R=301], um eine permanente Weiterleitung für bessere SEO-Freundlichkeit zu kennzeichnen. Ich habe es nicht zum Starten, da es das Testen erschwert, da es dazu führt, dass Browser die Weiterleitung zwischenspeichern.

Damit das oben genannte funktioniert, müssen Sie sicherstellen, dass der Server so konfiguriert ist, dass er auf die andere Domäne lauscht und beim Zugriff auf diese Domäne den vollständigen Pfad zum Unterordner (in diesem Fall „directory1“) als Dokumentstammverzeichnis für die Domäne verwendet.

Wenn Sie nicht wissen, wie das geht, und es Ihnen nichts ausmacht, dass das Unterverzeichnis in der URL enthalten ist, konfigurieren Sie die andere Domäne so, dass sie dasselbe Dokumentstammverzeichnis wie die Hauptdomäne verwendet, und wenden Sie dann die folgenden Regeln an:

RewriteCond %{REQUEST_URI} ^/directory1.*
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R]

verwandte Informationen