エンコードされた中国語の URL にアクセスするときに返される 404 エラーの解決策、url404_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:20:31
オリジナル
2152 人が閲覧しました

エンコードされた中国語 URL url404 にアクセスしたときに返される 404 エラーの解決策

私は昨日、あるプロジェクトに取り組んでいました。要件の 1 つは、各画像が画像を説明する短い段落に対応するということでした。一般的な方法は、新しいテーブルを作成し、画像の名前と説明をデータベースに記録することです。慎重に検討した結果、このアプリケーションはデータベースがなくても完成できると思います。私が実装した解決策は、説明テキスト URLENCODE をファイル名として使用し、ファイルを読み取るときにファイル名 URLDECODE を使用して実行できるようにすることです。画像のテキスト説明。

ただし、ブラウザから画像にアクセスすると、「Qiongtai Blog」というキャプションが付いた画像がある場合、URLENCODE後に生成されるファイル名は次のようになります

コードをコピーします コードは次のとおりです:

%E7%90%BC%E5%8F%B0%E5%8D%9A%E5%AE%A2.jpg

そこでブラウザから写真にアクセスしましたが、見つからないと表示されました

よく見てみると、アクセス時にブラウザがファイル名を自動的に中国語に変換していたことが分かりました

Firefox

クローム

IE

サファリ

IE と Safari では、アドレス バーに中国語の文字への変換が表示されませんでしたが、ファイルが見つからないことも報告されました。しかし、要求されたときに自動的に変換されるべきだと思うのですが、変換されたバージョンがアドレスバーに表示されません。 Nginxのアクセス記録から画像にアクセスした際のリクエストステータスを見てみましょう

コードをコピーします コードは次のとおりです:

192.168.6.30 - - [12/10/2012:10:09:44 +0800] "GET /%E7%90%BC%E5%8F%B0%E5%8D%9A%E5%AE%A2.jpg HTTP /1.1" 404 199 "-" "Mozilla/5.0 (互換性; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

リクエスト URL の処理に異常は見つかりませんでした。エンコードされたファイル名を繰り返し調査した結果、それらはすべてパーセント記号と英数字で構成されていることがわかりました。パーセント記号に遭遇した場合、ブラウザは別の変換を行う可能性があると感じました。処理されているため、ブラウザが URLENCODE にアクセスした後のファイル プロンプトが見つかりません。

そこで、URLENCODE の後のファイル名のパーセント記号をすべてアンダースコアに置き換えました

コードをコピーします コードは次のとおりです:

%E7%90%BC%E5%8F%B0%E5%8D%9A%E5%AE%A2.jpg

に置き換えました

コードをコピーします コードは次のとおりです:

_E7_90_BC_E5_8F_B0_E5_8D_9A_E5_AE_A2.jpg

ブラウザを再利用してアクセスすると問題は解決します

画像のテキスト説明を取得したい場合は、ファイル名の「_」を「%」に置き換えて、URLDECODE を使用します。

最後に注意すべきことは、Linux では、Win システムと同様にファイル名の長さ制限があるということです。現在、最も一般的に使用されている形式は、拡張子として約 5 文字を差し引いた、約 250 文字の長さです。長さは純粋にファイル名であり、URLENCODE 以降の漢字の長さは 9 文字であるため、最大 27 文字の漢字をファイル名としてエンコードできます

この方法で保存される中国語の文字は比較的少ないですが、いくつかの暗号化方法を使用して、より短い暗号文の文字列を取得し、この暗号文を URLENCODE することができます。具体的な実装方法の例は示しません。 。 試してみる!

ウェブサイトに 404 エラーが発生する理由とその解決方法

