On 5/4/07, The Gaijin <[EMAIL PROTECTED]> wrote:


        <LocationMatch ~*>

Use <Location /~> -- it is more efficient and safer in this case.

        RewriteEngine On
        RewriteLog /var/log/apache2/rewrite.log
        RewriteLogLevel 5
        RewriteCond %{REQUEST_METHOD} ^(PROPFIND|PUT|DELETE)$
        RewriteRule ^/~[[:alpha:]]+/(.*)$ /~%{LA-U:REMOTE_USER}/$1

Since mod_rewrite uses a sub-request to grab the REMOTE_USER, I'd
guess that the problem is that all subrequests are GET requests, and
therefore unauthenticated. You may be able to get around that problem
by putting the mod_rewrite stuff into a <Directory> section where the
REMOTE_USER may be available directly (and not through a sub-request).

Alternatively, you could leave all regular userdir requests as
unathenticated, and setup a separate directory (say
http://yourhost/edit) where DAV was turned on for editing. Then in
this directory you would transparently map to the correct location:

<Location /edit>
              DAV On
              AuthType Digest
              AuthName homes.gci.net
              AuthUserFile /etc/apache2/user.passwd
</Locatoin>

RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule ^/edit(.*) /home/%1$1

All users would then access files directly under http://yourhost/edit
and get automatically (transparently) redirected to their home
directory.

By the way, I assume you are aware that your users shouldn't be given
any direct (shell) access to the filesystem if you are using mod_dav.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to