現在日時を判定して、表示するHTMLを切り替えるCGIを使う方法

現在時刻を元に、新旧どちらのデータを表示するかを切り替える

現在時刻を元に、新旧どちらのデータを表示するかを切り替える

次に、CGIを使って日時を判定し、日時によって新旧どちらのページを見せるかを切り替える方法をご紹介致します。前ページで解説した「cron機能を使う方法」が利用できない場合は、このCGIを使う方法を利用すると良いでしょう。

ここでは、以下の2つの方法をご紹介致します。それぞれのメリット・デメリットを判断して選択して下さい。

  • 方法a. CGIで日時を判別し、新旧どちらかのHTMLを返す方法
  • 方法b. CGIで日時を判別し、新旧どちらかのURLへ転送する方法

それぞれの詳しい方法は、以下の通りです。


 

方法a. CGIで日時を判別し、新旧どちらかのHTMLを返す方法

「現在ページ用のHTMLファイル」と「更新ページ用のHTMLファイル」の2ファイルを事前に用意しておき、現在時刻に応じて、前者か後者のどちらかの中身を(CGIを使って)出力する方法です。

[メリット] 新旧どちらのページを表示している場合でもURLは変わりません。
[デメリット] ウェブページ内でSSIを利用している場合や、ウェブページ自体をPHPやCGIなどを使って動的に生成している場合には、この方法は使えません。

方法b. CGIで日時を判別し、新旧どちらかのURLへ転送する方法

「現在ページ」と「更新ページ」の両方をアップロードしておき、現在時刻に応じて、前者のURLか、後者のURLかのどちらかに転送します。

[メリット] PHPやCGIを使って生成している場合でも利用できます。また、転送するだけなので処理が単純です。CGIが動くなら、多くのサーバで動作可能でしょう。
[デメリット] 現在ページと更新ページとで、それぞれURLが変わります。また、更新ページのURLが推測されると、指定時刻前でも閲覧されてしまう可能性があります。

どちらの方法も、CGIを使って現在時刻を調べ、異なるファイルを見せることで自動更新したかのように見せます。

それでは、まずは、方法aの「CGIで日時を判別し、新旧どちらかのHTMLを返す方法」から見ていきましょう。