第二个子域名忽略 DirectoryIndex 并使用默认域名索引文件

第二个子域名忽略 DirectoryIndex 并使用默认域名索引文件

我正在运行 Debian 上预装的 apache2 Web 服务器。Apache 配置主机文件是:

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

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/error.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName sub1.domain.com
    ServerAlias www.sub1.domain.com
    DocumentRoot /var/www/sub1/public_html
    DirectoryIndex sub1.php

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/error.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName sub2.domain.com
    ServerAlias www.sub2.domain.com
    DocumentRoot /var/www/sub2/public_html
    DirectoryIndex sub2.php

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/error.log combined
</VirtualHost>

apachectl -S输出:

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server domain.com (/etc/apache2/sites-enabled/domain.com.conf:1)
         port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain.com.conf:1)
                 alias www.domain.com
         port 80 namevhost sub1.domain.com (/etc/apache2/sites-enabled/domain.com.conf:10)
                 alias www.sub1.domain.com
         port 80 namevhost sub2.domain.com (/etc/apache2/sites-enabled/domain.com.conf:19)
                 alias www.sub2.domain.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

domain.com加载预装的默认 index.html 文件/var/www/html/index.html(预期)

sub1.domain.com加载sub1.php。(预期)

sub2.domain.com在 处加载默认索引文件/var/www/html/index.html。我可以将目标文件sub2.php作为目录访问:sub2.domain.com/sub2.php

我怎样才能让我的第二个子域遵守 DirectoryIndex 指令,并加载sub2.php我的导航到sub2.domain.com

答案1

我不知道发生了什么变化,但是今天早上(发布这个问题的第二天)它正在按预期加载 DirectoryIndex。

这可能是 Apache 的一个错误,具体来说就是它在重新加载时如何处理更改的 DirectoryIndex。为了方便以后使用,我使用 systemd 重新加载 apache 配置。

相关内容