【Web】copyrightの年表記を自動で更新する

2012/04/10

Web

t f B! P L
メモ

・CGI+SSIを使う

1.「getyear.cgi」を準備。記述は以下。メモ帳に張り付けて拡張子を変えればOK
#! /usr/bin/perl
my $year = (localtime(time))[5] + 1900;
print "Content-type: text/html\n\n";
print $year;

※サーバによっては1行目を /usr/local/bin/perl などに修正
1行目:CGIの場所
2行目:現在の年を取得
3行目:CGIで文字を記述するときの
4行目:取得した年を表示


2.HTMLファイルの年を表示させたい場所に、以下のSSIを記述
<!--#exec cgi="getyear.cgi"-->

HTMLファイルと別ディレクトリにCGIを置いた場合はリンクと同様にディレクトリ名を含めて記述。
 (※1つ上の階層にあるcgi-binディレクトリに置いた場合)
<!--#exec cgi="../cgi-bin/getyear.cgi"-->

ふつうはcgi-binに置く。

エラーになる場合、FTPソフトでCGIの実行権を確認。実行を許可する。
とりあえず705で。動かなかったら755。

ファイルのタイプ 一般的な設定 好ましい設定
CGIスクリプト 755 705
ログファイル 666 606
HTMLファイル 644 ---
ディレクトリ 755 ---

SSIが有効になっていない場合もある。サーバで許可されているか確認。
通常は拡張子をshtmlにする必要があるがそれはしたくないので、


3.拡張子htmlファイルにSSIを有効にする
.htaccessに以下を記述。
Options +Includes 
AddHandler server-parsed html

ただし、すべてのhtmlファイルがサーバによる解釈を受けるためパフォーマンスが低下するかもしれないとのこと。でもどうせcopyrightはすべてのページにあるんだし別にいいんじゃないかな…。

javascriptでもできるそうですが、自分は基本的にjavascriptは切ってネットをみているクマなので自分がそもそも避けているものをあまり使いたくはなかったw
これで何もしなくても勝手に著作権の年が更新される~ヽ(・∀・)ノワーイ

QooQ