Привет, я пытаюсь настроить ProxyPass для передачи запрошенного URL-адреса в качестве параметра GET в целевой URL-адрес, но я не могу понять, как записать его в файл конфигурации.
Я пробовал примерно так:
ProxyPass ^(.*)$ http://example.com/?url=$1
ProxyPassReverse ^(.*)$ http://example.com/?url=$1
но это не работает. Не могли бы вы мне помочь? Спасибо!
Вы должны использовать ProxyPassMatch
директиве, если вы хотите использовать регулярное выражение, НО, как указано в ProxyPass
директивная документация
url является частичным URL-адресом для удаленного сервера и не может включать строку запроса.
В результате вам придется использовать RewriteRule
директива и установите [P]
флаг чтобы запрос обрабатывался как запрос прокси mod_proxy
.
Хотя это, вероятно, требует некоторой настройки, отправной точкой может быть:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/foo
RewriteRule ^(.*)$ /foo?url=$1 [P]
ProxyPass /foo http://example.com/
ProxyPassReverse /foo http://example.com/