十四、Nginx--rewrite规则
1、概念
Nginx的rewrite功能需要pcre软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。 默认参数编译nginx就会支持rewrite的模块,但是也必须要pcre的支持。
rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。
2、语法
rewrite <regex> <replacement> [flag];正则 替代内容 flag标记
正则:perl兼容正则表达式语句进行规则匹配
替代内容:将正则匹配的内容替换成replacement
flag标记:rewrite支持的flag标记
# flag标记说明:
last #本条规则匹配完成终止当前location的规则,继续向下匹配新的location URI规则
break #本条规则匹配完成即终止,不再匹配后面的任何规则
redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
3、实例
3.1 域名跳转
方案一:
server {listen 80;server_name cluo.com; rewrite ^/(.*)$ http://www.cluo.com/$1 permanent; }
server { listen 80; server_name www.cluo.com; location / {root /data/www/; index index.html index.htm; }
}方案二:
server {listen 80; server_name www.cluo.com cluo.com;if ( $host != 'www.cluo.com' ) {rewrite ^/(.*)$ http://www.cluo.com/$1 permanent; } location / {root /data/www/; index index.html index.htm; }
}#本地hosts解析配置:
10.0.0.130 www.cluo.com cluo.com
3.2 根据浏览器语言跳转
# 根据浏览器的语言跳转到指定url:
server {listen 80; server_name cluo.com www.cluo.com; root /usr/share/nginx/html/test; index index.html; if ( $http_accept_language ~ "zh" ) {rewrite ^/$ /zh; } if ( $http_accept_language ~ "en" ) {rewrite ^/$ /en; } location / { } }mkdir -p /usr/share/nginx/html/test/zh
mkdir -p /usr/share/nginx/html/test/enecho "this is 中文 " > /usr/share/nginx/html/test/zh/index.html
echo "this is English " > /usr/share/nginx/html/test/en/index.html
3.3 根据终端类型跳转
server {listen 80; server_name cluo.com www.cluo.com; root /usr/share/nginx/html/test; if ( $http_user_agent ~* "iphone|android" ) {rewrite ^/(.*)$ http://m.cluo.com/$1; } index index.html; } server {listen 80; server_name m.cluo.com; root /data/www/m; index index.html; location / {default_type text/html; return 200 "this is iphone|android html"; }}
3.4 实现错误页面返回首页
error_page 404 =200 /index.html;
十四、Nginx--rewrite规则相关推荐
- Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)...
一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...
- nginx rewrite规则语法
在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑 ...
- nginx rewrite规则语法(关于break和last分析得很好)
在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑 ...
- 运维之道 | Nginx rewrite 规则详解
Nginx rewrite 规则详解 一.rewrite规则概念 rewirte 规则也称为规则重写,主要功能是实现浏览器访问 HTTP URL 的跳转,其正则表达式是基于 Perl 语言.通常而言, ...
- nginx Rewrite 规则
一:nginx Rewrite 规则 1:rewrite的概念: Nginx Rewrite功能是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现URL重写以及重定向功能.R ...
- Nginx rewrite规则
目录: rewrite概念 rewrite示例 rewrite概念 Rewirte 规则也称为规则重写,主要功能是实现浏览器访问 HTTP URL 的跳转,其正则表达式是基于 Perl 语言.通常而言 ...
- Nginx rewrite 规则详解
Nginx rewrite规则详解 rewire规则也称为规则重写,主要功能是实现浏览器访问 Http Uri的跳转,其正则表达式是基于Perl语言.通常而言,几乎所有的Web服务器均可以支持URL重 ...
- nginx rewrite规则指南
nginx rewrite规则指南 任何重写规则的第一部分都是一个正则表达式 可以使用括号来捕获,后续可以根据位置来将其引用,位置变量值取决于捕获正则表达式中的顺序,1引用第一个括号中的值,1引用第一 ...
- Nginx rewrite规则实现http跳转到https及301永久重定向
Nginx rewrite规则实现http跳转到https及301永久重定向 环境准备: [root@ubuntu1804 ~]#curl https://linux2022.com -Ik HTTP ...
- Nginx—— Rewrite规则的使用
一.使用场景 1.URL访问跳转 (1)页面跳转 (2)兼容性支持(比如新老版本交替时,给老版本一条访问道路) (3)展示效果(比如缩短前台界面的地址栏的url,增强用户体验) 2.SEO优化 谷歌和 ...
最新文章
- Java项目:人力管理系统(java+Gui+文档)
- socket 995 错误 boost
- 关于Map的key值的问题
- python将二维列表内容写入和读取.csv文件
- visual studio 2019创建项目报错:对com组件的调用返回了错误hresult_fail(未解决)
- Apollo进阶课程㊳丨Apollo平台的快速入门
- ACM国际编程大赛夺冠,李现和他的队员们一定把这8本书翻烂了
- 如何在windows下安装Python(Python入门教程)
- redis 槽点重新分配 集群_弄懂一致性哈希后我打通了redis分区集群的原理
- 中移4G模块-ML302-OpenCpu开发-前端网页搭建
- 添加库文件_PLC|教你把 Micro/WIN 的库文件导入到 Micro/WIN SMART 中
- android使用greedao踩坑日记
- Nancy之静态文件处理
- java反编译 编译_5个最佳Java反编译器
- javascript优缺点
- 1024人工智能和大数据应用高峰论坛
- c++超级简单的计算器
- L1-027 出租 (20 分) java
- java和scala代码可以混合编写吗_Scala字符串插值的妙用,以及java+scala混合编程
- Mysql窗口函数 (知识点梳理+题目解析+面试实战)(四万字长文,一文读懂,建议收藏后食用)
热门文章
- 该设备正在使用中。请关闭可能使用该设备的所有程序或窗口,然后重试。
- (创建型)2、原型模式(返回原对象的克隆体,不直接返回原对象)
- 【计算机网络】计算机网络核心知识点
- 在灰度图像上进行Mean Shift迭代搜索目标 ,一维加权直方图 + 巴氏系数 + Mean Shift迭代
- echarts 折线图设置曲线平滑
- GateWay坑——context-path
- 震惊:竟然有大神做出了地府后台管理系统!!!
- c语言中mul的用法,MUL指令(无符号数的乘法指令)
- 《高质量C/C++编程指南》摘要
- 史上最严数据保护条例欧盟GDPR今日生效,你可能需要这版中文全文(下)