2013-03-14 81 views
6

我對Last-Modified標頭有問題。即使明確設置,Apache也不會發送Last-Modified標頭

我創建了一個簡單的測試頁:

<? 
header('Last-Modified: Thu, 14 Feb 2013 12:41:31 GMT'); 
?> 

當我打開這個測試頁面,我的瀏覽器,如果我檢查了頭也沒有Last-Modified頭。所有其他標準標題設置正確。無論如何,如果我使用https訪問測試頁面,則會設置Last-Modified標題。

我也嘗試過在另一臺服務器上進行相同的測試,並且即使沒有https,我也可以正確設置標頭。

那麼,什麼可以阻止/取消設置第一臺服務器上的頭?我不包括httpd.conf文件,因爲它很長。我就包括緩存部分,即使我沒有看到任何錯誤或與此相關的問題:

ServerSignature Off 
ServerTokens Prod 

Header unset ETag 
FileETag None 
<FilesMatch "(?i)^.*\.(ico|flv|jpe?g|png|gif|js|css).*$"> 
    Header set Cache-Control "public, no-transform" 
    Header unset Vary: 
</FilesMatch> 
<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault A2592000 
    ExpiresByType text/css "access plus 1 week" 
    ExpiresByType text/plain "access plus 1 month" 
    ExpiresByType image/gif "access plus 1 month" 
    ExpiresByType image/png "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month" 
    ExpiresByType application/x-javascript "access plus 1 month" 
    ExpiresByType application/javascript "access plus 1 month" 
    ExpiresByType image/x-icon "access plus 1 year" 
</IfModule> 

在此先感謝

+0

有沒有可能是你叫的'頭()'函數之前的一些內容被髮送?必須在開始向客戶端發送任何內容之前調用它。 – Okonomiyaki3000 2014-07-31 04:01:01

回答

-3

似乎沒有要什麼毛病頭,但使用<? ?>而不是<?php ?>可能會在某些服務器上導致問題。

+0

它們可能會導致問題,因爲配置已設置爲PHP需要''。但是這裏並不是這種情況,因爲他的代碼在使用HTTPS時有效。 – Kayla 2015-02-02 00:08:42

0

嘗試

ssi off; 

在nginx的配置此域

相關問題