2011-01-04 15 views
0

私はIISのasapiフィルタをlinux/apacheに移植しています。 IISでは、このisapiフィルタが要求をインターセプトし、データベース参照を実行してユーザーが要求しているファイルを見つけ、そのファイルを直接処理するためにURLを書き換えます。mod_rewriteを使わないApache URLの書き換え

Apacheでこれを行う最良の方法は何ですか? mod_rewriteは、データベース参照を実行するためにユーザコードを挿入する機能を持っていないようですので、使用することはできません。私たちのDLLはフィルタであり、モジュールはそれをサポートしていないので、mod_isapiは使用できません。

今私は、mod_rewriteコードをガイドとして使用して、独自のCモジュールを作成することが最も簡単な方法だと考えています。できればそれを避けたい。また、リダイレクトでパフォーマンスが低下するため、perl/PHP /任意のスクリプトを使用してリクエストごとにHTTPリダイレクトを発行する必要はありません。

提案? Apacheハンドラやフィルタを使用してこれを実行できますか?

答えて

2

mod_rewriteでは、MapType "prg"はこれを正確に行うためのものです。実行可能ファイルをマップとして使用することができます。プログラムで実行する必要があるのは、文字列を読み込んでルックアップ値を出力することだけです。

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

+0

ありがとうございました。これを使ってパフォーマンスヒットがあるかどうか知っていますか?何らかの形で外部アプリケーションをキャッシュすることはできますか?私は応答がキャッシュされていることがわかりますが、それが私たちのニーズに合っているのか、それが私たちを助けるのかどうかはわかりません。 – MonkeyWrench

+0

外部アプリは独自のキャッシングを担当する必要があります。これは、外部アプリが着信要求に追いつくことができれば、規模を拡大して拡張することができます。 – Zeki

+0

興味深い。要求ごとに外部アプリケーションがメモリにロードされていますか?私たちはデータベースに接続することを考慮して、どうにかして永続化するのが最善のように思えます。 – MonkeyWrench

関連する問題