Regex 为不同目录中的静态文件重写NGINX URL

Regex 为不同目录中的静态文件重写NGINX URL,regex,nginx,Regex,Nginx,能帮我解决这个问题吗。 我想写下所有发生的事情 name.css.v=abc1234.css 到 及 到 我试过使用 rewrite /([a-z,\d]+.css)(.v=[a-z,\d]+.css$)/i $1 last; 但它不起作用 顺便说一句, 在不同的目录中有文件,例如 /a/b/c/something.css.v=sssaa1223.css /d/e/f/anotherfile.css.v=12333asss.css /g/h/i/somejsfile.js.v=123s

能帮我解决这个问题吗。 我想写下所有发生的事情

name.css.v=abc1234.css 

我试过使用

rewrite /([a-z,\d]+.css)(.v=[a-z,\d]+.css$)/i $1  last;
但它不起作用

顺便说一句, 在不同的目录中有文件,例如

/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

不确定nginx语法,但是这个正则表达式可以很好地解决您的问题:

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


以下内容现在对我有用:)location~*\(css | js){try_files$uri$uri/@rules;}location@rules{重写^([a-zA-Z\d\S]+\.css)([\SA-zA-Z,\d]+\.css)$$1 last;}
name.js 
rewrite /([a-z,\d]+.css)(.v=[a-z,\d]+.css$)/i $1  last;
/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