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;
}
不要在正则表达式的中间使用^。这意味着建议开始。此外,您还错过了以下/个人资料图片之后的内容。新的位置块应该适合您
祝你好运,伙计。干杯