отправка заголовков контроля кеша не работает в Codeigniter - PullRequest
1 голос
/ 19 марта 2012

Я, вероятно, упускаю что-то очевидное, но мое приложение Codeigniter не отправляет заголовки, когда я спрашиваю об этом.Таким образом, в любом контроллере или расширенном MY_Controller:

$this->output->set_header("Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT");
$this->output->set_header("Expires: " . gmdate( "D, j 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");
$this->output->set_header("Steve: it aint working you know");

И заголовки, которые я получаю:

HTTP/1.1 200 OK
Date: Mon, 19 Mar 2012 18:03:06 GMT
Server: Apache/2.2.20 (Ubuntu)
X-Powered-By: PHP/5.3.6-13ubuntu3.6
Last-Modified: Mon, 19 Mar 2012 18:03:06 GMT
Expires: Sat, 01 Jan 2000 00:00:01 GMT
Cache-Control: post-check=0, pre-check=0, max-age=0
Pragma: no-cache
Steve: it aint working you know
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 10780
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Итак, я знаю, что он отправляет заголовки из заголовка Steve:, но он не отправляет моиНастройки Cache-Control.Если я закомментирую параметр Cache-Control, он все равно будет отображать то же значение.

Где это может быть переопределено?Это Codeigniter, PHP или Apache?

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Шаги, которые я предпринял: добавил следующее в мой файл .htaccess.

<IfModule mod_headers.c>
Header add Cache-Control:  "no-store, no-cache, must-revalidate"
</IfModule>

побежал

    sudo a2enmod headers
    sudo service apache2 restart
1 голос
/ 20 марта 2012

Я бы проверил вашу конфигурацию Apache, в частности, как настроены mod_expires и директива Header .

Обратите внимание, что «заголовок изменяется сразу после запуска обработчика содержимого и фильтров вывода, что позволяет изменять исходящие заголовки».Поэтому Apache может быть настроен на изменение заголовков, которые вы установили в PHP.

Я не эксперт по Apache, но это то, с чем мне пришлось поработать, чтобы исправить подобную проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...