首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用正确的JSMin缓存通过HTTP脚本提供文件(使用.htaccess?)

如何使用正确的JSMin缓存通过HTTP脚本提供文件(使用.htaccess?)
EN

Stack Overflow用户
提问于 2009-08-20 18:01:14
回答 2查看 524关注 0票数 1

在提供服务之前,我使用JSMin的PHP脚本从我的javascript和css文件中删除注释和空格。如果我设置

代码语言:javascript
复制
<script src="jsmin.php?file=myfile.js">

该文件不会被缓存,因为不会为脚本检查Last-Modified HTTP标头。因此,为了通过JSMin运行文件并(希望)启用缓存,我使用具有以下设置的.htaccess:

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^.*$ jsmin.php?file=%{REQUEST_FILENAME} [NC,L]

然后我可以使用:

代码语言:javascript
复制
<script src="myfile.js">

并获得JSMin的效果。

Apache仍然不会提供带有Last-Modified标头的文件,因此浏览器仍然不会缓存该文件。有没有一种方法可以让我在Apache中查看if - modified - been头,并且只在相关文件在适当的时间之后被修改的情况下才提供JSMin脚本?否则,我希望浏览器使用缓存版本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-20 18:04:52

为什么不在部署之前压缩文件呢?在运行时压缩它似乎更复杂,速度也更慢。

我使用http://developer.yahoo.com/yui/compressor/

票数 0
EN

Stack Overflow用户

发布于 2009-08-21 03:13:10

+1表示构建过程。部署应该是自动化的。这使得结果是可预测的。

此外,在url中使用这样的文件路径会要求某人取消对它的引用,并加载他们不应该使用的文件。考虑一下:

代码语言:javascript
复制
<script src="jsmin.php?file=../../../../../../../../../../../../../../etc/passwd">

如果您的脚本只是将其直接传递到命令行,那么您就有麻烦了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1307865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档