The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Не работает директива Alias - почему?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Не работает директива Alias - почему?"  +/
Сообщение от xintrea (ok), 18-Ноя-22, 14:11 
Настраиваю сейчас gitweb. Сам CGI-скрипт работает, веб-интерфейс рисуется. Однако нет доступа к ресурсам http://our_server/git/static/..., т. е. к картинкам, CSS, JS-скриптам.

Конфиг в данный момент следующий:


...
<IfDefine ENABLE_GITWEB>

  # Turning on mod rewrite
  RewriteEngine on

  # Make the front page an internal rewrite to the gitweb script
  RewriteRule ^/git/$  /cgi-bin/gitweb.cgi [L,PT]

  # Make access for "dumb clients" work
  RewriteRule ^/git/(.*\.git/(?!/?(HEAD|info|objects|refs)).*)?$ /cgi-bin/gitweb.cgi%{REQUEST_URI}  [L,PT]

  Alias /git /home/git

  <Directory /home/git>
    Options +FollowSymLinks +ExecCGI
    AddHandler cgi-script .cgi
    Require all granted
    DirectoryIndex /cgi-bin/gitweb.cgi
  </Directory>
</IfDefine>

Я выяснил, что ресурсы лежат в каталоге /usr/share/gitweb/static. Поэтому подумал, что можно проблему решить такой опцией:


Alias /git/static /usr/share/gitweb/static

И с завершающим слешем пробовал:

Alias /git/static/ /usr/share/gitweb/static/


Опцию эту взял из документации git-scm (https://git-scm.com/docs/gitweb), прописываю рядом с Alias /git /home/git.

Но все равно, при запросе ресурсов типа http://our_server/git/static/gitweb.css выдается ошибка 404.

Вопрос: почему не работает данная опция? Вроде все правильно написал. Причем Alias /git /home/git - работает, без нее страница не генерируется. А алиас на static не работает.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Не работает директива Alias - почему?"  +/
Сообщение от xintrea (ok), 18-Ноя-22, 14:18 
Вдогонку: модуль alias_module, естественно, включен.
Ответить | Правка | Наверх | Cообщить модератору

2. "Не работает директива Alias - почему?"  +/
Сообщение от xintrea (ok), 18-Ноя-22, 14:41 
Блин, оказывается опции надо в последовательности от точного пути к общему писать.

Так не работает:


Alias /git /home/git
Alias /git/static /usr/share/gitweb/static

А так работает.


Alias /git/static /usr/share/gitweb/static
Alias /git /home/git

Ответить | Правка | Наверх | Cообщить модератору

3. "Не работает директива Alias - почему?"  +/
Сообщение от Pahanivo (ok), 18-Ноя-22, 15:49 
> Так не работает:

Если вбить в гуглу mod_alias, то первой же строкой выпадает дока, у которой в самом начале:

-------------------------------
For this reason, when two or more of these directives apply to the same sub-path, you must list the most specific path first in order for all the directives to have an effect. For example, the following configuration will work as expected:

Alias "/foo/bar" "/baz"
Alias "/foo" "/gaq"
-------------------------------

Но видимо за столько лет мусье не научился пользоваться ни гуглой ни манами ...

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру