.htaccess 获取并验证映像标头是否过期

dxxyhpgq  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(145)

我正在搜索引擎优化工作,需要验证图像头过期工作。过期和头模块都已安装并启用。
有什么想法吗?
htaccess文件中有这个

<IfModule mod_expires.c>
ExpiresByType application/javascript "access plus 2 days"
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/gif "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType text/css "access plus 2 days"
</IfModule>

我已经把它添加到wordpress/目录和wordpress/wp-content/目录中。
然而,搜索引擎优化工具说:"您的服务器没有使用过期头为您的图像。"
使用curl进行测试

Date: Sun, 15 Jan 2023 04:31:01 GMT
Server: Apache
Location: https://www.jaycocioservices.com/about
Content-Type: text/html; charset=iso-8859-1
g2ieeal7

g2ieeal71#

缺少ExpiresActive指令,无法生成相关的ExpiresCache-Control标头。
您不需要<IfModule> Package 器--这只会在没有安装mod_expires时屏蔽错误。
您不需要ExpiresByType image/jpg ...指令,因为正确的mime类型是image/jpeg,您在后面的指令中已经有了它。
您不需要在/wordpress/wordpress/wp-content目录中重复这些指令,将这些指令放在根.htaccess文件中就足够了,并且自然适用于所有子目录。
还可以考虑为所有其他mime类型设置ExpiresDefault指令。
例如:

ExpiresActive On
ExpiresByType application/javascript "access plus 2 days"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 2 days"
ExpiresDefault "access plus 1 day"

使用curl进行测试

Date: Sun, 15 Jan 2023 04:31:01 GMT
Server: Apache
Location: https://www.jaycocioservices.com/about
Content-Type: text/html; charset=iso-8859-1

这看起来像是一个重定向响应(由于存在Location报头),可能无论如何都不应该缓存(或者在301的情况下保留浏览器默认值)。
这(/about text/html)也适用于现有mod_expires指令未覆盖的请求。您需要请求一个图像、CSS或JS文件。

相关问题