2013-02-24 77 views
2

我正在使用PHP 5.4,Zend Studio和Zend-Server。當URI正確時獲取404錯誤

我得到一個404錯誤,當我使用這個URI:

http://localhost/MyExample/public/index.php 

但是當我使用這個URI我得到正確的頁面顯示:

http://localhost/MyExample/public/index.php/ 

,我覺得這兩個烏里會是一樣的。

下面是.htaccess文件:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ 
RewriteRule ^(.*)$ - [E=BASE:%1] 
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] 

這裏是index.php的代碼:

<?php 

/** 
* This makes our life easier when dealing with paths. Everything is relative 
* to the application root now. 
*/ 
chdir(dirname(__DIR__)); 

// Setup autoloading 
require 'init_autoloader.php'; 

// Run the application! 
Zend\Mvc\Application::init(require 'config/application.config.php')->run(); 
+0

與.htaccess有關嗎? – Class 2013-02-24 04:45:02

+0

它可能是。我只是不確定是什麼。 – 2013-02-24 04:45:58

+0

你能發佈相關的代碼,你有.htaccess或任何其他相關的網址如:php代碼 – Class 2013-02-24 04:48:02

回答

2

注意:添加之前的評論作爲答案

這是正確的行爲。當您鍵入http://localhost/index.php時,傳遞給路由器的URI包含"index.php"

由於沒有匹配"index.php"路線,由Zend框架2.

顯示404錯誤當使用"/""/index.php/"the path matched by the router is empty,讓您得到ZendSkeletonApplication的默認"home"路由匹配。