0

在本地主机上运行 ZF + xampp(我是新手)..

我有这个代码:

    $url = $this->getRequest()->getRequestUri();
    ...
    $session->requestURL = $url;

& var_dump 显示 $url=

    /kakool/public/admin/catalog/item/update/1

但后来,在这段代码中:

    if (isset($session->requestURL)) {
    $url = $session->requestURL; }
    # again, var_dump shows $url=/kakool/public/admin/catalog/item/update/1
    $this->_redirect($url);  

它重定向到这个网址:

    /kakool/public/kakool/public/admin/catalog/item/update/1

烦人...有人有什么想法吗?

4

2 回答 2

3

_redirect方法默认假设你给它一个相对于当前应用程序根目录的路径——所以即使你传递一个以 开头的 URL /,它也会将基本路径附加到它的前面。

你有两个选择:

1/给它一个相对于项目的路径,就像它想要的那样:

$url = $this->getRequest()->getPathInfo();
# var_dump now shows $url=/admin/catalog/item/update/1
$this->_redirect($url);

2/ 传递一个额外的标志,告诉 _redirect 不要添加基本路径:

$this->_redirect($url, array('prependBase' => false));
于 2013-06-17T02:51:18.230 回答
0

我认为你必须更换这个:

$url = $this->getRequest()->getRequestUri();
...
$session->requestURL = $url;

有了这个 :

$url = $this->getRequest()->getRequestUri();
...
if(!isset($session->requestURL)){
    $session->requestURL = $url;
}
于 2013-06-21T13:12:16.997 回答