新しい Web サイトを構築するために Apache 2.2.X と PHP 5.2.X (Apache モジュールとしてインストール) を使用しています。サーバー エラーの処理方法に関する提案を読みたいと思います。
ホームページの同じファイル (/index.php) を使用して、カスタム エラー メッセージを表示することを考えていました。これは私の .htaccess 設定です:
ErrorDocument 400 /index.php?error=400
ErrorDocument 401 /index.php?error=401
ErrorDocument 403 /index.php?error=403
ErrorDocument 404 /index.php?error=404
ErrorDocument 500 /index.php?error=500
さて、私の index.php ファイルには、次のようなコードがあります。
if (isset($_GET['error']))
DrawErrorPage($_GET['error']);
else
DrawHomepage();
すべてが魅力のように機能します。
まあ、修正できない 1 つのことを除いてすべて: Apache に 500 ステータス コードを返すように強制すると (たとえば、.htaccess に不正な形式のコードを挿入するなど)、"/index.php? error=500" ですが、代わりにデフォルトの 500 エラー ページが表示されます。他のステータス コード (403 や 404 など) の場合、構成は完全に機能します。
しかし、今は疑問に思っており、別のページを使用してエラーを処理する方がよいと考え始めています (たとえば、「/error.php」)。
"DrawHomepage()" は "robots" メタ タグを "index, follow" に設定する必要があり、"DrawErrorPage()" は "noindex, nofollow" に設定する必要があります。右?では、私のホームページに初めてアクセスしたときに、Web クローラーがエラー応答を受け取ったらどうなるでしょうか? Web クローラーが初めて私のホームページに 200 を訪問し、1 か月後に 500 を訪問した場合はどうなるでしょうか? また、エラーが表示されている場合でも、「ロボット」メタ タグを「index, follow」のままにしておくとどうなりますか?
この問題の回避策、解決策はありますか? あなたならどうしますか?
どうもありがとう!