有一种方法,通过.htaccess
检查.css
或.js
是否有自己的缩小版本(分别为.min.css
和.min.js
)并重定向对于此文件,但需要相同的修改时间。
例如:
FILE MODIFIED TIME
/file.css 01-15-2014T19:28:12
/file.min.css 01-15-2014T19:28:12
/file.js 01-15-2014T19:28:12
/file.min.js 01-15-2014T19:27:47
我的想法是:当有人访问file.css
时,.htaccess
会检查file.min.css
是否可用且具有相同的修改时间。如果是,它将返回(通过重写,重定向),而不是file.css
。
但是,如果我访问file.js
,即使存在file.min.js
,.htaccess
也会返回file.js
,因为file.min.js
已过时(没有相同的日期/小时)。
是否可以仅 .htaccess
?
答案 0 :(得分:2)
根据您的第一个要求,请在DOCUMENT_ROOT/.htaccess
文件中尝试此规则:
RewriteEngine On
# if a min version is available then load it
RewriteCond %{DOCUMENT_ROOT}/$1.min.$2 -f
RewriteRule ^([^.]+)\.(css|js)$ /$1.min.$2 [L,NC]
但是mod_rewrite
无法检查css / js文件的修改时间戳,以便根据它做出决定。您可能需要在服务器端代码中处理它。