我的重写规则有问题。它没有在重写路径中包含文件夹。例如:
/randomstring/app.js
重写为/var/www/CDN/Dev/App/app.js
/randomstring/dashboard/app.js
重写为/var/www/CDN/Dev/App/app.js
,但应重写为/var/www/CDN/Dev/App/dashboard/app.js
我不明白为什么它不起作用。如果我没有弄错的话,(.*)
会匹配除了点之外的所有内容,为什么它不包含dashboard/
部分?
location ~* (css|js)$ {
rewrite ^/([^/]*)/(.*).(css|js)$ /$2.$3 ;
root /var/www/CDN/Dev/App;
}
答案 0 :(得分:1)
location ~* \.(css|js)$ {
rewrite ^/([^/]+)/(.+)\.(css|js)$ /$2.$3 ;
root /var/www/CDN/Dev/App;
}
答案 1 :(得分:1)
我认为没有理由在这里使用重写。别名应该足够了
location ~* /[^/]+(/.+\.(css|js))$ {
alias /var/www/CDN/Dev/App/$1;
}