我需要配置我的 evelynblac.com.conf 文件,以便任何带有子域的请求都会映射到以子域命名的目录(请参阅链接中的图片)。我该怎么做?
<VirtualHost *:80>
ServerName evelynblac.com
ServerAlias *.evelynblac.com
ServerAdmin [email protected]
DocumentRoot /var/www/*.evelynblac.com
<Directory "/var/www/*.evelynblac.com">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我的 evelynblac.com.conf 文件的屏幕截图
PS:如果可能的话,我想要一个不需要我修改.htaccess 的解决方案。
答案1
你可能想看看mod_vhost_alias
使用此模块,您可以用变量替换虚拟主机,例如:
%0 用 FQDN 替换出现的内容,其他变量包括:
0 the whole name
1 the first part
2 the second part
-1 the last part
-2 the penultimate part
2+ the second and all subsequent parts
-2+ the penultimate and all preceding parts
1+ and -1+ the same as 0
在您的示例中,您可能想要执行类似以下操作:
VirtualDocumentRoot /var/www/%0
最后,正如 yoonix 提到的,有很多方法,这只是其中之一。