`
wdhdmx
  • 浏览: 304493 次
  • 性别: Icon_minigender_1
  • 来自: 山西
博客专栏
D4bbb5f7-9aa4-3e66-8194-f61b3f0241c2
天天编程
浏览量:21978
社区版块
存档分类
最新评论

nginx学习笔记(二)rewrite学习

 
阅读更多

rewrite是通过正则表达式来改变uri的功能,如何重定向和选择配置文件,是由变量决定的

       如果这个指令在server层级,那么它将在请求的location被确定之前就被执行。如果在那个location中,也设定了rewrite指令,那么指令仍旧会执行。如果location内部的rewrite指令执行后,uri改变了,那么新的uri的location会被重新计算,这个循环执行10次,nginx就会返回错误500.

       首先要说一下主要的几个正则表达式

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

 

 

作用:
1.一些动态的URL伪装成静态html,便于搜索引擎抓取。
2.一些旧的链接要进行更新兼容。

指令:
if rewrite set return break;

标识:
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302 ,浏览器会显示跳转后的URL地址
permanent – 返回永久重定向的HTTP状态301 ,浏览器会显示跳转后的URL地址

实例:

将旧的php请求不同的转发

server{
	listen		8011;
	server_name gg.xxx.com 127.0.0.1;
	#匹配带有这些字符的URL请求
	location ~ /gg/client/client_gg.php {
			#转发到go.do,参数会自动附加
			rewrite ^(.*)$ http://gg.xxx.com:81/go.do last;
  }
	#下面的是广告,跳转到www主站
	location ~ /gg/gg_go\.php {
			#直接跳转www主站,不会附加参数
			return  http://www.xxx.com/ ;
  }
}
 
分享到:
评论

相关推荐

    nginx学习笔记.zip

    **Nginx学习笔记概述** Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器。它以其稳定性、高性能以及丰富的模块配置而受到广泛赞誉,常用于网站的负载均衡、静态文件处理和SSL加密等场景。本学习...

    nginx学习笔记及相关资料

    "nginx学习笔记及相关资料"这个压缩包中可能包含了关于Nginx的配置示例、教程文档、实战案例等,帮助学习者深入理解Nginx的工作原理,掌握配置和管理技巧,提升解决实际问题的能力。 总之,Nginx是一个强大且灵活的...

    Nginx笔记快速上手

    - Nginx支持URL重写,通过`rewrite`指令实现。这在实现SEO友好URL或者内部路径转换时非常有用。 - 使用`break`、`last`、`redirect`等标志控制重写规则的执行流程。 6. **访问控制** - 可以通过`allow`和`deny`...

    nginx进阶vip - 第二课笔记1

    总之,本篇笔记涵盖了Nginx进程管理、虚拟主机配置、URL路由和重写规则,以及基础的负载均衡设置,这些都是Nginx进阶学习中的关键知识点。掌握这些技能,能够帮助我们更好地管理和优化Nginx服务器,提升网站性能和...

    nginx教程.doc

    教程中还包含了学习笔记和参考资料,可以帮助读者更好地理解和应用所学知识。建议对Nginx感兴趣的运维和网管人员下载学习,提升自己的技能水平。获取教程,请访问:[http://pan.baidu.com/s/1miopi9y]...

    Nginx高性能Web服务器详解-123

    在"《Nginx高性能Web服务器详解-123》"这份文档中,我们可以期待深入学习Nginx的核心特性和实际应用场景。 1. **Nginx架构** Nginx采用事件驱动模型和异步非阻塞I/O,这使得它在处理大量并发请求时表现优异。它的...

    笔记资料.zip

    这份"笔记资料.zip"包含了作者在学习Java和Nginx过程中积累的知识点,旨在分享和帮助其他学习者。 首先,Java是一种面向对象的、跨平台的编程语言,它的广泛应用得益于其稳定性和强大的生态系统。Java的学习通常从...

    第三次课程笔记1

    【Nginx 知识点详解】 Nginx 是一款高性能的反向代理服务器,常用于网站的负载均衡和静态资源...通过上述内容的学习,我们可以掌握Nginx的基本操作和高级特性,将其应用于实际的项目中,提高服务器的性能和可靠性。

    CI框架学习笔记(一) - 环境安装、基本术语和框架流程

    以上就是CI框架学习笔记(一)中涉及的主要知识点,包括环境安装、基本术语以及框架流程。了解这些知识是学习CI框架,进行Web应用开发的基础。随着学习的深入,还有更多的高级特性和最佳实践需要掌握。

    老男孩 运维笔记.pdf下载 高清完整版

    页面重定向、rewrite规则配置以及安全设置是Apache配置中的高级话题。Web日志分析对于了解网站的访问量、用户行为等非常有用。 ### MySQL数据库 MySQL是一个流行的开源关系型数据库管理系统,广泛应用于网站和应用...

    马哥LAMP笔记

    **LAMP架构详解** ...在这个“马哥LAMP笔记”中..."马哥lamp视频笔记"可能包含了上述过程的详细步骤和注意事项,对于学习和实践LAMP环境搭建是非常有价值的资源。在实践中遇到问题时,查阅这些笔记可以帮助快速解决问题。

    老男孩linux运维课程笔记

    通过对上述知识点的学习,可以深入了解Linux运维中的各种优化技术和工具,掌握如何提高系统的安全性、稳定性和性能。同时,也能更好地理解和运用如rsync、Nginx、Apache和MySQL等关键组件和服务,为构建高效可靠的IT...

    【免费】ThinkPHP3.1.2经典笔记

    ### ThinkPHP3.1.2经典笔记知识点详解 #### 一、ThinkPHP 框架简介 ##### 1.1 ThinkPHP 概述 - **ThinkPHP** 是一个开源的 PHP 开发框架,旨在简化 Web 应用程序的开发过程。它采用 MVC (Model-View-Controller) ...

Global site tag (gtag.js) - Google Analytics