nginx地址重定向,nginx 重写url

nginx地址重定向,nginx 重写url,利用Nginx实现URL重定向的简单方法

当使用Nginx的重定向功能时,您可以将您的请求重定向到一个特定的协议以及一个新的域名。下面这篇文章主要介绍一个如何使用Nginx实现URL重定向的简单方法。有需要的朋友可以参考一下。

: 目录

1.概述2。使用Nginx重定向url 2.1使用场景2.2简单重定向2.3根据原url重定向补充:Nginx根据url参数重定向1。确定URL路径2。确定URL参数摘要

1. 概述

俗话说得好,取之有道,用之有道。拿中间的,拿下面的。所以,我们不妨志存高远,努力去获得更好的回报。

不管怎样,今天我们就来说说用Nginx重定向URL。

2. 使用 Nginx 实现 URL 的重定向

2.1 使用场景

当我们日常分享一个网址时,往往会产生这样的效果。同样的网址,在电脑浏览器中打开是一种效果,但在手机浏览器中打开,会呈现出另一种更适合手机显示的效果。

一般来说,有两种方法可以达到这种效果:

首先,自适应H5页面实现用于根据窗口宽度自动调整页面布局。

第二,使用Nginx,根据不同的终端,跳转到不同的页面。电脑开机时跳转到PC使用的网页,手机开机时跳转到手机使用的网页。

今天我们来介绍第二种方法,如何实现。

2.2 单纯的重定向

有些网址是重定向的,新网址不需要继承原网址的参数,比如网站首页。在这种情况下,可以通过使用return 302的方式跳转到Nginx配置文件的位置。

位置/{

#确定是否是移动终端。

if(http _ user _ agent ~ (MIDP)|(WAP)|(UP。浏览器)|(智能手机)|(Obigo)|(手机)|(AU。浏览器)|(wxd。Mms)|(WxdB。浏览器)|(CLDC)|(向上。链接)|(公里。浏览器)|(UCWEB)|(SEMC-浏览器)|(迷你)|(Symbian)|(Palm)|(诺基亚)|(松下)|(SonyEricsson)|(NEC-)|(阿尔卡特)|(爱立信)|(明基)|(夏新)|(夏新)|(首信)|(飞利浦)|(三星)|(联想)|(三菱)|(摩托罗拉)|(夏普)|(华珀)|(LG-)|(LG-)

{

返回https://www.zhuifengren.com/h5/index.html; 302号

}

proxy _ pass http://myUpstream

}

2.3 依据原 URL 重定向

在另一种情况下,新的URL需要继承原始URL的参数。在这种情况下,需要重写来重写URL。

位置/{

#确定是否是移动终端。

if(http _ user _ agent ~ (MIDP)|(WAP)|(UP。浏览器)|(智能手机)|(Obigo)|(手机)|(AU。浏览器)|(wxd。Mms)|(WxdB。浏览器)|(CLDC)|(向上。链接)|(公里。浏览器)|(UCWEB)|(SEMC-浏览器)|(迷你)|(Symbian)|(Palm)|(诺基亚)|(松下)|(SonyEricsson)|(NEC-)|(阿尔卡特)|(爱立信)|(明基)|(夏新)|(夏新)|(首信)|(飞利浦)|(三星)|(联想)|(三菱)|(摩托罗拉)|(夏普)|(华珀)|(LG-)|(LG-)

{

重写(w -w )|(?*)$ https://www.zhuifengren.com/h5-$1-0.html$2重定向;

}

proxy _ pass http://myUpstream

}

重写的语法是:重写正则表达式重写的URL重定向;

重定向是指302临时重定向,也可以用permanent关键字来表示301永久重定向。

重写URL需要正则表达式的知识。重写后的URL中的$1和$2表示正则表达式中匹配的第一个字符串和第二个字符串。在这里,你可以了解一下正则表达式,我就不赘述了。

正则表达式(w -w )|(?*) $,你可以把原来的网址:

https://www.zhuifengren.com/1001-1223.jsp?v=123456

重写为

https://www.zhuifengren.com/h5-1001-1223-0.html?v=123456

补充:Nginx根据url参数重定向

1.判断url路径

位置/{

if($ args ~ */product-list?param1=val1ampparam2=val2) {

http://www.mysite.com/product-list/$arg_param1/$arg_param2?最后重写^;

}

}

2. 判断url参数

if ($arg_path=abc){

proxy _ pass http://127 . 0 . 0 . 1/ABC/$ arg _ path;

}

特别注意if是邪恶的,nginx不提供多if判断,也没有or这样的判断,所以只能用下面的方式。

位置/api/{

if ($arg_token=) {

proxy_pass http://127.0.0.1/abc

}

if ($http_token=) {

proxy_pass http://127.0.0.2/abc

}

if ($token=paraheader) {

proxy_pass http://127.0.0.3/abc

}

proxy _ pass http://127 . 0 . 0 . 1:8080/app/;

proxy _ redirect off

}

总结

关于使用Nginx实现URL重定向的这篇文章到此为止。有关Nginx URL重定向的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

nginx地址重定向,nginx 重写url