Nginx映射项目外静态资源的实例

本文介绍Nginx中root、alias及rewrite指令的使用方法,并通过两个实例详细展示了如何设置URL重定向及别名,帮助读者更好地理解和运用这些配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字含义
  • 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中,若写成rewrite '/upload-images/' /uploads/images/; 会报403。
  • alias不能只替换 URL中一部分。比如不能将rewrite改成alias /upload/images/;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值