Apache VirtualHost против приоритета htaccess с помощью ProxyPassReverse - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть один файл конфигурации Apache с одной записью VirtualHost. Мне нужно, чтобы Apache выступал в качестве обратного прокси-сервера для различных сайтов назначения на основе URI.

Пример:

<VirtualHost>
    RewriteCond       %{REQUEST_URI}    ^/URI1/(\S+)$
    RewriteRule       ^.*$              https://<PROXY1 IP>:443%{REQUEST_URI} [P]
    ProxyPassReverse  ^                 https://<PROXY1 IP>:443

    RewriteCond       %{REQUEST_URI}    ^/URI2/(\S+)$
    RewriteRule       ^.*$              https://<PROXY2 IP>:443%{REQUEST_URI} [P]
    ProxyPassReverse  ^                 https://<PROXY2 IP>:443
</VirtualHost>

Это прекрасно работает. Здесь проблема. Мне нужно, чтобы эта обработка пришла на конец очень длинного списка правил mod_rewrite. В идеале я хотел бы поместить все эти дополнительные правила mod_rewrite в файл .htaccess и сохранить файл conf красивым и чистым. Проблема заключается в том, что независимо от настроек наследования, которые я пробовал, Apache сначала обработает правила mod_rewrite в разделе VirtualHost, по сути обнуляя файл htaccess.

Я могу переместить правила proxy mod_rewrite в конец файла htaccess, но мне нужно, чтобы в игре было несколько директив ProxyPassReverse (и они не могут быть в файле htaccess или директиве <Directory>).

Неужели я застрял в огромной записи VirtualHost со всеми моими правилами и прокси-правилами внизу?

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

...