私は自分のmodperl環境で複数のワイルドカード仮想ホストを実行したいサーバーがあります。ワイルドカードvhost with modperl
各仮想ホストは、独自の起動スクリプトを実行して、カスタムインクルードパスを定義する必要があります。通常のバーチャルホストの設定で
、私は次の操作を行うことができます...
<VirtualHost *:80>
ServerName web1.myserver.com
Define ApplicationRoot /websites/web1
DocumentRoot ${ApplicationRoot}
PerlSetEnv PERL_DOC_ROOT ${ApplicationRoot}
PerlOptions +Parent
PerlPostConfigRequire /websites/lib/startup.pl
...
マイstartup.plスクリプトは、動的カスタムlibにパスを設定するには、PERL_DOC_ROOT環境変数を使用することができます。
これは、複数のvhostsセクションで正常に動作します。彼らはそれぞれ独自の@INCを定義しており、すべてが正しく解決されます。
これをワイルドカードの仮想ホスト構成に変換する方法はありますか。ユーザーが* .myserver.comにアクセスできるようにしたいのですが、使用するドキュメントルートを特定するためにホスト名を使用し、このフォルダに基づいてlibパスを定義するstartup.plを実行します。
私はこのようなものを使用することができます知っている...
VirtualDocumentRoot /websites/%1/
動的ドキュメントルートを設定し、私はそれが理解されていない他のどの宣言で%1を使用しようとします。また、startup.plは、configファイルが最初にロードされたときではなく、サイトが最初に要求されたときに実行する必要があります。
これはまったく可能ですか?または、新しい仮想ディレクトリが追加されるたびに、何らかの形で動的に構成ファイルを書き直す必要があります。