ユーザーのブラウザーから要求がある度にCGIを動かしていたらサーバーの生産性が低いです。特にカミュプリィの『西暦・年齢・和暦・干支対照表』CGIは1年に1回更新すればよい表ですので、要求の度にCGIを動かしていたら、、、うん、無駄よね。
CGIですので実行結果は標準出力へHTMLの内容を出します。また、HTMLの内容をそのままキャッシュファイルにも書き出します。こうしてCGIを動かす度にキャッシュファイルが更新されるようにしました。
CGIを置いたディレクトリに「.htaccess」設定ファイルを作成します。URLの指定がディレクトリ止まりであれば、キュッシュファイルを優先して開くようにしました。
次の例では「まるまる.html」キュッシュファイルが優先で、Pythonで書いた「まるまる.cgi」CGIが劣後になりましす。
DirectoryIndex まるまる.html まるまる.cgi
これで、普段はCGIを置いたディレクトリを呼び出すと、「まるまる.html」キャッシュファイルがクライアントに渡されます。
キャッシュファイルがないときは「まるまる.cgi」CGIが呼び出されます。キャッシュファイルがないのは最初だけなので、ディレクトリを呼び出してCGIを実行するのは最初の1回だけですね、この設定は不要かもしれません。
タイマーで定期的にプログラムを開始できるクーロン(cron)で、毎年1月1日に「まるまる.cgi」CGIを呼び出します。
年号が変わったときは、年号ファイルの設定を変更してから、CGIのファイル名を含めたURL「https://www.commuply.co.jp/tools/wareki/まるまる.cgi」をブラウザーから呼び出します。
CGIのプログラム内容を変更したときもCGIのファイル名を含めたURLをブラウザーから呼びます。
.htaccess (2) 1 (3) @False (3) @True (5) ByRef (3) ByVal (3) CGI (6) class (2) cron (2) CSS (8) display (2) else (2) elseif (2) False (3) Goto (3) HTML (4) httpd.conf (2) if (3) Linux (3) List (3) Lotus Script (34) Lotus 式言語 (27) ls (2) MariaDB (3) Notes/Domino (7) null (5) Option Compare (3) Path (2) PHP (5) Python (7) text-align (2) True (3) Ubuntu (2) UTF-8 (4) VBScript (29) Windows (6) インストール (4) カレントディレクトリ (2) セットアップ (2) タブ (2) ファイル一覧 (2) ブランク (2) 分岐 (2) 変換 (3) 変数 (3) 定数 (2) 改行 (2) 比較方法 (7) 環境変数 (2) 配列 (4)
.htaccess (2) 1 (3) @False (3) @True (5) ByRef (3) ByVal (3) CGI (6) class (2) cron (2) CSS (8) display (2) else (2) elseif (2) False (3) Goto (3) HTML (4) httpd.conf (2) if (3) Linux (3) List (3) Lotus Script (34) Lotus 式言語 (27) ls (2) MariaDB (3) Notes/Domino (7) null (5) Option Compare (3) Path (2) PHP (5) Python (7) text-align (2) True (3) Ubuntu (2) UTF-8 (4) VBScript (29) Windows (6) インストール (4) カレントディレクトリ (2) セットアップ (2) タブ (2) ファイル一覧 (2) ブランク (2) 分岐 (2) 変換 (3) 変数 (3) 定数 (2) 改行 (2) 比較方法 (7) 環境変数 (2) 配列 (4)