0

我有一个在 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 视图助手的工作方式上产生一致性(最好始终返回相对路径)。

谢谢。

4

1 回答 1

1

我认为这就像您的第一个示例一样简单, Zend_Controller_Router_Route_Module它是通常是相对的默认类型路由。

您的第二个示例是命名路由,因此它需要包含基本 url 才能有效。我不相信重写的路线可以是相对的,因为路线可能会或可能不会指代实际位置。

我做了一些有限的测试,我相信如果你设置你的baseUrl值,第一个例子也将包括主机地址。因此,为了保持一致性,您的网址将始终是绝对的。

//application.ini
resources.frontController.baseurl = http://www.domain.com

希望这可以帮助。

于 2013-05-02T12:23:39.433 回答