首页  >  问答  >  正文

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

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

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

这样做返回的是 302 Moved Temporarily;

有没有办法返回200 OK

伊谢尔伦伊谢尔伦2712 天前691

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-05-16 17:29:56

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

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

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:29:56

    雷雷

    回复
    0
  • 取消回复