apache 配置 - 列出了 vhost 项但找不到

apache 配置 - 列出了 vhost 项但找不到

我正在使用 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 条目上。

相关内容