2013-11-21 74 views
0

目录结构:Nginx的多个静态路由

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文件夹。

第二个请求失败。我在这里错过了什么?

回答

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

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

好运伴侣。欢呼声