nginx 301 302 重定向

孤人 提交于 2019-12-02 20:20:32

nginx 301 302跳转的详细说明

server {

  listen 80;

  server_name abc.com;

  rewrite ^/(.*)    http://www.abc.com/$1   permanent;

  access_log off;

  }

       last – 基本上都用这个Flag。

  break – 中止Rewirte,不在继续匹配

  redirect – 返回临时重定向的HTTP状态302

  permanent – 返回永久重定向的HTTP状态301

  Nginx的重定向用到了Nginx的HttpRewriteModule,下面简单解释以下如何使用的方法:

  rewrite命令

  nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location  和IF条件判断块中,命令格式如下:

  rewrite 正则表达式 替换目标 flag标记

  flag标记可以用以下几种格式:

  last – 基本上都用这个Flag。

  break – 中止Rewirte,不在继续匹配

  redirect – 返回临时重定向的HTTP状态302

  permanent – 返回永久重定向的HTTP状态301

  特别注意:

  last和break用来实现URL重写,浏览器地址栏的URL地址不变,但是在服务器端访问的路径发生了变化;

  redirect和permanent用来实现URL跳转,浏览器地址栏会显示跳转后的URL地址;

301跳转实例

server {

  listen 80;

  server_name abc.com;

  rewrite ^/(.*)    http://www.abc.com/$1   permanent;

  access_log off;

  }

302跳转实例

server {

  listen 80;

  server_name abc.com;

  rewrite ^/(.*)    http://www.abc.com/$1   redirect;

  access_log off;

  }


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!