在 Debian 中使用 Apache 实现通配符虚拟主机的最佳方法是什么,这样我放在 /var/www/ 文件夹中的任何文件夹都可以像这样工作
/var/www/abc 将自动指向 abc.local
/var/www/wp 将自动指向 wp.local
/var/www/test 将自动指向 test.local
我想我唯一要做的就是手动编辑 /etc/hosts 文件?
答案1
一般来说,在 Apache 中,如果没有,则第一个主机将显示为默认主机服务器名称或者服务器别名。
可能发行版包含000-默认.conf这将成为默认的虚拟主机。
现在,为了满足您的特定需求,您似乎正在设置开发环境。您可以使用 DNSMasq 和 apache 自动将 .local 解析为 localhost,并告诉 apache 在特定目录下查找它:
wp.local -> /var/www/wp
something.local -> /var/www/something
在dnsmasq配置文件:
# catch .local
address=/.local/127.0.0.1
在Apache中:
<Directory "/var/www/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
<VirtualHost *:80>
ServerName localhost.local
ServerAlias *.local
UseCanonicalName off
VirtualDocumentRoot /var/www/%1/
</VirtualHost>
看这帖子以供进一步参考。他使用的是 OS X,但应该适用于任何 *nix 发行版。