ddlddx0000 发表于 2018-11-15 12:09:06

NGINX 重定向

  NGINX重定向
  语法:rewriteregexreplacement;
  默认值:—
  使用:
  Serverlocation,if
  server定义一个站点,location定义站点目录位置
  如果指定的正则表达式能匹配URI,此URI将被replacement参数定义的字符串改写。
  rewrite指令按其在配置文件中出现的顺序执行。flag可以终止后续指令的执行。
  如果replacement的字符串以“http://”或“https://”开头,nginx将结束执行过程,
  并返回给客户端一个重定向。
  可选的flag参数可以是其中之一:
  last
  停止执行当前这一轮的ngx_http_rewrite_module指令集,然后查找匹配改变后URI的新location;
  break
  停止执行当前这一轮的ngx_http_rewrite_module指令集;
  redirect
  在replacement字符串未以“http://”或“https://”开头时,使用返回状态码为302的临时重定向;
  permanent
  返回状态码为301的永久重定向。
  完整的重定向URL将按照请求协议($scheme)、server_name_in_redirect指令和port_in_redirect指令的配置进行补全
  例子:
  Nginx结合php是靠fastcgi,修改nginx的配置文件,让nginx可以调用php页面。

  location/{
  roothtml;
  indexindex.phpindex.htmlindex.htm;
  }
  1,访问站点主目录下的任何jpg的请求都被定向到主页面
  rewrite"^/.*\.jpg$"/index.php;


  2,Rewrite"^/(.*)/(.*)\.bmp$"/$1/$2.jpg访问站点目录下的任何目录下的任何以.bmp结尾的图片,都要被重定向到站点目录下的相同目录下的任何以.jpg结尾的文件。

  3,访问站定主目录下的任何文件,将被重定向到另外一台web服务器上的站点主目录下的index.php目录里面。
  http://192.168.2.100/1.bmp
  http://192.168.2.100/index.php---->http://192.168.20.100/index.php
  Rewrite“/.*”http://192.168.20.100/index.php;

  4,将访问www.abc.com/forum重定向到www.abc.com/bbs
  域名访问修改host文件
  rewrite"/froum/*"/bbs;


  server{
  ...
  rewrite^(/download/.*)/media/(.*)\..*$$1/mp3/$2.mp3last;
  rewrite^(/download/.*)/audio/(.*)\..*$$1/mp3/$2.ralast;
  return403;
  ...
  }
  5,实现域名跳转
  比如访问www.abc.com站点下的任何文件或目录---》,都定向到www.tyedus.com
  http://www.abc.com
  "/*"http://www.tyedus.com;

页: [1]
查看完整版本: NGINX 重定向