在ZendFramework中找不到IndexController

时间:2014-07-31 11:43:41

标签: apache .htaccess zend-framework virtualhost

我创建了一个新的ZendFramework项目,其中包含两个控制器Index和Admin。

我也为这个网站创建了虚拟主机。这是我的网站./etc/apache2/sites-enebled/site.home.conf

<VirtualHost *:80>
SetEnv APPLICATION_ENV development
DocumentRoot /home/user/server/site/public/
ServerName site.home
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory /home/user/server/site/public/>
    Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Require all granted
</Directory></VirtualHost>

这是我的〜/ server / site / public / .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]

一切看起来都很好,因为一般来说它是我在同一台服务器上的另一个项目的副本,但是(!)我有下一个服务器行为:

http://site.home - OK (code 200)
http://site.home/index or http://site.home/index/index - page not found (code 404 from Apache)
http://site.home/Index (with capital I) - OK (code 200)
http://site.home/admin or http://site.home/admin/index - OK (code 200)

所以只有当我打电话给&#34;索引&#34;控制器。如何解决?

更新 我找到了解决方法。我创建了一个&#34;索引&#34; / public和http://site.home/index中的文件夹工作正常! 但我认为这不是一个解决方案......

1 个答案:

答案 0 :(得分:1)

从您的vhost中删除MultiViews选项,然后我认为它应该可以正常工作。 <Directory /> ... </Directory>部分是不必要的,也可以删除。