【问题标题】:In Nginx, redirect to another site if img is down在 Nginx 中,如果 img 已关闭,则重定向到另一个站点
【发布时间】:2020-06-04 15:55:09
【问题描述】:

我有一个网站使用一些旧的链接 png,例如:

<img src="http://j.cd.top/uploads/jvyue/news/2020/04/10/15864804147273771862.png" style="height:211px; width:330px">

并且 png 不存在,所以我尝试通过设置 Nginx 将其重写到本地服务器:

    location ~ .*\.(gif|jpg|jpeg|png)$ {
         try_files $uri @apache; }
    location @apache{
        rewrite  ^http://j.cd.top/uploads/(.*)$  http://127.0.0.1:8222/$1 permanent;
    }

http://127.0.0.1:8222 是服务器图片的本地服务器,但是这个设置不起作用,有什么问题吗?

http://j.cd.top/uploads 不是当前网站,它是旧链接。

我也试过代理通行证:

 location ~* \.(gif|jpg|jpeg|png)$ {
         proxy_pass http://127.0.0.1:8222;
     }

【问题讨论】:

标签: nginx url-rewriting


【解决方案1】:

rewrite 指令测试的 $uri 变量中不包含方案和主机名,试试这个:

rewrite  ^/uploads/(.*)$  http://127.0.0.1:8222/$1 permanent;

【讨论】:

  • j.cd.top/uploads 不是当前链接。它是旧链接不起作用,因此需要传递到另一台服务器。
  • @herbertD 哦,抱歉,j.cd.top 是某个 CDN 服务器吗?这不是您使用 nginx 服务的域吗?如果是这样,请求将发送到该服务器,您无法使用您的 nginx 实例对它们执行任何操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-09-07
相关资源
最近更新 更多