keyword

question:1113446139

 以前、自分でも同じ疑問に当たり、考えた方法はちょっと違う。まあ回答に出ている方法の方が楽そうだけど…。

 まず、cgiを作り、keyword という名前で保存、アップロードする。パーミッション設定や転送モードは普通のcgiと同じ。

 そして .htaccess ファイルを作る。内容は以下の通り。

<Files "keyword">
SetHandler cgi-script
</Files>

 要するに keyword というファイルをcgiとして解釈しなさいという意味。

 肝心のcgiだけど、環境変数PATH_INFOに、keywordより後の内容が格納されているので、それを読み出すだけ。

 たとえば、http://example.com/keyword/hatena として呼び出した場合、PATH_INFOには /hatena という内容が入っている。先頭の / を取り除けばキーワードが何かが分かるという寸法。

 ちなみにパラメータが指定されている場合、それはPATH_INFOには入らないため、QUERY_STRINGから取り出さなければならない。

 http://example.com/keyword/hatena?mode=detail としたら、PATH_INFOにはさっきと同様に /hatena しか入っていないと言うことになる。