metaタグでのジャンプ
head部分にmetaタグで下記のような「ジャンプ」を埋め込んで、そこで指定したページに飛ばすことができる。この場合、その部分を読み込んだときにすぐにジャンプするのではなく、一応はファイルの最後まで読み込むようである。その後にジャンプすることになる。
例
<html>
<head>
<meta http-equiv="refresh" content="1;url=abcde.html">
<!--この段階ではジャンプしない-->
</head>
<body>
</body>
</html>
<!--この段階でジャンプする-->
したがって、特別の理由でもないかぎり、これを埋め込むファイルはなるべく短いほうがよい。
refresh
ページを移転した場合の自動ジャンプの指定に使う。これはCGI内でも使える。
例
<meta http-equiv="refresh" content="3;url=abcde.html#t2">
3秒後にjump.html#t2にジャンプする。
もちろん、この部分はhttp://で始まるフルパスでも書ける。
なお、ジャンプ先の「jump.html」側での「#t2」に対応するタグの書き方は、HTML4.*系とHTML5では差があるので注意すること。
検索キーワードはどうなる
metaタグで「飛ばした」場合、検索キーワードはついていかない。
これはPerl/PHPなどのLocationで飛ばした場合との大きな差である。
LOG
【metaタグでtako1$html→jump1$htmlへ飛ばした場合】
202.227.43.5 - - [2008/06/02 09:18:45] "pc6#tako1$html" "http:##search$www$infoseek$co$jp/Web?qt=VC++ 改行 チェックボックスコントロール&lg=ja&svx=101102&nc=1&col=OW&wd=0"
202.227.43.5 - - [2008/06/02 09:18:48] "pc6#jump1$html" ""
【metaタグでtako2$html→jump24htmlへ飛ばした場合】
125.206.51.16 - - [2008/06/02 10:22:53] "pc6#tako2$html" "http:##search$yahoo$co$jp#search?p=C言語 opendir&search.x=1&fr=top_ga1&tid=top_ga1&ei=UTF-8"
125.206.51.16 - - [2008/06/02 10:22:55] "pc6#jump2$html" ""
いずれの場合も転送先(jump1$html,jump2$html)にキーワードはついていかない。これに対して、Perl/PHPなどのLocationで飛ばした場合はキーワードも付いていく。
したがって、ログファイルの作成を自作のものでおこなっている場合、どんな検索キーワードで飛んできたのかを知りたい場合は、いずれ削除するページであっても元ファイル(上の例でのtako1.html,tako2.html)側に検索キーワード取得ルーチンを埋め込んでおく必要がある。
この場合のキーワード取得ルーチン(ネットバカはこういうのぞき見的なものが大好きである)の例はここを参照。
- 2014/05/01 -
検索キーワード付きアクセスログファイルの自作(perl_0104)