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
广告
将在 10 秒后关闭
bannerAds