当前位置:首页 > 技术文章 > 正文内容

nginx基础知识之rewrite正则表达式

arlanguage3个月前 (01-31)技术文章17

rewrite ^/b/(.*)\.html /play.php?video=$1 break;

其中^匹配输入字符串的开始位置

.匹配除去\n之外的任何单个字符,*匹配前面字符的零次或者多次。

(.*)\.html 代表匹配所有的html网页。

$1取的是前面规则(.*)中匹配的字符串。

break是flag标记,本条规则匹配完成即终止,不再继续匹配后面的任何规则。

----我是华丽的分隔线-------

if(!-f $request_filename)

{

rewrite ^/img/(.*)$ /site/$host/images/$1 last;

}

!-f $request_filename 如果当前请求的资源文件路径不存在,那么执行rewrite重定向语句。

在nginx rewrite中,如果使用小括号(),那么在小括号之间的内容,可以在后面通过$1去引用。

rewrite ^/img/(.*)$ 就是把/img/以后的所有部分,当做了一组。$1就是重写的目标路径,这里用$1引用了前面正则表达式匹配的分组,即/img/后面的所有。这样的新路径就是除去/img/以外的所有,就达到了去除/img/前缀的目的。

last在重写路径结束以后,将得到了的路径重新进行一次路径匹配。

----我是华丽的分隔线----

break:遇到break就跳出,后面的语句不再执行。break的作用是完成当前的规则集,不再处理rewrite指令。

----我是华丽的分隔线----

if ($slow) {

limit_rate 10k;

break;

}

limit_rate限制向客户端传输响应的速率,用每秒字节数指定rate速率,0值禁用速率限制。

当重定向rewrite规则中有break时,不再执行break以下的rewrite规则。

但是当配置文件中有location 时,它还会去执行location{}段的配置,请求要去匹配这个location。

---我是华丽的分隔线-------

if( $http_user_agent ~ MSIE) {

rewrite ^(.*)$ /msie/$1 break;

}

如果“UA”包含MSIE,那么rewrite请求到/msie/目录下。

当请求中的User-Agent中包含MSIE时(~表示区分大小写)时,rewrite请求到/msie/$1 目录下,$1表示匹配到的URI。

如果客户端的浏览器为微软Microsoft IE浏览器,则rewrite请求到/msie/目录下。设置用户在使用IE浏览器的时候,去rewrite重定向到/msie/的目录下。

---我是华丽的分割线。

鼓励的话语:人要互相尊重,你敬我一尺,我还你一丈。小事情,却是大道理!

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1575.html

分享给朋友:

“nginx基础知识之rewrite正则表达式” 的相关文章

PHP nginx配置 配置nginx支持php

在配置 PHP 和 nginx 以运行 PHP 应用程序时,您需要进行以下步骤:安装 nginx 和 PHP:如果您的系统上尚未安装 nginx 和 PHP,请根据您的操作系统的说明来安装它们。配置 nginx:您需要为 PHP 应用程序创建 nginx 服务器配置。您可以使用以下代码作为模板:ph...

Nginx如何实现四层负载均衡

静态负载均衡Nginx的四层静态负载均衡需要启用ngx_stream_core_module模块,默认情况下,ngx_stream_core_module是没有启用的,需要在安装Nginx时,添加--with-stream配置参数启用,如下所示。./configure --prefix=/usr/l...

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

一、简介对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分。这时候需要对于单个IP恶意攻击做出限流。nginx的两个模块可以限流。nginx两个限流模块:连接频率限制,ngx_http_lim...

php手把手教你做网站(二十四)jquery ajax上传大的附件

上传大的附件分为两种情况,可以改变服务器配置;不能改变配置;第2种使用分片上传优势:可以突破服务器上传大小的限制,可以web存储上传到哪一块了,在浏览器关闭或者刷新的情况下可以断点续传;劣势:上传速度慢,在我本地电脑测试,200M的文件,改变配置按照正常方式上传大约需要12到15秒,但是使用第2种分...

09《Nginx 入门教程》Nginx 的 Http 模块介绍(下)

本小节,我们将主要介绍 Nginx 中 Http 请求 11 个阶段中的最后几个重要的阶段以及相关的模块,并演示其用法。1. try_files 阶段这个阶段又称为 precontent 阶段,是 content 阶段的前置处理阶段,该阶段主要介入的模块是 ngx_http_try_files_mo...

Nginx 的性能调优: 从入门到精通

Nginx 是一种高效的 Web 服务器和反向代理,广泛应用于互联网中。通过性能调优,Nginx 可以进一步提高其服务质量和性能。本文将从入门到精通,介绍 Nginx 性能调优的方法和技巧。一、什么是 Nginx?Nginx 是一种开源的 Web 服务器和反向代理软件,由 Igor Sysoev 创...