2011-12-21 2 views

ответ

3

Косвенным решение:

.htaccess:

RewriteCond %{HTTP:if-modified-since} . 
RewriteRule . /not_modified.php [L] 

not_modified.php:

header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified'); 
1

проверить следующие ссылки:

  1. http://httpd.apache.org/docs/2.1/caching.html
  2. http://www.chicagostyleseo.com/2010/04/googles-need-for-speed-use-cache-and-htaccess-to-speed-up-your-site/
  3. http://www.askapache.com/htaccess/apache-speed-last-modified.html

Обратите внимание, что из приведенной выше ссылке:

Если удалить последний -Modif ied и ETag, вы будете полностью устранить If-Modified-Since и If-None-Match запросы и их 304 Не измененные ответы, поэтому файл останется кешированным без проверки для обновлений до тех пор, пока заголовок Expires не укажет, что новый контент доступный!

+0

Поправьте меня, если я ошибаюсь, но мне кажется, что просто нажав на кнопку " refresh 'в браузере вызывается запрос If-modified-since независимо от заголовка expires. – skibulk

+0

@skibulk - Да, я думаю, что эта часть специфична для браузера. Я также думаю, что это упоминается в ссылках. – Cyclonecode

+0

Я думал, что срок действия истек. Таким образом, браузер будет продолжать использовать кешированную версию до истечения срока ее действия, а затем после этого использовать функцию IfModifiedSince, чтобы предотвратить двойную загрузку, если она все еще не изменилась – Gerben

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

  • Нет связанных вопросов^_^