0

Zend Framework 1.12 モジュールのディレクトリ構造を学習しようとしているので、手動で作成しました。これまでのところ、アプリケーション フォルダの下にある Bootstrap.php にこれを追加することで、モジュールをデフォルトで動作させることができます。

$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 が表示され続けます。Zend でモジュールをセットアップするための何かが不足していますか?

更新: デフォルトをサインアップに設定すると、機能します。

resources.frontController.defaultModule = "signup"

現時点での私の最善の推測は、入力時に RewriteRule が index.php にリダイレクトしていないことです。

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

4

1 に答える 1