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)