我有一个在Zend Framework 1.12上运行的应用程序,我正在使用URL视图助手。我还有一些自定义路由,我使用URL帮助程序来清理代码。
当我使用这样的格式时:
$this->url(array('module' => 'myapp', 'controller' => 'index', 'action' => 'index'), 'default', true)
结果字符串是操作的相对路径 - /myapp/index/index
但是当我使用自定义路线时:
$this->url(array('var' => 'value'), 'custom-route', true)
结果字符串是绝对路径 - http://www.domain.com/custom-route
我不明白为什么会发生这种情况,我无法在网上找到有关此行为的任何信息。此外,我想知道是否有办法防止它发生并以URL视图助手的工作方式产生一致性(最好总是返回相对路径)。
感谢。
答案 0 :(得分:1)
我认为这很简单,因为您的第一个示例是通常相对的默认类型Zend_Controller_Router_Route_Module
路由。
您的第二个示例是名为的路由,因此需要包含基本网址才能生效。我不相信重写路线可能是相对的,因为路线可能会或可能不会指实际位置。
我做了一些有限的测试,我相信如果你设置 baseUrl 值,第一个例子也会包含主机地址。因此,为了保持一致,您的网址将始终是绝对的。
//application.ini
resources.frontController.baseurl = http://www.domain.com
希望这有帮助。