Sirve el sitio web desde un directorio diferente según el parámetro de cadena de URL

May 10 2020

Me gustaría saber si puedo servir el sitio web desde 2 versiones diferentes de acuerdo con los parámetros de cadena de URL.

Ejemplo:

  • Tengo dos instalaciones en mi servidor: example.com/website-1/yexample.com/website-2/
  • si el usuario final visita example.com/main/?showads=yes-> servir sitio web desdeexample.com/website-1/
  • Si el usuario final visita el dominio example.com/main/-> servir sitio web desdeexample.com/website-2/

Nota: esta no es una pregunta de redirección, solo quiero publicar con la misma URL.

ps Estoy ejecutando un sitio web de WordPress en un servidor Apache.

Estoy abierto a cualquier solución a través de la .htaccessconfiguración de PHP, WordPress o Apache ( ).

Respuestas

MrWhite May 10 2020 at 20:39

Puede realizar la reescritura interna necesaria en la parte superior de su .htaccessarchivo raíz . Por ejemplo:

RewriteEngine On

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

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

Si el usuario solicita /main/?showads=yes(exactamente como se indica), la solicitud se enruta a la instalación de WordPress /website-1/y si el usuario lo solicita /main/(exactamente, sin cadena de consulta), la solicitud se enruta a la instalación de WP en /website-2/. (NB: Debería volver a escribir directamente en index.php, en lugar de permitir que mod_dir emita una subquest interna secundaria).

SIN EMBARGO, dado que esto es WordPress, WP también debe configurarse para aceptar solicitudes /main/en ambos sitios web (es decir, debe ser una URL válida en WP), de lo contrario, WP activará un 404.

Puede considerar hacer esta pregunta en la pila de WordPress para obtener más ayuda con el lado WP de esto.