为了声明用于域和子域,Apache2,Ubuntu的VirtualHost

问题描述

我在DNS中声明了domainsubdomain1subdomain2,一切正常。

然后我按如下方式创建目录: /var/www/domain.com/public_html/index.html /var/www/subdomain1.domain.com/public_html/index.html /var/www/subdomain2.domain.com/public_html/index.html

然后我创建:/etc/apache2/sites-available/domain.conf

NameVirtualHost *:80

<VirtualHost *:80>
        ServerName www.subdomain1.domain.com
        ServerAlias www.subdomain1.domain.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/subdomain1.domain.com/public_html

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

<VirtualHost *:80>
        ServerName www.subdomain2.domain.com
        ServerAlias www.subdomain2.domain.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/subdomain2.domain.com/public_html

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

<VirtualHost *:80>
    ServerName www.domain.com
    ServerAlias www.domain.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/domain.com/public_html

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

我禁用了默认配置:sudo a2dissite 000-default.conf

然后我激活每个网站:sudo a2ensite domain.conf

我重新启动Apache 2:sudo systemctl restart apache2.service

问题在于,即使我在单独的.conf文件中分隔VirtualHost声明,所有链接都指向第一个声明的VirtualHost,它将始终是将为所有DNS域打开的目录中的第一个VirtualHost

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)