当使用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重定向的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。