首页 > 其他 > 详细

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

时间:2015-03-13 02:05:09      阅读:374      评论:0      收藏:0      [点我收藏+]

需求:

如果本地没有这个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重定向到另外服务器

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!