按内容设置标题

我以前用过这个;

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/gif "now plus 2 weeks"
  // Lots omitted here
</IfModule>

和这个;

<IfModule mod_headers.c>
  <filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|swf|JPG)$">
    Header set Cache-Control "max-age=1209600"
  </filesMatch>
  // Lots omitted here
</IfModule>

我可以通过内容类型设置过期时间,并且可以通过文件扩展名来设置我希望的任何标题。

但是这些都没有让你按内容类型设置你想要的任何标题。

我想根据响应的内容类型设置缓存控制标题 - 请注意,这与文件扩展名不同。 我有“友好的URL”,所以没有文件扩展名可以被filesMatch捕获,所以没有文件扩展名,但内容类型是text/html

如何为特定的内容类型设置缓存控制标题?


在2.4中,可以将expr =附加到Header指令而不是env =。

在默认(非早期)模式下,mod_headers作为输出过滤器运行 - 因此内容类型已经由表达式解析器设置并可用

http://httpd.apache.org/docs/2.4/expr.html


我想你需要先追加或设置Cache-Control头。 请尝试下面的代码片段,不要忘记“无变换”参数。

<IfModule mod_expires.c>
   ExpiresActive On
   ExpiresByType image/gif "now plus 2 weeks"
  // Lots omitted here

  //This is the magic
  <IfModule mod_headers.c>
     Header append Cache-Control "public, no-transform"
  </IfModule>

</IfModule>

如果你想创建缓存内容类型,你可以通过这种方式输入:

<IfModule mod_expires.c>

ExpiresActive on

ExpiresByType text/html "access plus 15 days"

</IfModule>
链接地址: http://www.djcxy.com/p/19003.html

上一篇: Set a header by Content

下一篇: Custom android launcher goes back to default launcher on pressing back button