Apache虚拟主机配置的笔记
设定示例
请在httpd.conf(或拆分配置文件)中如下设置
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mysrv.local
DocumentRoot /var/www/vhosts/mysrv.local/public
ServerAdmin root@mysrv.local
# DocumentRoot
<Directory "/var/www/vhosts/mysrv.local/public">
Options All
AllowOverride All
Require all granted
</Directory>
# Log
CustomLog logs/mysrv.local/access_log combined env=!resources
CustomLog logs/mysrv.local/resource_log combined env=resources
CustomLog logs/mysrv.local/referer_log referer env=!is_intra_referral
ErrorLog logs/mysrv.local/error_log
</VirtualHost>
在这里设置的目录和日志文件需要事先创建好。
请注意
默认网站
如果设置如前所述,还需要为默认主机名进行VirtualHost设置。
否则,将应用顶部的VirtualHost设置。
例如,在只有上述设置的情况下,当通过localhost访问时,将会产生与访问mysrv.local相同的结果。
访问控制的写法
只需提供一种选择:Apache 2.3及以上版本。
AllowOverride All
Order allow,deny
Allow from all
↑ではなく、↓のように書く (じゃないと 403 になる)
AllowOverride All
Require all granted