[ 目次 ] HappyChamber
様々なURL指定方法

 HappyChamberのメインプログラムであるchamber.cgiに対して、HCTファイルを指定するには、以下のような3つの方法があります。付属のサンプルでは、様々なWebサーバに対応させるために、クエリー指定の方法を採用しています。


クエリー指定によるURL

 chamber.cgiにクエリーデータ、templateを与えることにより、HCTファイルを指定することができます。この指定方法は、ほとんどのWebサーバで使用できます。例えば以下ようなURL指定になります。

http://www.pixy.ne.jp/cgi-bin/chamber.cgi?template=/bbs/index.hct

 この指定方法を使うには、chamber.confの、$DocRootを正しく設定する必要があります。
 templateには$DocRootからの相対パスを指定します。

$DocRoot = '/usr/local/etc/httpd/htdocs';

 環境変数DOCUMENT_ROOTが正しく設定されるWebサーバなら以下のように設定することもできます。

$DocRoot = $ENV{'DOCUMENT_ROOT'};


エキストラパス指定によるURL

 エキストラパスが使えるWebサーバでは、以下のようなURL指定が使用できます。

http://www.pixy.ne.jp/cgi-bin/chamber.cgi/bbs/index.hct


CGIリダイレクションによるURL

 CGIリダイレクションは、HappyChamberを使う上でもっとも有効的な方法です。拡張子.hctを判別して、自動的にchamber.cgiを起動させることができます。例えば以下のようなスマートなURL指定になります。

http://www.pixy.ne.jp/bbs/index.hct

 この指定方法を使うには、CGIリダイレクションに対応したWebサーバが必要です。一般的なプロバイダでも、Apache 1.1以降で、.htaccessを許可していれば、この指定方法が使用可能です。ここでは、Apache 1.1以降を例に設定方法を説明します。

 HCTファイルが置かれているディレクトリか、あるいはそれより上のディレクトリに、.htaccessファイルを用意します。内容は例えば次のようになります。

AddType application/x-httpd-hct .hct
Action application/x-httpd-hct /cgi-bin/chamber.cgi

 これは、.hctというファイルに対して、/cgi-bin/chamber.cgiにあるCGIスクリプトを実行させる指定です。


データベースを指定する

 通常、HCTファイルでは、掲示板データにアクセスします。掲示板データベースを指定するには、クエリーデータ、boardを指定します。これにより掲示板データベースがオープンされ、HCTファイル中で、指定の掲示板データへのアクセスが可能になります。

http://www.pixy.ne.jp/cgi-bin/chamber.cgi?template=/bbs/index.hct&board=sample
http://www.pixy.ne.jp/cgi-bin/chamber.cgi/bbs/index.hct?board=sample
http://www.pixy.ne.jp/bbs/index.hct?board=sample

 もちろん、FORM(METHOD=POST)を使用しても問題ありません。

 boardを指定しないと、掲示板データベースをオープンしません。その場合、掲示板データを扱う一部の拡張タグ、変数、関数が動作しません。HCTの中でopen_board関数を用いて明示的に掲示板データベースをオープンする事も可能です。


[ 目次 ]