Apache 文件夹中的子域名

Apache 文件夹中的子域名

我在 localhost 上有一个网站,在 HOSTS 中映射为:

127.0.0.1 www.yorkshiretestingwebsite.com

127.0.0.1 yorkshiretestingwebsite.com

但是,该文件夹(C:/www/vhosts/yorkshiretestingwebsite.com)中有一些子文件夹,分别是:

利兹

船体

谢菲尔德

而不是输入

http://www.yorkshiretestingwebsite.com/leeds

我想尝试将 URL 设置为:

http://leeds.yorkshiretestingwebsite.com

我已经在 Google 上查找过如何执行此操作,但不太确定如何执行此操作。

我尝试了这里的建议 -https://serverfault.com/questions/235311/automatic-subdomain-creation-in-htaccess-on-apache- 而且它做过可以工作(如果我只有几个文件夹就好了),但如果我有多个文件夹怎么办?我不想一直把它们添加到里面,所以我一直在寻找解决方案。

实现这一目标的最佳方法是什么?

答案1

您将需要创建一个新的 VirtualHost,它将根据目录树动态地提供子域:

<VirtualHost *:80>
    ServerName wildcard.yorkshiretestingwebsite.com
    ServerAlias *.yorkshiretestingwebsite.com
    VirtualDocumentRoot "C:/www/vhosts/yorkshiretestingwebsite.com/%1"
    ... (logging, permissions, etc) ...
</VirtualHost>

使用%1名称的第一个块,因此leeds.yorkshiretestingwebsite.com将指向C:/www/vhosts/yorkshiretestingwebsite.com/leeds/

有关该指令的更多信息VirtualDocumentRoot,请访问这里

相关内容