我在这里有点迷路,解决方案可能潜伏在我的眼皮底下,但我无法得到,想到你们是否有人可以提供帮助。
问题来了: 我有 Zend Framework 标准文件布局:
Project
-application
-controllers
-views
-layouts
-scripts
-layouts.phtml
-library
-public
-images
-index.php
现在的问题是,我在 layouts.phtml 中仅通过 images/logo.gif 等引用图像,在 Controller View /images/arrow.gif 中也是如此
如果请求很简单,效果很好 http://servername/project/controller
但是如果请求更深,比如 http://servername/project/controller/index/page/2
图像自行损坏,它们显然无法获取路径,我注意到的是,如果我稍后请求,图像路径将为 http://servername/project/controller/index/page/2/images/logo.gif不存在,图像在 public/images 中
我的理解是(我也用谷歌搜索了一下)框架知道默认的 public 并且总是将图像路由到 public/images 。但是,这是行不通的。我是否必须添加一些重写规则或其他内容?
有人可以帮忙吗?我将不胜感激!
最佳答案
有时候你应该先问问坐在你旁边的人!
解决方法如下:
<?=$this->baseUrl('images/logo.gif')?>
进一步调查后编辑
为了记录和帮助他人:如果您正确配置了 DocumentRoot,您可以像在非 Zend 框架环境中一样访问公共(public)图像文件夹。我只在我的 httpdconf 中创建了一个虚拟目录,而如果你不创建 VirtualHost 并且不给它 DocumentRoot 而你的文件也不在默认的 htdocs 目录中,那么会出现这个问题。请参阅以下 URL 中的创建虚拟主机标题: http://framework.zend.com/manual/en/learning.quickstart.create-project.html这将解决问题!
关于php - Zend Framework 布局中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414289/