如何使用具有 2 个或更多根的 try_files

2023-12-30

我看了一遍又一遍,发现没有这样的实现,我想知道我正在尝试的是否可能。我有 3 个提供静态内容的相对路径:

Path1: /usr/local/www/style1/static/...
Path2: /usr/local/www/style2/static/...
Path3: /usr/local/www/style3/static/...

3 个不同的根本身是静态的,但从 /static 开始的内容只是半静态的(可能有点不同,具体取决于所提供的确切文件,并且可能存在于一个路径中而不是另一个路径中)。例如

/static/css/custom.css
/static/css/form/button.css
/static/css/form/images/buttondisabled.png
/static/images/ui/buttons/add_item.png
/static/images/ui/menu/help.png

以下是我想做的事情。基本上,如果请求“/static”内容,我想检查与path1关联的相对路径,如果没有找到,则检查与path2关联的相对路径,如果找不到,则检查与path3关联的相对路径。这看起来相当简单,但我还没有找到任何示例来概述如何完成此操作。我可以将 3 个不同的根设置为变量吗:

path1root /usr/local/www/style1;
path2root /usr/local/www/style2;
path3root /usr/local/www/style3;

location /static
{
    try_files path1root/$uri path2root/$uri path3root/$uri (=404);
}

或者可以按如下方式完成,因为仅 /static 内容需要它:

location /static
{
    path1root /usr/local/www/style1;
    path2root /usr/local/www/style2;
    path3root /usr/local/www/style3;

    try_files path1root/$uri path2root/$uri path3root/$uri (=404);
}

或者我正在尝试做的事情是否可以完成?如果我不能用 3 个根来完成,是否可以只用 2 个根来完成,而不将其中之一定义为整体拱形基根。如果可以做到这一点并且远离正则表达式那就更好了——但如果需要的话那就是需要的。


您可以使用公共根目录并尝试以下三个目录try_files陈述:

