さまざまなクライアントがファイルをアップロード/ダウンロードするための webdav Web サイトをセットアップしようとしています。ただし、各クライアントに他のクライアントのデータを見せたくありません。各クライアントは SSL クライアント証明書を使用して認証するため、それらを独自のディレクトリ ツリーに chroot したいと考えています。
例えば:
- https://example.com/webdav/upload
- ファイルシステムの場所にマップする必要があります
- /somewebroot/webdav/SSL_USERNAME/アップロード
これには mod_rewrite を使用できると思っていましたが、私のルールでは無限のリダイレクト ループに陥っているようです。何かご意見は?
Alias /webdav /somewebroot/webdav
<Directory /somewebroot/webdav>
RewriteEngine On
RewriteBase /webdav
RewriteCond %{SSL:SSL_CLIENT_S_DN_CN} ADMIN #The admin does not get chrooted
RewriteRule .* - [L]
RewriteCond %{REQUEST_URI} !^%{SSL:SSL_CLIENT_S_DN_CN}/(.*)
RewriteRule ^(.*) %{SSL:SSL_CLIENT_S_DN_CN}/$1 [L]
</Directory>