我有一个Apache conf文件和一个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规则列表的 end 中进行。理想情况下,我希望将所有这些额外的mod_rewrite规则放在.htaccess文件中,并使conf文件保持整洁。问题在于,无论我尝试了哪种继承设置,Apache都会首先在VirtualHost部分中处理mod_rewrite规则,基本上使htaccess文件无效。
我可以将代理mod_rewrite规则移到htaccess文件的末尾,但是我需要在这里运行多个ProxyPassReverse指令(并且这些指令不能在htaccess文件或<Directory>
指令中)。
我是否只保留一个巨大的VirtualHost条目,其中包含所有规则,而代理规则位于底部?
非常感谢。