hgweb: репозитории отображаются, но недоступны - PullRequest
3 голосов
/ 01 февраля 2011

Я пытаюсь опубликовать репозиторий hg.Я использую hg 1.7.3 и hgweb для нескольких репозиториев.На странице индекса отображаются имена репозитория, но когда я нажимаю на них, я получаю информацию о неработающей ссылке.Журнал ошибок Apache сообщает:

[Tue Feb 01 15:41:31 2011] [error] [client 10.13.3.64] script not found or unable to stat: /home/hg/webdir/index.cgienigma-reports, referer: http://hg.internal/

Я пытался получить доступ к пути http://hg.internal/enigma-reports/.Любая идея, что я мог сделать неправильно?

Моя конфигурация в доступных сайтах выглядит так:

<VirtualHost *>
        ServerName hg.internal
        ScriptAlias / "/home/hg/webdir/index.cgi/"
</VirtualHost>

До того, как не было косой черты в пути к index.cgiПочему косая черта обязательна?Теперь он выглядит как каталог, а не как файл, и выглядит очень нелогичным.

1 Ответ

5 голосов
/ 01 февраля 2011

Ваша строка ScriptAlias, вероятно, неверна - отсутствует косая черта.

Это необходимо, поскольку ScriptAlias ​​выполняет замену первой части на вторую часть.

Так что, когда вашURL-адрес выглядит следующим образом:

http://hg.internal/enigma-reports/

, а для apache выполняется повтор протокола и хоста:

/enigma-reports/

, а затем ScriptAlias ​​соответствует первому / и выполняет замену, которая перед вашимобновите, чтобы добавить эту косую черту, которая приводит к

/home/hg/webdir/index.cgienigma-reports/

, который не является действительным сценарием.

Однако, когда вы установили новую косую черту, подстановка:превращает engigma-reports/ в переменную PATH_INFO CGI, именно так выглядит скрипт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...