您当前的位置:首页 > 计算机 > 服务器 > Nginx

Nginx rewrite(URL)地址重定向

时间:02-22来源:作者:点击数:
城东书院 www.cdsy.xyz

一、Nginx 配置文件使用(nginx.conf)

二、Nginx rewrite介绍

  • 主要功能是实现URL地址重写,需要PCER的支持。
  • 应用位置:serverlocationif中都可以。
  • 语法:
    rewrite是实现URL重写的关键指令,根据匹配URL部分的内容,重定向到目标URL上,结尾是flag标记。
    rewrite 匹配URL(正则表达式) 目标URL [flag];
    
  • flag标记符号
    Flag 标记符号 说明
    last 本条规则匹配完成后,继续向下匹配新的 location URL 规则
    break 本条规则匹配完成即终止,不再匹配后面的任何规则
    redirect 返回 302 临时重定问,浏览器地址栏会显示跳转后的 URL 地址
    permanent 返回 301 永久重定向,浏览器地址栏会显示跳转后的 URL 地址
    • lastbreak用来实现URL重写,浏览器地址栏的URL地址不变,单在服务器端访问的程序及路径发生了变化。
    • redirectpermanent用来实现URL跳转,浏览器地址栏会显示跳转后的URL地址。
    • redirectpermanent的区别
      • 301永久重定向,浏览器会记住,比如a.com网站301b.com网站,浏览器输入a.com时,就不请求a.com了,而是直接请求b.com了。
      • 302临时重定向,浏览器不记住,比如a.com网站302b.com网站,浏览器输入a.com时,还是请求a.com,根据a.com网站响应的location内容,再去请求b.com网址。

三、Nginx rewrite案例使用

  • 简单案例:访问index.html重写到abc.html
    • nginx.conf:
      server {
        listen 8081;
        server_name www.xyq.com;
        location / {
          root /usr/local/var/xyq;
          index index.html;
        }
        rewrite ^/index\.html /abc.html permanent;
      }
      
      配置好之后,执行$ nginx -s reload,打开http://www.xyq.com:8081http://www.xyq.com:8081/index.html,因为配置的主页面就是index.html所以可以不写。
  • 简单案例:访问index.html重写到百度
    server {
      listen 8081;
      server_name www.xyq.com;
      location / {
        root /usr/local/var/xyq;
        index index.html;
      }
      rewrite ^/index\.html https://www.baidu.com permanent;
    }
    
    刷新 nginx 之后打开http://www.xyq.com:8081就会跳转到百度。
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门