blosxom:

URLからCGI名を隠す

必要条件としてmod_rewriteというApacheモジュールがサーバーにインストールされており、かつ任意のディレクトリで使用可能であること。

次にblosxomの設定です。blosxomの設定に$urlというものがあるのですが、これをきちんと設定しないと、実際にCGIのファイル名を隠した状態でリンクを張ってくれません。具体的には、

$url = "https://example.com/blosxom";

というようになります。最後にスラッシュは付けない方が良いようです。

$url$path/$fn.$default_flavour

最後に.htaccessの記述です。blosxom.cgiのままの場合は、

DirectoryIndex blosxom.cgi
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ blosxom.cgi/$1 [L,QSA]

となり、これをblosxom.cgiと同じディレクトリに置きます。1行目はファイル名無しでこのディレクトリにアクセスした場合に、index.htmlなどの代わりにblosxom.cgiを使うという命令です。2行目がmod_rewriteを有効にする命令です。3行目はリクエストされたファイル名が存在した場合、mod_rewriteの処理を抜ける命令で、4行目がリクエストされたディレクトリ名が存在した場合、mod_rewriteの処理を抜ける命令です。5行目が実際にURLの書き換えを行う命令になります。