我正在尝试在我的 Ubuntu droplet 上使用 Apache2 设置子域名,我已经按照本教程到 T 但每次我导航到我的子域时,我都会得到默认的 apache 登录页面。
因此,我为主域名和子域名设置了单独的配置文件,
/etc/apache2/sites-available/mainsite.conf:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/mainsite/public_html
ServerName www.example.com
ServerAlias example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/etc/apache2/sites-available/sub.conf:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/submainsite/public_html
ServerName sub.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我做错了什么?我没有太多的服务器端经验,所以请原谅我对此事的无知。
编辑:
两个站点都有链接,我确实运行过a2ensite
。
运行时apachectl -S
我得到:
default server sub.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost sub.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost sub.example.com (/etc/apache2/sites-enabled/sub.conf:1)
port 80 namevhost www.example.com (/etc/apache2/sites-enabled/mainsite.conf:1)
alias example.com
答案1
000-default.conf
您在as中定义了默认服务器sub.example.com
,它指向 Apache 测试页面。由于它是第一个,因此它会覆盖第二 sub.example.com
您在中定义的虚拟主机sub.conf
。
要修复该问题,请编辑000-default.conf
并删除ServerName sub.example.com
它。