使用路由的zend框架问题


zend-framework problem using routes

更新:

事实证明,这不仅是路由,而且是任何"向上"目录的实例。

例如,mysite.com/public为我提供了正确的index.phtml文件。。。mysite.com/index/testpage确实为我提供了testpage.phtml,但我的目录结构完全搞砸了,我失去了所有到images&样式表等。我已经检查了我的.htaccess,它完全符合建议。

严重的挠头时间在这里。。。

OP:

你好。。

我使用这种方法来捕获URL并提供正确的内容

$router->addRoute(
    'list',
    new Zend_Controller_Router_Route('/list', array('controller'=>'index', 'action'=> 'list'))
    );

它工作得很好,提供了list.phtml…中的内容

但是,当我尝试在这样的目录中进行任何操作时,我会丢失所有的样式表和其他相关脚本。

$router->addRoute(
    'listWithUsers',
    new Zend_Controller_Router_Route('/list/:users', array('controller'=>'index', 'action'=> 'list'))
    );

这很奇怪,因为我可以访问users变量,echo将其显示在屏幕上,只是每当URL包含/ 时,我就会丢失所有脚本和样式表

为了清楚起见,我可以在indexController.php中设置操作来捕获URLS,它可以工作,但它似乎将其作为另一个目录,导致我丢失了所有相关链接。

谢谢你的帮助。请告知是否有任何具体细节会有所帮助。

对于任何使用此类路由的MVC应用程序,都必须为资源指定绝对路径。这将防止出现问题。

例如,如果我的网站位于mysite.com/app1,资源位于lib/jquery-1.2.6.min.js,则有效路径为/app1/lib/jquery-1.2.6.min.js

为此,我一直使用某种帮助程序在我的视图中返回网站的基本URL。

<script type="text/javascript" src="<?php echo $this->baseUrl() ?>/lib/jquery-1.2.6.min.js"></script>

可以使用视图辅助对象或常量。