Я видел такой пример:
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://app_cluster%{REQUEST_URI} [P,QSA,L]
Мне нужна аналогичная вещь, которая будет делегировать mod_proxy (т.е. делать ProxyPass), когда статический файл не существует. Это выполнимо?
Эта установка с P
flag - то, что вам нужно. В документ о флаге P состояния:
Используйте этот флаг (P), чтобы получить более мощную реализацию директивы ProxyPass.
Некоторые вещи о примере: как сказал Эндрю в своем ответе, DOCUMENT_ROOT
не обязательно.
Во-вторых, просто обратите внимание на то, где находятся эти инструкции: удалите первый "/" RewriteRule (^ (. *) $), Если вы поместите это в или подобный контейнер ...
А флаг P подразумевает флаг L, поэтому он не используется, но может прояснить его, если мы его оставим. Также необходимо указать "/" после веб-адреса.
Таким образом, это может выглядеть примерно так:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ http://somewhere/$1 [P,QSA,L]