2013-03-05 127 views
0

请问一些圆顶可以帮我解决这个问题。 我想的NGINX对不同目录中的静态文件的URL重写

name.css.v=abc1234.css 

所有出现写入

name.css 

name.js.v=abc123.js 

name.js 

我一直在使用

试图
rewrite /([a-z,\d]+.css)(.v=[a-z,\d]+.css$)/i $1 last; 

,但它不工作

BTW, 有不同的目录中,如

/a/b/c/something.css.v=sssaa1223.css 
/d/e/f/anotherfile.css.v=12333asss.css 
/g/h/i/somejsfile.js.v=123sdsd.js 
/j/k/l/alienfile.js.v=askdlsk12asd.js 

回答

0

不知道关于nginx的语法文件,但这个表达式应该能正常运行您的问题:

rewrite /(\w+.(css|js))(.v=.*)/i $1 last;

http://regexr.com?340lv

+0

下面为我工作:) location〜* \。(css | js){ try_files $ uri $ uri/@rules; } 位置@rules { rewrite ^([a-zA-Z \ d \ S] + \ .css)([\ SA-Za-z,\ d] + \ .css)$ 1 last; } – 2013-03-05 11:49:16