Php 使用路由的zend框架问题
更新: 事实证明,这不仅是路由,而且是任何“向上”目录的实例 例如,Php 使用路由的zend框架问题,php,zend-framework,routes,Php,Zend Framework,Routes,更新: 事实证明,这不仅是路由,而且是任何“向上”目录的实例 例如,mysite.com/public为我提供了正确的index.phtml文件。。。 mysite.com/index/testpage确实为我提供了testpage.phtml,但我的目录结构完全被破坏了,我失去了指向图像和样式表等的所有链接。我已经检查了.htaccess,它完全符合建议 严重的挠头时间到了 OP: 你好 我使用这种方法来捕获URL并提供正确的内容 $router->addRoute( 'list
mysite.com/public
为我提供了正确的index.phtml文件。。。
mysite.com/index/testpage
确实为我提供了testpage.phtml,但我的目录结构完全被破坏了,我失去了指向图像和样式表等的所有链接。我已经检查了.htaccess,它完全符合建议
严重的挠头时间到了
OP:
你好
我使用这种方法来捕获URL并提供正确的内容
$router->addRoute(
'list',
new Zend_Controller_Router_Route('/list', array('controller'=>'index', 'action'=> 'list'))
);
它工作得非常好,提供列表中的内容。phtml
但是,当我尝试在这样的目录中“创建”任何内容时,我就丢失了所有的样式表和其他相关脚本
$router->addRoute(
'listWithUsers',
new Zend_Controller_Router_Route('/list/:users', array('controller'=>'index', 'action'=> 'list'))
);
这很奇怪,因为我可以访问users
变量并echo
将其显示在屏幕上,只是每当URL包含/
为了清楚起见,我可以在indexController.php
中设置操作来捕获URL,它可以工作,但它似乎是另一个目录,导致我丢失所有相关链接
谢谢你的帮助。请告知是否有任何特定的详细信息会有所帮助。对于使用此类路由的任何类型的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>
这是可行的。非常感谢你的帮助。我知道绝对路径的必要性,但我一直在关注Zend的屏幕广播,没有使用绝对路径。无论哪种方式,我的应用程序现在都可以运行了。谢谢为了存档-echo$this->baseUrl()
对我有效,而不是echo$this->getBaseUrl()