Рейтинг:0

nginx: перенаправление со старого на новый базовый URL-адрес git

флаг cm

Я хотел бы перенаправить старый базовый URL-адрес репозиториев git. Я использую следующий код:

расположение ~ ^/scm/git/(.*) {
    вернуть 301 /scm/repo/git/$1;
}

В браузере перенаправление работает нормально, но когда я пытаюсь клонировать репозиторий, я получаю следующее сообщение об ошибке:

фатально: невозможно обновить базу URL-адресов из-за перенаправления:
запрошено: https://example.com/scm/git/xxxx/info/refs?service=git-upload-pack
перенаправление: https://example.com/scm/repo/git/xxxx/info/refs

Не могли бы вы помочь мне, что я забыл? Большое спасибо!

Рейтинг:0
флаг us

В место расположения, nginx использует только нормализованный URI, который не включает аргументы запроса.

Для включения аргументов запроса необходимо использовать следующее:

расположение ~ ^/scm/git/(.*) {
    вернуть 301 /scm/repo/git/$1$is_args$args;
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.