2013-03-14 88 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的配置此域

相关问题