我正在尝试为任何具有给定时间戳的js / css文件创建重写规则,以指向真实文件但不确定如何执行此操作。以下是我的尝试,但是当我尝试这个时,它似乎弄乱了我的
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(js|css)\/(.+)\.(\d+)\.(js|css)$ $1/$2.min.$4
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
顺便说一句,我的文件夹结构如下:
/public/
/public/index.php
/public/.htaccess (rules are written in this file)
/public/css/style.min.css
/public/js/all.min.js
此外,apache vhost conf文件会将请求定向到/ public /目录。这我可以验证工作。但是当我尝试查看/css/style.12235543543.css(我想指向/css/style.min.css)时,它只是通过前端控制器(index.php)而不是样式表。
答案 0 :(得分:2)
使用:
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^(js|css)/(.+)\.(\d+)\.(js|css)$ $1/$2.min.$4 [L]
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>