目录结构:
project
|__profile_pictures
|__user1.png
|__static
|__js
|__main.js
请求:
1)/js/main.js
2)/profile_pictures/user1.png
Nginx配置:
location ~/profile_picture(^.+\.(jpg|jpeg|gif|png)$) {
alias /home/chirag/Desktop/project/profile_pictures/$1;
expires -1;
}
location ~*(^.+\.(jpg|jpeg|gif|css|png|js|ico|eot|otf|svg|ttf|woff|hbs)$) {
alias /home/chirag/Desktop/project/static/$1;
expires -1;
}
第一个请求应该转到静态文件夹。(工作) 第二个请求应该转到profile_pictures文件夹。
第二个请求失败。我在这里缺少什么?
答案 0 :(得分:1)
问题在于第一个个人资料图片位置块。所以处理这个的正确方法是
location ~ ^/profile_picture/(.+\.(jpg|jpeg|gif|png)$) {
alias /home/chirag/Desktop/project/profile_pictures/$1;
expires -1;
}
location ~*(^.+\.(jpg|jpeg|gif|css|png|js|ico|eot|otf|svg|ttf|woff|hbs)$) {
alias /home/chirag/Desktop/project/static/$1;
expires -1;
}
不要在正则表达式的中间使用^。它意味着建议开始。你也错过了以下/在个人资料照片之后。新的位置块应该适合您。
祝你好运。干杯