前回の「Woradpressで「404 Not Found 」のページを作る」
書いた内容でうまく行ったかのように思えたが、ページ内検索の機能で検索して該当ページが無いときにはこの「404 Not Found 」のページに飛ばないことが判明した。
原因の一つはhttp://wpdocs.sourceforge.jp/Creating_an_Error_404_Pageにあるように、.htaccessに適切な記述しないといけない事がわかったので、.htaccessに
ErrorDocument 404 /index.php?error=404の一行を追加した。
しかしまだ、検索結果でページが存在しない場合は、この「404 Not Found 」の表示はなされず、白紙のページが表示されてしまう。
どうしよう。
答えはここにありました。
http://www.hide10.com/?p=11111
Hinemosuさんのサイトです。
index.php、archive.php、page.php、single.phpの「< ?php get_header(); ?>」の前、つまりファイルの先頭に以下の4行を追加するといいとのことです。
<?php if (!have_posts()) {
header("HTTP/1.1 404 Not Found");
include (TEMPLATEPATH . '/404.php');
return; } ?>
<?php get_header(); ?>
:
これで、めでたく、該当するページが無いときは404エラーが返されて、404.phpの内容が表示されるようになりました。
ありがとうございました。



コメントする