我想通過GET方式讓Apache HTTPD返回響應代碼200與資源請求的數據,而不是返回沒有數據的響應代碼304。任何人有一個想法如何做到這一點?如何讓apache總是用數據而不是304返回代碼200?
在此先感謝
我想通過GET方式讓Apache HTTPD返回響應代碼200與資源請求的數據,而不是返回沒有數據的響應代碼304。任何人有一個想法如何做到這一點?如何讓apache總是用數據而不是304返回代碼200?
在此先感謝
在進行請求時不發送任何緩存相關的頭(If-Modified-Since
,If-None-Match
和朋友)。這會通知服務器客戶端不緩存,並使其始終返回數據。
我不確定我完全理解你的問題。我假設您希望在客戶端使用正確的URL時提供正常的HTTP答案,並且在客戶端使用不存在的URL時提供默認頁面(狀態爲200)。
如果是這樣的情況下,可以實現這樣的:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*+ /dummy.html
第一行是該URL不會在Web服務器上不馬赫特現有文件的條件。如果該條款成立,則執行第二行,爲客戶端提供虛擬頁面。
這不是爲不存在的URL提供默認答案。它是關於忽略If-Modified-Since和Returing answer,就好像資源已經改變一樣。 – 2011-06-14 10:58:30
將以下指令添加到您的Apache的配置文件
RequestHeader unset If-Modified-Since
這將忽略IF-Modified-Since的從客戶端發送的報頭,所以你會得到不304未修改響應。
刪除標題,添加以下到httpd.conf文件
<FilesMatch "\.(filetype1|filetype2)$">
RequestHeader unset If-Modified-Since
RequestHeader unset If-None-Match
</FilesMatch>
馬蒂,不幸的是我沒有過什麼要求/請求的資源控制。我希望有一種方法讓apache只是返回資源,而不管有沒有緩存頭。 – Rafael 2010-09-20 15:05:57
@rafael:爲什麼客戶端首先緩存請求,如果你不想要的話呢?如何發送一些緩存控制標題,告訴它不緩存你的內容。 – 2010-09-20 15:07:05
我無法控制客戶端的緩存。使用緩存控制標題不起作用。有沒有辦法告訴Apache忽略If-Modified-Since標題無關緊要? – Rafael 2010-09-20 15:43:19