nginx配置location总结及rewrite规则写法
2017-01-16 00:00
633 查看
http://seanlook.com/2015/05/17/nginx-location-rewrite/
https://segmentfault.com/a/1190000002797606
1.1 正则
~* 不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
^ 以什么开头的匹配
$ 以什么结尾的匹配
小括号
https://segmentfault.com/a/1190000002797606
1.1 正则
.: 匹配除换行符以外的任意字符
?: 重复0次或1次
+: 重复1次或更多次
*: 重复0次或更多次
\d:匹配数字
^: 匹配字符串的开始
$: 匹配字符串的介绍
{n}: 重复n次
{n,}: 重复n次或更多次
[c]: 匹配单个字符c
[a-z]: 匹配a-z小写字母的任意一个 ~ 区分大小写匹配
~* 不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
^ 以什么开头的匹配
$ 以什么结尾的匹配
小括号
()之间匹配的内容,可以在后面通过
$1来引用,
$2表示的是前面第二个
()里的内容。正则里面容易让人困惑的是
\转义特殊字符。
1.2 常用变量
$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相同。
1.3 flag标志位
last: 相当于Apache的[L]标记,表示完成rewrite
break: 停止执行当前虚拟主机的后续rewrite指令集
redirect: 返回302临时重定向,地址栏会显示跳转后的地址
permanent: 返回301永久重定向,地址栏会显示跳转后的地址
#路径重写配置Demo location /demo/test/ { #以/demo/test路径开始 #原始路径: http://127.0.0.1:8080/demo/test/1.html 重写后:http://127.0.0.1:8888/demo/test2/1.html rewrite ^/demo/test/(.*)$ http://127.0.0.1:8888/demo/test2/$1 break; #以html文件结尾 #原始路径: http://127.0.0.1:8080/demo/test/1.html 重写后:http://127.0.0.1:8888/test/demo/test/1.html # 此种方式配置会改变浏览器地址,引发跨域请求的问题 #rewrite ^/(.*\.html)$ http://127.0.0.1:8888/test/$1 break; # 此种方式,结合proxy_pass 重写后则不会改变浏览器地址,不存在跨域问题 #rewrite ^/(.*\.html)$ /test/$1 break; #proxy_pass http://127.0.0.1:8888; }
相关文章推荐
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法(转发)
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- NGINX配置location总结及rewrite规则写法
- Nginx 配置 location 总结及 rewrite 规则写法
- nginx配置location总结及rewrite规则写法
- 转:Nginx 配置 location 总结及 rewrite 规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法
- nginx配置location总结及rewrite规则写法