nginx rewrite 如何强制返回200 状态码?

               if (!-e $request_filename){
               rewrite "^/maisi/images/(.*)\.jpg" http://img03.taobaocdn.com/$1.jpg_300x300.jpg last;
               rewrite "^/maisi/images/(.*)\.png" http://img03.taobaocdn.com/$1.png_300x300.jpg last;
             }

上面是一个nginx 的图片rewrite , 其实我的图片就是淘宝图片!

这样做返回的是 302 Moved Temporarily;

有没有办法返回200 OK

阅读 15k
2 个回答

因为rewrite返回了302,浏览才才能知道要再进行一次请求,才会去taobao的cdn拿图片,如果返回200这一切就不会发生了

如果不能把文件拷贝过来的话,可以考虑用proxy_pass来弄,这样话,相当于每一次都是nginx从taobao读读片到你的服务器,然后你的服务器再把图片给用户,是可以返回200的,不过就是服务器的压力会变大

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题