.htaccessの設定

さて、繰り返しになりますが、今回ご紹介している方法は、「SSI(Server Side Include)」という仕組みを使っています。これを使うためには、通常の場合、ファイル名を「〜〜〜.html」ではなく「〜〜〜.shtml」というファイル名にする必要があります。

このページでは、特殊な設定をすることにより、普通のファイル名「〜〜〜.html」でSSIを使う方法を紹介していきます。

.htaccessが使用可能なサーバ

普通のファイル名「〜〜〜.html」でSSIを使うためには、「.htaccess」と呼ばれる特殊なファイルを使用します。

この「.htaccess」は、全てのサーバで使えるわけではありません。通常の場合、xrea・ロリポップ等の有料サービスでないと使うことができません。

ご自分がお使いのサーバで.htaccessを使うことができるかどうかは、サーバ管理者にご確認ください。

.htaccessの設置

インターネット公開用サーバのルートディレクトリ(自分が書き込める一番上位のフォルダのことをいいます)に「.htaccess」というファイル名で、下記の内容のファイルを作ることにより、普通のファイル名「〜〜〜.html」でSSIを使うことができるようになります。

Options +Includes
AddHandler server-parsed html

ただし、いくつかポイントがあります。

  1. ファイル名は「.htaccess」←(一番最初にドットが入っていますのでご注意ください)
  2. Windowsパソコンにおいては、一番最初にドットが入るファイルは作成できません。そのため、実際に作業する際には、一端「htaccess.txt」等といったファイル名でファイルを作成した後、FFFTPでファイルを転送する際に「名前を変えてアップロード」することにより、「.htaccess」という名前でアップロードするようにしてください。
  3. このファイルは、不具合が起きると最悪、そのドメインの全ページが見られなくなります。そのため、少しでも異常を感じた場合には、一旦、「.htaccess」ファイルを削除してください。

アクセスログの解析方法

それでは、アクセス解析の結果がどのように表示されるかを見てみましょう。

アクセス解析の結果は、アクセス解析プログラム「accessanalyze.cgi」と同じフォルダの「accessanalyze.dat」というファイルの中に格納されています。

そこで、FFFTPを使って、まずは、手元のパソコンにそのファイルをダウンロードしてきましょう。

そして、その「accessanalyze.dat」をメモ帳またはTeraPad等のテキストエディタで開いてみてください。

すると、次のような文字が表示されるはずです。

1127995405,65.24.43.35,/article/11123366.html,http://XX.seesaa.net/
1127995467,232.115.193.248,/,http://XX.seesaa.net/article/11123366.html
・・・

このように「,」(カンマ)で区切られた4つの文字が出てきます。このそれぞれの列の意味ですが、左から順番に下記の内容を表しています。

  1. 時間(UNIXでの時刻の内部表現ですので、これだけでは何時何分何秒かはわかりません)
  2. アクセス元のIPアドレス(又はドメイン名)
  3. アクセス対象となったページのURL
  4. リンク元ページのURL

今回は、プログラムをできるだけ簡単にするために、余計な処理をすべてカットしてしまったため、特に時間などの表示は見づらくなっていますが、少なくともリンク元のデータがきちんと取得できるため、使ってみると、非常に快適に使うことができます。

ぜひ、ご活用ください。

アクセス解析タグを挿入する

それでは、今度は、アクセス解析をするために、各ページにアクセス解析プログラムを起動させるタグを挿入していきます。

注意点

今回説明する方法は、「SSI(Server Side Include)」という仕組みを使います。これを使うためには、通常の場合、ファイル名を「〜〜〜.html」ではなく「〜〜〜.shtml」というファイル名にする必要がありますのでご注意ください。

なお、サーバの設定によっては、普通のファイル名「〜〜〜.html」で今回説明する方法を使うこともできます。詳細は、後に出てくるページ(.htaccessの設置法)をご覧ください。

アクセス解析プログラムを起動するためのタグを挿入する。

それでは、いよいよアクセス解析プログラムを起動するためのタグを記述します。

前ページに記載したように、アクセス解析プログラムを「/cgi-bin/accessanalyze.cgi」にインストールした場合には、下記タグを全てのページに記述すれば、アクセス解析タグの挿入 は完了です。

