« だめっこどうぶつな日 | Main | 人まつがい »



Tue, 13 Sep 2005

blosxom on さくらインターネットで mod_rewrite

Posted at Tue, 13 Sep 2005 in computer::blosxom

http://womo.nconc.net で Blosxom のトップが、 http://womo.nconc.net/book/ で book カテゴリが表示されるように、blosxom.org: URLからCGIのファイル名を隠す や、URLから/cgi-bin/blosxom.cgiをどうやったら隠せますか? を見ながら .htaccess の設定をしてみたのですが、なぜかmod_rewriteが動きません。

結局三回ぐらい投げ出してはまたすごすごと戻ってくるを繰り返して、ようやく解法を見つけました。
以下該当部分だけ抜粋。

SetEnvIfNoCase Host "^sample\.example\.com$" hos_ok
order deny,allow
deny from all
allow from env=hos_ok

DirectoryIndex blosxom.cgi

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

RewriteRuleの記述方法が鍵でした。相対パス(blosxom.cgi/$1)でもサーバ内絶対パス(っていうのかな? /home/.../blosxom.cgi/$1)でも動かずあれやこれやと数十分。結局最後はトライ&エラーでたどり着いたのが上記の方法です。

予想ですが、さくらサーバがどうこうというよりも SetEnvIfNoCase と相性が悪いんじゃないかと思われます。

« だめっこどうぶつな日 | Main | 人まつがい »