2017-07-18 127 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的方法。謝謝。 –