У меня есть сайт [на DreamHost], использующий WordPress для основного контента, но хранилища Subversion в http://mysite/svn.
Мой формат файла:
webroot/
blog # wordrpress files
.htaccess
Мои репозитории SVN находятся вне корневого веб-каталога, но они правильно сопоставлены с URL-адресами / svn / repository.
Когда я помещаю правила перезаписи постоянных ссылок WordPress в мой файл .htaccess, страницы блогов и постоянные ссылки работают отлично, но это нарушает Subversion.
Это мой файл .htaccess со всем удаленным посторонним:
RewriteEngine On
RewriteBase /
# try 1
#RewriteCond %{REQUEST_URI} svn [NC]
#RewriteRule . - [PT,L]
# try 2
#RewriteRule ^svn.* - [PT,L]
# try 3
#RewriteCond %{REQUEST_URI} !^svn
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . blog/index.php [L]
Самая последняя строка разрывает Subversion. Ошибки клиентов таковы:
$ svn ls https://mysite/svn/myrepo/
svn: PROPFIND request failed on '/svn'
svn: PROPFIND of '/svn': 405 Method Not Allowed (https://mysite)
Если я закомментирую эту последнюю строку, RewriteRule . blog/index.php
, Subversion работает. Но иметь WordPress, чтобы справляться с приятными постоянными ссылками, не получается.
Я попробовал три подхода "игнорировать любой URL, начинающийся с 'svn'", который я прокомментировал выше, и ни один из них не работает - похоже, они НИЧЕГО не делают. С или без флага прохождения PT.
Я немного погуглил, и, похоже, другие были озадачены тем, что mod_rewrite и WebDAV (который использует Subversion) наступают друг на друга. Я нашел чрезвычайно похожий заброшенный вопрос SO, здесь тоже , но не было рабочих решений. Любые подсказки?