2016-05-18 3 views
0

Сайт моих клиентов выполнен с помощью CodeIgniter. Проблема в том, что в любое время, когда я вношу некоторые изменения, мне нужно очистить папку «cache».CodeIgniter: как глобально отключить кеширование?

Я знаю, что вы можете отключить кэш в контроллере:

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

Но как вывести его из строя Глобально на весь сайт?

+1

Браузерный кеш? Кэш сервера? Кэш базы данных? См. Http://www.codeigniter.com/user_guide/general/caching.html и http://www.codeigniter.com/user_guide/libraries/caching.html и http://www.codeigniter.com/user_guide/database /caching.html – Sparky

+0

check page roytuts.com/how-to-disable-browser-cache-easily-in-codeigniter/ – user3470953

+0

Я занимался файлами php-файлов для кеширования браузера. – yarek

ответ

3

вы можете глобально отключить весь кэш сайта с помощью HTAccess

<FilesMatch "\.(html|htm|js|css|php)> 
    FileETag None 
    Header unset ETag 
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
    Header set Pragma "no-cache" 
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
</FilesMatch> 
+0

Не должно быть '' (включая '$')? –

0

Создайте файл /application/core/My-Output.php, который имеет следующие строки:

class MY_Output extends CI_Output { 

function _display_cache(&$CFG, &$URI) 
{ 
    /* Disable Globally */ 
    return FALSE; 

    /* OR - Disable for a specific IP Address */ 
    if (($_SERVER['REMOTE_ADDR'] == '127.0.0.1') || (eregi("192.168.", $_SERVER['REMOTE_ADDR']))) 
    { 
     return FALSE; 
    } 

    /* OR - disable based on a cookie value */ 
    if ((isset($_COOKIE['nocache'])) && ($_COOKIE['nocache'] > 0)) 
    { 
     return FALSE; 
    } 

    /* Call the parent function */ 
    return parent::_display_cache($CFG,$URI); 
} 

Это приведет к переопределению глобального обработчика выходных данных в приложении CodeIgniter любым желаемым способом.

Смежные вопросы