IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx rewrite(重写)【暂未完成(半成品)】 -> 正文阅读

[系统运维]Nginx rewrite(重写)【暂未完成(半成品)】

1、什么是 Nginx rewrite

和 Apache 等 Web 服务软件一样, Nginx rewrite 的主要功能也是实现 URL 地址重写。 Nginx 的 rewrite 规则需要 PCRE 软件的支持, 即通过 Perl 兼容正则表达式语法进行规则匹配。 前文在安装 Nginx 软件时就已经安装了这个 PCRE 软件, 同时也让 Nginx 支持了 rewrite 的功能, 默认参数编译时, Nginx 就会安装支持 rewrite 的模块,同时也必须要有 PCRE 软件的支持。

2、Nginx rewrite 语法

1)rewrite 指令语法

指令语法: rewrite regex replacement [flag];
默认值:none
应用位置: server、location、if

rewrite 是实现 URL 重写的关键指令,根据 regex (正则表达式)部分的内容,重定向到 replacement 部分,结尾是 flag 标记。
下面是一个简单的 URL rewrite 跳转的例子:

rewrite ^/(.* ) http://www.test.org/$1 permanent;  

在上述指令中,rewrite 为固定关键字,表示开启一条 rewrite 匹配规则,部分是 ^/(.*),这是一个正则表达式,表示匹配所有,匹配成功后跳转到 http://www.test.org/$1。这里的 $1 是取前面 regex 部分括号里的内容,结尾的 permanent; 是永久 301 重定向标记,即跳转到后面的http://www.test.org/$1地址上。

2)rewrite 指令结尾的 flag 标记说明

flag 标记符号说明
last本条规则匹配完成后, 继续向下匹配新的 location URI 规则
break本条规则匹配完成即终止, 不再匹配后面的任何规则
redirect返回 302 临时重定向, 浏览器地址栏会显示跳转后的 URL 地址
permanent返回 301 永久重定向, 浏览器地址栏会显示跳转后的 URL 地址

3)Nginx rewrite 的企业应用场景

  • 可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求。
  • 为了让搜索引擎搜录网站内容及用户体验更好,企业会将动态URL地址伪装成静态地址提供服务。
  • 网址换新域名后,让旧的访问跳转到新的域名上。例如,访问京东的360buy.com会跳转到jd.com
  • 根据特殊变量、目录、客户端的信息进行URL调整等

实例1:如果访问不存在的任意网页都重定向到错误页面

location / {
      root  html;
      index  index.html index.htm;

      if (!-f $request_filename) {
        rewrite /.* /err.html permanent; (permanent表示永久的重定向到这个页面)
}

实例2:为某个目录定义别名,用户访问的路径其实并不存在,而是将其转发到另外一个页面

location / {
      root  html;
      index  index.html ;
      rewrite ^/forum/(.*) /bbs/$1 last ;
......
}

实例3:实现域名跳转

server {
    listen    80;
    server_name  www.360buy.com; 

如果访问www.360buy.comm则跳转到www.jd.com
    rewrite ^/.* http://www.jd.com/$1 last;

#charset koi8-r;
#access_log  logs/host.access.log  main;

 location / {
      root  html;
      index  index.html ;
}
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-16 21:53:05  更:2022-06-16 21:53:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 1:28:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码