location /static {
    root /usr/local/www;
    try_files /style1$uri /style2$uri /style3$uri =404;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用具有 2 个或更多根的 try_files 的相关文章

  • Amazon ECS - 在 Docker 入口点上使用 IAM 角色时权限被拒绝

    我正在寻找一种将机密 证书注入 Amazon ECS 容器的方法 就我而言 它是一个简单的 nginx 容器 我一直在使用 AWS Parameter Store 关注这篇文章 https aws amazon com blogs comp
  • 使用 client_body_in_file_only 进行 nginx 文件上传

    晚上好 我需要将静态内容上传到 nginx 服务器 1 9 因此上传模块不适用于此版本 我读过这篇文章 Nginx 直接文件上传 无需通过后端传递 https coderwall com p swgfvw nginx direct file
  • ./manage.py 使用 https 运行服务器

    manage py 运行服务器 0 0 0 0 8000 我使用上面的行作为我从 github 借用的代码的一部分 https github com ribeiroit boh puppet https github com ribeiro
  • 为什么 nginx 接受 Host 标头与 server_name 不匹配的请求?

    我有一个这样设置的站点 nginx 作为代理服务器 通过 UNIX 套接字代理为 Django 站点提供服务的 Gunicorn 实例的请求 这是我的 nginx 配置 server listen 80 server name api my
  • 我怎样才能重写这个nginx“if”语句?

    例如 我想这样做 if http user agent MSIE 6 0 http user agent MSIE 7 0 etc etc rewrite ROOT ROOT ancient last break 而不是这个 if http
  • kubernetes 集群中 django 应用程序的 Nginx 配置

    我在为部署在 kubernetes 中的 django 应用程序创建 nginx 配置文件时遇到困难 Nginx 和 app 是同一集群中的两个独立容器 据我了解 容器可以通过 127 0 0 1 XX 和主机名相互通信 我为此使用 min
  • 使用 FastCGI 运行 Lua 脚本

    我目前正在尝试找出使用 FastCGI 与 lighttpd 或 Nginx 一起运行 Lua 脚本的方法 我唯一能挖到的是WSAPI http keplerproject github com wsapi 开普勒计划的一部分 但我想知道是
  • nginx 反向代理 websocket

    nginx 现在支持代理 websockets 但我无法找到任何有关如何在没有单独的情况下执行此操作的信息location应用于使用 websocket 的 URI 的块 我见过一些人推荐这种方法的一些变体 location proxy h
  • 如何在运行 NGINX Docker 容器的 AWS EC2 上启用 HTTPS?

    我在 AWS 上有一个运行 Amazon Linux 2 的 EC2 实例 在上面 我安装了 Git docker 和 docker compose 完成后 我克隆了我的存储库并运行docker compose up让我的生产环境启动 我访
  • NGINX hashbang 重写

    我想知道 hashbang url 的位置或重写 nginx 指令会是什么样子 基本上像前端控制器一样通过 hashbang 路由所有非 hashbanged url 所以 http example com about staff 将路由至
  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • 为什么 opcache 没有刷新?

    我用guzzlehttp guzzle封装在拉拉维尔 8 升级到后PHP 8 I get Symfony Component ErrorHandler Error FatalError Invalid opcode 117 2 0 in f
  • Kubernetes Ingress 在 nginx 反向代理后面运行

    我已经在可以从互联网访问的服务器上安装了 minikube 我创建了一个可用的 kubernetes 服务 gt kubectl get service myservice NAME CLUSTER IP EXTERNAL IP PORT
  • 使用 Nginx 在 Docker 容器内部署带有路由器的 Angular2

    我正在尝试部署一个使用框架的路由器功能的 Angular 2 但在 docker 容器内使用 nginx 为其提供服务时遇到一些问题 由 angular cli 构建的 Angular 应用程序具有如下文件结构 dist 08c42df75
  • 如何使用gunicorn和bokeh服务配置Nginx

    我想提供一个 Flask 应用程序 该应用程序使用本地网络服务器上的嵌入式散景服务 为了说明这一点 我使用了一个例子散景服务示例 https github com bokeh bokeh blob 0 12 11 examples howt
  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg
  • 错误请求 400:nginx/gunicorn

    我已经遵循了这个教程 http blog wercker com 2013 11 25 django 16 part3 html http blog wercker com 2013 11 25 django 16 part3 html我现
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • Logrotate - nginx 日志不在 docker 容器内旋转

    我有一个运行 nginx 的 docker 容器 它正在将日志写入 var log nginxLogrotate 安装在 docker 容器中 并且 nginx 的 logrotate 配置文件已正确设置 尽管如此 logrotate 仍不
  • 连接被拒绝:当uwsgi和nginx在不同容器中时

    我正在尝试设置两个 docker 容器 是的 无需 docker compose 分开 一个带有 nginx 另一个带有带有基本 Flask 应用程序的 uwsgi 我在 docker 内的同一网络中运行容器我的 nginx 配置已添加 链

随机推荐

  • 张量流密集到稀疏[重复]

    这个问题在这里已经有答案了 我正在尝试将未压缩的稀疏数组转换为 tf SparseTensor 接受的格式 有一个内置函数 tf sparse to dense 的作用与我想要做的完全相反 所以我的问题是 Tensorflow 或 Pyth
  • Dapper:无法解析浮点数(解析列时出错)

    我正在使用 Dapper 从 StoredProcedure 从 SQL Server 检索数据 但出现错误 Specified cast is not valid 和细节 Error parsing column 4 SubTotal 0
  • 如何忽略ansible SSH真实性检查?

    有没有办法忽略 Ansible 进行的 SSH 真实性检查 例如 当我刚刚设置一个新服务器时 我必须对这个问题回答 是 GATHERING FACTS The authenticity of host xxx xxx xxx xxx xxx
  • OBJFILELOADER - pygame

    所以我尝试跑步the code https www pygame org wiki OBJFileLoader但它给出了列表超出索引范围错误 我将索引从 1 更改为 0 但屏幕只弹出黑色 我怎样才能改变代码以使其工作 您只需将 obj 文件
  • 提取 Firebase / BigQuery DAU、WAU 和 MAU

    我不想让这个问题变得过于复杂 所以我会尽量问得尽可能清楚 以避免混淆 我需要的结果是双重的 我想要 在 a Google Analytics 以及 b Firebase Analytics 中确定移动应用的 DAU WAU 和 MAU 我想
  • Realm Swift 仅在本地使用,但它仍然尝试在线连接

    我正在关注Realm Swift 入门指南在这里 https realm io docs swift latest 并且工作正常 我有以下对象 class Dog Object dynamic var name dynamic var ag
  • 为什么下面的 Scala 函数被称为闭包?

    对于以下问题 http pastie org 4825115 http pastie org 4825115 这是我的代码 http pastie org private n22zohyshn2ymqrbrb3g http pastie o
  • 如何在 Android 应用程序中运行 shell 脚本?

    我正在尝试为 root 用户编写一个 android 应用程序 该应用程序运行一系列 shell 命令 或者一个 shell 脚本 如果更好的话 并显示输出 任何人都可以指出我正确的方向吗 此代码片段需要 root 访问权限 但会将给定的字
  • Excel VBA 根据单元格值将特定工作表导出为 PDF

    我想使用单元格值Sheet 4选择并导出Sheet 1 Sheet 2 and Sheet 3作为一个 PDF 文件 例如 如果第 4 页A1 1 A2 1 A3 0 则打印Sheet 1 and Sheet 2 但不是Sheet 3 我尝
  • Postgresql 中的奇怪行为

    我是 Postgresql 新手 我正在尝试从 MySQL 迁移我的应用程序 我有一个具有以下结构的表 Table public tbl point Column Type Modifiers Storage Description Tag
  • int** 和 const int** 可以使用别名吗?

    据我了解 这样的事情是可以的 const int ci 42 const int cip ci int ip int cip int j ip 那这个呢 const int ci 42 const int cip ci const int
  • 如何准备 Word 2007 文档以便 C# 可以从语义上提取数据?

    我有一个朋友正在写一篇400页书在 Microsoft Word 2007 中 在整本书中他都200 个故事每个都由许多段落组成 当他写完这本书后 他想将嵌入 Word 文档中的每个故事的文本复制到一个数据库表例如 Title varcha
  • 如何有条件地显示 ASP.NET MVC Razor 中的字段?

    我对 C 和 ASP NET MVC Razor 非常陌生 如果该字段不为空 我想在我的视图中显示该字段 Code tr class hide td class editor label Html LabelFor model gt mod
  • 如何使用mysql全文获取连续单词的频率

    我有一个MyISAM表包含超过 200 万条记录 其中有一个FULLTEXT多列索引 给定一个搜索词 我想知道多少次它出现在每个记录的索引字段中 例如 当搜索 test 在下表中 其中有一个FULLTEXT两者的索引FREETEXT and
  • 显示第一类类型

    我有一个项目列表 每个项目都有一个类 并且该类在整个过程中重复 我只想显示每个类的第一个实例 只用 CSS 就可以实现吗 ul li class red red li li class red red li li class blue bl
  • 读取和解析大型 XML 文件的性能问题

    我有一个目录 其中包含几个大型 XML 文件 总大小约为 10 GB 有没有办法遍历包含 XML 文件的目录并读取 50 字节乘 50 字节并以高性能解析 XML 文件 func mdc Mdc Loadxml path string wg
  • 如何更改 R 中的时间序列(XTS 或 ZOO)?

    我是 stackoverflow 的新手 对 R 也相当陌生 但经过长时间的艰苦搜索 找不到以下问题的答案 我有许多数据文件 它们是温度与时间序列的关系 我将 CSV 作为 ZOO 对象导入 然后转换为 XTS 正确的文件如下所示 其中包含
  • 在 Protractor / E2E 测试中访问 $http 数据 (AngularJS)

    我有一堆进展顺利的单元测试 并且我已经开始将 Protractor E2E 测试添加到我的项目中 我在页面上测试交互元素做得很好 但在测试从浏览器发送的某些数据时遇到问题 例如 我想看看点击某个按钮是否会产生一个POST到某个端点 我使用以
  • 如何删除 BottomBar jetpack compose 中选定的椭圆形项目颜色

    我想删除所选项目后面的蓝色椭圆形颜色 我怎样才能做到这一点 NavigationBarItem selected selected onClick onClick icon if selected selectedIcon else ico
  • 如何使用具有 2 个或更多根的 try_files

    我看了一遍又一遍 发现没有这样的实现 我想知道我正在尝试的是否可能 我有 3 个提供静态内容的相对路径 Path1 usr local www style1 static Path2 usr local www style2 static