首页 > 服务配置 > nginx-rewrite重定向跳转实例
2016
03-01

nginx-rewrite重定向跳转实例

工作中常用到nginx的rewrite,网上许多文章也写了一些,不过实用性的话,还是往下看吧。

nginx重定向-跳转实例:

1,将www.a.com/connect 跳转到connect.a.com

2,将connect.a.com 301跳转到www.a.com/connect/

3,a.com 跳转到www.a.com

4,www.a.com/category/123.html 跳转为 category/?cd=123

5,www.a.com/admin/ 下跳转为www.a.com/admin/index.php?s=

6,在后面添加/index.php?s=

7,www.a.com/xinwen/123.html  等xinwen下面数字+html的链接跳转为404

8,http://www.a.com/news/radaier.html 301跳转 http://www.a.com/strategy/

9,重定向 链接为404页面

10, 禁止htaccess

11, 可以禁止/data/下多级目录下.log.txt等请求;

12, 禁止单个文件

13, http://bbotte.com/news/activies/2014-08-26/123.html 跳转为 http://a.com/news/activies/123.html

14,nginx多条件重定向rewrite

如果需要打开带有play的链接就跳转到play,不过/admin/play这个不能跳转

15,http://www.a.com/?gid=6 跳转为http://www.a.com/123.html

16,公司有主站(电脑端)和微站(手机访问),同一个域名,需要跳转到相应目录:

17,访问http://www.abc.com?url=http://www.bbotte.com 301到 http://www.bbotte.com

 

nginx-rewrite重定向跳转实例 - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

下面来个实战,好好看看nginx rewrite的强大:

需求如下

17, 现在我们用阿里云、七牛的免费ssl证书,对nginx的http跳转https rewrite如下

变量的说明: var_request_uri,比如:

$request_uri:full original request URI (with arguments)

$request_method:request method, usually “GET” or “POST

$request_filename:file path for the current request, based on the root or alias directives, and the request URI

18.多个条件的跳转

curl -H “bbotte:abcd” http://localhost

 

正则表达式匹配,其中:

~ 为区分大小写匹配

~* 为不区分大小写匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配,其中:

-f和!-f用来判断是否存在文件

-d和!-d用来判断是否存在目录

-e和!-e用来判断是否存在文件或目录

-x和!-x用来判断文件是否可执行

flag标记有:

last 相当于Apache里的[L]标记,表示完成rewrite

break 终止匹配, 不再匹配后面的规则

redirect 返回302临时重定向 地址栏会显示跳转后的地址

permanent 返回301永久重定向 地址栏会显示跳转后的地址

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

nginx-rewrite重定向跳转实例》有 1 条评论

  1. 姜贵平 说:

    非常实用 nice

留下一个回复

你的email不会被公开。