nginx:从旧的 git 基本 URL 重定向到新的 git 基本 URL

nginx:从旧的 git 基本 URL 重定向到新的 git 基本 URL

我想重定向 git 存储库的旧基本 URL。我使用以下代码:

location ~ ^/scm/git/(.*) {
    return 301 /scm/repo/git/$1;
}

在浏览器中,重定向工作正常,但是当我尝试克隆存储库时,收到以下错误消息:

fatal: unable to update url base from redirection:
asked for: https://example.com/scm/git/xxxx/info/refs?service=git-upload-pack
redirect: https://example.com/scm/repo/git/xxxx/info/refs

你能帮我吗?我忘了什么?非常感谢!

答案1

在 中location,nginx 仅使用规范化的 URI,其中不包含查询参数。

您需要使用以下内容来包含查询参数:

location ~ ^/scm/git/(.*) {
    return 301 /scm/repo/git/$1$is_args$args;
}

相关内容