HappyChamber - 様々なURL指定方法
[ 目次 ] | 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関数を用いて明示的に掲示板データベースをオープンする事も可能です。
[ 目次 ]