Nginx多静态路由

Nginx多静态路由,nginx,Nginx,目录结构: project |__profile_pictures |__user1.png |__static |__js |__main.js 要求: 1) /js/main.js 2) /profile\u pictures/user1.png Nginx配置: location ~/profile_picture(^.+\.(jpg|jpeg|gif|png)$) { alias /home/chirag/Desktop/project/profile_

目录结构:

project
|__profile_pictures
   |__user1.png
|__static
   |__js
      |__main.js
要求:

1) /js/main.js

2) /profile\u 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文件夹


第二个请求失败。这里缺少什么?

问题在于第一个配置文件图片位置块。所以正确的处理方法是

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;
}

不要在正则表达式的中间使用^。这意味着建议开始。此外,您还错过了以下/个人资料图片之后的内容。新的位置块应该适合您

祝你好运,伙计。干杯