エラーページにリダイレクトを追加する

404エラー(ページ不在)のエラーなどで、エラーページが表示されますが、
訪れたクライアントにとって、そこからどうしていいかわからなくなります。

私の場合は、404エラーの場合、まずURLのスラッシュまで削ります
それでもダメなら、もう一個前のスラッシュまで削る。。。
と言った具合に見つけていくんですが、
WEBサーバーの設定で「noindex」になっていると、スラッシュで削ってもあまり意味がありません

そこで、エラーページから、とりあえずのトップページへのリダイレクトを追加する方法です。

至って簡単です。


いちを、標準的なWEBサーバ、「Apache」でWEBサーバーを構築していることを
前提として話を進めます。


まず、「/usr/local/apache2/conf/httpd.conf」編集します。

下記の部分を探します。



Alias /error/ "/usr/local/apache2/error/"
 
<Directory "/usr/local/apache2/error">
 AllowOverride None
 Options IncludesNoExec
 AddOutputFilter Includes html
 AddHandler type-map var
 Order allow,deny
 Allow from all
 LanguagePriority ja cs de es fr it ja ko nl pl pt-br ro sv tr
 ForceLanguagePriority Prefer Fallback
</Directory>

エラーページを日本語で表示するようにします。


次に、「/usr/local/apache2/error/include/top.html」編集します。

<title><!--#echo encoding="none" var="TITLE" --></title> <link rev="made" href="mailto:<!--#echo encoding="url" var="SERVER_ADMIN" -->" /> <style type="text/css"><!--/*--><![CDATA[/*><!--*/  body { color: #000000; background-color: #FFFFFF; }  a:link { color: #0000CC; }  p, address {margin-left: 3em;}  span {font-size: smaller;} /*]]>*/--></style> <meta http-equiv= "refresh" content="5;URL= http://www.multiburst.net/project-multiburst/"> </head>

</head>の直前にリダイレクトのメタ構文を入れます。


これで、Apacheを再起動しましょう。

# /usr/local/apache2/bin/apachectl configtest # /usr/local/apache2/bin/apachectl restart

それで、適当にURLを途中で切ってみて、
エラー処理を確認してみましょう。


できました??(^^;)


今度は、エラーページそのものをかっこいいページに変えてみようかな。。。っと。

Linux版 個人で立てるWebサーバーApache入門


ステップ式サーバ構築入門 はじめてのApache