0

这让我很困惑。我最近设置了VM,急着去旅行。我安装了 Ubuntu 12.04 和 LAMP。PHP 版本是 5.5,Apache 是 2.4。我在我的家用机器上使用了相同的配置,它工作正常。

无论如何,问题是我只能访问我的 ZF 应用程序的索引控制器上的操作,例如:域名/,域名/索引/信息。如果我尝试任何其他控制器,例如域名/测试/视图,我会收到 apache 404 错误。(注意 - 注意 ZF Not Found 错误)。

我想这是 URL 重写的问题,但是我的 VM 上的 .htaccess 与我的家用计算机相同,并且我在虚拟主机配置中看不到任何会导致这种情况的东西。此外,如果它只是一个 URL 重写问题,我会认为它会适用于所有 url,包括索引控制器......

这是我的htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

想法?

编辑:这是虚拟主机配置:

DocumentRoot /home/kim/www/vhost/public ServerName koop SetEnv APPLICATION_ENV "development"

<Directory /home/kim/www/vhost/public>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
            Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined

4

1 回答 1

0

好的,所以我不得不将 AllowOverride 更改为 All。这意味着 Apache2 现在将处理我的 .htaccess 文件。

然后我需要启用mod rewrite,by sudo a2enmod rewrite,然后重新启动apache,即sudo service apache2 restart

于 2013-08-26T05:44:13.777 回答