Nginx 子域名 + 子文件夹到子文件夹

Nginx 子域名 + 子文件夹到子文件夹

目标是使用 example.com/blog 和所有帖子、类别和作者从 blog.example.com/blog 加载页面。

location /blog(/.*)$ {
  rewrite ^ $1 break;

  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 $scheme;
  proxy_pass https://blog.example.com/blog$1;
  proxy_ssl_server_name on;
}

出现 500 错误

答案1

如果 URI 未经改变地传递(例如/blog/foo-> /blog/foo),则不需要 a rewrite,也不需要选修的URI 部分proxy_pass。请参阅这个文件了解详情。

您的语句语法location错误。您使用的正则表达式没有适当的运算符~~*。但是,您不需要使用正则表达式来匹配所有以 开头的 URI /blog。请参阅这个文件了解详情。

例如:

location ^~ /blog {
    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 $scheme;
    proxy_pass https://blog.example.com;
    proxy_ssl_server_name on;
}

相关内容