www.6165.comNginx学习笔记17rewrite之(四)last

日期:2019-11-07编辑作者:www.6165.com

1.1.1. last

last标识跟break标识的成效大致,差距在于break标识管理今后,平日将不再相称此外的location,即能够相称rewrite目的地址的location中的proxy_pass等不会实施;last标识则会一而再对rewrite的目的地点实行其余location的合作,并实践在那之中的proxy_pass等动作。

 

Nginx配置文件:

 location / {

            root   html;

            index  index.html;

www.6165.comNginx学习笔记17rewrite之(四)last。        }

 

        location ~  ^/hello/ {

             proxy_pass  ;

             proxy_set_www.6165.comNginx学习笔记17rewrite之(四)last。header X-Real-IP  $remote_addr;

             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_www.6165.comNginx学习笔记17rewrite之(四)last。for;

 

            access_log logs/http_hello_access.log  my_access_log;

www.6165.comNginx学习笔记17rewrite之(四)last。 

       }

 

 

      location ~ ^/app/ {

        rewrite ^/app/(.*)$  /hello/$1  last;

     }

 

 

     location ~ ^/app2/ {

        rewrite ^/app2/(.*)$  /app/$1  last;

     }

 

 

(1)访问/app/。

 

运行结果:

使用curl -v   301或HTTP 302的重定向操作,使用浏览器访谈时,地址栏U昂CoraL无别的变动。

 

 

http_error.log错误日志:

2017/07/09 20:07:35 [notice] 3817#0: *97 "^/app/(.*)$" matches "/app/", client: 192.168.197.101, server: ng.coe2coe.me, request: "GET /app/ HTTP/1.1", host: "ng.coe2coe.me:8000"

2017/07/09 20:07:35 [notice] 3817#0: *97 rewritten data: "/hello/", args: "", client: 192.168.197.101, server: ng.coe2coe.me, request: "GET /app/ HTTP/1.1", host: "ng.coe2coe.me:8000"

2017/07/09 20:07:35 [info] 3817#0: *97 client 192.168.197.101 closed keepalive connection

 

(2)访问/app2/。

运作结果:

curl -v  

 www.6165.com 1

 

http_access.log和http_hello_access.log访谈日志:

$cat http_access.log

[d@192.168.197.101:/opt/nginx/logs]$cat http_hello_access.log

192.168.197.101,-,09/Jul/2017:20:16:50 +0800,GET /app2/ HTTP/1.1,200,3182,-,curl/7.35.0

访谈日志中独有/hello/对应的location中定义的拜候日志记录了此次对/app2/的拜候。

 

http_error.log错误日志:

[d@192.168.197.101:/opt/nginx/logs]$cat http_error.log

2017/07/09 20:16:50 [notice] 3906#0: *106 "^/app2/(.*)$" matches "/app2/", client: 192.168.197.101, server: ng.coe2coe.me, request: "GET /app2/ HTTP/1.1", host: "ng.coe2coe.me:8000"

2017/07/09 20:16:50 [notice] 3906#0: *106 rewritten data: "/app/", args: "", client: 192.168.197.101, server: ng.coe2coe.me, request: "GET /app2/ HTTP/1.1", host: "ng.coe2coe.me:8000"

2017/07/09 20:16:50 [notice] 3906#0: *106 "^/app/(.*)$" matches "/app/", client: 192.168.197.101, server: ng.coe2coe.me, request: "GET /app2/ HTTP/1.1", host: "ng.coe2coe.me:8000"

2017/07/09 20:16:50 [notice] 3906#0: *106 rewritten data: "/hello/", args: "", client: 192.168.197.101, server: ng.coe2coe.me, request: "GET /app2/ HTTP/1.1", host: "ng.coe2coe.me:8000"

2017/07/09 20:16:50 [info] 3906#0: *106 client 192.168.197.101 closed keepalive connection

 

正文小结:

last标识和break标记有区别点,last不会阻碍对rewrite目的地址举办别的location的相称,而break日常会阻拦对其它location的合作。二者也可能有相似点,即两边都不会因为rewrite而发出http 301或http302的重定向操作,浏览器地址栏的UGL450L不会发生变化。

本条相近点,也是last、break标记跟permanent、redirect标识的三个区分。

 

1.1.2. 补给表明

 

rewrite是ngx_http_rewrite_module模块的职能,完整介绍请参见官网相关页面:

http://nginx.org/en/docs/http/ngx_http_rewrite_module.html

 

本文由新金沙国际手机版发布于www.6165.com,转载请注明出处:www.6165.comNginx学习笔记17rewrite之(四)last

关键词:

Linux恢复删除的文件

  linux复苏删除的公文 先介绍下局地文件的基本概念:   ·        文件实际上是一个照准inode的链接, inode链接包...

详细>>

Redis学习笔记01Redis特点和安装配置以及运行控制

1.1.  Redis特点 Redis是一种NoSQL数据库,或者非关系型数据库。 Redis是一个开源(BSD授权)的内存数据结构存储系统、可以...

详细>>

增加yum源方式 安装升级 Mysql

增加yum源方式 安装升级 Mysql。       那样做的功利在于,能够用yum管理MySQL的包,特别是能够把MySQL的设置包生成到...

详细>>

www.6165.comsharepoint

www.6165.comsharepoint 。SharePoint Portal Server 二〇〇四使得集团能够开垦出智能的黑手党站点,这一个站点能够无缝连接收...

详细>>