我尝试在我的 404 错误页面中执行以下操作来创建引用页面的反向链接,这样我就不必依赖 javascript。
<?php $this->set('refer', $this->referer()); ?>
<p><?php echo '<a href="'.$refer.'">Back to previous page</a>'; ?></p>
但是它不起作用...任何想法为什么?这段代码是在/Errors/error404.ctp
使用请求对象:)
$this->request->referer();
在 CakePHP3 中,您可以使用:
<li><?= $this->Html->link(__('Back'), $this->request->referer()) ?></li>
应该没问题。
尝试将此添加到应用控制器的 beforeRender 方法中:
beforeRender() {
$this->set('refer',$this->referer);
}
那么它应该对所有视图都可用。
$this->request->referer() 适用于 Cakephp 2.8.0 版的 .ctp 文件
<?php echo $this->Html->link(__d('user', 'Login', true), $this->request->referer(), array('class' => 'login_text')); ?>
使用just $_SERVER['HTTP_REFERER']
来代替呢?我知道这不是蛋糕的做法,但它似乎适用于你的情况。