Linux サーバ構築 ( Fedora Core5 ) - WEBサーバ
apache2 - 5.エラーメッセージ表示のカスタマイズ
apache2 のエラーメッセージをカスタマイズし、オリジナルな表示に変更する方法です。コンテントネゴシエーションによる各国語のエラーメッセージ表示もテストします。
エラーメッセージの表示を手軽にカスタマイズするため、共通のヘッダファイルとフッタファイルを好みに応じて変更します。
- エラーメッセージ カスタマイズの例(スクリーンショット)
例として、エラーメッセージをこのようなに表示するため、下記 2 ~ 5 の修正を行ないます。
- エラー イメージ フォルダの設定
使用するイメージファイルを格納するフォルダを指定するため、httpd.conf を修正します。
/etc/httpd/conf/httpd.conf ( 抜粋 )
Alias /error_img/ "/var/www/error_img/" <Directory "/var/www/error_img/"> Order allow,deny Allow from all </Directory>
- 使用するイメージ ファイルの作成
# ls /var/www/error_img error_icon.gif error_arrow.gif
- 共通の ヘッダ・ファイルの修正
青色表示は SSI ディレクティブです。
/var/www/error/include/top.html
<!--#if expr="! $CONTENT_LANGUAGE" --><!--#set var="CONTENT_LANGUAGE" value="en" --><!--#endif --><!--#if expr="! $CHARACTER_ENCODING" --><!--#set var="CHARACTER_ENCODING" value="ISO-8859-1" --><!--#endif --><?xml version="1.0" encoding="<!--#echo var="CHARACTER_ENCODING" -->"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="<!--#echo var="CONTENT_LANGUAGE" -->" xml:lang="<!--#echo var="CONTENT_LANGUAGE" -->"> <head> <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; margin: 20px; font-size: small; border-top: 1px solid #CCCCCC; border-bottom:1px solid #CCCCCC; padding: 20px;} img.icon_error {float: left;} div {margin-left: 50px;} h4 {font-weight: bold; color: green; margin: 0px;} p {margin: 0px;} /*]]>*/--></style> </head> <body> <img class="icon_error" src="/error_img/error_icon.gif" alt="error mark" /> <div> <h4>Error <!--#echo encoding="none" var="REDIRECT_STATUS" --> : <!--#echo encoding="none" var="TITLE" --></h4> <p>
- 共通の フッタ・ファイルの修正
/var/www/error/include/bottom.html
</p> <img src="/error_img/error_arrow.gif" /> <a href="/" title="Home">Home</a> <br clear="all" /> </div> </body> </html>
- 各国語によるエラーメッセージの表示例(スクリーンショット)
ブラウザの言語設定を変更すると、コンテントネゴシエーションによる各国語対応のテストを行なうことができます。
英語 表示例 ( Content-language = en / charset = ISO-8859-1 )
韓国語 表示例 ( Content-language = ko / charset = EUC-KR )
( 最終更新日時 : 2008/08/31 21:24:48 )