Dan*_* B. 5 redirect zend-framework
我使用Zend控制器_redirect方法遇到了不规则的行为.
我的应用程序副本是通过我的符号链接产生的DocumentRoot.我的默认路由器也是自定义的,以响应这种模式:
http://localhost/<appSymLink>/<param_A>/<controller>/<action>/
从控制器,我构建一个这样的URL:
$url = $this->_helper->url('action', 'controller', $param_A = 'valueA');
如果我访问网址:
http://localhost/<appSymLink>/<param_A>/<controller>/<action>/
该变量包含以下字符串:
/<appSymLink>/<param_A>/<controller>/<action>/
当我打电话的时候
$this->_redirect($url);
用户显式重定向到此路径,具有冗余基本路径.
/<appSymLink>/<appSymLink>/<param_A>/<controller>/<action>/
Zend似乎在两次基础路径之前.
我的同事的应用程序副本存在于他的中DocumentRoot,他没有遇到这个问题.
在操作之前定义一个空的基本路径,就在操作之前,其工作原理如下:
$this->getRequest()->setBaseUrl('');
这显然不是一个可行的解决方案.另一方面,在控制器插件中执行此操作可以routeShutdown消除两次出现的应用程序目录.
有没有人有解决这个问题的建议,或任何进一步查看的提示?
如果使用从Url帮助程序生成的URL 重定向,则需要通知重定向程序它已经使用基本URL作为前缀.
只需使用以下内容即可
return $this->redirect($url, array('prependBase' => false));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |