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 にリダイレクトしていないことです。