nginx.conf 重定向多个条件

2024-02-27

我想使用 Nginx 在两个条件下重定向请求。

这不起作用:

  if ($host = 'domain.example' || $host = 'domain2.example'){
    rewrite ^/(.*)$ http://www.domain.example/$1 permanent;
  }

这样做的正确方法是什么?


我以前也遇到过同样的问题。由于 Nginx 无法执行复杂的条件或嵌套的 if 语句,因此您需要计算 2 个以上不同的表达式。

将变量设置为某个二进制值,然后在两个不同的 if 语句中任一条件为 true 时启用:

set $my_var 0;
if ($host = 'domain.example') {
  set $my_var 1;
}
if ($host = 'domain2.example') {
  set $my_var 1;
}
if ($my_var = 1) {
  rewrite ^/(.*)$ http://www.domain.example/$1 permanent;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx.conf 重定向多个条件 的相关文章

  • 如何将多个域路由到多个节点应用程序?

    我习惯了典型的 Lamp Web 托管环境 您只需单击 cpanel 中的几个按钮 您的域就会被分区并映射到 htdocs 中的文件夹 我经常使用 Node js 但做同样的事情似乎并不那么简单 如果我有多个节点应用程序 并且我想将doma
  • Symfony 2 登录后重定向

    在 Symfony 2 中 您可以设置注销目标 以便注销后您将被重定向到 main 但是 登录后您将被重定向到 有没有办法为 成功 登录设置目标 firewalls dev pattern profiler wdt css images j
  • Nginx 背后的多个 Meteor 站点

    这个问题与this https stackoverflow com questions 10936242 how can i correct the meteor base url in a nginx reverse proxy conf
  • 我怎样才能重写这个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 中 uwsgi_pass 和 proxy_pass 的区别?

    我在 Nginx 后面运行 uWSGI 并一直在使用proxy pass让 Nginx 访问 uWSGI 切换到有什么好处吗uwsgi pass 如果是这样 那是什么 uwsgi pass使用一个uwsgi协议 proxy pass使用普通
  • Nginx - 自定义 404 页面

    Nginx PHP 在 fastCGI 上 对我来说非常有用 当我输入不存在的 PHP 文件的路径时 我不会得到默认的 404 错误页面 任何无效的 html 文件都会出现该错误页面 而只会得到 未指定输入文件 如何自定义此 404 错误页
  • JavaScript:发送 POST,重定向到响应

    我有一个带有 onclick 的图像 当单击事件触发时 我想发送 HTTP POST 并将 window location 重定向到 POST 的响应 我怎样才能做到这一点 只需将按钮绑定到表单元素的提交方法 重定向就会自然发生
  • 如何正确链接 php-fpm 和 Nginx Docker 容器?

    我正在尝试链接 2 个单独的容器 nginx 最新 https registry hub docker com nginx php fpm https registry hub docker com php 问题是 php 脚本不起作用 也
  • 防止刷新时提交双重表单

    我有一个简单的问题 我知道当用户使用 Post Redirect Get 模式重新加载页面时 我可以防止表单重新提交自身 但我的问题是 如果我将用户重定向回提交表单的同一页面 这种模式是否有效 我的意思是 我不想将用户重定向到另一个页面 请
  • nginx代理认证拦截

    我有几个服务 它们支持 nginx 实例 为了处理身份验证 在 nginx 中 我拦截每个请求并将其发送到身份验证服务 在那里 如果凭据正确 我将设置一个包含用户相关信息的 cookie 现在 请求应该被路由到适当的服务 并设置 cooki
  • 使用nginx容器作为反向代理时的原始url

    我有一个 Web 应用程序部署为码头集装箱 我也有一个nginx容器 使用dnsmasq解析器 设置为充当 Web 应用程序前面的反向代理 它的 80 端口映射到主机 我的应用程序使用 SSO 身份验证 当我使用身份提供商登录时 回调 ur
  • 连接到上游时 Nginx 错误:(13:权限被拒绝)

    我在我的中收到此错误nginx error log file 2014 02 17 03 42 20 crit 5455 0 1 connect to unix tmp uwsgi sock failed 13 Permission den
  • Openresty 中的并发模型是什么?

    我很难理解 openresty 或 nginx 的并发模型 我读了Lua变量作用域 http wiki nginx org HttpLuaModule Lua Variable Scope 它解释了变量的生命周期 但它没有说明对它们的并发访
  • 如何修复 Nginx 自动 301 重定向到带有尾部斜杠的相同 URL?

    当我尝试将 Web 应用程序的子目录中的索引文件访问到相同的 URL 但附加了斜杠 时 Nginx 出现了不良行为 它正在重新路由请求 我有一个简单的 Web 应用程序 其中设置了一个根目录和其中的许多子目录 每个子目录中都有一个 inde
  • 使用 Nginx 在 Docker 容器内部署带有路由器的 Angular2

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

    我在我的 Java 应用程序中使用 nginx 我的问题是 nginx 正在合并斜杠 我无法将我的网站重定向到正确的版本 例如 http goout cz cs koncerty praha 被合并到 http goout cz cs ko
  • 如何从 JSON 响应重定向?

    所以我尝试使用 Flask 和 Javascript 上传器 Dropzone 上传文件并在上传完成后重定向 文件上传正常 但在烧瓶中使用传统的重定向 return redirect http somesite com 不执行任何操作 页面
  • 上游太大 - nginx + codeigniter

    我从 Nginx 收到此错误 但似乎无法弄清楚 我正在使用 codeigniter 并使用数据库进行会话 所以我想知道标题怎么会太大 有没有办法检查标题是什么 或者看看我能做些什么来修复这个错误 如果您需要我提供任何conf文件或其他文件

随机推荐

  • 如何测试 Django 测试用例中是否记录了特定日志消息?

    我想确保代码中的某个条件会导致日志消息写入 django 日志 我如何使用 Django 单元测试框架来做到这一点 是否有地方可以检查记录的消息 类似于检查已发送的电子邮件 我的单元测试扩展了django test TestCase 使用m
  • 可滚动弹性盒中的多种背景颜色

    我有一个flexbox flex direction row 具有 2 列内容和固定高度 我希望左栏和右栏分别有红色和蓝色背景 如果任一列溢出 则flexbox的滚动条出现 溢出的部分仍然是红色 蓝色 如果列的内容高度小于flexbox的高
  • 预取指令是否需要在退出之前返回结果?

    在最新的 Intel 和 AMD CPU 上 已执行但请求的行尚未到达指定缓存级别的预取指令是否仍会退出 也就是说 预取的退休是 阻塞 的 因为它看起来对于加载来说是 阻塞 的 还是非阻塞的 关于英特尔处理器 没有 Intel优化手册第7
  • Python 使读取 Excel 文件更快

    我制作了一个读取 Excel 文档并检查第一行是否包含 UPDATED 的脚本 如果是这样 它将整行写入具有相同选项卡名称的另一个 Excel 文档 我的Excel文档有23张纸 每张纸有1000行 现在需要15分钟以上才能完成 有没有办法
  • 使用 Protocol Buffer 进行 Java 序列化

    我想在 Java 应用程序中使用 protobuf 来促进序列化 并且我对 Google 网站上的这段引用有疑问 协议缓冲区和 O O 设计 Protocol Buffer 类基本上是 哑数据持有者 如结构体 C 他们的头等舱成绩不好 对象
  • Asp.net从aspx中的文本框获取值到代码隐藏

    我正在使用 asp net 和 C 编程语言创建一个登录系统 处理用户和密码的代码已经完成 但在视图层中 我很难从用户名文本框和密码文本框中获取值并将其传递给代码隐藏 两个文本框均通过 ID 进行标识 根据我的编程技能 ID 应该足以访问元
  • 如何使用 JSDoc 记录 ECMA6 类?

    背景 我在 Nodejs 中有一个使用 ECMA6 类的项目 我正在使用JSDoc http usejsdoc org 评论我的代码 以便其他开发人员更容易访问它 然而 我的评论并没有被该工具很好地接受 而且我的文档也很糟糕 Problem
  • PHP UTF-8 转 GB2312

    我们的 Web 应用程序的一部分有一个小 Ajax 方法 可以在 iFrame 中加载页面或允许您下载它 我们存储来自搜索引擎的大量搜索结果 并使用脚本打开包含我们的信息和搜索 html 的文件 我们从顶部 我们的信息 中删除不需要的内容
  • 在 ARMv7 IMX6Q 板上运行 NodeJs 时出错,如何修复?

    我想要的是 我想在没有互联网但有网络连接的 ARMv7 freescale imx6q 板上运行 nodejs 我做了什么 我从nodejs官方下载中获取了预构建的二进制文件 提取它们并尝试运行节点二进制文件 但它会抛出错误 没有这样的文件
  • Eclipse IDE 无法启动,并且 JVM 已终止。退出代码=-1

    我遇到了 Eclipse IDE 无法启动的问题 并显示以下错误消息 JVM 终止 退出代码 1 经过一番谷歌搜索后 我半无意地找到了解决方案 并且能够让 IDE 正确启动 我所做的是将 eclipse ini 中的 Xmx JVM 参数设
  • Fortran - 逻辑索引

    假设我有一个矩阵A这是 m x n 和一个向量B这是 m x 1 这个向量B是一个由 0 和 1 组成的向量 还让标量s是其中元素的总和B 我想创建一个矩阵C这是s x n对应于行B等于 1 并且是一个向量D即 s x 1 这些元素的位置在
  • AspNetCore 2.0 Identity - 注入 RoleManager 的问题

    我需要为角色创建 CRUD 操作 我收到以下错误 无法解析类型 Microsoft AspNetCore Identity RoleManager 的服务 那么 我怎样才能注入roleManager呢 我正在使用 asp net core
  • 在 2008 年后的 Visual Studio 中开发 .NET Compact Framework 应用程序?

    我想为 Windows CE 6 0 目标设备开发一个 Compact Framework 应用程序 我可以使用 Visual Studio 2013 执行此操作吗 如果这不可能 net 紧凑框架的开发环境是什么 我确信这个问题是重复的 但
  • 使用 beautiful soup 清理 scrapy 中刮掉的 HTML

    我正在使用 scrapy 尝试从 Google Scholar 中抓取一些我需要的数据 例如 考虑以下链接 http scholar google com scholar q intitle 3Apython xpath http scho
  • Perl 中的 if( -f ) 有何作用?

    我遇到了这行代码 if f
  • firebase 对象应该是 swift 中的单例吗?

    在firebase sdk的ios Swift实现中 firebase对象应该存储在单例中吗 或者它是否自动管理和关闭视图之间的连接 例如 在每个视图中创建一个 firebase 对象会创建多个套接字连接吗 只保留一个 firebase 对
  • 帮助一步构建所有项目 + 安装程序 (.NET + WiX)

    我在安装程序上有预构建事件 可以使用适当的配置等重建项目 如果我在 Visual Studio 中的 WiX 3 0 项目上右键单击 构建 重建 则一切都会构建良好 但如果我尝试在 wixproj 文件上运行 MSBuild 则预构建事件将
  • [in .vbs][3in1] 创建多个文件夹 180 => 在所有 180 个文件夹中创建子文件夹 => 移动文件并重命名创建的子文件夹中的文件 [3in1] "x, y, z"

    x y z 垂直 水平 移动和重命名文件 我想组合 3in1 x y z vbs 在 vbs中 摘要 首先在这里阅读 x 尝试使用 VBScript 创建多个文件夹 https stackoverflow com questions 382
  • PHP strptime 格式错误?

    我正在解决 php 5 2 6 问题 我们使用的 API 以 DDMMYYYYHHMM 格式返回日期 正是这种格式 固定长度 没有分隔符 然而 在我的实验中 这种格式似乎破坏了 strptime 当我以这种格式向它提供日期时 它会返回 fa
  • nginx.conf 重定向多个条件

    我想使用 Nginx 在两个条件下重定向请求 这不起作用 if host domain example host domain2 example rewrite http www domain example 1 permanent 这样做