どう記述すればいい?
それでは、SSIを使った記述方法をご紹介致します。
記述するのは、たった1行だけです。
<!--#echo var="DATE_LOCAL" -->
上記の1行をHTML中に書いておくと、それがサーバ側で解釈されて、次のような文字列に置き換わります。
※下記の文字列は1つの例です。サーバによって、生成される日付のフォーマットは異なる可能性があります。フォーマットを指定する方法は後述しています。
Sunday, 02-Nov-2003 10:05:50 JST
これで、HTMLがサーバから引き出された時刻が埋め込めるわけです。
本当にそれだけ?
実は上記は、「 SSIが使える状態になっている 」ことが前提の説明です。
一般的に、通常のHTMLファイル中でSSIは使用できませんので、以下の準備が必要です。
■方法1. 拡張子を .shtml にする
SSIが使用できる環境では、HTMLファイルの拡張子を .shtml にするだけで、そのHTMLファイルに対してSSIを有効にできる場合があります。
SSIを使いたいHTMLの拡張子を .shtml にして試してみて下さい。 それでもうまくいかなければ、次の方法を行って下さい。
※SSIが使用可能かどうかは、お使いのサーバのマニュアルを読むか、管理者にお問い合わせ下さい。
■方法2. .htaccessファイルを用意する
SSIを使用する準備ができていない場合、「 .htaccess 」ファイルに次の2行を記述することでSSIを有効にできます。
Options +Includes AddHandler server-parsed .shtml
1行目は、SSIを有効にする設定。2行目は、SSIを .shtml という拡張子のファイルで使うようにする設定です。
※「.htaccess」ファイルの作成方法に関しては、記事「.htaccessファイルの作り方と設置方法」や、 「エラーメッセージを書き換えたい」中の解説やをご参照下さい。
■拡張子 .html でSSIを有効にするには?
通常のHTMLの拡張子 .html や .htm でSSIを有効にすることも可能です。 この方法を使えば、今までと同じURLのままSSIを使うことができます。
ただ、すべてのHTMLファイルがサーバの解釈を受けることになりますので、サーバの負荷が高くなってしまいます。 本当にすべてのHTMLファイルでSSIが使われているのでなければ、この設定はしない方が良いでしょう。
設定するには、.htaccessファイルに次のように追記します。
AddHandler server-parsed .html
もし、.htm ファイルを対象にするなら、
AddHandler server-parsed .htm
と記述します。
両方を対象にしたいなら、
AddHandler server-parsed .htm .html
のように記述します。
日時表記のフォーマットを指定したい
次のように記述すると、SSIで埋め込まれる日時のフォーマットを変更できます。
<!--#config timefmt="%Y年%m月%d日 %H時%M分%S秒" --> <!--#echo var="DATE_LOCAL" -->
こうしておくと、次のように日時が表示されるようになります。
2003年11月02日 10時05分50秒
フォーマットの指定方法について詳しくは、SSI解説記事やその他のリファレンスなどをご参照下さい。
おわりに
今回は、HTMLファイル中に時刻を埋め込んで、検索サイトの巡回ロボット(クローラー)がページを収集していった日時を知る方法をご紹介致しました。
興味がおありでしたら、ぜひ試してみて下さい。
【関連記事】