2013-07-15 3 views
0

Я пытаюсь изучить структуру каталога модулей Zend Framework 1.12, поэтому я создал ее вручную. Пока у меня есть модули, которые работают со значением по умолчанию, добавив это в мой Bootstrap.php, который находится в моей папке приложения.Получение 404 при попытке получить доступ к моему модулю Zend

$this->bootstrap("frontController"); 
$front = $this->getResource("frontController");   
$front->addModuleDirectory(APPLICATION_PATH . '/modules'); 

Я попытался с помощью application.ini, чтобы сделать это с указанными ниже параметрами, но он продолжал давать мне исключение, говоря: "Нет директории контроллера по умолчанию зарегистрирован фронт-контроллера.

resources.frontController.defaultController = "index" 
resources.frontController.defaultAction = "index" 
resources.frontController.defaultModule = "default" 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = "" 

Вот моя структура каталогов:

root 
| 
+- application 
    | 
    +- configs 
    | | 
    | +- application.ini 
    |  
    +- modules 
     | 
     +- default 
     | | 
     | +- controllers 
     | | | 
     | | +- IndexController.php 
     | | 
     | +- views 
     |  | 
     |  +- scripts 
     |  | 
     |  +- index 
     |   | 
     |   +- index.phtml 
     | 
     +- signup 
     |  
     +- controllers 
     | | 
     | +- IndexController.php 
     | 
     +- views 
      | 
      +- scripts 
       | 
       +- index 
       | 
       +- index.phtml 

Это мои правила перезаписи:

RewriteEngine On 
RewriteRule ^myroot/.*$ index.php [NC] 

Я пытаюсь доступа http://mysite.com/root/signup, но я получаю 404. Могу ли я что-то отсутствует в модулях установки в Зенде?

Обновление: Если я установил свою учетную запись по умолчанию, она будет работать.

resources.frontController.defaultModule = "signup" 

Моя догадка сейчас является RewriteRule не перенаправлять его в index.php, когда я вхожу

http://www.mysite.com/root/signup

+1

является/корень/расположение основного скрипта index.php? – Orangepill

+0

Да, вот где мой основной index.php, который устанавливает Zend. – kailoon

+0

только для хихиканья попробуйте перейти на http://mysite.com/root/signup/index/index – Orangepill

ответ

0

Добавьте это к вашему application.ini

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = "default" 
resources.modules[] = "signup" 
+0

Если я удалю вызов addModuleDirectory() из Bootstrap.php и добавлю эти строки в свой файл application.ini, он даст мне исключение «Нет контроллера контроллера по умолчанию, зарегистрированное с помощью переднего контроллера». – kailoon

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