wordpress视频网站用什么播放器,wordpress 禁用 提示,访问国外网站速度慢,上海微网站公司目录 一、rewrite概述
1、rewrite功能
2、跳转场景
二、标准配置指令
1、rewrite日志记录指令
2、未初始化变量告警日志记录指令
3、rewrite 指令
3.1 正则表达式
三、rewrite模块使用实例
1.基于域名的跳转 一、rewrite概述
1、rewrite功能
访问重写 rewrite 是 …目录 一、rewrite概述
1、rewrite功能
2、跳转场景
二、标准配置指令
1、rewrite日志记录指令
2、未初始化变量告警日志记录指令
3、rewrite 指令
3.1 正则表达式
三、rewrite模块使用实例
1.基于域名的跳转 一、rewrite概述
1、rewrite功能
访问重写 rewrite 是 Nginx HTTP 请求处理过程中的一个重要功能它是以模块的形式存在于代码中的其功能是对用户请求的 URI 进行 PCRE 正则重写然后返回 30× 重定向跳转或按条件执行相关配置。
Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求此功能依靠 PCRE(perl compatible regular expression)因此编译之前要安装PCRE库rewrite是nginx服务器的重要功能之一用于实现URL的重写URL的重写是非常有用的功能比如它可以在我们改变网站结构之后不需要客户端修改原来的书签也无需其他网站修改我们的链接就可以设置为自动访问另外还可以在一定程度上提高网站的安全性。
2、跳转场景
Rewrite 跳转场景主要包括以下几种
可以调整用户浏览的 URL看起来更规范合乎开发及产品人员的需求为了让搜索引擎搜录网站内容及用户体验更好企业会将动态 URL 地址伪装成静态地址提供服务网址换新域名后让旧的访问跳转到新的域名上。例如访问京东的 360buy.com会跳转到 jd.com根据特殊变量、目录、客户端的信息进行 URL 调整等。
二、标准配置指令
1、rewrite日志记录指令
名称rewrite 日志记录指令指令rewrite_log作用域http, server, location默认值off指令值选项on 或 off指令说明当指令值为 on 时rewrite 的执行结果会以 notice 级别记录到 Nginx 的 error 日志文件中 配置样例如下
http {rewrite_log off;
}
2、未初始化变量告警日志记录指令
名称 未初始化变量告警日志记录指令指令uninitialized_variable_warn作用域http, server, location默认值on指令值选项on 或 off指令说明指令值为 on 时会将未初始化的变量告警记录到日志中 配置样例如下
http {uninitialized_variable_warn off;
}
3、rewrite 指令
通过正则表达式的匹配来改变URI可以同时存在一个或多个指令按照顺序依次对URI进行匹配rewrite主要是针对用户请求的URL或者是URI做具体处理
名称rewrite 指令指令rewrite作用域server, locationif默认值on指令值选项on 或 off指令说明对用户的 URI 用正则表达式的方式进行重写并跳转到新的 URI 配置样例如下
http {rewrite ^/users/(.*)$ /show?user$1 last;
}
rewrite 访问重写是通过 rewrite 指令实现的rewrite 指令的语法格式如下
rewrite regex replacement [flag];
注意
1) regex 是 PCRE 语法格式的正则表达式。
2) replacement 是重写 URI 的改写规则。当改写规则以http://https://或$scheme开头时Nginx 重写该语句后将停止执行后续任务并将改写后的 URI 跳转返回客户端。
3) flag 是执行该条重写指令后的操作控制符。操作控制符有如下 4 种
last执行完当前重写规则跳转到新的 URI 后继续执行后续操作break执行完当前重写规则跳转到新的 URI 后不再执行后续操作。不影响用户浏览器 URI 显示redirect返回响应状态码 302 的临时重定向返回内容是重定向 URI 的内容但浏览器网址仍为请求时的 URIpermanent返回响应状态码 301 的永久重定向返回内容是重定向 URI 的内容浏览器网址变为重定向的 URI。
rewrite将用户请求的URI基于regex所描述的模式进行检查匹配到时将其替换为表达式指定的新的URI。如果在同一级配置块中存在多个rewrite规则那么会自下而下逐个检查;被某条件规则替换完成后会重新一轮的替换检查隐含有循环机制,但不超过10次;如果超过提示500响应码[flag]所表示的标志位用于控制此循环机制如果替换后的URL是以http://或https://开头则替换结果会直接以重定向返回给客户端, 即永久重定向 301
3.1 正则表达式
符号功能描述. 匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字 [0-9] \b匹配单词的开始或结束^匹配字付串的开始$匹配字符串的结束*匹配重复零次或更多次匹配重复一次或更多次?匹配重复零次或一次(n)匹配重复n次{n,}匹配重复n次或更多次{n,m}匹配重复n到m次*?匹配重复任意次但尽可能少重复? 匹配重复1次或更多次但尽可能少重复?? 匹配重复0次或1次但尽可能少重复{n,m}?匹配重复n到m次但尽可能少重复{n,}?匹配重复n次以上但尽可能少重复\W匹配任意不是字母数字下划线汉字的字符\S匹配任意不是空白符的字符\D匹配任意非数字的字符\B匹配不是单词开头或结束的位置[^x]匹配除了x以外的任意字符[^kgc]匹配除了kgc 这几个字母以外的任意字符
三、rewrite模块使用实例
1.基于域名的跳转
现在公司旧域名www.jiu.com有业务需求变更需要使用新域名www.xin.com代替但是旧域名不能废除需要跳转到新域名上而且后面的参数保持不变。 第一步修改主配置文件 vim /usr/local/nginx/conf/nginx.conf
server {listen 80;server_name www.jiu.com; #域名修改 charset utf-8;access_log /var/log/nginx/www.jiu.com-access.log; #日志修改location / { #添加域名重定向if ($host www.jiu.com){ #$host为rewrite全局变量代表请求主机头字段或主机名rewrite ^/(.*)$ http://www.xin.com/$1 permanent; #$1为正则匹配的内容即域名后边的字符串}root html;index index.html index.htm;}
}
第二步创建所需目录与文件
#创建日志文件夹检查语法
mkdir -p /var/log/nginx
nginx -t#创建网页test目录与文件1.html
mkdir -p /usr/local/nginx/html/test
vim /usr/local/nginx/html/test/1.html
------------------------------------------
h1 font colorred
Here is the content of test
img src1.jpg/
/h1
-------------------------------------------#上传1.jpg图片文件
cd /usr/local/nginx/html/test
rz -E 第三步添加域名与IP地址映射关系 第四步网页验证
#打开浏览器输入
www.jiu.com/test/1.html会发现重定向到www.xin.com/test/1.html