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]