Как настроить apache для разрешения перекрывающихся мест (для svn и websvn) - PullRequest
1 голос
/ 21 марта 2012

У меня есть конфигурация apache, которая работает для SVN DAV и WebSvn. В настоящее время я обслуживаю DAV на http://svnserver/svn, а websvn на http://svnserver/websvn.

Что я хотел бы сделать, так это подать DAV на http://svnserver/ и websvn на http://svnserver/websvn. Однако я не могу заставить его работать, потому что местоположение websvn находится ниже корня dav.

У меня есть два раздела, один для / и один для / websvn. С этой конфигурацией вы вообще не можете получить доступ к websvn, потому что корневой каталог вступает во владение Я думал, что смогу использовать регулярное выражение для соответствия с DAV, но это тоже не работает:

Я пытался:

<LocationMatch "^/(?!websvn/)" >

и

<Location ~ "^/(?!websvn/)" >

но ни одна не работает. После установки регулярного выражения, соединение получает сброс при доступе к /. Доступ / websvn работает нормально.

Я прочитал сообщение здесь , в котором говорится, что apache делает что-то с запросом, когда передается через регулярное выражение, и это портит dav. Похоже, это правда.

Если есть что-то более определенное в этом, или какие-либо предложения относительно того, как я мог бы заставить это работать?

1 Ответ

0 голосов
/ 06 октября 2013

Я не думаю, что это ошибка ... скорее неправильная конфигурация, если только запросы не переписываются должным образом до того, как будет передано в модуль PHP или webDAV. Чтобы заставить его работать, нужно было бы поместить / websvn как верхнее регулярное выражение в .htaccess и исключить этот запрос из webDAV, добавив флаг [L] ... можно даже загрузить модули apache2 по требованию на основе запрашиваемое местоположение. Извините за то, что не предоставили точный синтаксис (на работе), но подсказка для размещения исключения должна заставить его работать как нужно.

...