利用浏览器缓存 |修改.htaccess 文件| - 不适用于 javascript 文件
Posted
技术标签:
【中文标题】利用浏览器缓存 |修改.htaccess 文件| - 不适用于 javascript 文件【英文标题】:Leverage browser caching | modifying .htaccess file | - not working for javascript files 【发布时间】:2012-05-17 16:04:46 【问题描述】:我正在尝试通过指定资源的过期时间来修改我的 .htaccess 文件。 它适用于图像,但不适用于 javascript 文件。运行 GTMetrix 时,它仍然建议 javascript 文件需要过期。我尝试过“application/javascript”和“application/x-javascript”,但无济于事。
不知道我做错了什么。
这是我的代码:
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 week"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES CACHING ##
【问题讨论】:
【参考方案1】:添加它会使其工作。
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
【讨论】:
这对我有用。我失踪的是application/javascript
。【参考方案2】:
使用浏览器检查器 Chrome/FireFox/Opera 中的“网络”选项卡,您可以检查资产并查看正在提供哪种“内容类型”。
在我的情况下
Content-Type:"text/javascript"
所以我在我的 .htaccess 文件中添加了 4 个 ExpiresByType 排列
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
这解决了我的问题,希望对其他人有所帮助。
【讨论】:
以上是关于利用浏览器缓存 |修改.htaccess 文件| - 不适用于 javascript 文件的主要内容,如果未能解决你的问题,请参考以下文章
apache_conf Laravel .htaccess文件,利用浏览器缓存和gzip压缩