2013-02-24 3 views
2

Я использую PHP 5.4, Zend Studio и Zend-Server.Получение ошибки 404, когда URI прав

Я получаю сообщение об ошибке 404, когда я использую этот URI:

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

, но когда я использую этот URI я получить нужную страницу дисплея:

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

Я думаю, что оба эти uri будет одинаковым.

Вот файл .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

+0

Это может быть. Я просто не знаю, что. –

+0

можете ли вы разместить соответствующий код, который у вас есть .htaccess или что-то еще, связанное с URL-адресами, например: php-код – Class

ответ

2

Примечание: Добавление предыдущий комментарий как ответ

Это правильно поведение. URI, переданный маршрутизатору при вводе http://localhost/index.php, содержит "index.php".

Поскольку нет маршрута согласования "index.php", ошибка 404 отображается Zend Framework 2.

При использовании "/""/index.php/" или, the path matched by the router is empty, так что вы получите по умолчанию "home" маршрут ZendSkeletonApplication подобран.

Смежные вопросы