【问题标题】:Expiration header for all files in a specific folder (.htaccess)特定文件夹中所有文件的过期标头 (.htaccess)
【发布时间】:2022-10-12 21:47:01
【问题描述】:

对于服务器上特定目录及其子目录中的所有文件(pdf 除外),我想将过期标头设置为 10 小时。如何在 .htaccess 文件中执行此操作?

<Directory "/foldername">
   <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresByType * "access plus 10 hours"
   </IfModule>
</Directory>

我知道Directory 不能在.htaccess 中使用。但是如何做到这一点?

【问题讨论】:

  • 把 .htaccess进入“特定目录”,并在那里没有任何进一步的限制?
  • 或者将其包装到 If 中,以检查请求 URI 是否以您的文件夹名称开头。 httpd.apache.org/docs/2.4/expr.html#examples
  • 谢谢@CBroe,所以如果我将 .htaccess 文件放在文件夹中,它会自动应用于其子文件夹吗? ExpiresByType * 是否正确,即 * 是否允许?
  • 是的,它将自动应用于子文件夹。 ExpiresByType * 虽然不起作用,但根据文档,第一个参数必须是 mime 类型。但是ExpiresDefault 也存在。
  • 啊,是的,当然,谢谢!您想将其添加为答案吗?

标签: .htaccess http-headers cache-expiration


【解决方案1】:

您可以将 .htaccess 放入特定目录,并在其中执行此操作而没有任何进一步的限制。或者使用 If 条件,根据请求 URI 的开头应用它。

ExpiresByType * 不起作用,根据文档,这需要一个实际的 mime 类型作为“参数”。

ExpiresDefault 也存在,并允许您为所有文件指定默认到期时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-16
    • 1970-01-01
    • 2012-10-11
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多