我正在搜索引擎优化工作,需要验证图像头过期正在工作。expires和headers两个模块都已安装并启用。
任何想法?
.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
您缺少能够生成相关Expires
和Cache-Control
标头的ExpiresActive
指令。
你不需要<IfModule>
包装器-这只会掩盖错误,如果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的情况下留给浏览器默认值)。请确保您正在请求用于测试的规范URL。
这(/about
text/html)也适用于您现有的mod_expires指令未涵盖的请求。你需要请求一个图像,CSS或JS文件。