我正在尝试使用Nginx重写静态文件路径来去除为缓存清除添加的哈希。哈希值总是10个符号长。例如,
/min/3rd.party.min.1234567899.js必须成为/min/3rd.party.min.js
我试过这个,但它不起作用(在configtest中失败)并且看起来也很复杂。
location /min/ {
root /opt/app/public;
rewrite ^.*(?<=(.))[a-z0-9]{10}[.](?=(js|css))[js|css]$ $1$3;
}
答案 0 :(得分:1)
我不知道你是如何达到你的正则表达式模式的,但以下似乎有效:
rewrite "^(.*)\.\w{10}\.(js|css)$" $1.$2 break;
任何包含大括号的模式都必须放在引号内。使用break
后缀处理同一位置内的重写URI。有关详细信息,请参阅this document;有关正则表达式的信息,请参阅this useful resource。