nginx怎么实现if嵌套
发布时间 - 2023-05-13 00:00:00 点击率:次nginx 不支持 if 嵌套,也不允许在 if 中使用逻辑判断,会报如下错误:
nginx: [emerg] "if" directive is not allowed
当业务需要多个条件判断时,可以借助中间变量来实现
如:我们的网站在 pc 端有多个子域名, 而移动端只有一个域名,对应关系如下:
www.test.com --> m.test.com
sub1.test.com --> m.test.com/sub1
sub2.test.com --> m.test.com/sub2
sub3.test.com --> m.test.com/sub3
要实现的效果:在移动端访问 pc 域名时 301 跳转到对应的移动端域名
nginx 的重写规则如下:
# 是否为移动端
set $mobile 0;
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
set $mobile 1;
}
# 获取子域名
set $prefix 1;
if ($host ~* "sub1.test.com") {
set $prefix 2;
}
if ($host ~* "sub2.test.com") {
set $prefix 3;
}
if ($host ~* "sub3.test.com") {
set $prefix 4;
}
set $sign "${mobile}${prefix}";
if ($sign = 11) {
rewrite ^(.*) http://m.test.com$1 permanent;
}
if ($sign = 12) {
r
ewrite ^(.*) http://m.test.com/sub1$1 permanent;
}
if ($sign = 13) {
rewrite ^(.*) http://m.test.com/sub2$1 permanent;
}
if ($sign = 14) {
rewrite ^(.*) http://m.test.com/sub3$1 permanent;
}
# nginx
# if
# 会报
# 也不
# 多个
# 有多
# 只有一个
# 重写
# 不支持
# 来实现
# 跳转到
# www
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
如何正确选择百度移动适配建站域名?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
零服务器AI建站解决方案:快速部署与云端平台低成本实践
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
如何快速建站并高效导出源代码?
Android 常见的图片加载框架详细介绍
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
如何在 Pandas 中基于一列条件计算另一列的分组均值
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
nginx修改上传文件大小限制的方法
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
python中快速进行多个字符替换的方法小结
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
如何快速搭建FTP站点实现文件共享?
Android仿QQ列表左滑删除操作
北京专业网站制作设计师招聘,北京白云观官方网站?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
北京网站制作公司哪家好一点,北京租房网站有哪些?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
香港网站服务器数量如何影响SEO优化效果?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在Ubuntu系统下快速搭建WordPress个人网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
深圳网站制作平台,深圳市做网站好的公司有哪些?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Laravel怎么为数据库表字段添加索引以优化查询
js代码实现下拉菜单【推荐】
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
EditPlus中的正则表达式 实战(2)
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
如何在阿里云ECS服务器部署织梦CMS网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
jQuery 常见小例汇总
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
制作旅游网站html,怎样注册旅游网站?
*服务器网站为何频现安全漏洞?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
HTML 中如何正确使用模板变量为元素的 name 属性赋值
上一篇:docker 运行不退出
上一篇:docker 运行不退出


ewrite ^(.*) http://m.test.com/sub1$1 permanent;
}
if ($sign = 13) {
rewrite ^(.*) http://m.test.com/sub2$1 permanent;
}
if ($sign = 14) {
rewrite ^(.*) http://m.test.com/sub3$1 permanent;
}