iis 如何从响应标头中删除重复的Cache-Control属性

ve7v8dk2  于 2023-06-06  发布在  其他
关注(0)|答案(2)|浏览(259)

我需要删除响应头“缓存控制”的一个属性的重复条目
我实际上希望缓存控制来作为私有的,因此我去了IIS设置,去了所需的文件夹,并添加了客户http响应头值为
值为“private”的“Cache-Control”
现在,当我看到来自我的fiddler属性的请求时,我将其值视为“no-cache,private”。
我需要从IIS级别来做。
有什么意见吗?

hwazgwia

hwazgwia1#

根据屏幕截图和我以前的经验,我可以假设你在IIS设置中将创建OutBound规则时的变量名称设置为RESPONSE_SERVER。请尝试将变量名创建为不带引号的“RESPONSE_Cache-Control”,并将值创建为不带引号的“Private”。

o7jaxewo

o7jaxewo2#

9年零2个月后,我遇到了同样的问题和解决方案!
在php.ini或我的WHM/MultiPHP INI编辑器中查找:

session.cache_limiter = nocache

将字段值留空:

session.cache_limiter =

完成后,第二个cache-control将消失,现在转到您的.htaccess并设置您自己的cache-control头:

缓存控制头

<IfModule mod_headers.c>
    Header set Connection keep-alive
    <filesmatch "\.(ico|flv|gif|swf|eot|woff|otf|ttf|svg)$">
        Header set Cache-Control "max-age=2592000, public"
    </filesmatch>
    <filesmatch "\.(jpg|jpeg|png)$">
        Header set Cache-Control "max-age=1209600, public"
    </filesmatch>
    # css and js should use private for proxy caching https://developers.google.com/speed/docs/best-practices/caching#LeverageProxyCaching
    <filesmatch "\.(css)$">
        Header set Cache-Control "max-age=31536000, private"
    </filesmatch>
    <filesmatch "\.(js)$">
        Header set Cache-Control "max-age=1209600, private"
    </filesmatch>
    <filesMatch "\.(x?html?|php)$">
        Header set Cache-Control "max-age=1209600, private, must-revalidate"
      </filesMatch>
</IfModule>

完成,享受!

相关问题