• ベストアンサー

変わるアドレスにリンクする方法

例えば http://hogehoge.com/01/04/index.html にリンクを張りたいのですが 後ろの  01/04 (1月4日) ここの分はは毎日変わります。変わる時間は不規則です。 http://hogehoge.com/01/05/index.html という具合です。 変わった時にリンクも自動的に変わる方法はないでしょうか? リンク元を http://hogehoge.com/0105.htm にして 0105.htm が 0106.htm と変わったら  リンクが 0105.htm が 0106.htm と自動的に変更できるスクリプトでもかまいません。 cgi php java 他種類は問いません。 こちらのスキルは、上記すべてダウンロードして、簡単なところのみ改造できる程度です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Hasty
  • ベストアンサー率73% (19/26)
回答No.5

毎日変わるURLのページも、それへのリンクがあるページも、hokurikuさんが管理しているコンテンツなのであれば、中継ページを1枚用意するだけで済みますよ。 まず、リンクは固定で http://hogehoge.com/latest.html などとし、その中身は <html> <head> <meta http-equiv="Refresh" content="0;URL=http://hogehoge.com/01/04/index.html"> </head> </html> とします。 そして、新しいURLのページをアップする際に、このHTMLのRefresh URLも最新のものにするのです。それが面倒で自動化したいということならすみません。

hokuriku
質問者

お礼

ずばり、これです! 目からウロコでした。 本当に助かりました。ありがとうございます。

その他の回答 (5)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.6

>毎日10時ごろにかわります 日本時間(gmt+9)ではなく、大西洋上(だったかな?)の時刻(gmt-1)で変更をかけるとか? perl なら ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time - 60*60); 以下No1,2と同様 JavaScript なら var t1 = new Date(); var t2 = t1.getTime(); t1.setTime( t2 - 10*60*60 ); yy = t1.getYear(); mm = t1.getMonth() +1; dd = t1.getDate(); 以下No3と同様

hokuriku
質問者

補足

とても参考になります。 ありがとうございました。

回答No.4

再びkomorebi99です こんにちは JavaScriptの dd = new Date(); は、このコードが読まれた時の(最新の)日付を返します。 よって、目的のページが午前0時でページアドレスが変わっても、対応できるはずです。 一度お試しいただけますと幸いです。

hokuriku
質問者

お礼

komorebi99 さん、ありがとうございます。 とても参考になります この件、以外でも使用できますので、喜んでおります。

回答No.3

Javascriptです <script language="JavaScript"> <!-- function sample(){ dd = new Date(); yy = dd.getYear(); mm = dd.getMonth() + 1; dd = dd.getDate(); if (yy < 2000) { yy += 1900; } if (mm < 10) { mm = "0" + mm; } if (dd < 10) { dd = "0" + dd; } location.replace("http://hogehoge.com/" + mm + dd + ".htm"); } // --> </script>

hokuriku
質問者

お礼

komorebi99 さん、ありがとうございます。 日付で変わっていく方法ですね。もっと詳しく書けばよかったのですが、必ずしも変わる時間が決まっていないのです。 わたしもこの(日にちで変わる)方法でやっていたのですが、夜中(0時)を過ぎるとまだ書いていないアドレスになってしまうので困っています。 IFRAME でその分を取り込み全体のページで一括表示させたいのです。 なければ、 (出社前に書くので)毎日10時ごろにかわりますので、ご教授いただいたスクリプトを改造して、そのころに変わるようにしてみたいと思います。 とても参考になりました。ありがとうございました。

回答No.2

#1です 修正です print "<a href='http://hogehoge.com/$strDate.htm'>ほげ</a>";

回答No.1

CGI/perlです ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); $strDate = sprintf("%02d%02d", $mon +1, $mday); print "<a href='http://hogehoge.com/'.$strDate.'.htm'>ほげ</a>";

関連するQ&A