Apache mod_rewrite не разрешает нормально

Apache mod_rewrite не разрешает нормально

У меня есть сервер Apache (порт 80), работающий нормально как обратный прокси-сервер локального веб-сервера (порт 82) и mod_rewrite без каких-либо файлов .htaccess.

Я могу перейти на OKhttp://localhost/CONTACT.PRO, он показывает мне веб-сайт, расположенный на локальном веб-сервере по адресуhttp://localhost:82/cgi-vel/web/CONTACT.PRO

Проблема в попытке создать дружественные URL-адреса с помощью mod_rewrite, он показывает мне ошибку локального веб-сервера (не ошибку Apache), поэтому я предполагаю, что я не отправляю правильный URL-адрес на локальный веб-сервер (порт 82)

Помогите мне разобраться, что происходит?

В папке Apache у меня есть только основной / оригинальный httpd.conf с включенным «LoadModule rewrite_module modules/mod_rewrite.so» и включающий «conf/extra/ABC.conf», куда я поместил свою конфигурацию:

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>  

Большое спасибо

решение1

Насколько я могу судить, ProxyPass оценивается до RewriteEngine, поэтому RewriteEngine никогда не видит ваш URL. Посмотрите наhttps://stackoverflow.com/questions/9003358/apache-rewrite-then-proxy-pass

Вам нужно указать RewriteEngine передать URL обратно обработчику URL, добавив [PT]

Связанный контент