Apache 通配符子域名到尾目录

Apache 通配符子域名到尾目录

我正在尝试了解如何创建尾随特定目录的子域名,例如,我转到http://sub.mydomain.com,它应该带我到 的根目录/var/www/subhttp://randomdir.mydomain.com应该带我到/var/www/randomdir

我遵循了 SF 上的很多答案,但都没有帮助。基本上,我*.mydomain.com几天前所做的就是创建了一个通配符 A 记录,现在我添加了一个虚拟主机,/etc/apache2/sites-enabled/mydomain.com.conf其中包含以下内容:

<VirtualHost *:80>
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /var/www/
</VirtualHost>

<VirtualHost *:80>
    ServerName cake.mydomain.com
    ServerAlias *.mydomain.com
    DocumentRoot /var/www/%1
</VirtualHost>

但是,当重新启动 apache2 时,我得到以下返回信息:

Warning: DocumentRoot [/var/www/%1] does not exist
apache2: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx for ServerName
 ... waiting Warning: DocumentRoot [/var/www/%1] does not exist
apache2: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx for ServerName

如何设法创建指向基于域前缀的目录的通配符子域?

答案1

将您的DocumentRoot /var/www/%1指令更改为VirtualDocumentRoot /var/www/%1

答案2

这个文件,动态配置的海量虚拟主机似乎完全涵盖了您想要做的事情。

涵盖 VirtualDocumentRoot 指令的领域在mod_vhost_alias文档页面,您可能会特别感兴趣。

相关内容