Подтвердить что ты не робот

Могут ли ProxyPass и ProxyPassReverse работать в htaccess?

Я никогда не устанавливал прокси-сервер раньше. Я использую общий хостинг, поэтому для установки директив Apache мне нужно использовать .htaccess. Могу ли я использовать .htaccess, чтобы сделать что-то вроде ниже? Любые ограничения?

ProxyRequests Off
ProxyPass /img/ http://internal.example.com/img/
ProxyPass /app/ http://internal.example.com/app/

ProxyPassReverse / http://internal.example.com/
4b9b3361

Ответ 1

Вы не можете использовать ProxyPass в файле htaccess. В документации говорится, что он применим только в контексте:

Контекст: конфигурация сервера, виртуальный хост, каталог

который исключает htaccess (вы не можете иметь блок <Directory> в htaccess). Однако вы можете использовать ProxyPassReverse для внутренней перезаписи поля Location прокси-запросов, которые вызывают перенаправление. Вам просто нужно использовать флаг mod_rewrite P для прокси вместо ProxyPass. Так что-то вроде:

RewriteEngine On
RewriteRule ^/?img/(.*)$ http://internal.example.com/img/$1 [L,P]
RewriteRule ^/?app/(.*)$ http://internal.example.com/app/$1 [L,P]

ProxyPassReverse / http://internal.example.com/

Чтобы быть понятным, вы не можете использовать ProxyPass или ProxyPassReverse в файле htaccess, но вы можете использовать ProxyPassReverse с правилами mod_rewrite, которые используют флаг P.