[解決済み] header('HTTP/1.0 404 Not Found'); not doing anything
質問
私のサイトのメインディレクトリに404.phpファイルがあり、私は以下のように使用していました。
header('Location: 404.php');
を使うべきだという意見が出るまで、しばらくの間
header('HTTP/1.0 404 Not Found');
の代わりに。そこで、それに置き換えてから、追加しました。
ErrorDocument 404 /404.php
をapacheの設定ファイルに追加し、サーバーを再起動しましたが、うまくいきません。
以下のような様々なバリエーションを試してみました。
ErrorDocument 404 404.php
と
ErrorDocument 404 mywebite/404.php
が、無駄だった。
うまくいかないというのは、先ほどは
header('Location: 404.php');
に置き換えると、404.phpファイルにリダイレクトされます。
header('HTTP/1.0 404 Not Found');
は、その行をスキップするだけで、何もしないようです。確かにリダイレクトされていません。リダイレクトを要求している理由は、$_GETヘッダーの値が認識されない場合、ページが404になるはずだからです。
解決するには?
いや、おそらく実際に動いているのでしょう。ただ、目に見えにくいだけなのです。代わりに
ただ
を使用しています。
header
を呼び出したら、それを実行し、次に
404.php
を呼び出し、さらに
die
.
ということをテストすることができます。
HTTP/1.0 404 Not Found
という名前のPHPファイルを作成することで、動作します。
test.php
という内容です。
<?php
header("HTTP/1.0 404 Not Found");
echo "PHP continues.\n";
die();
echo "Not after a die, however.\n";
そして、その結果を
curl -D /dev/stdout
が明らかにします。
HTTP/1.0 404 Not Found
Date: Mon, 04 Apr 2011 03:39:06 GMT
Server: Apache
X-Powered-By: PHP/5.3.2
Content-Length: 14
Connection: close
Content-Type: text/html
PHP continues.
関連
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】 libapache2-mod-php7 パッケージが見つからない。
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] なぜcloseタグを省略するのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み] コマンドの同期がとれていない。
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み】警告。数値でない値に遭遇しました
-
[解決済み】count()パラメータは配列かlaravelのcountableを実装したオブジェクトでなければならない
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。