Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Apache ProxyPass设置为覆盖父ProxyPass的子目录?_Apache_Tomcat_Proxypass - Fatal编程技术网

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

如何将Apache ProxyPass设置为覆盖父ProxyPass的子目录?,apache,tomcat,proxypass,Apache,Tomcat,Proxypass,我在给定的机器上运行多个web服务器(Apache、Tomcat、自定义Python服务器)。我让Apache监听端口80,这是标准设置。为了通过此端口访问我的另一台服务器,我在Apache中设置了一个ProxyPass,如下所示: ProxyPass / http://[mydomainname]:8880/ ProxyPassReverse / http://[mydomainname]:8880/ 它起作用了。当您浏览到没有端口规范(因为暗示为80)的域名时,您没有到达Apache根目录

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

ProxyPass / http://[mydomainname]:8880/
ProxyPassReverse / http://[mydomainname]:8880/
它起作用了。当您浏览到没有端口规范(因为暗示为80)的域名时,您没有到达Apache根目录,而是透明地重定向到机器上另一台服务器(Twisted服务器)的根目录,监听端口8880


问题出在这里。似乎我现在阻止了任何东西访问我的Apache文件。有没有办法覆盖不同子目录的根代理传递?例如,如果浏览到mydomain/test,我是否可以让它像根本没有代理传递一样工作,而不是将其路由到端口8880服务器上的路径?

我在SO线程上找到了答案:

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

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