404 は HTTP ステータス コードです。HTTP 404 ステータス コードの発生は、リンクが指す Web ページが存在しないこと、つまり、元の Web ページの URL が無効であることを意味します。特に、この状況はよく発生します。たとえば、Web ページの URL 生成ルールの変更、Web ページ ファイルの名前変更や移動、インポート リンクのスペル ミス、編集者やプログラム スタッフの過失などが原因で、元の URL が使用されてしまう可能性があります。アドレスにアクセスできない場合、Web サーバーが同様のリクエストを受信すると、リクエストされたリソースが存在しないことをブラウザに伝える 404 ステータス コードを返します。一般的に、このエラーの原因は次のとおりです。 Web サイト自体の問題: Web ページの URL 自体が変更されたが、フロント ページの更新が間に合わなかったか、Web ページ ファイルの場所が変更された。がバックグラウンドで更新されていない; 外部リンクのスペルが間違っている; Web サイトのコンテンツ管理者またはプログラム管理者が URL の処理を​​十分に考慮していない。たとえば、一部の場所にリンク属性が追加されていると、URL に正常にアクセスできなくなります。 。ユーザーのネットワーク環境により、次の原因が発生します。 Web ページの URL アドレスを、要求されたポートで要求できません**。 Web サービス拡張機能のロック ポリシーは、このリクエストをブロックします。 MIME マッピング ポリシーがこのリクエストをブロックします。比較的小規模な Web コンテンツを扱う小規模な Web サイト管理者は、デッド リンク検出ツール「xenu.exe」を使用して Web ページ上のデッド リンクを検出し、コンテンツが多い大規模および中規模の Web サイト管理者は誤ったリンク情報を検出して迅速に処理できます。 、上記のデッドリンク検出ツールを使用すると、多くの時間がかかる場合があります。毎日の Web サイトのログ ファイルにあるユーザー ステータス コードに注目して、404 エラーをタイムリーに検出して解決できます。わかりやすい 404 エラー ページを作成して、ユーザーにアクセス エラー情報を思い出させ、ユーザーがホームページやディレクトリで検索できるようにガイドし、サイト検索機能や Web サイト管理者の連絡先情報を提供します。 SEO 担当者 (検索エンジン最適化担当者) の場合は、「404 エラーは Web サイトに影響しますか」の記事で詳細を参照することをお勧めします。一般ユーザー: ブラウザーを変更するか、ブラウザーのキャッシュをクリアして (ブラウザー制御や悪意のあるプラグインによるアクセス不能を排除するため)、現在のユーザーにネットワーク リンクのアクセス許可があるかどうかを確認してください (一部のコンピューターには時間制限や制限が設定されている場合があります)。ネットワーク リンク上) の検出 自分のネットワーク環境が正常であるかどうかを確認し (セキュリティ検出またはウイルス対策ソフトウェアで確認できます)、コンピュータ上で関連する制限されたプログラムが実行されていないかどうかを確認します (一部のコンピュータでは、ソフトウェアによってネットワークを制御するように設定されている場合があります)リンク権限があり、接続するにはパスワードが必要です)

404ウェブページエラーどうやって解決しますか?急いでいます

