「ページが見つかりません…404 Not Found」という表示をされることがよくある。
これは、ページの削除や内部リンク先の記入ミスなどで、該当するURL名がないときに表示されるエラーである。
この、「ページが見つかりません…404 Not Found」という場合に、そっけない表示ではなく
あらかじめ用意しておいたページを表示するように変更することができる。
その方法は
1.「.htaccess」に404 Not Foundの場合に表示するURLを指定する
2.404 Not Foundの場合に表示するページを準備しておく
の2つである。
まずは 「.htaccess」を設定する。
「.htaccess」は
ErrorDocument 404 /404/
[EOF]
と書けばよい。
メモ帳や秀丸エディタなどのテキストエディタを使って作成する。

この 「.htaccess」は、
「ErrorDocument 404」が起きたとき(ページがありませんという状況になったとき)
「/404/」というフォルダ内(のindex.html)を開く
…ということ意味を表している。
※2行目に改行のみの行があるが、これは意味を持っているので必ず必要です。
※3行目は [EOF]となっているが、これは書く必要がない。[EOF]はテキストエディタなどで自動的に表示されるもので、ここが最後であるという意味の「エンドオブファイル」を略したものである。
作成した「.htaccess」はFTPを使ってWEBサーバにアップする。このときに必ずドメインの「ルート」の位置にアップすること。
▼具体的な設置例
http://www.domo-domo.com/arienaiurl/
上記のページは実際にはありませんが
http://www.domo-domo.com/404/
を開いています。
次に、MTでテンプレートを作成する。
上記の設定に従えば、/404/にindex.htmlを用意しておくことになる。

テンプレートの中身はメインテンプレートをそのまま流用し、コンテンツ部分(<div id="alpha-inner" class="pkg">の下)を以下のように差し替える。
■<a href="<$MTBlogURL$>">株式会社ドモドモコーポレーション</a> > 404エラーページ
<h3 class="entry-header">サイト内検索をしますか?</h3>
お探しのページが見当たりませんでした。<br />
以下の検索フォームでサイト内検索をしますか?<br />
<p class="posted">
<form method="get" action="http://www.domo-domo.com/blog/mt-search.cgi">
<input type="hidden" name="IncludeBlogs" value="3,4,5" />
<label for="search" accesskey="4">サイト内を検索: </label><br />
<input id="search" name="search" size="20" />
<input type="submit" value="サイト内検索" />
</form>
</p>
<p class="posted">ドモドモコーポレーションのサイトには以下のページがあります。</p>
<$MTWidgetManager name="archives"$>
出力ファイル: 404/index.html
となっていることが確認できたらこれで保存と再構築をする。
上記の例では、以下のように表示される。

このページの意味は2つあり、
・探しているページがないのでサイト内検索ができるようにする。
・サイト内のアーカイブやサイトマップを表示することで次のクリックをしやすいようにする。
を同時に表示している。
自由にカスタマイズができるので、各自が自分の思うように作成すればいいだろう。
これで404エラーでそっけない表示から開放されることになる。
![]()
|
