如何将 Apache ProxyPass 设置到覆盖父 ProxyPass 的子目录?

How can I setup an Apache ProxyPass to a subdirectory which overrides a parent ProxyPass?

我在给定的机器上有多个 Web 服务器 运行(Apache、Tomcat、自定义 Python 服务器)。我让 Apache 监听端口 80,这是标准设置。为了通过此端口访问我的其他服务器之一,我在 Apache 中设置了 ProxyPass,如下所示:

ProxyPass / http://[mydomainname]:8880/
ProxyPassReverse / http://[mydomainname]:8880/

有效。当您浏览到没有端口规范(因为暗示 80)的域名时,您不会到达 Apache 根目录,而是透明地重定向到侦听端口 8880 的机器上另一台服务器(Twisted 服务器)的根目录。

问题来了。看来我现在已经阻止任何东西到达我的 Apache 文件。有没有办法覆盖各种子目录的根代理通行证?例如,如果您浏览到 mydomain/test,我可以让它工作,就好像我根本没有代理通行证一样,而不是将其路由到端口 8880 服务器上的路径吗?

我在 SO 线程上找到了答案:ProxyPass and DocumentRoot on one domain

在根 ProxyPass 指令之前,只需添加 ProxyPass 排除项和目录别名。注意:对要公开的每个 Apache 子目录重复此操作。

ProxyPass /MySubDirectory !
Alias /MySubDirectory /var/www/html/MySubDirectory