Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用路由的zend框架问题_Php_Zend Framework_Routes - Fatal编程技术网

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()