ワードプレスで、現状無いurlを指定した場合、404エラーを出力したいと思い、404.phpを設置しましたが、どうしてもトップページが表示されてしまいます。
ワードプレスのバージョン:WordPress 5.1.1
ワードプレスはサブフォルダをかませてwp/の下にインストールされています。
※参考にしたサイト
リンク内容
■やったこと
・404.phpを作成し、ディレクトリの下に設置。
404.php
1<!-- 404.php --> 2<?php get_header(); ?> 3<div class="container"> 4<h2>Nothing to see here</h2> 5<p>We can't find this page / 404 error/</p> 6<p>You might mistake type this page URL : <span class="error_msg"> http://<?php echo esc_html($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']); ?> </span></p> 7<p><a href="<?php echo home_url(); ?>">HOME</a></p> 8</div> 9<?php get_footer(); ?>
・.htaccessの最下段に下記の1行を追加
ErrorDocument 404 /index.php?error=404
この状態で、urlをたたくと、トップページが表示されてしまいます。
(404エラーのページを表示させたい)
ちなみに、
.htaccessにサブディレクトリのwp/をつけて
ErrorDocument 404 wp/index.php?error=404
404.phpをワードプレスのテーマ内のディレクトリ直下(header.phpなどがあるところ)に設置すると、正常に動作します。
「ドメインurl/404」と入力してもトップページが表示されてしまいます。
どのようにしたら、不正なurlを打った時に404エラーが表示させられますか?
ご教授いただきたく、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー