前回からちょっと進展した、RewriteとDirectoryIndexの問題。
RewriteLogをレベル3で出力してみると、『initial』と『subreq』の2パターンのログが出ているのに気づく。一部抜粋。
[rid#10149748/initial] (2) init rewrite engine with requested uri /kwiki/
[rid#10149748/initial] (3) applying pattern '^/(.+\.cgi)$' to uri '/kwiki/'
[rid#10149748/initial] (3) applying pattern '^/(.+\.pl)$' to uri '/kwiki/'
[rid#10149748/initial] (3) applying pattern '^/index\.php(.*)' to uri '/kwiki/'
[rid#10149748/initial] (3) applying pattern '^/xml\-rss2\.php' to uri '/kwiki/'
[rid#10149748/initial] (3) applying pattern '^/atom\.php' to uri '/kwiki/'
[rid#10149748/initial] (3) applying pattern '^/$' to uri '/kwiki/'
[rid#10149748/initial] (1) pass through /kwiki/
[rid#101416b8/subreq] (2) init rewrite engine with requested uri /kwiki/index.cgi
[rid#101416b8/subreq] (1) pass through /kwiki/index.cgi
『initial』でマッチ対象になっているのが"/“で、その直後『subreq』が始まり、このときのマッチ対象は”/index.cgi"になってる。
なるへそ。DirectoryIndexは『subreq(Apacheの内部リクエスト)』で処理されるらしい。つまり、subreqのRewriteRuleを作ればいいわけだ…。
で、どうやんの?。。。(てういか、考え方間違ってる?)