繁体   English   中英

$ this-> request-> referer()无法正常工作(Cakephp 2)

[英]$this->request->referer() not working properly (Cakephp 2)

关于这一点可能有很多问题,但这些都没有帮助。 我有与此链接相同的问题。

我从网址http://example.com/projects/phase/test_phase2#5591409f-ce8c-4a8a-a92d-77360a11ef94请求保存进度,这是在网址上请求http://example.com/phases/update_progress 现在我想将我的页面重定向回到网址。 我正在使用这些。 但没有运气。

$this->redirect($this->referer('/'));
$this->redirect($this->referer());
$this->redirect($this->request->referer());
$this->redirect( Router::url( $this->referer(), true ) );

在此之后,它将重定向到http://example.com/phases/example.com但我希望它可以重定向到http://example.com/projects/phase/test_phase2#5591409f-ce8c-4a8a-a92d-77360a11ef94

routes.php是

Router::parseExtensions('json');
Router::connect('/', array('controller' => 'dashboard', 'action' => 'index'));
Router::connect('/admin', array('controller' => 'dashboard', 'action' => 'index', 'admin' => true));
Router::connect('/login', array('controller' => 'users', 'action' => 'login'));
Router::connect('/admin/login', array('controller' => 'users', 'action' => 'login', 'admin' => true));
Router::connect('/contents/*', array('controller' => 'contents', 'action' => 'view'));

.htaccess是

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

它在localhost上运行得很好。 两台服务器上的所有文件都相同。

还有其他方法吗?

我试图通过创建一个在用户会话中保存请求的HistoryComponent来解决这个问题(包括get参数)。 这种方法的明显缺点是它依赖于会话。 由于会话在所有选项卡中都相同,因此后退按钮可能会在多选项卡环境中相互影响。

如果你想使用它:

  • 在bootstrap.php中添加插件
  • 在视图中使用previous_page变量(将其传递给后退按钮)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM