Nginx Rewrite规则初探
来源:互联网 发布:linux nvidia 驱动安装 编辑:程序博客网 时间:2024/06/01 18:15
Nginx rewrite(nginx url地址重写)
Rewrite 主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。
Rewrite 主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。
通过Rewrite规则,可以实现规范的URL、根据变量来做URL转向及选择配置。
if 指令
规则语法:
规则语法:
if ($http_user_agent ~MSIE){ rewrite ^(.*)$/msie/$1 break; } if (!-f$request_filename){ rewrite ^/img/(.*)$/site/$host/images/$1 last; }
rewrite 语法规则:
变量名:
变量名可以使用"="或"!="运算符
~ 符号表示区分大小写字母匹配
~* 符号表示不区分大小写字母匹配
!~ 和 !~ 与~ !~ 相反
-f 和 !-f 用来判断文件是否存在
-d 和 !-d 用来判断目录是否存在
-e 和 !-e 用来判断文件或目录是否存在
-x 和 !-x 用来判断文件是否可以执行
也支持$1到$9位置参数
变量名:
变量名可以使用"="或"!="运算符
~ 符号表示区分大小写字母匹配
~* 符号表示不区分大小写字母匹配
!~ 和 !~ 与~ !~ 相反
-f 和 !-f 用来判断文件是否存在
-d 和 !-d 用来判断目录是否存在
-e 和 !-e 用来判断文件或目录是否存在
-x 和 !-x 用来判断文件是否可以执行
也支持$1到$9位置参数
return指令
示例:,如果访问的URL以.sh .bash 结尾,返回状态码403
location ~ .*\.(sh|bash)?$ { return 403; }
rewrite指令
实例:将访问/b跳转到/bbs目录上去:
location /b { autoindex on; alias /usr/local/nginx/html/redhat; rewrite ^/b/?$ /bbs permanent; } location /bbs { autoindex on; alias /usr/local/nginx/html/bbs; }
rewrite规则编写实例
1,将原来要访问/b的目录重写为/bbs
核心语句:
1,将原来要访问/b的目录重写为/bbs
核心语句:
3.防止盗链:
根据Referer信息防止盗链,代码如下:
4.实现域名跳转:location ~*\.(gif|jpg|png|swf|flv)${ valid_referers none blocked www.cheng.com*.test.com; if ($invalid_referer) rewrite ^/(.*) http://www.cheng.com/error.html }
0 0
- Nginx Rewrite规则初探
- Nginx Rewrite规则初探
- Nginx Rewrite规则初探
- Nginx Rewrite规则初探
- Nginx Rewrite规则初探
- Nginx Rewrite规则初探
- Nginx Rewrite规则初探
- nginx rewrite 表达式规则
- nginx rewrite规则
- nginx rewrite规则
- nginx rewrite规则语法
- Nginx Rewrite规则详解
- Nginx Rewrite规则认识
- nginx rewrite规则指南
- nginx rewrite规则语法
- Nginx Rewrite规则详解
- nginx rewrite规则简介
- Nginx Rewrite规则
- 关于缺陷报告
- wpf 关于鼠标换轮放大缩小只有120的问题
- Number of Digit One
- Java程序执行Linux命令
- iOS中各种动画分类
- Nginx Rewrite规则初探
- HDU 5480(前缀和||树状数组)
- hdu 5455__Fang Fang
- iBatis的增、删、查、改(执行通过)
- SQlite_3
- 安卓使用原生登录替代网页登录思路
- XML解析--NSXMLParser和TouchXML
- listview中嵌套gridview
- Effective Java 2nd 读书笔记(思维导图)