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规则相关推荐

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

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

  2. nginx rewrite规则语法

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

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

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

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

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

  5. nginx Rewrite 规则

    一:nginx  Rewrite 规则 1:rewrite的概念: Nginx Rewrite功能是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现URL重写以及重定向功能.R ...

  6. Nginx rewrite规则

    目录: rewrite概念 rewrite示例 rewrite概念 Rewirte 规则也称为规则重写,主要功能是实现浏览器访问 HTTP URL 的跳转,其正则表达式是基于 Perl 语言.通常而言 ...

  7. Nginx rewrite 规则详解

    Nginx rewrite规则详解 rewire规则也称为规则重写,主要功能是实现浏览器访问 Http Uri的跳转,其正则表达式是基于Perl语言.通常而言,几乎所有的Web服务器均可以支持URL重 ...

  8. nginx rewrite规则指南

    nginx rewrite规则指南 任何重写规则的第一部分都是一个正则表达式 可以使用括号来捕获,后续可以根据位置来将其引用,位置变量值取决于捕获正则表达式中的顺序,1引用第一个括号中的值,1引用第一 ...

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

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

  10. Nginx—— Rewrite规则的使用

    一.使用场景 1.URL访问跳转 (1)页面跳转 (2)兼容性支持(比如新老版本交替时,给老版本一条访问道路) (3)展示效果(比如缩短前台界面的地址栏的url,增强用户体验) 2.SEO优化 谷歌和 ...

最新文章

  1. Java项目:人力管理系统(java+Gui+文档)
  2. socket 995 错误 boost
  3. 关于Map的key值的问题
  4. python将二维列表内容写入和读取.csv文件
  5. visual studio 2019创建项目报错:对com组件的调用返回了错误hresult_fail(未解决)
  6. Apollo进阶课程㊳丨Apollo平台的快速入门
  7. ACM国际编程大赛夺冠,李现和他的队员们一定把这8本书翻烂了
  8. 如何在windows下安装Python(Python入门教程)
  9. redis 槽点重新分配 集群_弄懂一致性哈希后我打通了redis分区集群的原理
  10. 中移4G模块-ML302-OpenCpu开发-前端网页搭建
  11. 添加库文件_PLC|教你把 Micro/WIN 的库文件导入到 Micro/WIN SMART 中
  12. android使用greedao踩坑日记
  13. Nancy之静态文件处理
  14. java反编译 编译_5个最佳Java反编译器
  15. javascript优缺点
  16. 1024人工智能和大数据应用高峰论坛
  17. c++超级简单的计算器
  18. L1-027 出租 (20 分) java
  19. java和scala代码可以混合编写吗_Scala字符串插值的妙用,以及java+scala混合编程
  20. Mysql窗口函数 (知识点梳理+题目解析+面试实战)(四万字长文,一文读懂,建议收藏后食用)

热门文章

  1. 该设备正在使用中。请关闭可能使用该设备的所有程序或窗口,然后重试。
  2. (创建型)2、原型模式(返回原对象的克隆体,不直接返回原对象)
  3. 【计算机网络】计算机网络核心知识点
  4. 在灰度图像上进行Mean Shift迭代搜索目标 ,一维加权直方图 + 巴氏系数 + Mean Shift迭代
  5. echarts 折线图设置曲线平滑
  6. GateWay坑——context-path
  7. 震惊:竟然有大神做出了地府后台管理系统!!!
  8. c语言中mul的用法,MUL指令(无符号数的乘法指令)
  9. 《高质量C/C++编程指南》摘要
  10. 史上最严数据保护条例欧盟GDPR今日生效,你可能需要这版中文全文(下)