Używam skryptu PHP do serwowania plików. Chciałbym móc odesłać niezmodyfikowany nagłówek 304
w mojej odpowiedzi http, jeśli plik nie zmienił się od ostatniego pobrania przez klienta. Wydaje się, że jest to funkcja w Apache (i większości innych serwerach internetowych), ale nie mam pojęcia, jak można to zaimplementować za pomocą PHP.304: Nie zmodyfikowane i buforowanie z przodu
Słyszałem o użyciu $_SERVER['HTTP_IF_MODIFIED_SINCE']
, ale ta zmienna nie pojawia się w mojej super tablicy $_SERVER
.
Moje pytanie nie brzmi, jak zwrócić nagłówek 304
, ale jak się dowiedzieć, że należy go zwrócić.
Edycja: Problem polega na tym, że mój $_SERVER['HTTP_IF_MODIFIED_SINCE']
nie jest ustawiony. Jest to zawartość mojego pliku .htaccess
:
ExpiresActive On
ExpiresByType image/jpeg "modification plus 1 month"
ExpiresByType image/png "modification plus 1 month"
ExpiresByType image/gif "modification plus 1 month"
Header append Cache-Control: "must-revalidate"
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond $1 !^(controller\.php)
RewriteRule (.*\.jpg|.*\.png|.*\.gif) controller.php/$1
</IfModule>
HTTP_IF_MODIFIED_SINCE
nadal nie pojawia się w super tablicy $_SERVER
.
Widziałem ten sposób robienia tego, ale $ _SERVER ['HTTP_IF_MODIFIED_SINCE'] jest zawsze puste dla mnie ... –
Sprawdź moją ostatnią edycję - Opuściłem kawałek ważnych informacji konfiguracyjnych Apache. –
Próbowałem zmodyfikować mój plik htaccess.txt zgodnie z adresem http://www.webmasterworld.com/forum23/2300.htm, ale nie ma go. Jakieś pomysły? –