У меня проблема с RewriteRule, которая работает (более или менее) в html-view с браузером, но не как WebDav-сервис с клиентом (davfs или tadaver под linux). Я чувствую, что это связано с RewriteRule.Ошибка Apache RewriteRule для службы WebDAV
Что я хочу сделать: Из URL-перспективы: Есть папку/Users/кого-то, где кто является индивидуальным именем пользователя. И я хочу иметь shortcut/private, который указывает прямо на каталог/users/myusername, где у меня есть доступ на запись. В файловой системе у меня есть/storage/davroot для DAV и DocumentRoot и/storage/davusers для всех пользовательских каталогов. Обратите внимание, что пользовательские диски не находятся внутри DocumentRoot, что делает его несколько сложным.
Мое текущее решение заключается в следующем:
# It's NOT working with the RewriteCond -- why?
# RewriteCond %{LA-U:REMOTE_USER} ^[a-z].*
RewriteRule ^\/private(.*)$ /users/%{LA-U:REMOTE_USER}$1 [PT]
<Directory /storage/davroot/>
# some settings for the rights, do not care
</Directory>
Alias /users /storage/davusers/
<Directory "/storage/davusers/">
# some other settings for the rights, also don't care
</Directory>
Что правильно: Почти весь браузер точка зрения верна. За исключением одной проблемы: URL/частный/правильно указан, строка url остается/закрыта/(требуется поведение). Но url/private переводится на/users/username /, а также изменяется строка url на этот адрес. Зачем?
Если я вхожу в систему с помощью клиента webdav (davfs), тема становится еще страннее. Частная папка пуста, папка пользователей недоступна. С трупом частная папка недоступна, и папка пользователей отображается правильно.