Назад | Перейти на главную страницу

группы захвата apache redirectmatch не внедряются в пункт назначения должным образом

Я пытаюсь перенаправить запросы на мой старый сервер git (с моим старым именем пользователя) на новый сервер (с моим новым именем пользователя).

Я пытаюсь создать следующие условия:

  1. Если URL-адрес имеет вид http (s): //git.glmdev.tech/glmdev/any/url/here, перенаправьте его на https://git.garrettmills.dev/garrettmills/any/url/ здесь.

  2. Если URL-адрес http (s): //git.glmdev.tech/glmdev, перенаправить на https://git.glmdev.tech/garrettmills

  3. В противном случае перенаправьте любые http: //git.glmdev.tech/any/other/url на https://git.garrettmills.dev/any/other/url

Я пытаюсь использовать RedirectMatch Apache2, чтобы сделать это с помощью групп захвата. У меня следующая конфигурация виртуального хоста:

<VirtualHost *:80>
    ServerName git.glmdev.tech
    RedirectMatch 301 /glmdev/(.*) https://git.garrettmills.dev/garrettmills/$1
    Redirect /glmdev/ https://git.garrettmills.dev/garrettmills/
    Redirect / https://git.garrettmills.dev/
</VirtualHost>
<VirtualHost *:443>
    ServerName git.glmdev.tech
    SSLEngine on
    SSLCertificateFile /etc/glmdev/ssl/_star/cert.crt
    SSLCertificateKeyFile /etc/glmdev/ssl/_star/cert.key
    SSLCertificateChainFile /etc/glmdev/ssl/_star/ca.crt
    RedirectMatch 301 /glmdev/(.*) https://git.garrettmills.dev/garrettmills/$1
    Redirect /glmdev/ https://git.garrettmills.dev/garrettmills/
    Redirect / https://git.garrettmills.dev/
</VirtualHost>

Условия 2 и 3 работают должным образом, однако переход к некоторым http (s): //git.glmdev.tech/glmdev/repositoryname перенаправляет на https://git.garrettmills.dev/garrettmills

Не уверен, почему группа захвата не обнаруживается или не добавляется к URL-адресу. Любая помощь приветствуется. Заранее спасибо.