我试图不是从根文件夹运行ZF Quickstart应用程序,而是从webserver子文件夹运行,就像通常的php应用程序一样,例如本地主机/快速启动。 当localhost / quickstart / guestbook给出找不到页面错误时:
> Page not found
>
> array(3) { ["controller"]=>
> string(10) "quickstart" ["action"]=>
> string(9) "guestbook" ["module"]=>
> string(7) "default" }
它将父文件夹名称视为控制器名称。 我把问题缩小到这条线:
在Zend_Controller_Front ::的getInstance() - >调度();
我应该以某种方式配置路由器对象以避免父文件夹混淆?我应该使用什么代码?
我的目的是在同一个网络服务器上运行几个zend应用程序。
答案 0 :(得分:1)
您可能需要set the base url。
例如:
$controller->setControllerDirectory('./application/controllers')
->setRouter($router)
->setBaseUrl('/quickstart');
答案 1 :(得分:0)
你说:
我尝试不是从根文件夹运行ZF Quickstart应用程序,而是从webserver子文件夹运行
不一定与以下内容相同:
我的目的是在同一个网络服务器上运行几个zend应用程序。
RoBorg说的是真的,并且特别回答了你的第一个问题,但是对于每个站点都必须这样做(加上它意味着开发和部署站点上的路由不一样),当你想要的时候非常喜欢能够使用自己的子域设置所有项目URL,以便它们可以在顶层运行,而无需触摸任何配置或路由。恰好I wrote a blog post on this就在最近......