2011-01-04 6 views
0

urlのアラビア語で "Not Acceptable 406"エラーを修正するにはどうすればよいですか?urlのアラビア語で "Not Acceptable 406"エラーを修正するにはどうすればよいですか?

許容

要求されたリソースの適切な表現/このサーバー上 を見つけることができなかったわけではありません。

さらに、404 Not Foundエラー が

requeを処理するために のErrorDocumentを使用しようとしているときに、私は、URLに英語の単語を入れたときにエラーが表示されません発生しました: http://www.faressoft.org/?anything=hello

私がURLでアラビア語を入れたときに表示されます。 http://www.faressoft.org/?anything=%E3%D1%CD%C8%C7%F0

私はすべてのページでこの問題を持っています。

+0

私は、このエラーはApacheによって引き起こされたのではなく、要求を処理しているスクリプト(およびクエリ文字列パラメータの解析)によって引き起こされたと思います。 – heiko

+0

しかし、私はすべてのページでこの問題を抱えています。 – faressoft

答えて

1

ええと、これは多くのことができます。まず、mod_securityはありますか?これは、おそらくあなたのサイトを壊すだけでなく、実際の多くの理解なく、サイトをより安全にするApacheモジュールです。スイッチをオフにするだけです。

+0

はい、私のホストは自分のホスティングでmod_securityを持っています。どのように私はそれを無効にすることができます(私はサーバーではなく共有ホスティングを持っています)。 – faressoft

+0

私はこの答えと私の答えは関連していると思います。 mod_securityを無効にしても問題は解決しないかもしれません。私の更新を参照してください。 – Codo

2

Apacheはおそらく文字セットUTF-8に設定されています。しかし、URLの終わりは、有効なUTF-8バイトシーケンスではないバイトシーケンスE3D1CDC8C7F0にデコードされます。それはおそらくApacheがエラーを発生させる理由です。

有効なバイトシーケンスであるE3D1CDC8C7F0はどの文字セットですか? HTTPヘッダーには文字セットに関する情報が含まれています(FirefoxのHTTPライブヘッダープラグインを使用して調べることができます)。

更新:明らかに、私の答えは(コメントなし)downvotedてしまった

。しかし、受け入れられた答えと私の答えは関連しています。私の答えは技術的な詳細を示し、受け入れられた答えは、どのモジュールがチェックを担当するのかを説明します。

質問のURLが最初に作成された方法はまだ分かりません。私はそれが有効なURLだとは思わない。

私はURLがそれをコード化して動作します以下のURLを作成し、あなたのウェブサイトからいくつかのアラビア語のテキストをコピーした

http://www.faressoft.org/?anything=%D9%87%D9%86%D8%A7%D9%83

ページが表示されたら、URLがさえアラビア語で表示されますFirefoxの文字。

本当にmod_securityを無効にすると問題は解決しますか?あなたのURLが間違っていたら?

P .:私はアラビア語を理解できないので、私はこの新しい文脈で侮辱的または混乱しているテキストをコピーしないことを希望します。

関連する問題