Apache - 将url路径视为虚拟主机

Rus*_*lan 13 url apache2 virtualhost

问题是我只有一个域名需要运行3个不同的产品(其中2个基于PHP,1个python).所以我需要做的是将url中的路径视为不同的虚拟主机; 即:

www.domain.com/first_url/
www.domain.com/second_url/
www.domain.com/third_url/
Run Code Online (Sandbox Code Playgroud)

第一到第三个将作为单独的虚拟主机.

有任何线索如何做到这一点?

小智 20

这个问题被问到已经有一段时间了,但由于我正在寻找类似问题的解决方案,我将添加解决方案.

这可以通过使用Alias或AliasMatch指令来实现.更多详情可在这找到:

http://httpd.apache.org/docs/2.2/mod/mod_alias.html

Alias /first_url/ /var/www/first_url_resources
Run Code Online (Sandbox Code Playgroud)

  • 我知道旧答案甚至更老的问题,但这正是我所追求的单行解决方案类型。当您不确定要查找的内容的语法或上下文时,搜索内容并不容易。谢谢! (2认同)

cwe*_*ske 5

apache中的“虚拟主机”仅适用于域名,而不适用于路径的某些部分。您无法实现自己想要的。


PtP*_*uzu 1

您可能想使用 apache-config 指令做一些事情,因为您需要虚拟主机解决方案。正如cweiske 所解释的那样,Apache 只能将虚拟主机作为实际域使用。

这种情况下的解决方案是使用.htaccess您正在工作的子目录中的文件,或者<Directory "/web/root/subdir">..</Directory>在当前(虚拟)主机配置中设置一个块。

如果您本身想将它们作为虚拟主机('app1.domain.org')运行,您也可以选择将它们托管在不同的子域上。