码迷,mamicode.com
首页 > 其他好文 > 详细

利用nginx的301重定向到另外服务器

时间:2015-03-13 02:06:45      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:nginx   rewrite   

需求:

如果本地没有这个url就rewrite到另外服务器上去请求;


实现:

server {

    listen       8080;
    if (!-e $request_filename ){
    rewrite ^/(.*)$ http://192.168.2.42/$1 permanent;

    }

}


说明:

当本地web上没有这个资源的时候,就跳转到192.168.2.42服务器上去请求;



nginx的rewrite指令中可以通过设置该条rewrite的flag来对该规则进行说明。一般可以设置的flag有:last,break,redirect,permanent四种。

redirect说明,这条规则是一个临时的跳转,并且此时如果观察http请求的话,http的响应状态码为302.
permanent说明,这条规则是一个永久性的跳转,并且此时,http的响应状态码为301.

那么什么是永久性跳转,什么是临时跳转,这有什么作用呢?下面我们举例说明:
如果有一个url,/a。
如果配置成
1
rewrite "/a" "http://test.html" redirect;
则说明这个跳转是一个临时跳转,此时如果有网络爬虫爬这个链接时,是不会更新自己的url数据库的。
但是如果配置成permanet,则爬虫会更新自己的url数据库,把/a更新为http://test.html
这也就是临时跳转和永久跳转的区别。


本文出自 “shine_forever的博客” 博客,请务必保留此出处http://shineforever.blog.51cto.com/1429204/1619804

利用nginx的301重定向到另外服务器

标签:nginx   rewrite   

原文地址:http://shineforever.blog.51cto.com/1429204/1619804

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!