Servieren Sie eine Website aus einem anderen Verzeichnis basierend auf dem URL-Zeichenfolgenparameter

May 10 2020

Ich würde gerne erfahren, ob ich die Website aus 2 verschiedenen Versionen gemäß den URL-Zeichenfolgenparametern bereitstellen kann.

Beispiel:

  • Ich habe zwei Installationen auf meinem Server: example.com/website-1/undexample.com/website-2/
  • bei Endbenutzerbesuchen example.com/main/?showads=yes-> Website bedienen vonexample.com/website-1/
  • Wenn der Endbenutzer die Domain besucht example.com/main/-> Website von bedienenexample.com/website-2/

Hinweis: Dies ist keine Umleitungsfrage, ich möchte nur mit derselben URL dienen.

ps Ich betreibe eine WordPress-Website auf einem Apache-Server.

Ich bin offen für jede Lösung über PHP, WordPress oder Apache ( .htaccess) config.

Antworten

MrWhite May 10 2020 at 20:39

Sie können das erforderliche interne Umschreiben oben in Ihrer Stammdatei durchführen .htaccess. Zum Beispiel:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^showads=yes$ RewriteRule ^main/$ /website-1/index.php [L]

RewriteCond %{QUERY_STRING} ^$ RewriteRule ^main/$ /website-2/index.php [L]

Wenn der Benutzer /main/?showads=yes(genau wie angegeben) anfordert, wird die Anforderung an die WordPress-Installation in weitergeleitet, /website-1/und wenn der Benutzer anfordert /main/(genau - keine Abfragezeichenfolge), wird die Anforderung an die WP-Installation in weitergeleitet /website-2/. (NB: Sie sollten direkt umschreiben index.php, anstatt mod_dir eine sekundäre interne Unteranforderung ausgeben zu lassen.)

Da dies jedoch WordPress ist, muss WP selbst auch so konfiguriert werden, dass Anforderungen auf /main/beiden Websites akzeptiert werden (dh dies muss eine gültige URL in WP sein), andernfalls löst WP eine 404 aus.

Sie können diese Frage auf dem WordPress-Stack stellen, um weitere Unterstützung für die WP-Seite zu erhalten.