2011-02-09 2 views
1

共有ホスティングアカウントがあり、Filezillaを使用してサーバーに接続しています。 public_html/items/フォルダの下アクセスできないrawurencodeされたUTF-8 URL

は、これらのように、そこに多くのサブフォルダがあり、そのフォルダ名は、PHP rawurlencode機能を使用してエンコードされています

apple 
banana 
orange 
%E6%BC%A2%E5%A0%A1%E9%A3%BD 
%E8%96%AF%E6%A2%9D 

問題は、私はフォルダの下にあるファイルにアクセスするとき、私は404エラーを取得するということですその名前に非ASCII文字(例えば、中国語文字)が含まれています。

これは、私はこの1つのようなURLにアクセスできることを意味します: http://my-domain.com/items/apple/index.html

でもない:これはおそらく問題の http://my-domain.com/items/%E6%BC%A2%E5%A0%A1%E9%A3%BD/index.html

はどんなだろうか?

皆さん、ありがとうございます。

+1

であるということです二度。現在のところ、文字はデコードされ、デコードされた結果は –

+0

のために検索されます@ペッカ:そうです、あなたは正しいと思います。あなたの助けに感謝します。 – bobo

答えて

3

フォルダに物理的にURLエンコードされた名前が含まれている場合は、これらの名前自体があなたのURLにURLエンコードされていることを確認する必要があります。実際、あなたが「制御されていない」、潜在的にurl-unsafeな要素からURLを作成するときはいつでも、それらの要素をurlencodeする必要があります。あなたは%E8%96%AF%E6%A2%9D

という名前のディレクトリを持っている場合

このようにあなたは%25E8%2596%25AF%25E6%25A2%259D

とURLでそれを参照することになりかなり、そうではありませんか?

このを見て別の方法私は、文字列をURLENCODEする必要があると思いますが、既存のURLエンコードURLを使用する場合、どのサーバーが実際に解決しようとすると、/アイテム/漢堡飽/index.htmlが

+0

かなり!ありがとう。 – bobo

関連する問題