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

时间:2015-07-03 10:40:10

标签: php cakephp redirect

对此可能有很多疑问,但这些都没有帮助。 。我和On this link有同样的问题。

我从网址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上工作得很好。两台服务器上的所有文件都相同。

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

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

如果您想使用它:

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