我正在使用PHP腳本來提供文件。 我希望能夠在我的http響應中發送一個304
未修改的標頭,如果該文件自從客戶端上次下載以來沒有更改過。這似乎是Apache(和大多數其他Web服務器)中的一項功能,但我不知道如何通過PHP實現。304:未修改和前端緩存
我聽說過使用$_SERVER['HTTP_IF_MODIFIED_SINCE']
,但這個變量似乎沒有出現在我的$_SERVER
超級數組中。
我的問題不是如何返回一個304
標題,但如何知道應該返回一個。我的$_SERVER['HTTP_IF_MODIFIED_SINCE']
沒有設置。這是我.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
仍然沒有出現在$_SERVER
超級陣列英寸
我已經看到了這樣做,但$ _SERVER ['HTTP_IF_MODIFIED_SINCE']對我來說總是空的... – 2009-10-18 01:48:29
檢查我最近的編輯 - 我遺漏了一個重要的Apache配置信息。 – 2009-10-18 01:48:58
試圖根據http://www.webmasterworld.com/forum23/2300.htm修改我的htaccess.txt文件,但沒有去。有任何想法嗎? – 2009-10-18 02:29:10