<!--#include virtual="/cgi-bin/accessanalyze.cgi" -->

アクセス解析CGIを準備する

それでは、いよいよ、アクセスログを自力で取得する方法を説明していきます。

まずは、CGIプログラムを準備しましょう。

ここでは、私が実際に使っている、最低限のアクセスログを取得するプログラムを紹介していきます。


プログラムの作成・保存

まずは、下記のプログラムをコピーしてテキストエディタに保存しましょう。

ファイル名は、「accessanalyze.cgi」とでもしておきましょう。

#!/usr/local/bin/perl

print "Content-type:text/html\n\n";
# ログファイル
$log = "./accessanalyze.dat";
# ホスト名、IPアドレスを取得
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq "" || $host eq $addr) {
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2) || $addr;
}
# 現在時間の取得
$time = time;

# ログの書き込み
open(OUT,">> $log");
flock(OUT, 2);
print OUT "$time,$host,$ENV{'REQUEST_URI'},$ENV{'HTTP_REFERER'}\n";
close(OUT);

print "<!-- analyze -->";

プログラムをアップロードする

※あらかじめ、無料レポートあなたにも簡単にCGIを導入できる方法を教えますを見て、FFFTP(アップロードするために使うソフト)の設定をしておくことをおすすめします。


次にプログラムを、自分が使っているレンタルスペースに転送(アップロード)しましょう。

上で保存したプログラムを、FFFTP等を使って、「cgi-binフォルダ」の下に置きましょう。

もし、今まで、cgi-binフォルダを作ったことがない場合には、フォルダを作ってから、コピーしてください。

これで、設置完了です。


※なお、パーミッションを手動で設定する場合には、「755」または「rwx-r-xr-x」というふうに設定しておいてください。

アクセスログを自力で取得する方法

さて、それでは、アクセスログを自力で取得する方法を紹介していきます。

但し、これから紹介するアクセス解析ソフトを使うためには、いくつか条件があります。

CGI及びSSIを使えるサーバであること(必須)

ひとつめの条件は、「CGI及びSSIを使えるサーバ」であること、という条件があります。

CGIとSSIの両方を使えるサーバ上では、アクセス解析をしていることを訪問者にばれることなく、ひそかにアクセス解析を行うことができます。

実際に、あなたが使用しているサーバが、CGIとSSIに対応しているかどうかは、サーバ運営者にご確認ください

.htaccessを使えること(推奨)

SSIを使えるサーバであっても、実際にその機能を使うためには、通常の場合、ファイル名を「.shtml」というファイル名にする必要があります。

しかし、これでは、ファイルの見た目が悪いですし、そもそも、既存のファイルにアクセス解析を仕込むことはできません。

ところが、「.htaccess」というファイルを設置できる場合には、このファイルの機能を利用することにより、「.html」という通常のファイル名でSSIの機能を使うことができるのです。

以上の条件を満たしていることを確認できたら、いよいよ、プログラムの導入作業に入りましょう。

無料アクセス解析ソフトを使わない理由

アクセスログを取得するために、様々な無料サービスが提供されています。それらの、無料アクセス解析サービスを使うと、比較的簡単にアクセス解析をすることができます。

でも、無料アクセス解析サービスは下記のように、様々な問題点もあります。

  1. 広告の表示がされる
  2. アクセス解析をしていることが訪問者にバレバレ
  3. アクセスログを見られる期間が制限される
  4. いつ、サービスが停止されるかわからない

無料アクセス解析サービスの場合、特に大きな問題点は、3番目の「いつ、サービスが停止されるかわからない」、という点です。

最近、特に、短縮URL等のサービス停止が大きな問題となっていますが、無料アクセス解析サービスも、いつ、サービスが停止されてもおかしくはないのです。

しかも、無料サービスの場合、全てのアクセスログを取れるとは限らないのです。

大抵の無料サービスは、JavaScriptを使用しています。

そのため、JavaScriptをOffにしている訪問者がアクセスをしてきた場合には、アクセス解析がうまくいかない場合があるのです。


そこで、これからは、アクセスログを自力で取得する方法を紹介していきます。

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。