我创建了一个新的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中的文件夹工作正常! 但我认为这不是一个解决方案......
答案 0 :(得分:1)
从您的vhost中删除MultiViews
选项,然后我认为它应该可以正常工作。 <Directory /> ... </Directory>
部分是不必要的,也可以删除。