Apache httpd.conf ファイルで動的パスを使用する

Apache httpd.conf ファイルで動的パスを使用する

Apache の httpd.conf ファイルで複数のホストを設定する方法は知っていますが、それを動的にすることは可能ですか。

フォルダをこのようなディレクトリに配置するとします。

c:\
   development\
               websites\
                        SiteA
                        SiteB
                        SiteC

httpd.confファイルを次のように記述できますか?

<VirtualHost *:80>

ServerName *.example.com
DocumentRoot "c:/development/Websites/%1/"

</VirtualHost>

ここで%1、またはその他の変数マーカーは、ユーザーが sitea.example.com などにアクセスする場合 SiteA になります。また、siteA が完全修飾ドメインである必要がある場合でも問題ありません。

答え1

非常に単純に:いいえ

A はDocumentRootサーバー上の単一のディレクトリである必要があり、ワイルドカードは使用できません。

あなた5月RewriteRuleで述べた文を使用することで、あなたが求めている動作を得ることができる。この答えただし、状況によって異なります。

答え2

少なくとも 2.4 では次のことが可能です。

<Macro virty $name>
<VirtualHost $name:80>

ServerName $name.example.com
DocumentRoot "c:/development/Websites/$name/"

</VirtualHost>
</Macro>

Use virty SiteA
Use virty SiteB
Use virty SiteC

関連情報