gpt4 book ai didi

apache - VirtualHost 相同服务器名称不同目录

转载 作者:行者123 更新时间:2023-12-01 23:31:21 26 4
gpt4 key购买 nike

我有一个分配给主机(redmine 应用程序)的正在运行的生产网站。我需要将一个新应用程序作为子目录添加到同一主机。

这是在主机的基本文件夹中运行的 redmine 应用程序的当前虚拟主机配置。

<VirtualHost *:80>
ServerName redmine.hostname.com
DocumentRoot "C:/BitNami/redmine-2.5.1-1/apps/redmine/htdocs/public/"

RewriteEngine On
RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA]

ProxyPass / balancer://redminecluster
ProxyPassReverse / balancer://redminecluster

<Proxy balancer://redminecluster>
BalancerMember http://127.0.0.1:3001
BalancerMember http://127.0.0.1:3002
</Proxy>

</VirtualHost>

因此该应用程序已在 redmine.hostname.com 上运行。我想添加我自己的应用程序,并且希望它在 redmine.hostname.com/myapp/ 上运行。

无论我做什么,我都无法实现这一目标。我不能更改 redmine 的路径,我必须将新应用程序添加到同一虚拟主机。除了 80 之外没有其他开放端口,因此我必须使其在 redmine.hostname.com/myapp/

上运行

基本上,redmine应用程序必须回复所有不以redmine.hostname.com/myapp/开头的请求。我的应用程序应回复以 redmine.hostname.com/myapp 开头的所有请求。

我应该使用什么设置?

最佳答案

如果您的应用程序/myapp 位于 c:/myappdir,配置 apache 执行您想要的操作的最简单方法是使用以下配置:

<VirtualHost *:80>
ServerName redmine.hostname.com
DocumentRoot "C:/BitNami/redmine-2.5.1-1/apps/redmine/htdocs/public/"

Alias /myapp "c:/myappdir"
ProxyPass /myapp !

ProxyPass / balancer://redminecluster/
ProxyPassReverse / balancer://redminecluster/

<Proxy balancer://redminecluster>
BalancerMember http://127.0.0.1:3001
BalancerMember http://127.0.0.1:3002
</Proxy>

</VirtualHost>

使用感叹号作为 ProxyPass 的目标将从代理配置中排除/myapp,如文档 here 所示。 。此外,您不需要特殊的 RewriteRule,因为您不需要修改 redmine 的请求,ProxyPass 应该足够了。

关于apache - VirtualHost 相同服务器名称不同目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26719903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com