我正在運行PHP 5.3.2和Apache 2.2.14。使用header()
,如果我發送「ETagx」,我在響應中獲得標題,但是如果我發送「ETag」,正確的標題名稱,我什麼都沒有。沒有從PHP發送ETag頭文件
header('ETagx: "33653a-4831d8249af80"')
作品,而
header('ETag: "33653a-4831d8249af80"')
沒有。在php.ini中是否有配置選項,或者在任何可能影響此配置文件的Apache配置文件中?
我正在運行PHP 5.3.2和Apache 2.2.14。使用header()
,如果我發送「ETagx」,我在響應中獲得標題,但是如果我發送「ETag」,正確的標題名稱,我什麼都沒有。沒有從PHP發送ETag頭文件
header('ETagx: "33653a-4831d8249af80"')
作品,而
header('ETag: "33653a-4831d8249af80"')
沒有。在php.ini中是否有配置選項,或者在任何可能影響此配置文件的Apache配置文件中?
剛剛在PHP 5.3和Apache 2.4上測試過,它對我很有用。
確保阿帕奇不會取消設置你的Etag是這樣的:
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
我想發送帶有PHP 5.3和APACHE 2.0的ETAGS。當我檢查apache_request_headers()時,我無法獲得「If-Modified-Since」和「If-Modified-Since」頭文件。是否需要配置?另外一個la信息,我使用https替代http。任何想法可能是一個問題。 –
@MANISHZOPE'apache_request_headers()'會報告'If-None-Match'和'If-Modified-Since'頭,並提供它們存在於請求中。如果你之前已經發送了相應的'ETag'和'Last-Modified'頭文件,這些顯然將被設置。並且您之前沒有發送過「Cache-Control:no-store」頭文件 - 這會阻止緩存,並且瀏覽器甚至不會打擾發送這些頭文件,因爲它需要完整的響應。 http://stackoverflow.com/questions/15900548/why-browser-does-not-send-if-none-match-header – MrWhite
我重複了這一情況時,我有Charles HTTP Proxy主動配合「無緩存」選項啓用 - HTTP代理被刪除ETag的和其他與緩存相關的頭文件。如果使用代理來查看標題,請確保爲特定請求啓用了緩存。
如果將replace參數設置爲「true」,那麼它是否工作? 'header('ETag:awefawefawef',true)' – Brad
不,不幸的不是。 – skyler