2012-03-05 11 views
1

xmlファイルを生成するアプリケーションがあり、特殊文字が含まれている可能性があります。私の問題は、特別な文字のURLがエンコードされている場合、Apacheが私にxmlファイルを与えないということです。Apacheは、特殊文字でエンコードされたURLに対して404を返します。

例: ファイルABCö.xmlはhttp://host/path/ABCö.xmlでアクセス可能ですが、エンコードされたURLにアクセスした場合http://host/path/ABC%F6.xml Apacheは404

はhttpd.confのこの設定である私に与えますか、私はソムが必要です両方のURLからxmlファイルにアクセスできるように書き直しますか?

+0

ファイル名の特殊文字が、URLと同じエンコーディングを使用していますか? –

答えて

3

エンコードに問題がある可能性があります。

ほとんどの(すべての)最新のブラウザでは、ユーザーがアドレスバーに直接入力するURLに特殊文字をエンコードする際にUTF-8を使用します。あなたはABCö.xmlは、Firefoxで言う入力したとき

だから、それはそのUTF-8マルチバイト表現にöを変換しますので、最終的な結果は

ABC%C3%B6.xml 

はなく、シングルバイト

ABC%F6.xml 
になります

のいずれか1つのみが動作します。ファイル名に使用されているエンコーディングを確認してください。

+0

あなたは正しいです。私のxmlファイルにアクセスしようとしているサードパーティアプリケーションが、URLをエンコードする際にlatin1(ISO-8859-1)を使用しているようです – jon

関連する問題