栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Nginx rewrite(重写)【暂未完成(半成品)】

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx rewrite(重写)【暂未完成(半成品)】

Nginx rewrite(重写)【暂未完成(半成品)】
  • 1、什么是 Nginx rewrite
  • 2、Nginx rewrite 语法
    • 1)rewrite 指令语法
    • 2)rewrite 指令结尾的 flag 标记说明
    • 3)Nginx rewrite 的企业应用场景
      • 实例1:如果访问不存在的任意网页都重定向到错误页面
      • 实例2:为某个目录定义别名,用户访问的路径其实并不存在,而是将其转发到另外一个页面
      • 实例3:实现域名跳转

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 ;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/974049.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号