[英]Exclude an alias from virtualhost proxypass
我正在关注虚拟主机配置。 期望的结果是:
第二个工作,但第一个不工作。 请有人帮忙!
<VirtualHost *:80>
ServerName test.myserver.com
Alias /myapp /var/www/myapp
<Directory /var/www/myapp>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ProxyPass / http://localhost:8069/
ProxyPassReverse / http://localhost:8069/
</VirtualHost>
这就是我能够达到预期结果的方式。 以下是ProxyPassMatch ^/myapp !
的工作配置ProxyPassMatch ^/myapp !
除了(服务器地址)/ myapp之外,所有的请求都是代理到另一个服务器,它是在端口8069上运行的open-erp:
<VirtualHost *:80>
ServerName test.myserver.com
Alias /myapp /var/www/myapp
<Directory /var/www/myapp>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ProxyPassMatch ^/myapp !
ProxyPass / http://localhost:8069/
ProxyPassReverse / http://localhost:8069/
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.log
</VirtualHost>
而不是使用: ProxyPassMatch ^/myapp !
您可以在定义/之前添加另一个ProxyPass指令,如下所示:
ProxyPass /myapp !
ProxyPass / http://localhost:8069/
由于ProxyPass尊重优先级(将处理第一个匹配),因此它将正确地重定向到目录而不是代理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.