0

Mac OSXLionにZF1.12プロジェクトをインストールしました。ブラウザをポイントすると...... http://localhost/~myusername/zendproj/public/index/index 期待どおりにページが読み込まれます。また、インデックスコントローラ内の他のアクションでも機能します。元: http://localhost/~myusername/zendproj/public/admin/index

他のコントローラーを表示すると...... http://localhost/~myusername/zendproj/public/admin/index このエラーが発生します

An error occurred
Page not found
Exception information:

Message: Invalid controller specified (~name)
Stack trace:

#0 /usr/local/zend/share/ZendFramework/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /usr/local/zend/share/ZendFramework/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /usr/local/zend/share/ZendFramework/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /Users/myusername/Sites/zendproj/public/index.php(26): Zend_Application->run()
#4 {main}  

Request Parameters:

array (
    'controller' => '~myusername',
    'action' => 'zendproj',
    'public' => 'admin',
    'module' => 'default',
)

vhost / .htaccess構成が一方のコントローラーでは機能するのに、もう一方のコントローラーでは機能しないのはなぜですか?ありがとう

4

1 に答える 1

1

Apache mod_userdir パスがルーターを混乱させています。

実稼働環境では、ZF アプリはユーザー フォルダー ( ) からアクセスされないと想定している~userため、ダミーのホスト エントリを設定して、ホスト名を使用してローカルでアプリにアクセスできるようにすることをお勧めします。

/private/etc/hosts次のようなエントリを編集して追加します。

127.0.0.1    zendapp www.zendapp

次に、アクセスhttp://zendappしてアプリケーションをロードしてみてください。

Apache の設定方法によっては、アプリケーションのフォルダーzendappを指すvhost を作成するか、既存の vhost に を追加して Apache がホスト名を認識できるようにする必要があります。publicServerAlias

于 2012-10-21T01:03:15.360 に答える