[Apache] Apacheモジュールで既存のモジュールの処理をたまに横取りをしたい

Apacheモジュール プログラミングガイド (Advanced Server‐side programmingシリーズ)を読んで、Apacheモジュールを作っているのですがちょっと悩み中。


mod_testというモジュールを作っています。
mod_testは、コンテンツハンドラ(ap_invoke_handler)を持ち、コンテンツを返します。
ただし必ずコンテンツを返せるわけでなくて、ある条件が成立する場合は、mod_rewriteのコンテンツハンドラに処理を任せる。という動きを実現したいです。


その方法を探しているのですがなかなか見つからず困っています。もし情報お持ちの方がいらしたらぜひ教えてください。


試した事

  • mod_testのap_find_typesフェーズで、「ある条件」を判定し、r->handler を"redirect-handler"(mod_rewriteのコンテンツハンドラ名)にしてみた。⇒×
  • mod_testのコンテンツハンドラ内で「ある条件」を判定し、成立していれば return DECLINEDして、別のコンテンツハンドラに任せてみた。⇒×


Apacheモジュール プログラミングガイド (Advanced Server‐side programmingシリーズ)によると、起動するコンテンツハンドラを切り替えるには、ap_find_typesフェーズで、r->handlerを書き換えればよさそうなのですが、これは同一モジュール内での話なのかなぁ。
あと考えられるのはAddModuleの逆順にハンドラが呼ばれるあたりか。


環境は以下のとおりです
Apache 1.3
httpd.conf

  RewriteEngine on
  RewriteLog logs/rewrite_log
  RewriteLogLevel 0
  RewriteRule ^/(.*)$ http://monaos.org/$1 [P,L]
  <Location />
  SetHandler mod_test # 通常はこちらで処理し、だめならRewriteされたURLに行きたい。
  </Location>


Apacheモジュール プログラミングガイド (Advanced Server‐side programmingシリーズ)

Apacheモジュール プログラミングガイド (Advanced Server‐side programmingシリーズ)