2017-07-18 119 views
1

我正在开发一个使用codeigniter 3.1.5 HMVC的网站,现在我正在编写管理面板。Codeigniter禁用管理面板的浏览器页面缓存

我设计了登录屏幕和仪表板面板。我可以登录和注销成功,在会议等没有问题等

但我的问题是,我的浏览器(Chrome)缓存我的仪表板页面和注销后,当我点击'返回'按钮上我的浏览器我可以看到缓存的仪表板页面,但我想禁用它。 (当我刷新页面时,它将我重定向到登录面板)

我怎么理解问题出在浏览器上?

我正在开发我的本地wamp服务器的网站。我注销后,我停止了wamp服务器,并点击返回按钮和浏览器加载页面(但它不应该加载,所以它来自浏览器的缓存)

我试过这些代码在我的控制器的每个位置在构造函数或注销后等),但它并没有解决问题。

$this->output->set_header("HTTP/1.0 200 OK"); 
    $this->output->set_header("HTTP/1.1 200 OK"); 
    $this->output->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); 
    $this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT'); 
    $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate"); 
    $this->output->set_header("Cache-Control: post-check=0, pre-check=0"); 
    $this->output->set_header("Pragma: no-cache"); 

我该如何解决这个问题? 谢谢,最好的问候。

+0

解将是[邮政/重定向/获取](https://en.wikipedia.org/wiki/邮政/重定向/ GET)。 – Tpojka

+0

好的,你能给我一些示例代码吗? –

+0

请澄清您的具体问题或添加其他详细信息,以突出显示您的需要。正如目前所写,很难确切地说出你在问什么。请参阅[如何提问](https://stackoverflow.com/help/how-to-ask)页面以获得澄清此问题的帮助。编辑您的问题并发布当前代码。含义控制器代码至少在哪里登录/注销逻辑。 – Tpojka

回答

0

不知道,但使用给定的报头缓存控制代码与最大年龄= 0

$this->output->set_header("HTTP/1.0 200 OK"); 
$this->output->set_header("HTTP/1.1 200 OK"); 
$this->output->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); 
$this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT'); 
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
$this->output->set_header("Cache-Control: post-check=0, pre-check=0"); 
$this->output->set_header("Pragma: no-cache"); 
+0

感谢您的回答。我应该在哪里找到这条线? –

+0

立即检查。为你编辑答案。让我知道它是否有效。 –

+0

没有。我想我应该试试@Tpojka的方法。谢谢。 –