使用 Nginx 反向代理时图片出现 404 错误

使用 Nginx 反向代理时图片出现 404 错误

我正在使用 Nginx 的反向代理将 blog.example.com 路由到 example.com/blog/。

大多数事情都运行正常,但是当我单击 example.com/blog 中的图像时,出现 404 错误。

我知道这是由于实际图像不在 /blog/wp-content/uploads/ 中造成的,因此我尝试应用一些重写规则,但它们不起作用。

有人能给我一些关于如何解决这个问题的建议吗?

location /blog/ {
    rewrite ^([^\?#]*/)([^\?#\./]+)([\?#].*)?$ $1$2/$3 permanent;
    add_header 'Access-Control-Allow-Origin' * always;
    proxy_ssl_server_name on;

    proxy_pass https://blog.example.com/;
    proxy_read_timeout 300;
    proxy_send_timeout 300;
    send_timeout 300;
    proxy_connect_timeout 300;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host en.vietnamguide.co.kr;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header Connection "";
    
}

location ~ ^/blog/wp-content/uploads/(.*) { 
    if (!-f $request_filename) { 
        rewrite ^/blog/wp-content/uploads/(.*)$ https://blog.example.com/wp-content/uploads/$1 redirect; 
    } 
}

相关内容