0

我将 Zend FW 应用程序从我的 Ubuntu PC(旧域)移到了 Ubuntu 笔记本电脑上。后来我将一个版本复制回我的 Ubuntu PC 并将其设置在另一个虚拟主机(新域)下。现在,当我转到新虚拟主机的根目录时,我看到了默认的 apache 主机页面(即“It Works!”),而不是我网站的默认页面。为什么会这样?

更多信息:

  • 当我导航到 newdomain/index.php 时,会显示正确的页面
  • olddomain 和 newdomain 的 .htaccess 文件相同
  • 新旧域的 index.php 文件相同
  • 我看不到任何权限差异
  • 两个域的 /etc/hosts 记录相同
  • 我启用了站点 ( a2ensite),并重新启动了 apache

我错过了什么?

谢谢!

编辑:这是新域“front15”的虚拟主机配置:

<VirtualHost *:80>
    ServerName front15
    DocumentRoot /media/mainhdd/development/www/front/v15/public

    SetEnv APPLICATION_ENV "development"

    <Directory /media/mainhdd/development/www/front/v15/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
4

2 回答 2

2

在我的 /etc/hosts 文件中,我在一行上有多个虚拟主机,都指向同一个 IP (127.0.0.1)。我将它们分开,每行一个,现在它工作正常。

于 2013-01-02T01:35:37.513 回答
0

我认为有两种可能性会导致您出现此问题。其中之一(最不可能的可能性)是您的 .htaccess 或 apache.conf 文件中有一个 mod_rewrite 规则,该规则特定于此设置中不存在的 IP 或域。

更有可能的可能性是您的mod_dirDirectoryIndex的 httpd指令在index.php之前首先列出了index.html。您必须记住 mod_dir按顺序使用参数,第一个参数优先于第二个参数,依此类推。因此,如果您有并且在您的根 Web 目录中有一个index.html文件和一个index.php文件,那么 httpd 将使用index.html而不是index.php,因为这是它首先找到的那个。顺便说一下,这是默认设置。 DirectoryIndexDirectoryIndex index.html index.php

因此,要么从该目录中删除 index.html,要么将DirectoryIndexhttpd.conf 或 vhost 文件中的指令更改为在 index.html 之前使用index.php,这样index.php文件总是优先。

于 2013-01-02T00:56:28.350 回答