## URL圧縮転送 vol.1.1 (2005/07) ## Copyright(C) Hope-net CGIサービス2005 ## ## index.cgiアクセスでエラー表示でなくurl.htmlへ転送するように修正 2005/09/26 ##【注意事項】 ## 3. このスクリプトを使用して、いかなる損害も作者はその責任を負わないものとします。 ## ##【ディレクトリ構成例】(かっこ内はパーミッション) ## ## public_html / index.html (ホームページ等) ## | ## +-- mv / index.cgi [705] ## | regist.cgi [705] ## | member.cgi [606] ## | mimew.pl [604] ## | jcode.pl [604] ## | ## +-- user [707] / ## | : ## | : ## | ## ## ------------------------------------------------------------------- #============# # 初期設定 # #============# # 文字コード取得 require './jcode.pl'; # タイトルの色 $t_color = "#008040"; # タイトルの文字サイズ $t_size = 6; # タイトルの文字フォント $t_face = "MS UI Gothic"; # bodyタグ(背景色、文字色を指定) $body = ''; # コメント部の色 $sub_color = "#CC0000"; # スクリプト名 (このURL圧縮のファイル名) $script = "./index.cgi"; # ユーザディレクトリ $UserDir = "./user/"; #引数を取得・解釈 $move = $ENV{'QUERY_STRING'}; # 記録ファイルを定義 $memfile = "$UserDir$move\.cgi"; #============# # 設定終了 # #============# # Diaryのメイン処理 &SetFile; &html; #--------------------# # 設定ファイル認識 # #--------------------# sub SetFile { open(IN,"$memfile") || &error("該当のURLはありません : $move"); $data = ; close(IN); ($num,$date,$url,$count) = split("<>", $data); # カウントアップ $count++; # URLファイルを更新 open(OUT,">$memfile") || &error("Can't write $move"); print OUT "$num<>$date<>$url<>$count\n"; close(OUT); } #--------------# # 記事表示部 # #--------------# sub html { # ブラウザを判断 &agent; # 表示開始 print "Content-type: text/html\n\n"; print "\n\n"; print "\n"; print <<"EOM"; EOM exit; } #------------------------------------# # ブラウザを判断しフォーム幅を調整 # #------------------------------------# sub agent { # ブラウザ情報を取得 $agent = $ENV{'HTTP_USER_AGENT'}; $nam_wid = 20; $sub_wid = 25; $com_wid = 56; $url_wid = 49; # MSIE3の場合 if ($agent =~ /MSIE 3/i) { $nam_wid = 30; $sub_wid = 40; $com_wid = 65; $url_wid = 48; } # MSIE4以上の場合 elsif ($agent =~ /MSIE 4/i || $agent =~ /MSIE 5/i) { $nam_wid = 30; $sub_wid = 40; $com_wid = 60; $url_wid = 60; } } #--------------# # エラー処理 # #--------------# sub error { print "Content-type: text/html\n\n"; print "\n\n"; print "\n"; print <<"EOM"; EOM print "\n"; print "\n"; exit; }