как заставить apache всегда возвращать код 200 с данными вместо 304? - PullRequest
3 голосов
/ 20 сентября 2010

Я бы хотел, чтобы Apache HTTPD возвращал код ответа 200 с данными запроса ресурсов через GET вместо возврата кода ответа 304 без данных.У кого-нибудь есть идеи, как это сделать?

Заранее спасибо

Ответы [ 4 ]

7 голосов
/ 01 января 2014

удалите заголовок, добавьте следующее в файл httpd.conf

<FilesMatch "\.(filetype1|filetype2)$">
    RequestHeader unset If-Modified-Since
    RequestHeader unset If-None-Match
</FilesMatch>
3 голосов
/ 30 июня 2011

Добавьте следующую директиву в ваш конфигурационный файл apache

RequestHeader unset If-Modified-Since

При этом игнорируется заголовок IF-Modified-Since, отправленный клиентом, поэтому вы получите ответ 304 Not Modified.

0 голосов
/ 20 сентября 2010

Я не уверен, что полностью понимаю ваш вопрос.Я предполагаю, что вы хотите предоставить нормальный ответ HTTP, если клиент использует правильный URL-адрес, и страницу по умолчанию (со статусом 200), когда клиент использует несуществующий URL-адрес.

Если это так, онможет быть достигнуто так:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*+ /dummy.html

Первая строка - это условие, что URL не обрабатывает существующий файл на веб-сервере.Если это условие выполняется, выполняется вторая строка, которая предоставляет фиктивную страницу клиенту.

0 голосов
/ 20 сентября 2010

Не отправляйте ему заголовки, связанные с кэшем (If-Modified-Since, If-None-Match и друзья), когда делаете запрос. Это информирует сервер о том, что клиент не кэшируется, и заставляет его всегда возвращать данные.

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