nginx 文件夹重定向

nginx 文件夹重定向

我正在尝试从 nginx.conf 中的精确文件夹重定向

给定 URL:domain.com/path1/path2/path3

重定向到:sub.domain.com/path1/path2/path3

以下是我目前所掌握的信息:

location ~* ^/path1[\/?]$ {
    rewrite ^/(.*) http:sub.domain.com/$1 break;
}

我曾经和它一起工作过

location /path1 {
    rewrite ^/(.*) http:sub.domain.com/$1 break;
}

问题在于它还会将 domain.com/path1moretext/someotherpath 这样的页面重定向到 sub.domain.com/path1moretext/someotherpath

这不是我想要的。(因为这是我的第一篇帖子,所以必须删除上面 href 代码中的“//”,抱歉)。

答案1

location / {

  rewrite ^\/path1\/(.*)$ http://sub.domain.com/$1 last;

  // rest of config for root

}

我来自 Apache 背景,我刚刚开始认真使用 Nginx,我自己也曾努力进行重写,但是,我最近使用了上述方法,没有出现明显问题。

答案2

location = /path1 {
  rewrite ^ http://sub.domain.com$uri permanent;
}
location /path1/ {
  rewrite ^ http://sub.domain.com$uri?$args permanent;
}

編輯:也读这个有关 last/break/permanent/redirect 的信息。

相关内容