Apache reescribe la página de inicio solo del proxy

Apache reescribe la página de inicio solo del proxy

Probé varias expresiones regulares ( ^/$,, ) para reescribir/proxy solo la página de inicio de un sitio web de WordPress a través ^index.php$de . Para que conste, tengo cargados los módulos apropiados para lograr esto y puedo hacerlo para otras rutas con express regular específico, pero no para la página de inicio. Otras respuestas lo han indicado y funcionarán, pero a mí no me funciona. ¿Cómo es posible apuntar solo a la página de inicio?^$.htaccess^$^/$

RewriteEngine On
RewriteBase /
RewriteRule ^$ http://some-other-domain.com [P]

El objetivo final es servir una página de otro sitio web solo como página de inicio. ¿Quizás haya un mejor enfoque?

Respuesta1

Pruebe algo como lo siguiente, en la parte superior del .htaccessarchivo,antesel controlador frontal de WordPress:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(index\.php)?$ http://some-other-domain.com/ [P]

Las directivas RewriteBasey RewriteEngineno son necesarias aquí. Es RewriteEnginede suponer que ya aparece más adelante en el archivo como parte del # BEGIN WordPressbloque de código (el orden no es importante).

Tenga en cuenta el sufijo de barra diagonal en elsustitucióncadena. Esto es unrequeridoparte de la URL (no puede tener una ruta URL vacía). Si lo omite aquí, entonces algo más deberá "arreglarlo" más adelante. En el caso de una redirección externa, elnavegadorLo "arreglaría", pero aquí no hay ningún "navegador".

Esto coincide tanto con una ruta URL vacía como index.php(en caso de que mod_dir esté emitiendo la subsolicitud para el índice del directorioantesmod_rewrite envía la solicitud a través de mod_proxy). Elcondiciónque verifique la REDIRECT_STATUSvar env es necesaria en este caso para evitar el proxytodo, ya que el controlador frontal de WordPress reescribe todo en index.php. La condición garantiza que solo se coincidan las solicitudes directas, no las solicitudes reescritas.

Aparte:ARewriteRule patrónlike ^/$nunca coincidirá en un .htaccesscontexto. Esto sólo funcionaría si la directiva se utilizara en unservidor(oanfitrión virtual) contexto.

información relacionada