it-swarm.com.de

Zwei (oder mehr) parallele (Sub-) TLDs, die beim Surfen auf der Site erhalten bleiben/die Site-Adresse dynamisch festlegen?

Ich betreibe eine Site für eine deutsche NGO unter der Domain sub.example.org.
Vor kurzem habe ich sub.example.ch für die Schweizer Ausgründung hinzugefügt.

Beide (Unter-) Domänen verweisen auf denselben physischen Speicherort, eine WP -Installation ( nicht Multisite).

Ich habe es so eingerichtet, dass beispielsweise sub.example.ch/register den unter sub.example.org/register gefundenen Inhalt korrekt anzeigt.

Wenn ein Schweizer Besucher jedoch mit regelmäßigen Links vor Ort auf der Website surft, wird er oder sie unweigerlich in die "reguläre" Domain aufgenommen, da diese die in den allgemeinen Einstellungen definierte "WordPress-Adresse" (oder "Site-Adresse") verwendet entweder über get_home_url oder get_site_url() (oder ihre weniger tiefen get_bloginfo()-Äquivalente).

Idealerweise , möchte ich, dass der Besucher weiterhin unter der Domain surft, mit der er die Site erreicht hat. Daher müsste ich wohl irgendwie den Rückgabewert der genannten Funktionen filtern. Ein Filter, den es meines Wissens nicht gibt.

  1. Hat jemand Erfahrung mit so etwas und eine anständige Lösung zur Hand?

  2. Ist das vielleicht eine blöde Idee und ich sollte sie erst loslassen?

10
Johannes Pille

Sie können die Optionsanforderungen für den Host filtern.

In Ihrem wp-config.php unter der Zeile ...

require_once ABSPATH . 'wp-settings.php';

… Füge folgende Zeilen hinzu:

add_filter( 'pre_option_home', 'set_current_Host' );
add_filter( 'pre_option_siteurl', 'set_current_Host' );

function set_current_Host()
{
    return 'http://' . $_SERVER['HTTP_Host'];
}

add_filter() ist nicht früher verfügbar, und Sie sollten diesen Code in Ihrem wp-config.php aufbewahren. Ich weiß nicht, ob es Nebenwirkungen gibt oder Fälle, in denen dies nicht funktioniert. Sollte nicht passieren, aber testen Sie es gründlich.

9
fuxia