2012-10-03 16 views
0

当站点在目录下运行时,如何强制Zend Router组装正确的URL?Zend Framework:如何在目录中安装正确的URL

这里就是我的意思是:

$this->view->url(array('controller' => 'controller', 'action' => 'action'), null, true) 

通常会返回类似/controller/action凡在我的情况下,它返回/tbogdanov/brandenburg/controller/action,因为该网站是在目录/tbogdanov/brandenburg运行。

这实际上是一个很好的网址,我对它没有任何问题。但是,传递给$this->_redirect()时,重定向器只是再次预加重目录。因此,最终的重定向网址现在看起来像这样:/tbogdanov/brandenburg/tbogdanov/brandenburg/controller/action

现在,这是不正确的。

有没有可能丢失的设置?看起来zend知道它运行在一个目录/子目录中,但仍然在某个时候忽略它。我正在寻找一个很好的通用解决方案,没有str_replace的!

此外,即使在某些时候项目移动到根目录(会发生这种情况),该方法也应该正常工作。

回答

2

_redirect()的第二个参数用于配置选项。添加array('prependBase' => false)并重试。