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分别映射-七秒鱼笔记

相关推荐
红龙创客4 分钟前
Linux系统编程之——多文件工程管理与CMake实战指南
linux·运维·服务器
csdn5659738505 分钟前
安全体检 | 服务器的终极卫士
运维·服务器·安全
txzz888815 分钟前
CentOS-Stream-10 系统安装与登录
linux·运维·服务器·centos
开***能16 分钟前
PROFINET转ASI网关:破解自动化异构网络互联难题的核心枢纽
运维·网络·自动化
云和数据.ChenGuang18 分钟前
Zabbix 6 与 PHP 5 版本**完全不兼容
运维·开发语言·php·zabbix·运维工程师
深圳安锐科技有限公司21 分钟前
隧道变形监测 变焦视觉非接触式 自动化分析 远程管理省心
运维·自动化·实时监测·隧道监测·自动化监测·结构健康监测
电气铺二表姐1377441661529 分钟前
从并网到离网,尽在掌握:分布式储能微网智能监控与能量管理系统
运维·分布式·物联网·能源
测试人社区—小叶子1 小时前
接口测试全攻略:从Swagger到MockServer
运维·c++·人工智能·测试工具·机器人·自动化·测试用例
文军的烹饪实验室1 小时前
【无标题】unix:///tmp/supervisor.sock no such file
linux·运维·unix
yscript1 小时前
GPU分配BUG: Duplicate GPU detected : rank 1 and rank 0 both on CUDA device d5000
linux·运维·服务器·vscode·bug