Как мне написать правило перезаписи для виртуального хоста в Apache?
У меня есть сервер Subversion, который работает нормально; Тем не менее, я купил инструмент, который требует, чтобы проект имел подкаталог "ветки" и чувствителен к регистру. Весь репозиторий уже имеет проекты с папкой "Ветви", поэтому я пытаюсь переписать файл httpd.conf. Я отключил LoadModule и включил RewriteEngine, Apache запускается, но я не получаю желаемого результата.
RewriteRule ^/Root/(.+)/branches(.*) /Root/$1/Branches$2
Если я использую RedirectMatch, он работает в браузере, но все еще не работает в инструменте.
RedirectMatch ^/Root/(.+)/branches(.*) /Root/$1/Branches$2
Я понимаю, что Rewrite обычно используется для перезаписи в файл или физическое местоположение, но я видел похожий пример, пытаясь найти мой. Я открыт для других подходов, я заглянул в
1 ответ
Наконец разобрался
RewriteRule ^/Root/(.+)/branches(.*) http://svn/Root/$1/Branches$2 [P]
Поскольку он виртуальный, мне нужно было включить абсолютный веб-URL. Без флага [P] (прокси) он возвращал перенаправление 302, с флагом сервер обрабатывает только запрос, а клиент просто возвращает правильную страницу из одного запроса.