Доброго времени суток. Настраиваю WebDav на apache (2.2.16), под debian (6.0.4).
Всё вроде работает, rewrite нормально перенаправляет в нужную директорию, однако в его (rewrite) логах заметна одна проблема.
настройки сайта:
...
<Directory /var/www/webdav/>
DAV On
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
AuthType Basic
AuthName "webdav auth"
AuthUserFile /var/www/webdav/.htpasswd
Require valid-user
</Directory>
RewriteEngine on
RewriteLogLevel 3
RewriteLog /var/log/apache2/rewrite_mod.log
# пропуск картинок
RewriteRule ^/icons/(.*\.(gif|png|jpg|jpeg)) - [L,NC]
# проверяем наличи директории, если нет, пишем ошибку
RewriteCond %{LA-U:REMOTE_USER} !=""
RewriteCond %{DOCUMENT_ROOT}/%{LA-U:REMOTE_USER} !-d
RewriteCond %{REQUEST_URI} !/404
RewriteRule ^/(.*) /404 [L]
# переходим в нужную директорию, если она есть
RewriteCond %{LA-U:REMOTE_USER} !=""
RewriteCond %{DOCUMENT_ROOT}/%{LA-U:REMOTE_USER} -d
RewriteCond %{REQUEST_URI} !/404
RewriteRule ^/(.*) /var/www/webdav/%{LA-U:REMOTE_USER}/$1 [L]
...
лог:
x.x.x.x - - ... (2) init rewrite engine with requested uri /index.html
x.x.x.x - - ... (3) applying pattern '^/icons/(.*\.(gif|png|jpg|jpeg))' to uri '/index.html'
x.x.x.x - - ... (3) applying pattern '^/(.*)' to uri '/index.html'
x.x.x.x - - ... (3) applying pattern '^$' to uri '/index.html'
x.x.x.x - - ... (3) applying pattern '^/(.*)' to uri '/index.html'
x.x.x.x - - ... (2) rewrite '/index.html' -> '/var/www/webdav//index.html'
x.x.x.x - - ... (2) local path result: /var/www/webdav//index.html
x.x.x.x - - ... (1) go-ahead with /var/www/webdav//index.html [OK]
x.x.x.x - - ... (2) rewrite '/index.html' -> '/var/www/webdav/USER_NAME/index.html'
x.x.x.x - - ... (2) local path result: /var/www/webdav/USER_NAME/index.html
x.x.x.x - - ... (1) go-ahead with /var/www/webdav/USER_NAME/index.html [OK]
Судя по логу, получается, что сначала идёт rewrite без имени авторизованного пользователя, а затем тот же rewrite, но уже с именем пользователя. Про особоенность работы rewrite читал, но может есть способ как-то избежать, пустого срабатывания?
Заранее спасибо!