关键字含义
- root 值为本地目录路径。以此值作为location请求路径的根目录。
- alias 值为本地目录或文件路径。 将请求路径中location部分改写为其值。
- rewrite 值有两个,一个是匹配路径的正则,一个是改写的拼接字符串。作用是将url中匹配前者的部分,改写为后者。
实例1
需求:
请求/upload/images/bird.jpg,返回项目外E:/raid/www.my.com/uploads/images/bird.jpg。
做法:
location /upload/images {
root E:/www.my.com/raid/;
}
实例2
需求:
请求/upload-images/bird.jpg,返回项目外E:/raid/www.my.com/uploads/images/bird.jpg。
*这次文件资源路径中不包含请求的路径了。
做法:
# 在上一条基础上,改写location /
location / {
rewrite '^/upload-images/(.*).jpg$' /uploads/images/$1.jpg;
}
或者
# 不修改location /
location /upload-images {
rewrite '^/upload-images/(.*).jpg$' /uploads/images/$1.jpg;
}
注意
- 不要只rewrite URL中的一部分。比如实例2中,若写成
会报403。rewrite '/upload-images/' /uploads/images/;
- alias不能只替换 URL中一部分。比如不能将rewrite改成
。alias /upload/images/;