[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[webdav-jp:0439] userdir 以下での動作と Directory ディレクティブ



杉浦と申します。はじめまして。

mod_encoding を試していて、思いっきりはまってしまったのでその報告と質問です。
# 要点がまとまっていない文章ですみません。

最初、http://host/~sugi/davetst の様な userdir を使ってテストしていました。
英語のファイルは問題なく書き込めますし、英語ならファイル名の変更もできます。

しかし、日本語のファイル名に変更しようとすると、

config_merge: entered
merged: enable_function == 2
merged: strip_msaccount == 2
merged: server_encoding == UTF-8
[Wed Jun 19 07:44:04 2002] [error] [client 192.168.51.107] object is not a file,
 directory or symlink: /dev/null

というエラーが出て失敗しました。

何だろう何だろうと思ってあんまりにも分からないので、apache -X を strace 
してみたら、"/dev/null/~sugi/davtest/もげ" (を UTF-8 に変換したもの?)
にアクセスにいっているようです。
# この VirtulaHost の DocumentRoot が /dev/null だったので。

試しに DocumentRoot を他のパスに変えても、やはり <DocumentRoot>/<RequestPath>
 にアクセスに行って File does not exist になってしまいます。

じゃあ、DocumentRoot 直下に置けば動くかなと思ってやってみると、リネーム
は出来たのですが、(Windowsからやったので) 文字コードが SJIS になってし
まいました。

この時、errror.log には一応

config_merge: entered
merged: enable_function == 2
merged: strip_msaccount == 2
merged: server_encoding == UTF-8

と出力はされています。

結局 mod_encoding 関係の設定を、Directory ディレクティブに書いていたの
ですが、そこからから外に出し、トップレベルか VirtualHost 以下にに書け
ば巧くいくことが分かりました。

これらはこういうものでしょうか???

-- 
Tatsuki Sugiura   mailto:sugi@xxxxxxxxx