nginx rewrite重写与防盗链配置
nginx rewrite重写规则与防盗链配置方法
- 时间:2016-02-04 15:16:58来源:网络
nginx rewite 规则,官方文档:http://wiki.nginx.org/NginxHttpRewriteModule
nginx rewrite规则格式:rewrite regex replacement flag
flag标记有四种格式:
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302,相当于Apache中的R
permanent – 返回永久重定向的HTTP状态301,相当于Apache中的R=301
可以放在server, location 和 if 模块中。
匹配判断:
~ 为区分大小写匹配; !~为区分大小写不匹配
~* 为不区分大小写匹配;!~为不区分大小写不匹配
例如,设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:
rewrite ^(.*)$ /msie/$1 break;
}
附,常用nginx Rewrite 规则配置代码。
1、只使用一个网址,比如主力网址设为www.xfcodes.com。
rewrite ^/(.*)$ http://www.xfcodes.com/$1 permanent;
}
访问xfcodes.com时,会自动跳转到www.xfcodes.com。
2、防盗链
valid_referers none blocked xfcodes.com dgjs123.com;
if ($invalid_referer) {
return 403;
}
}
盗链时则返回403错误,允许的域名可以直接跟在第二行的域名后面。
3、WordPress的Rewrite
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
目前,代码收藏上就是使用的这段代码。
4.bo-blog在nginx下nginx rewrite 规则
if (!-e $request_filename) {
rewrite ^/post/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?entryid=$1&page=$2&part=$3 last;
rewrite ^/page/([0-9]+)/([0-9]+)/?$ /index.php?mode=$1&page=$2 last;
rewrite ^/starred/([0-9]+)/?([0-9]+)?/?$ /star.php?mode=$1&page=$2 last;
rewrite ^/category/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=category_$1&mode=$2&page=$3 last;
rewrite ^/archiver/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=archive&cm=$1&cy=$2&mode=$3&page=$4 last;
rewrite ^/date/([0-9]+)/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=showday_$1-$2-$3&mode=$4&page=$5 last;
rewrite ^/user/([0-9]+)/?$ /view.php?go=user_$1 last;
rewrite ^/tags/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /tag.php?tag=$1&mode=$2&page=$3 last;
rewrite ^/component/id/([0-9]+)/?$ /page.php?pageid=$1 last;
rewrite ^/component/([^/]+)/?$ /page.php?pagealias=$1 last;
#Force redirection for old rules
rewrite ^/read\.php/([0-9]+)\.htm$ http://$host/post/$1/ permanent;
rewrite ^/post/([0-9]+)\.htm$ http://$host/post/$1/ permanent;
rewrite ^/post/([0-9]+)\_([0-9]+)\.htm$ http://$host/post/$1/$2/ permanent;
rewrite ^/post/([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/post/$1/$2/$3/ permanent;
rewrite ^/index\_([0-9]+)\_([0-9]+)\.htm$ http://$host/page/$1/$2/ permanent;
rewrite ^/star\_([0-9]+)\_([0-9]+)\.htm$ http://$host/starred/$1/$2/ permanent;
rewrite ^/category\_([0-9]+)\.htm$ http://$host/category/$1/ permanent;
rewrite ^/category\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/category/$1/$2/$3/ permanent;
rewrite ^/archive\_([0-9]+)\_([0-9]+)\.htm$ http://$host/archiver/$1/$2/ permanent;
rewrite ^/archive\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/archiver/$1/$2/$3/$4/ permanent;
rewrite ^/showday\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/date/$1/$2/$3/ permanent;
rewrite ^/showday\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/date/$1/$2/$3/$4/$5/ permanent;
#Filename alias
rewrite ^/([a-zA-Z0-9_-]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?blogalias=$1&page=$2&part=$3 last;
}
nginx rewrite重写与防盗链配置相关推荐
- nginx利用referer指令实现防盗链配置
nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求,我们应该牢记.下面这篇文章主要介绍了nginx利用referer指令实现防盗链配置的相关资料,需要的朋友可以 ...
- Nginx跨域配置、防盗链配置
跨域配置 当出现403跨域错误的时候No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Ng ...
- Nginx的rewrite案例之防盗链
防盗链 防盗链之前我们已经介绍过了相关的知识,在rewrite中的防盗链和之前将的原理其实都是一样的,只不过通过rewrite可以将防盗链的功能进行完善下,当出现防盗链的情况,我们可以使用rewrit ...
- Nginx网页优化及防盗链__gw
Nginx网页优化及防盗链 Nginx服务优化 配置Nginx隐藏版本号 方法一 方法二 修改nginx用户和组 网页缓存时间 Nginx的日志分割 编写日志分割脚本 制作任务计划 链接超时 更改Ng ...
- apache配置反向代理以及实现url重写,防盗链
反向代理配置: 在apache配置文件中加上这一句 反向代理google(已测试) 安装mod_ssl模块:yum -y install mod_ssl 实现url重写: 在apache配置文件中加上 ...
- Nginx 之防盗链配置
1.http referer 是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理, locat ...
- Nginx 服务优化与防盗链
文章目录 一.隐藏版本号 1.1 隐藏版本号的操作步骤(理论) 1.2 隐藏版本号的实验具体步骤(实操) 1.3 修改用户与组 二.缓存时间 2.1缓存时间的操作步骤(理论) 2.2 缓存时间的实验具 ...
- SRS 对接GB28181 token防盗链配置
token防盗链:用户在播放时,必须先申请token,SRS会回调http检查这个token合法性. # push gb28181 stream to SRS.listen 1935; max_con ...
- Nginx rewrite ——重写跳转
目录 一.Nginx常见模块 二.常用的Nginx正则表达式 三.local概述 3.1 local分类 3.2 local 常用的匹配规则 3.3 local 优先级 3.4 location 示例 ...
最新文章
- 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?
- 当超级智能崛起时……
- 当周期信号的频率趋向无穷时,它将消失
- 【JEECG技术文档】JEECG高级查询构造器使用说明
- Vue 父子组件间的通信
- 产线数字化软件源码_品质笔记⑥丨卢宇聪:把握数字化趋势,坚定创新发展道路...
- No valid Qt version set. Set one in Tools/Options 问题(QT)
- AngularJS控制器和AngularJS过滤器的学习(3)
- python 代码片段24
- wpsppt放映时间_利用WPS演示制作PPT计时器的两种方法
- JavaScript 打开新页面
- 雪球网 json 获取
- Axure实战案例——页面设计
- 简单了解cri,runtimes,CRI,shim
- html怎样分级显示,小技巧之分级显示详解
- 我们跟8个程序员聊了一晚上,攒齐了来自BAT的吐槽
- openwrt 认证收费_在OpenWrt中安装Wiwiz实现portal认证
- java书号属性,基于Java的ISBN书号查询示例代码-六派数据
- 使用EEGLAB函数处理自己的脑电数据流程及代码
- 数学计算机软件课程,《数学软件》课程教学大纲.doc
热门文章
- AI如果耍起了心眼,人类就像个白痴......
- 想知道人工智能的发展史?看完这篇文章你会赞叹科技的力量!
- 使用元学习和推理改善您的模型!
- tar命令使用方法以及.tar.gz文件和.zip文件
- 区块链架构下 智慧城市发展加速
- 未来趋势?通过无线技术管理汽车电池,可消除90%物理布线
- 牛津大学名誉教授Colin Blakemore:大脑是如何计算的?
- 物理学走到尽头了吗?
- Facebook数字货币凸显硅谷雄心:打造全球金融操作系统
- 国际基因编辑科技发展报告