Apache mod_rewrite no se resuelve bien

Apache mod_rewrite no se resuelve bien

Tengo un servidor Apache (puerto 80) funcionando bien como proxy inverso del servidor web local (puerto 82) y mod_rewrite sin ningún archivo .htaccess.

Puedo navegar OK ahttp://localhost/CONTACTO.PRO, me muestra el sitio web ubicado en el servidor web local enhttp://localhost:82/cgi-vel/web/CONTACT.PRO

El problema es intentar crear URL amigables usando mod_rewrite, me muestra un error del servidor web local (no un error de Apache), así que supongo que no estoy enviando la URL correcta al servidor web local (puerto 82).

¿Puedes ayudarme a descubrir qué sucede?

En la carpeta Apache, solo tengo httpd.conf principal/original con enable "LoadModule rewrite_module module/mod_rewrite.so" e incluye "conf/extra/ABC.conf" donde puse mi configuración:

NameVirtualHost *
ExtendedStatus On

<virtualHost *>

ServerName www.ABC.com
ServerAlias 192.168.1.250
ServerAlias localhost
ServerAdmin [email protected]
DirectoryIndex index.htm
ProxyPass /cgi-vel/web/  http://localhost:82/cgi-vel/web/ 
keepalive=on  
ProxyPass /  http://localhost:82/cgi-vel/web/ keepalive=on  
ProxyPassReverse /  http://localhost:82/cgi-vel/web/ keepalive=on 
ProxyPreserveHost On
ErrorLog "logs/test_web_error.log"
CustomLog "logs/test_web-access.log" combined 

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^contact$ /CONTACTAR.PRO?W-IDIOMA=EN [P]
RewriteRule ^item$   /ITEM.PRO
RewriteRule ^special /SALE.PRO?_sale=109

</virtualHost>  

Muchas gracias

Respuesta1

Hasta donde puedo decir, ProxyPass se evalúa antes que RewriteEngine, por lo que RewriteEngine nunca ve su URL. Mira estohttps://stackoverflow.com/questions/9003358/apache-rewrite-then-proxy-pass

Tienes que decirle a RewriteEngine que devuelva la URL al controlador de URL agregando [PT]

información relacionada