2010-09-14 12 views
6

Estoy intentando hacer una reescritura invisible (¿transparente?) A través de .htaccess y el indicador de proxy. Funciona con la bandera [R] pero no con la bandera [P] porque da un error de 500. Los dos dominios están en servidores separados y el módulo mod_proxy está habilitado. ¿Es correcto mi .htaccess?.htaccess reescritura con el indicador [P] proxy

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} =one.com 
RewriteRule ^(.*)$   http://two.com/$1 [P] 
+0

¿Puedes verificar el registro de errores en el servidor en el que aparece el error 500 para ver cuál fue el error específico? –

+0

Este es el error que obtengo: ***. IP. ***. *** - - [14/Sep/2010: 19: 33: 11 +0200] "GET/149c9fad24f457143dcb HTTP/1.1" 500 433 "- "" Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; fr-fr) AppleWebKit/533.18.1 (KHTML, como Gecko) Versión/5.0.2 Safari/533.18.5 " – Sinklar

+0

Eso es del registro de acceso, debería haber un registro de errores por separado que explique por qué Apache generó una respuesta de 500. –

Respuesta

8

Si mod_proxy fue compilado como un módulo compartido, requiere que se carga de forma explícita los submódulos correspondientes también. Es posible que en su servidor mod_proxy_http no esté habilitado, lo que lleva a un error interno del servidor cuando mod_proxy intenta manejar la solicitud que se le pasó por mod_rewrite.

mod_proxy está activado como usted dijo y probablemente funcione, ya que si no lo tiene habilitado, el uso de la bandera P generará una respuesta 404. Sin embargo, es difícil saberlo sin el registro de errores, por lo que es necesario buscar a alguien con acceso para ver qué sucede para ayudarlo a resolver el problema.

+2

gracias por la nota sobre el 404 - ¡No pude entender por qué lo estaba obteniendo! –

Cuestiones relacionadas