Ngnix/Wordpress使用代理权限将子文件夹无缝重定向到子目录

Ngnix/Wordpress使用代理权限将子文件夹无缝重定向到子目录,wordpress,nginx,url-rewriting,Wordpress,Nginx,Url Rewriting,我有两个服务器用于一个域 托管mywebsite.com的服务器A和 服务器B托管blog.mywebsite.com(blog WordPress) 我的目标是为我的博客提供一个无缝的url:包含服务器B的内容 我的第一个重定向正在工作(location/test23)。我可以得到我的主页和其他网页,但我不能连接到我的WP管理员。我在mywebsite.com/test23/wp-login.php上得到了404 服务器配置一个nginx conf文件 我想我需要管理wp admin文件夹

我有两个服务器用于一个域

  • 托管mywebsite.com的服务器A和
  • 服务器B托管blog.mywebsite.com(blog WordPress)
我的目标是为我的博客提供一个无缝的url:包含服务器B的内容

我的第一个重定向正在工作(location/test23)。我可以得到我的主页和其他网页,但我不能连接到我的WP管理员。我在mywebsite.com/test23/wp-login.php上得到了404

服务器配置一个nginx conf文件

我想我需要管理wp admin文件夹的排除?我有点迷路了:D

因为您代理了“/test23”路径,并且使用重写规则绑定任何使用该地址的内容,所以不需要第二个位置块

尝试使用以下方法:

location /test23 {
             rewrite ^/test23(/.*)$ /$1 break;
              proxy_pass http://blog.mywebsite.com/;
     }
如果尚未设置代理规则,此块也可能类似于:

location /test23 {
                 rewrite ^/test23(/.*)$ /$1 break;
                 proxy_pass http://blog.mywebsite.com/;
                 proxy_set_header Host $host;
                 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 https;
                 proxy_redirect    off;
    }
在重写中,应该在“test23”之后使用反斜杠。在第一种情况下,它可以工作,因为请求中/test23之后没有任何内容

在第二个请求中,由于位置块的位置很重要,所以它会混淆。因此它被第一条规则重写,这会导致一个没有反斜杠的错误。

因为您代理了“/test23”路径,并且使用重写规则绑定任何使用该地址的内容,所以不需要第二个位置块

尝试使用以下方法:

location /test23 {
             rewrite ^/test23(/.*)$ /$1 break;
              proxy_pass http://blog.mywebsite.com/;
     }
如果尚未设置代理规则,此块也可能类似于:

location /test23 {
                 rewrite ^/test23(/.*)$ /$1 break;
                 proxy_pass http://blog.mywebsite.com/;
                 proxy_set_header Host $host;
                 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 https;
                 proxy_redirect    off;
    }
在重写中,应该在“test23”之后使用反斜杠。在第一种情况下,它可以工作,因为请求中/test23之后没有任何内容

在第二个请求中,由于位置块的位置很重要,所以它会混淆。因此,它被第一条规则重写,这会导致一个没有反斜杠的错误