我们的设置是两台服务器:
- 一个服务WP安装
- 另一个用于额外的自定义功能。
托管 WP 的服务器 1 使用 Nginx 作为 Web 服务器并反向代理到服务器 2。
在服务器 1 中,我们有一个简单的反向代理位置块:
location /foo/ {
proxy_pass http://1.1.1.2/foo/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
proxy_intercept_errors on;
}
在服务器 2 中,我们还有一个位置块,因为平台需要进行一些 URL 重写。它有点混乱,因为平台通过 index.php?args 加载一些内容,但也有静态内容:
location /foo/ {
index index.php;
try_files $uri $uri/ /foo/index.php?$args;
}
我们面临的问题是,虽然 domain.com/foo/?bar、domain.com/foo/bar 运行良好,但 domain.com/foo/img/photo.png 却出现 404 错误。
我认为这是应该的try_files
,但我似乎无法让它发挥作用。
答案1
这毕竟与反向代理无关。服务器 1 中还有另一个正则表达式位置块,它捕获了所有图像请求,并且它们根本没有进入反向代理。问题解决了。
再次发布答案以标记问题已解决