- ベストアンサー
変わるアドレスにリンクする方法
例えば 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 他種類は問いません。 こちらのスキルは、上記すべてダウンロードして、簡単なところのみ改造できる程度です。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
毎日変わる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も最新のものにするのです。それが面倒で自動化したいということならすみません。
その他の回答 (5)
- hrm_mmm
- ベストアンサー率63% (292/459)
>毎日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と同様
補足
とても参考になります。 ありがとうございました。
- komorebi99
- ベストアンサー率33% (15/45)
再びkomorebi99です こんにちは JavaScriptの dd = new Date(); は、このコードが読まれた時の(最新の)日付を返します。 よって、目的のページが午前0時でページアドレスが変わっても、対応できるはずです。 一度お試しいただけますと幸いです。
お礼
komorebi99 さん、ありがとうございます。 とても参考になります この件、以外でも使用できますので、喜んでおります。
- komorebi99
- ベストアンサー率33% (15/45)
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>
お礼
komorebi99 さん、ありがとうございます。 日付で変わっていく方法ですね。もっと詳しく書けばよかったのですが、必ずしも変わる時間が決まっていないのです。 わたしもこの(日にちで変わる)方法でやっていたのですが、夜中(0時)を過ぎるとまだ書いていないアドレスになってしまうので困っています。 IFRAME でその分を取り込み全体のページで一括表示させたいのです。 なければ、 (出社前に書くので)毎日10時ごろにかわりますので、ご教授いただいたスクリプトを改造して、そのころに変わるようにしてみたいと思います。 とても参考になりました。ありがとうございました。
- komorebi99
- ベストアンサー率33% (15/45)
#1です 修正です print "<a href='http://hogehoge.com/$strDate.htm'>ほげ</a>";
- komorebi99
- ベストアンサー率33% (15/45)
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>";
お礼
ずばり、これです! 目からウロコでした。 本当に助かりました。ありがとうございます。