Apache 网站显示「;它起作用了&引用;页面,而不是vhost配置中指定的内容

Apache 网站显示「;它起作用了&引用;页面,而不是vhost配置中指定的内容,apache,ubuntu,virtualhost,Apache,Ubuntu,Virtualhost,在阅读/尝试了十几篇关于设置虚拟主机的教程几个小时后,我似乎已经把一切都安排好了。基本上,在升级我的Ubuntu发行版(我知道,对吧?)后,Apache升级到2.4,一切都坏了。在试图弄明白这一点之后,我决定把一切都抛在脑后,重新开始。PHP/Apache是最新的 我得到的是根索引(“ItWorks!”),但不是我指定的DocumentRoot /etc/apache2/sites available/domain.com.conf <VirtualHost *:80> Se

在阅读/尝试了十几篇关于设置虚拟主机的教程几个小时后,我似乎已经把一切都安排好了。基本上,在升级我的Ubuntu发行版(我知道,对吧?)后,Apache升级到2.4,一切都坏了。在试图弄明白这一点之后,我决定把一切都抛在脑后,重新开始。PHP/Apache是最新的

我得到的是根索引(“ItWorks!”),但不是我指定的DocumentRoot

/etc/apache2/sites available/domain.com.conf

<VirtualHost *:80>
    ServerName domain.com
    ServerAlias www.domain.com

    # Indexes + Document Root
    DirectoryIndex index.php index.html
    DocumentRoot /var/www/domain.com/htdocs/

    # Logging
    ErrorLog  /var/www/domain.com/logs/error.log
    CustomLog /var/www/domain.com/logs/access.log combined

    <Directory "/var/www/domain.com/htdocs/">
            Options Indexes FollowSymLinks Includes
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>
希望这是我忽略的愚蠢的事情,因为这是一个令人沮丧的夜晚,我已经尝试了我能想到的一切,所以我不必为此打扰你们(对不起!)。当我启动/重新启动时,我没有从Apache中得到任何错误,也没有从任何错误日志中得到任何信息。不确定这是否适用,但DirectoryRoot权限设置为755


更新(11/05/13)


显然是“神奇的修理工仙女”突袭并解决了这个问题。据我所知,没有安装缓存引擎(除非Apache 2.4在默认情况下安装了缓存引擎),所以我不确定是什么改变了自身,使其在周末解析到正确的目录(我没有在其中工作),但这就是问题所在。仅针对质问者:是的,我重新启动了apache(一百万次),所以这不是修复方法。

您确定默认的vhost文件不是您要使用的文件吗?确保唯一启用的配置是首先使用A2DISTITE命令并重新启动apache的新vhost

然后检查vhost中指定的访问日志,看看它实际上在拉什么

# Logging
ErrorLog  /var/www/domain.com/logs/error.log
CustomLog /var/www/domain.com/logs/access.log combined
应针对您的VHOST:

# Logging
ErrorLog  /var/www/domain.com/logs/error-example.com.log
CustomLog /var/www/domain.com/logs/access-example.com.log combined

升级到Ubuntu的“俏皮”版本时遇到了同样的问题。在我的例子中,我有几个没有后缀“.conf”的配置(“可用站点”)

由于apache2.conf有一个指令,该指令仅包含具有此后缀的已启用站点,因此唯一正确加载的配置是默认配置。 因此,我建议您删除“sites enabled”文件夹中的所有链接,确保“sites available”中的所有配置都有后缀.conf,并使用“a2ensite”程序再次启用您的站点


您好,加斯,我知道这是一个老问题,但仍然没有真正的答案。我今天也遇到了同样的问题,似乎需要通过以下方式重新启动服务:

service apache2 restart
service apache2 start
或重新加载:

service apache2 reload
正如a2ensite所说,“这还不够”,或者根本不起作用。我重新启动服务几次都没有结果。然后我做了一个:

service apache2 stop
然后使用以下命令重新启动服务:

service apache2 restart
service apache2 start

这就解决了问题。这种行为很奇怪,但它可能是由错误配置的运行脚本引起的。

正如上面的“ApacheCtl-S”所示,我只运行一个域,因此一个异见者只允许我禁用我尝试运行的站点。另外,我删除了“/etc/apache2/sites available”中的default.conf,认为它可能会以某种方式覆盖其他vhost配置设置。其他地方有默认配置吗?我想这是ubuntu。它还将自动添加来自/etc/apahce2/conf.d、httpd.conf等的内容。好的,我已经读过这篇文章并做了调整。“domain.com.conf”将在“/sites enabled”下显示