跳转至

15. url地址重写

9. url地址重写

#1.介绍
rewrite支持正则表达式,能够实现url的跳转,实现url规范化,根据请求的变量实现url跳转等等。
常见用途:
  -封禁爬虫程序,使其跳转到一个错误页面
  -动态url伪装成静态html页面,便于搜索引擎抓取
  -新旧域名更新,如:chupeng.cloud > chupeng.site

#2.语法
rewrite ^/(.*) http://192.168.178.134/$1 permanent;
# ^(.*):表示匹配所有的请求,匹配成功后,跳转到后面指定url
# $1:   取出前面正则表达式分组括号里的内容
# permanent: 表示301重定向标记,其他标记:
  -last:本条规则匹配完成后,继续向下匹配新的location
  -break:本条规则匹配完成后,立即停止匹配动作
  -redirect:返回302临时重定向状态码,浏览器地址栏显示跳转后的url,爬虫不会更新该url
  -permanent:返回301永久重定向,浏览器地址也显示跳转后的url,爬虫更新该url
    last和break用于实现url重写,浏览器地址栏不会发生变化
    redirect和permanent也是用于url跳转,浏览器地址栏发生变化,变为新的url!

#3.举例
server {
  listen 90;
  server_name _;
  location / {
    rewrite ^/(.*) http://www.baidu.com/$1 permanent;
  }
}

#4.测试
192.168.178.110:90    # 报错
192.168.178.110:90/index.html    # 成功!

最后更新: 2022-02-20 13:32:53