nginx重定向规则的入门实例

时间:2015-12-17 15:18:03来源:网络
导读:nginx重定向规则,Nginx的重定向模块HttpRewriteModule的用法说明,nginx重定向的IF条件判断等。

Nginx的重定向用到了Nginx的HttpRewriteModule。

使用:

rewrite命令

nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下:
rewrite 正则表达式 替换目标 flag标记
flag标记可以用以下几种格式:
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301(301重定向)

例如下面这段设定nginx将某个目录下面的文件重定向到另一个目录,$2对应第二个括号(.*)中对应的字符串:

复制代码代码如下:
location /download/ {
rewrite ^(/download/.*)/m/(.*)\..*$ $1/nginx-rewrite/$2.gz break;
}

nginx重定向的IF条件判断

在server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种:
正则表达式
如:
匹配判断
~  为区分大小写匹配; !~为区分大小写不匹配
 ~* 为不区分大小写匹配;!~为不区分大小写不匹配
例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:

复制代码代码如下:
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /nginx-ie/$1 break;
}

文件和目录判断
  -f和!-f判断是否存在文件
 -d和!-d判断是否存在目录
 -e和!-e判断是否存在文件或目录
 -x和!-x判断文件是否可执行
例如下面设定nginx在文件和目录不存在的时候重定向:

复制代码代码如下:
if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}

return
返回http代码,例如设置nginx防盗链:

复制代码代码如下:
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.jefflei.com www.leizhenfang.com;
if ($invalid_referer) {
return 404;
}
}

set
设置nginx变量

原文链接: Jeff's Blog http://www.jefflei.com/post/1015.html

相关文章

  • nginx 301域名重定向的几种情况
  • nginx伪静态url重写规则与apache伪静态的区别
  • nginx中301重定向与子目录重定向的配置实例
  • nginx rewrite规则常用指令使用方法
  • nginx url自动加斜杠问题及301重定向
  • nginx rewrite语法规则的编写实例

nginx重定向规则入门相关推荐

  1. Nginx rewrite规则实现http跳转到https及301永久重定向

    Nginx rewrite规则实现http跳转到https及301永久重定向 环境准备: [root@ubuntu1804 ~]#curl https://linux2022.com -Ik HTTP ...

  2. 第二章 OpenResty(Nginx+Lua)开发入门

    Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动.关闭.重启 http://www.cnblogs.com/derekchen/archi ...

  3. Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  4. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)...

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  5. Nginx 极简入门教程

    Nginx 极简入门教程 基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP服务. Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第 ...

  6. nginx rewrite规则语法

    在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑 ...

  7. nginx rewrite规则语法(关于break和last分析得很好)

    在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑 ...

  8. nginx伪静态规则

    nginx伪静态规则 要将http://dede.com/index.php?t=3用伪静态规则改写成http://dede.com/t3.html,即可在nginx的conf/nginx.conf里 ...

  9. 运维之道 | Nginx rewrite 规则详解

    Nginx rewrite 规则详解 一.rewrite规则概念 rewirte 规则也称为规则重写,主要功能是实现浏览器访问 HTTP URL 的跳转,其正则表达式是基于 Perl 语言.通常而言, ...

最新文章

  1. 六年级小学python第四讲_python第四讲
  2. 同花顺函数API(转载)
  3. 齐博地方门户系统v5_社区团购小程序哪个好?-小猪V5社区团购系统,社区团购系统,社区团购小程序,专注社区团购系统研发...
  4. android透明视频教程,安卓透明教程(Android transparent tutorial).doc
  5. MapReduce入门
  6. JQuery对象与DOM对象的区别与转换
  7. 前端学习(173):格式化文本二
  8. bzoj1015 [JSOI2008]星球大战 并查集
  9. config parser 模块
  10. JMeter学习笔记(四)
  11. IF YOU HAVE A NEW LICENSE, PLEASE UPDATE IT
  12. java之classloader的对象层次关系
  13. 如何彻底卸载3dmax2020_3dmax卸载不干净如何解决_3dmax怎么彻底卸载干净
  14. 从罗马帝国精英军团/秦帝国军制谈iOS/Android
  15. 游戏视频录制用什么软件?这2款软件,用过都说好
  16. 华润微CS88M312单片机带ADC 的8位低功耗MCU
  17. SAP按库存生产在制品分析
  18. java map不区分KEY的大小写
  19. 苹果取消iPhone 13显示屏的维修限制,Face ID不再受影响
  20. Python+Vue计算机毕业设计教师绩效工资管理l1v8p(源码+程序+LW+部署)

热门文章

  1. 来自1976,Hinton写的第一篇论文火了:胶囊网络,是40年前的胶囊?
  2. 动物面部识别技术哪个强?奶牛鸡猪狗绵羊……
  3. OpenAI新研究:通过非监督学习提升NLP任务表现
  4. AI打《星际》被人类碾压?不,事情并没有这么简单
  5. 解决SpringBoot jar包太大的问题
  6. android开发学习——关于activity 和 fragment在toolbar上设置menu菜单
  7. 运营系统性能管理的重要性
  8. 最新.NET 5.0 C#6 MVC6 WCF5 NoSQL Azure开发120课视频
  9. 微软悬赏25万美元捉拿Conficker蠕虫作者
  10. Linux绝对战胜不了Windows系统