Nginx rewrite 规则 与 proxy_pass 实现 (持续更新ing.....)
2013-03-26 15:20
316 查看
Nginx rewrite 规则 与 proxy_pass 实现
------------------------------------------------------------------------------------------------------~ 大小写敏感匹配 ~* 大小写不敏感匹配 !~ 大小写敏感不匹配 !~* 大小写不敏感不匹配-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------f 检测文件存在-d 检测目录存在-e 检测文件,目录或者符号链接存在-x 检测文件可执行------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------break – 停止rewrite检测,也就是说当含有break flag的rewrite语句被执行时,该语句就是rewrite的最终结果。last – 停止rewrite检测,但是跟break有本质的不同,last的语句不一定是最终结果。 redirect – 返回302临时重定向,一般用于重定向到完整的URL(包含http:部分) permanent – 返回301永久重定向,一般用于重定向到完整的URL(包含http:部分)------------------------------------------------------------------------------------------------------一些实际例子if($http_host = www.qq.com) { rewrite (.*) http://www.baidu.com$1 permanent; }// 如果请求的url是 www.qq.com 则永久重定向到 www.baidu.com
rewrite ^/([0-9]+).html$ /user/id=$1 last;// 如果 www.qq.com/user/id=123456 则显示为 www.qq.com/123456.html
location ^~ /qq/ { proxy_pass http://www.qq.com/; }//如果请求目录为 /qq/ 则代理到 www.qq.com 如果www.qq.com/qq/ 则代理到 www.qq.com
location ~ ^/data{ deny all; }// 禁止 data 目录下所有文件的请求
if (!-f $request_filename) { break; proxy_pass http://www.qq.com;}// 如果请求的文件名不存在 则代理到 www.qq.com
if (-d $request_filename){ rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;}// 如果请求的目录存在 则自动增加 / 符号
禁止访问 /svn/ git cvs 这几个目录...防止 svn 文件下载··源码泄漏
location ~ .*\.(svn|git|cvs)
{
deny all;
}
------------------------------------------------------------------------------------------------------~ 大小写敏感匹配 ~* 大小写不敏感匹配 !~ 大小写敏感不匹配 !~* 大小写不敏感不匹配-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------f 检测文件存在-d 检测目录存在-e 检测文件,目录或者符号链接存在-x 检测文件可执行------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------break – 停止rewrite检测,也就是说当含有break flag的rewrite语句被执行时,该语句就是rewrite的最终结果。last – 停止rewrite检测,但是跟break有本质的不同,last的语句不一定是最终结果。 redirect – 返回302临时重定向,一般用于重定向到完整的URL(包含http:部分) permanent – 返回301永久重定向,一般用于重定向到完整的URL(包含http:部分)------------------------------------------------------------------------------------------------------一些实际例子if($http_host = www.qq.com) { rewrite (.*) http://www.baidu.com$1 permanent; }// 如果请求的url是 www.qq.com 则永久重定向到 www.baidu.com
rewrite ^/([0-9]+).html$ /user/id=$1 last;// 如果 www.qq.com/user/id=123456 则显示为 www.qq.com/123456.html
location ^~ /qq/ { proxy_pass http://www.qq.com/; }//如果请求目录为 /qq/ 则代理到 www.qq.com 如果www.qq.com/qq/ 则代理到 www.qq.com
location ~ ^/data{ deny all; }// 禁止 data 目录下所有文件的请求
if (!-f $request_filename) { break; proxy_pass http://www.qq.com;}// 如果请求的文件名不存在 则代理到 www.qq.com
if (-d $request_filename){ rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;}// 如果请求的目录存在 则自动增加 / 符号
禁止访问 /svn/ git cvs 这几个目录...防止 svn 文件下载··源码泄漏
location ~ .*\.(svn|git|cvs)
{
deny all;
}
相关文章推荐
- Nginx rewrite 规则 与 proxy_pass 实现
- 十种经典的排序算法C#实现(持续更新ing)
- Nginx之 proxy_pass实现代理 小记
- 使用vue开发微信公众号总结(持续更新ing)
- 测试思考[持续更新ing]
- opencv各个版本更新内容(持续更新ing)
- Tab 实现知多少,?你所知道有多少 你都知道吗( 持续更新中。。。。。。)?
- 查漏补缺,持续更新ing...
- 大白话strom——问题收集(持续更新ing)
- 《Redis设计与实现 黄建宏 著》阅读笔记目录(持续更新)
- 实现servlet的转发和读取Web应用中资源文件【持续更新】
- wireshark 过滤规则(持续更新...)
- 持续集成C++ 实践记(一) 实现定时更新、编译、发送报告
- Android Studio Windows PC 快捷键,持续更新ing~
- Java中有趣的事【集锦】持续更新ing
- wince系统运行中如何实现更新flash中的NK.BIN?持续探讨,欢迎关注
- adaboost 算法在实现中的一些问题以及解决方法(持续更新)
- [原创]标记下Kendo使用中的问题, 持续更新中ing.....
- 好书推荐(持续更新ing)
- Tripadvisor 面经解答 -持续更新ing