ziguzagu.org

完・RewriteとDirectoryIndexで悩む…

そういえば、以前のエントリーで悩みを綴っていた(その1、その2)、DirectoryIndexで指定したファイルをRewriteでマッチさせる方法が解決できてるのでメモしておく。

やりたかったことを簡単に説明。’/‘で終わるURLにアクセスされて、DirectoryIndexによって最終的に処理するファイルが/index.cgiになる。で、その/index.cgiをrewriteの対象(inputに入れる)にしたい、ということ。

DirectoryIndex index.cgi index.html
RewriteCond  %{LA-U:REQUEST_FILENAME}  \.(cgi|pl)$
RewriteRule  ^/(.*)  http://localhost:8080/$1 [P]

「LA-U」という書式がミソ。変数(ここではREQUEST_FILENAME)の値をサブリクエスト(ここではDirectoryIndex)を実行した結果の値にする、というもの。マニュアルにもがっつり載ってます(はじめからちゃんとみろ、自分)。

たぶんこれでOK。もう忘れない。

それに、RewriteLogでいろいろ調べれるということも覚えたし…。