0

エラー「soft404」を修正しようとしています

このhttps://support.google.com/webmasters/answer/181708?hl=frを読んだので、わかりました。

パーソナライズされたページ 404 でこのエラーを修正するには、次のことを行うことができます。

<?php



    try{
         echo "Error, I fail to load the services I catch It ! (have imagination)";
    }
    catch(Exception $e){
        header("HTTP/1.0 404 Not Found");
        include 'page404.html';
        exit;
    }


?>
4

1 に答える 1

1

あなたは 404 エラーの意味をよく理解しておらず、500 エラーと混同しています。
PDO エラーは、ページの存在とは関係ありません。これは、サイトで一時的な問題が発生していることを意味するコード エラーです。したがって、500 を送信する必要があります。

最近の PHP バージョンでは対応する必要があると言われていますが、そうでないという報告もあります。私が知っている唯一の保証された方法は、php-fpm を使用することです。エラーの場合に 503 を送信することは、そのコア機能の 1 つです。

とにかく、少なくとも PHP 設定 (ini または perdir) で display_errors = off を設定してみてください。
次に、コードを次のように変更します。

<?php
echo "Je me connecte a un module foireux et la page est introuvable.";
$pdo = new PDO("n'importe quoi !");

適切に構成された PHP は、自動的に 500 で応答します!

しかし、ページが見つからない場合は、実際に 404 で応答する必要があります。

<?php
$data = DB::getData("SELECT * FROM articles WHERE id=?", $_GET['id']);
if (!$data)
{
    throw new http404();
}

wherehttp404()は、グローバル例外ハンドラーによって処理する必要があるカスタム例外です。404 応答を送信する必要があります。ちょうど

header("HTTP/1.0 404 Not Found");
exit;

Googleにとっては十分でしょう。

于 2013-07-13T16:12:09.443 に答える