我正在使用 Ubuntu 14.04,并通过 安装了 Apache tasksel
。
apache2ctl -S
表示www.ijiameng.com
存在于不同的conf文件中,其中默认具有更高的优先级,如下所示:
sunjizu@HP-Pavilion-g4-Notebook-PC:~$ apache2ctl -S
VirtualHost configuration:
*:80 is a NameVirtualHost
default server www.ijiameng.net (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost www.ijiameng.net (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost foo.my (/etc/apache2/sites-enabled/foo.my.conf:1)
port 80 namevhost www.ijiameng.net (/etc/apache2/sites-enabled/ijiameng.net.conf:1)
alias ijiameng.net
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
但/etc/apache2/sites-enabled/000-default.conf
不包括与相关的任何内容www.ijiameng.com
,如下所示:
sunjizu@HP-Pavilion-g4-Notebook-PC:/etc/apache2/sites-enabled$ cat 000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
</VirtualHost>
结果很烦人,就是我浏览的时候http://www.ijameng.net
,浏览器直接进入/var/www/
,这是默认配置。但是ijiameng.net
运行良好,因为没有冲突的配置。
里面隐藏着什么000-default.conf
吗?
答案1
以 开头的默认配置000
以更高的顺序列出,因为它是第一个被包含的,因为启用的站点将按数字顺序读取,然后按字母顺序读取。可以通过指定多个包含条目来控制顺序,从而覆盖此顺序:
Include /etc/apache2/sites-enabled/ijiameng.net.conf
Include /etc/apache2/sites-enabled/foo.my.conf
Include /etc/apache2/sites-enabled/000-default.conf
www.ijiameng.net
据推测在默认配置中显示的原因是它与您的主机共享 IP 地址。
请发布/etc/apache2/sites-enabled/ijiameng.net.conf
配置,如果选择的是默认配置而不是 vhost 配置,那么问题很可能出在 vhost 条目上。