last 与 break的区别是:
- last : 在当前 server 或 location 上下文中停止执行 rewrite 指令,但是 Nginx 继续搜索与重写的URI匹配的 location,并应用新 location 中的任何 rewrite 指令(这意味着 URI 可能再次改变)。
- break :停止当前上下文中 rewrite 指令的处理,并取消搜索与新 URI 匹配的 location。 不会执行新 location中的 rewrite 指令。
附录
常用正则
- : 匹配除换行符以外的任意字符
- ? : 重复0次或1次
- + : 重复1次或更多次
- *: 重复0次或更多次
- d :匹配数字
- ^ : 匹配字符串的开始
- $ : 匹配字符串的结束
- {n} : 重复n次
- {n,} : 重复n次或更多次
- [c] : 匹配单个字符c
- [a-z]: 匹配a-z小写字母的任意一个
全局变量
- $args : #这个变量等于请求行中的参数,同$query_string
- $content_length : 请求头中的Content-length字段。
- $content_type : 请求头中的Content-Type字段。
- $document_root : 当前请求在root指令中指定的值。
- $host : 请求主机头字段,否则为服务器名称。
- $http_user_agent : 客户端agent信息
- $http_cookie : 客户端cookie信息
- $limit_rate : 这个变量可以限制连接速率。
- $request_method : 客户端请求的动作,通常为GET或POST。
- $remote_addr : 客户端的IP地址。
- $remote_port : 客户端的端口。
- $remote_user : 已经经过Auth Basic Module验证的用户名。
- $request_filename : 当前请求的文件路径,由root或alias指令与URI请求生成。
- $scheme : HTTP方法(如http,https)。
- $server_protocol : 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
- $server_addr : 服务器地址,在完成一次系统调用后可以确定这个值。
- $server_name : 服务器名称。
- $server_port : 请求到达服务器的端口号。
- $request_uri : 包含请求参数的原始URI,不包含主机名,如:/foo/bar.php?arg=baz。
- $uri : 不带请求参数的当前URI,$uri不包含主机名,如/foo/bar.html。
- $document_uri : 与$uri相同。
- 例如请求:http://localhost:88/test1/test2/test.php
- $host:localhost
- $server_port:88
- $request_uri:/test1/test2/test.php
- $document_uri:/test1/test2/test.php
- $document_root:/var/www/html
- $request_filename:/var/www/html/test1/test2/test.php
参考
1、https://www.nginx.com/resources/admin-guide/nginx-web-server/
2、http://seanlook.com/2015/05/17/nginx-location-rewrite/ 【编辑推荐】 - Python监控服务器实现邮件微信报警
- Go语言中处理 HTTP 服务器
- 详解Tomcat 与 Nginx,Apache的区别及优缺点
- [应用服务器]掌握Tomcat应用服务器只需一分钟
- 如何优化Android异步请求服务器数据?
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0 (编辑:淮北站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|