LINUX.ORG.RU
ФорумAdmin

пустой %{LA-U:REMOTE_USER} в логах Rewrite Apache

 , ,


0

1

Доброго времени суток. Настраиваю 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 читал, но может есть способ как-то избежать, пустого срабатывания?

Заранее спасибо!

★★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.