Я следую этому уроку, чтобы настроить персональный сервер Git на Apache на моем компьютере с Windows 7. Однако, когда я добавляю следующее в мой httpd.conf, Apache выдает ошибку, когда я пытаюсь его запустить. Может кто-нибудь помочь исправить то, что не так?

SetEnv GIT_PROJECT_ROOT C:/Repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch 
    "(?x)^/(.*/(HEAD | 
                    info/refs | 
                    objects/(info/[^/]+ | 
                             [0-9a-f]{2}/[0-9a-f]{38} | 
                             pack/pack-[0-9a-f]{40}.(pack|idx)) | 
                    git-(upload|receive)-pack))$" 
                    "C:/Program Files (x86)/git/libexec/git-core/git-http-backend.exe/$1"

Это свежая установка Apache. Единственное другое изменение, которое я внес в файл конфигурации, - это указание Apache прослушивать порт 9000 (IIS прослушивает 80). Это ошибка из моих журналов событий:

Служба Apache с именем сообщила о следующей ошибке: ScriptAliasMatch принимает два аргумента, регулярное выражение и имя файла.

Я попытался поместить весь текст в одну строку, вот так:

ScriptAliasMatch "(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}.(pack|idx)) | git-(upload|receive)-pack))$" "C:/Program Files (x86)/git/libexec/git-core/git-http-backend.exe/$1"

Но нада.

1 ответ1

2

было то же самое,

это связано с пробелами и рядами Брака ...

Попробуйте разделить на 3 строки
вот так:

# Route specific URLS matching this regular expression to the git http server. 
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} |     pack/pack-[0-9a-f]{40}.(pack|idx)) | git-(upload|receive)-pack))$" \
"C:\Program Files (x86)\Git\libexec\git-core\git-http-backend.exe/$1" 

имейте в виду, \ на разрыв строки.

я приложу свой файл для справки

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .