Apache2.x 【新鯖入荷しました】 at PHP
[2ch|▼Menu]
118:nobodyさん
02/07/27 12:07 XCYe1qpS
諸事情がありましてapacheの一部をNASサーバーモドキ的な利用方法を行いたいのですが、日本語のファイル名がまれに存在します。rewriteを使ってUTF-8のリクエストを解読しようともくろんでたのですが、、、

URLリンク(japache.infoscience.co.jp)

この辺を参考にしてこんな感じにしました。

[httpd.conf]
〜〜途中〜〜
RewriteEngine on
RewriteMap hoge prg:/usr/local/apache2/bin/rewrite.pl
RewriteRule ^/hogehoge/(.*)$ /hogehoge/${hoge:$1}
〜〜途中〜〜

[rewrite.pl]
#!/usr/local/bin/perl
use Jcode;
$|=1;
while(<>){
s/%([\da-f][\da-f])/pack("C",hex($1))/egi;
Jcode::convert( \$_, "euc" );
print "$_\n";
}

なんとリクエストの変換結果が毎回1行分perlの<>の辺?にバッファされて、1回遅れで前回のリクエストの変換結果が返されてくるんです。(1回前のリクエストのファイルが帰ってくる)
<>で読み込まれるのが1行単位だから問題が発生してるのではないか?と思ってるのですがなにか解決方法はないでしょうかねぇ?
ちなみにapacheは2.0.39 perlは5.6.0なんですけど・・・途方に暮れてます。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4666日前に更新/153 KB
担当:undef