如果通过.htaccess更新,则重定向到缩小版本

时间:2014-01-15 21:33:40

标签: .htaccess

有一种方法,通过.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

1 个答案:

答案 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文件的修改时间戳,以便根据它做出决定。您可能需要在服务器端代码中处理它。