2011-02-11 10 views
1

私は運が少し単純ですが、私のURLにヘブライ語/アラビア文字を表示したいと思います。例えばURLのエンコード率が機能していません

:私は、URLが指定されたファイルを表示したい:aאm.php

だから私は、パーセントが途中UTF8文字をエンコードしましたし、結果は次のとおりです。a%D7%90m.php。私は私のサーバー(Apacheの)へa%D7%90m.phpをアップロードしwww.example.com/a%D7%90m.php & www.example.com/aאm.phpページを要求しようとしましたが、私のサーバーが応答しました:

要求されたURL /a%D7%90m.phpがこのサーバー上に見つかりませんでした。

だから私が代わりに(パーセントエンコーディングなし)aאm.phpをアップロードしようとしませんが、再びwww.example.com/a%D7%90m.php & www.example.com/aאm.phpを閲覧運。

この問題を解決するにはどうすればよいですか?

+1

「DirectoryIndex」を有効にして、Apache自身がそのページで提供しているURLを確認してみる価値があります。 –

+0

Thanks Pekka。 %25D7%2590m.php(25%の数字が各パーセントに追加されています)が表示されます。それはなぜですか?どうすればこの問題を解決できますか? – Tom

+0

'%25'は'% 'の16進エスケープです。これは、ファイル名にエスケープされた名前を使用したことを意味します。名前に実際の文字を含むファイルを作成する必要があります。 –

答えて

0

解決策は、www.example.comの.htaccessのmodリライトを設定することでした。たとえば、 の場合は、リンクをwww.example.com/عربيةに、www.example.com/arabic.phpで実際にリクエストを処理したい場合は、このコードを.htaccessファイルに書き込んでください:

+0

質問は "URLのエンコーディングが機能していません" 。特定の書き換えルールをハードコードすることは、この問題に対する同じ答えを探している他のユーザーにとっては適切な答えではありません。 –

関連する問題