5.4.4 PythonInterpPerDirectory

文法: PythonInterpPerDirectory {On, Off}
Default: PythonInterpPerDirectory Off
コンテキスト: サーバ設定、バーチャルホスト、ディレクトリ、 htaccess
オーバライド: not None
モジュール: mod_python.c

インタプリタの名前を、サーバ名ではなくリクエスト中のファイルのディレクトリ名 (req.filename) からつけるようmod_python に指示します。 これは、デフォルトポリシの場合には、たとえ違うディレクトリ上であっても 同じ仮想サーバ上では同じサブリンタプリタでスクリプトを実行するのに対し、 異なるディレクトリにあるスクリプトは互いに別個のサブインタプリタで実行 されることを意味します。

例えば、/directory/subdirectoryがあると仮定します。 /directoryにはPythonHandlerディレクティブを含んだ .htaccessファイルがあり、 /directory/subdirectoryには.htaccessがないとします。 /directory の下のスクリプトと /directory/subdirectoryの下のスクリプトは、同じ仮想サーバを介して アクセスされていれば、同じインタプリタ下で実行されます。 PythonInterpPerDirectoryが有効な場合は 各ディレクトリ毎に別個の二つのインタプリタになります。

注意: URIの変換より前の早い段階のリクエスト処理フェイズ (PostReadRequestHandlerやTransHandler) では URIがまだ変換されていないため、パスがまだ決まっていません。 その間はPythonInterpPerDirectoryがOnであったとしても メインのインタプリタによって実行されます。 この動作は期待しているものとは異るかもしれません。 が、この問題を会費する方法は残念ながらありません。

参考:

4.1 節、複数のインタプリタ
詳しい情報です