在Mac OS X Lion上为Zend Framework(1.12)项目配置apache

时间:2012-10-20 21:11:02

标签: macos apache zend-framework

我在Mac OS X Lion上安装了ZF 1.12项目。当我将浏览器指向... http://localhost/~myusername/zendproj/public/index/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配置适用于一个控制器而不适用于另一个控制器?感谢

1 个答案:

答案 0 :(得分:1)

Apache mod_userdir路径使路由器感到困惑。

由于我假设您的生产环境中不会从用户文件夹(~user)访问ZF应用程序,我建议您设置一个虚拟主机条目,以便您可以使用以下方式在本地访问您的应用程序主机名。

修改/private/etc/hosts并添加如下条目:

127.0.0.1    zendapp www.zendapp

然后尝试访问http://zendapp以加载您的应用程序。

根据Apache的设置方式,您可能需要为zendapp创建一个指向应用程序的public文件夹的vhost,或者只需将ServerAlias添加到现有的vhost中, Apache识别主机名。