Apache の設定ディレクティブに とか とかほしい

今開発中のウェブアプリは

  • mod_perl なアプリは http://〜/site/app/foo
  • 静的コンテンツは http://〜/site/bar

URI 設計をしているので,httpd.conf は単純に

<Location "/site/app">
  SetHandler perl-script
  PerlResponseHandler Foo::Bar
</Location>

みたく書いていました。が,

  • mod_perl なアプリは http://〜/site/foo
  • 静的コンテンツは http://〜/site/res/bar

に変えてくださいというお達しが脳内からきたので,どのように実現しようかと思ったわけです。

プロダクションシステムでは mod_proxy でリバースプロキシ構成にするので悩むことはないのですが,とりあえずテストシステムでどうするか。できれば mod_rewrite を使わずにやりたい。

<Location "/site">
  <Location !~ "/site/res">
    SetHandler perl-script
    PerlResponseHandler Foo::Bar
  </Location>
</Location>

こんな感じのことができれば幸せだったんですができなさそうです(そんな機能があったらいろいろな想定外の URI がマッチしてしまってマズーですし)。
結論を書くと,

<Location "/site">
  SetHandler perl-script
  PerlResponseHandler Foo::Bar
</Location>

<Location "/site/res">
  SetHandler None
</Location>

none というキーワードがありました。万全な解答ではないですが,所詮テスト環境なのでこれでしのぐことにします。ちなみに,上記の Location の出現順序を変えるとうまくいきません(Location "/site/res" を先にもってくると,/site/res についても Handler = perl-script になってしまう)。