WordPress 托管在由 Nginx 服务的 Apache 上 - 反向代理对某些文件夹不起作用

WordPress 托管在由 Nginx 服务的 Apache 上 - 反向代理对某些文件夹不起作用

blog.gokyma.com所以我在 Apached 上托管了博客。

目标是将博客反向代理到gokyma.com/blog/。gokyma.com 在 Ngninx 上。我在 Nginx 上进行了如下设置:

server {
    listen 443 ssl;

    server_name .gokyma.com;

    location /blog {
        proxy_pass https://blog.gokyma.com/;
        proxy_set_header X-Original-Host $host;
        proxy_set_header X-Is-Reverse-Proxy "true";
        proxy_pass_header Set-Cookie;
        proxy_cookie_path / /blog/;
        expires off;
    }
[...]

在 wordpress 配置文件中我有:

$_SERVER['HTTP_HOST']=$_SERVER['HTTP_X_FORWARDED_HOST'];
define('WP_HOME','https://gokyma.com/blog');
define('WP_SITEURL','https://gokyma.com/blog');

现在,当您打开 gokyma.com/blog 时,您会得到正确的页面,但 wp-content wp-includes 和 wp-admin 根本不起作用。

我不知道为什么...

有什么想法吗?谢谢你的关注,我已经挣扎了一段时间了…… :/

答案1

您正在使用proxy_pass在将 URI 传递到上游之前删除其开头。指令中/blog缺少结尾意味着别名将无法正常工作。请尝试改用:/locationrewrite ... break

location /blog {
    rewrite ^/blog(?:/(.*))?$ /$1 break;
    proxy_pass https://blog.gokyma.com;
    ...
}

这个文件了解更多信息。

相关内容