404 ページは、ユーザーが間違ったリンクを入力したときに返されるページです。 404 ページの目的は、要求されたページが存在しないこと、またはリンクが間違っていることを閲覧者に伝え、ウィンドウを閉じて離れるのではなく、Web サイトの他のページを使用するようにユーザーを誘導することです。 SEO に対する 404 の影響 404 エラー ページをカスタマイズすることは、ユーザー エクスペリエンスを向上させるための良い方法ですが、アプリケーション プロセス中には検索エンジンへの影響が認識されないことがよくあります。たとえば、サーバー側の設定が間違っていると「200」が返されます。ステータス コード または、メタ リフレッシュを使用して 404 エラー ページをカスタマイズし、「302」ステータス コードを返すようにします。適切に構成されたカスタム 404 エラー ページは、正しく表示されるだけでなく、「200」や「302」ではなく「404」エラー コードを返す必要があります。 HTTP ステータス コードが「404」であるか「200」であるかは、訪問ユーザーにとっては違いがありませんが、検索エンジンにとっては非常に重要です。 URL のリクエスト時に検索エンジン スパイダーが「404」ステータス応答を受け取ると、その URL の有効期限が切れたことを認識し、Web ページのインデックスを作成しなくなり、その URL で表される Web ページを削除するようにデータ センターにフィードバックします。もちろん、削除プロセスには時間がかかる場合があります。検索エンジンはステータス コード「200」を取得すると、URL が有効であると判断し、インデックス データベースに含めます。これは 2 つの異なる URL にまったく同じ内容、つまりカスタム 404 エラー ページの内容が含まれており、Web ページの重複の問題が発生します。最悪の場合、検索エンジンによって順位が下がり、最悪の場合、Webサイトが削除されてしまいます。 適切な 404 ページを実装する方法。サーバーのデフォルトのエラー ページを変更すると効果が得られます。ここでは、訪問者が訪問しやすくするためのいくつかの提案を示します。
理念に従う
訪問者のフラストレーションを取り除くために、簡潔な問題の説明を提供します。 訪問者が訪問目標を達成できるよう支援する合理的な解決策を提供します。 パーソナライズされたフレンドリーなインターフェイスを提供して、アクセス エクスペリエンスを向上させます。
利用ガイド
実装方法(簡単なものから複雑なものまで): 訪問者を特定の場所に戻らずに移動させます。 ページには、ホームページやサイト マップなど、サイトの重要な部分へのリンクが含まれています。スペルをチェックするようにただ指示しないでください。多くの訪問者は画像をクリックしようとは思わないため、画像ではなくテキスト リンクを使用してください。 例: 私たちのサイトにはホームページへ戻るリンクがあります。これはフレンドリーなフィードバックの最低限のものです。 また、有効なヘルプ情報が不足している場合には、訪問者のフィードバックを通じてエラーを修正する方法を検討します。 ウェブマスターへの電子メール リンク、または不足しているリンクを送信するためのフォームを含める必要があります。 訪問者は電子メールを送信するよりも送信フォームを使用することを好みます。 サイト内を検索するための検索ボックスを追加します。 例: MSN にはすべてのページの下部に検索ボックスがあり、サイトの重要な部分にもリンクしています。 訪問者が探しているページを推測できるように、訪問者が期待するページに近いサイト上のリンクをリストします。 上記のすべての提案に従う必要はありませんが、これらはすべて、訪問者がサイトに留まる可能性を高めるという目的に役立ちます。 合理的な 404 エラー ページが完成し、訪問者に多くの貴重な情報を提供します。 404 エラー ページの設定方法: 1. パスの変更により既存の Web ページ コンテンツにアクセスできない場合は、動的ページを指すように IIS で 404 エラーを定義し、ページで 301 永久リダイレクトを使用して、新しいアドレスにジャンプします。このとき、サーバーは 301 ステータス コードを返します。 2. デザインされた HTML ファイルを指すように 404 を設定します。このとき、ページは 404 ステータス コードを返します。 現在の IDC プロバイダーは基本的に 404 設定の機能を提供しており、ファイル設定を直接アップロードできます。 II での設定方法: IIS マネージャーを開きます --> カスタム 404 を設定する Web サイトのプロパティをクリックします --> カスタム エラー オプションをクリックします --> [プロパティの編集] を開き、[URL として設定] --> URL に「/err404.html」を入力します。[OK] を押して終了し、完成した err404.html ページを Web サイトのルート ディレクトリにアップロードします。ここで、「メッセージの種類」で「...残りの全文>>
」ではなく、必ず「ファイル」または「デフォルト値」を選択してください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/866671.html技術記事エンコードされた中国語の URL url404 にアクセスすると返される 404 エラーの解決策。昨日、あるプロジェクトに取り組みました。その要件の 1 つは、各画像が画像の説明テキストの短い段落に対応することでした。通常...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート