[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]

Readme for analog3.90beta2

検索引数

時々、URL は?の後に引数を含みます。例えば以下の URL
/cgi-bin/script.pl?x=1&y=2
は、引数 x=1y=2 を渡して、プログラム /cgi-bin/script.pl を走らせます。( 時々サーバーは、ログファイルの別々の場所にこれらの引数を記録します。しかしもし LOGFORMAT コマンドの中の %q 項を使えば、analog はファイル名を上記のように翻訳します。)

これからすぐに 述べる ARGSINCLUDEARGSEXCLUDE のコマンドを使えば、analog は引数を読み込んだり無視したりできます。 しかし初期設定では全ての引数は読み込まれるようになっています。これが通常望まれることであり、実際これらのコマンドを使うことも無いでしょう。

引数が読み込まれたとしても、いつでもレポートに引数が現れるわけではありません。なぜなら analog は引数が十分にないとき、表示しないからです。 引数を見るためには、それに相当する ARGSFLOOR 変数を十分に小さい値にしなければなりません。

また、レポート内で検索引数が、参照されているファイルのすぐ下に箇条書きされています。このため、一時的にファイルの順番が狂います。N 項目数 を使用すればもっとはっきりします。


引数が読み込まれたと仮定すると、analog は、ファイル /cgi-bin/script.pl?x=1&y=2/cgi-bin/script.pl ( あるいは /cgi-bin/script.pl?y=2&x=1 )と異なるファイルとみなします。リクエストレポート中では、異なる引数を持った /cgi-bin/script.pl の総数を見ているために、そのようには見えません。しかし、もし 包含と除外 あるいは エイリアス をそのファイルに対して適用したいなら、問題となります。

この理由は、例えば以下のコマンド

FILEINCLUDE /cgi-bin/script.pl
は、 /cgi-bin/script.pl?x=1&y=2 ファイルには 適用されない からです 。適用させるためには、代わりに以下のようなコマンドを使わなければならないでしょう。
FILEINCLUDE /cgi-bin/script.pl*
同様に
FILEALIAS /cgi-bin/script.pl /script.pl
/cgi-bin/script.pl を変化させるが、/cgi-bin/script.pl?x=1&y=2 は変えません。これは上と同じように、
FILEALIAS /cgi-bin/script.pl?* /script.pl?$1
のようなものを使えばよいでしょう。
別のやり方は 、analog が検索引数を読み込まないようにさせることです。このようなことをするには、 ARGSINCLUDEARGSEXCLUDE 、それに REFARGSINCLUDEREFARGSEXCLUDE と呼ばれるコマンドがあります。それらは前の章で議論した 他の INCLUDEEXCLUDE コマンドと同じように動作します。 例えば、以下のコマンド
ARGSEXCLUDE /cgi-bin/script.pl
を与えられたら、analog はファイルの引数を無視し、/cgi-bin/script.pl/cgi-bin/script.pl?x=1&y=2 とみなすでしょう。 他方では、もし
ARGSINCLUDE /cgi-bin/script.pl
が指定されたら、analog は引数を読み、/cgi-bin/script.pl?x=1&y=2/cgi-bin/script.pl とは異なるファイルとして扱うでしょう。 REFARGSINCLUDEREFARGSEXCLUDE は、レファラーに対して同じ事をします。

技術的注意:ファイル名が、内蔵のかあるいはユーザ指定の別名 であるかどうかを判断する以前に、引数を含むべきかどうかの判断が先行します。従って、ログファイル中に現れる、別名でない正確な名称を使わなければなりません。 例えば、実際には以下の2つは同じファイルにもかかわらず、 ARGSINCLUDE /~sret1/script.pl は、 /%7Esret1/script.pl と一致するとみなしません。 これは ARGSINCLUDE あるいは ARGSEXCLUDE コマンド中で、 "ページ" を使えないことを意味します。なぜなら別名を付けた後では、ファイルがページかどうか分からないからです。


SEARCHENGINE と呼ばれる 関連したコマンドがあります 。もし、普通検索エンジンからの検索引数を伴うレファラーがあるなら、analog はどの項目が検索項目に相当しているか分かります。analog はこの情報を検索項目レポートと検索語レポートを作成するのに使います。例えば、次のレファラー
http://www.altavista.com/cgi-bin/query?pg=q&kl=XX&q=carrot+cake
を考えてみましょう。検索項目は q= にあり、従って適切な SEARCHENGINE コマンドは、
SEARCHENGINE http://www.altavista.com/cgi-bin/query q
であるか更に良いのは、
SEARCHENGINE http://*.altavista.*/* q
として、異なる国の全てのミラーサイトを含むことである。

時々検索エンジンは、検索項目用に2つあるいはそれ以上の項目を持つ場合ある。この場合、以下の様にコンマで区切って全てを含めることができます。

SEARCHENGINE http://*.webcrawler.*/* search,searchText

Stephen Turner
analog についての質問は analog-help の メーリングリスト を読んでください。

[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]