Позвольте мне рассказать нам о контексте: на сервере я установил gitlab и apache;Я настроил все для работы, если я подключусь к http://mydomain.foo, будет отображаться мое приложение gitlab.
Я использовал следующую конфигурацию vhost:
<VirtualHost *:80>
ServerName mydomain.foo
DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public/
<Directory /opt/gitlab/embedded/service/gitlab-rails/public/>
Require all granted
</Directory>
ProxyPreserveHost On
AllowEncodedSlashes Off
<Location />
Order deny,allow
Allow from all
ProxyPassReverse http://127.0.0.1:8080
ProxyPassReverse http://mydomain.foo
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
</VirtualHost>
Но правила, которые я хочуиметь следующее:
1) Если я подключаюсь к http://mydomain.foo, тогда в веб-браузере ничего не должно отображаться. 2) Но если я подключаюсь к http://mydomain.foo/gitlab, тогда приложение gitlab должнобудет отображаться
Возможно ли это?И если да, то как?
Я попробовал следующее, но безуспешно:
Изменить rewriterule следующим образом:
RewriteRule /gitlab(.*) http://127.0.0.1:8080/$1 [P,QSA]
Но это не удалось: хотя приложение видноесли я подключаюсь к http://mydomain.foo/gitlab, но если я нажму на любую ссылку в веб-приложении, то произойдет сбой и выведет 404 не найдено.
РЕДАКТИРОВАТЬ: Дополнительная информация: Gitlab работает на том же сервере и работаетс единорогом.