Apache mod_rewrite não está resolvendo OK

Apache mod_rewrite não está resolvendo OK

Eu tenho um servidor Apache (porta 80) funcionando bem como proxy reverso do servidor web local (porta 82) e mod_rewrite sem nenhum arquivo .htaccess.

Posso navegar OK parahttp://localhost/CONTACT.PRO, ele me mostra o site localizado no servidor web local emhttp://localhost:82/cgi-vel/web/CONTACT.PRO

O problema é tentar criar URLs amigáveis ​​​​usando mod_rewrite, ele mostra um erro do servidor web local (não erro do Apache), então acho que não estou enviando o URL correto para o servidor web local (porta 82)

Você pode me ajudar a descobrir o que acontece?

Na pasta Apache, só tenho httpd.conf principal/original com enable "LoadModule rewrite_module module/mod_rewrite.so" e incluindo "conf/extra/ABC.conf" onde coloquei minha configuração:

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>  

Muito obrigado

Responder1

Pelo que sei, o ProxyPass é avaliado antes do RewriteEngine, portanto, o RewriteEngine nunca vê seu URL. Dê uma olhada emhttps://stackoverflow.com/questions/9003358/apache-rewrite-then-proxy-pass

Você precisa dizer ao RewriteEngine para passar a URL de volta ao manipulador de URL adicionando [PT]

informação relacionada