nginx将一个路径下的多种url分别映射

背景

nginx如何将/static/下的images或script或css路径,分别映射到/data下的images、scripts或styles。

分析

可以在nginx的配置文件中添加以下配置,来实现url以/static/开头时,根据不同的子路径映射到不同的本地文件路径:

location /static/ {

root /data/;

if ($request_uri ~* "^/static/(images|scripts|styles)/") {

set subdir 1;

rewrite ^/static/(images|scripts|styles)/(.*) /subdir/$2 break;

}

}

其中,/static/是url路径,/data/是本地文件路径,root指令指定了url路径对应的本地文件路径。if语句判断url路径是否以/static/images/、/static/scripts/或/static/styles/开头,如果是,则将子路径保存到变量subdir中。rewrite指令将url路径中的子路径替换成变量subdir中保存的值,从而实现了不同子路径对应不同的本地文件路径。

需要注意的是,if语句会影响nginx的性能,因此建议使用map指令或者多个location指令来替代if语句。另外,建议在配置文件中添加访问控制,防止/static/目录下的文件被未经授权的访问者获取。

总结

来源: nginx将一个路径下的多种url分别映射-七秒鱼笔记

相关推荐
adinnet202638 分钟前
财务报销自动化:用智能体辅助处理繁琐报销任务
运维·自动化
zhendianluli1 小时前
VS Code Remote-SSH 连接故障排查手册(精详版)
运维·ssh
Tim风声(网络工程师)1 小时前
Kail下载
linux·运维·服务器
JXJD20042 小时前
光模块自动化组装设备 工艺体系与选型指南
运维·自动化
AOwhisky2 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
斑马1393 小时前
Linux软件编程学习笔记(四)——进程
linux·运维·服务器
扛枪的书生3 小时前
Linux 三剑客 - Awk 命令指南
linux·运维
MaximusCoder4 小时前
等保测评命令——weblogic
运维·安全·安全威胁分析
xixingzhe24 小时前
nginx无网络升级
服务器·nginx
学linux的QQ蛋4 小时前
Linux 文件 IO vs 标准 IO:缓冲区、目录操作、常用函数汇总
linux·运维·服务器