0

ApacheとPHPをセットアップしていて、ファイルを使用して.htaccessファイルを任意の出力に自動追加します。

問題は、を使用して404エラーを出力したい場合です。

<?php header("HTTP/1.0 404 Not Found"); ?>

auto_prependedファイルはすでに処理されているため、ヘッダーは引き続き出力されます。

.htaccessファイル

php_value date.timezone 'Europe/London'
php_value auto_prepend_file load.php

load.php

<?php

    // Set the error reporting level (DEV)
    error_reporting(E_ALL);
    ini_set("display_errors", 1);

    // Load the configuration file
    include("config/config.php");

    session_start();

?>

したがって、ロードファイルには構成ファイルのインクルードが含まれているため、ロードするすべてのページに設定されます。

そのため、現時点では、実際の404エラーではなくソフト404エラーが発生しているページがいくつかあります。したがって、画像123が実際には存在しないために、/ image / 123を参照するためのデータが返されない場合は、「この画像は存在しません。 "したがって、これはgoogleまたは他のクローラーに問題を引き起こします。/image/123から続行する可能性があるためです..../ image / 12222222333333444444など...したがって、実際には適切な404を出力する必要があります。

誰かが助けてくれることを願っています。

4

1 に答える 1

0

私は答えを見つけました:PHPヘッダー404が機能していません

<?php
header("HTTP/1.0 404 Not Found");
exit("<h1>Not Found</h1>
The requested URL " . $_SERVER["REQUEST_URI"] . " was not found on this server.
<hr>");
?>

これにより、正しい 404 出力が得られます。

于 2012-12-04T21:02:33.157 に答える