Servieren Sie eine Website aus einem anderen Verzeichnis basierend auf dem URL-Zeichenfolgenparameter
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
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.