Apacheの設定には次のものがあります。
<VirtualHost *:80>
VirtualDocumentRoot /var/www/hosts/%0
ServerAlias *.test.galapagos.office
</VirtualHost>
/ var/www/hostsには、jason.test.galapagos.officeというディレクトリとbill.test.galapagos.officeというディレクトリがあります。ブラウザでjason.test.galapagos.officeにアクセスすると、期待どおりの結果が得られます。請求書と同じです。言い換えれば、すべてが完全に機能しています。
しかし、私は何が起こっているのか完全には満足していません。 /var/www/hosts/jason.test.galapagos.officeと/var/www/hosts/bill.test.galapagos.office/の代わりに、/ home/jason/webと/ home/bill/webが欲しいです。 。
代わりにこれらのサブディレクトリにマップするようにApacheに指示するにはどうすればよいですか?
ありがとう、ジェイソン
これを試して:
<VirtualHost *:80>
#VirtualDocumentRoot /var/www/hosts/%0
VirtualDocumentRoot /home/%1/web
ServerAlias *.test.galapagos.office
</VirtualHost>
「jason.test.galapagos.office」から「/ home/jason/web」にリクエストが送信されると思います
VirtualDocumentRootディレクティブの完全なリストは、次の場所にあります。
http://httpd.Apache.org/docs/2.2/mod/mod_vhost_alias.html
0名前全体 1最初の部分 22番目の部分 -1最後の部分 -2最後から2番目の部分 2+ 2番目以降のすべての部分 -2 +最後から2番目とそれ以前のすべての部分 1+および-1+は0と同じ
この変更は機能しますか?
VirtualDocumentRoot /home/%0/web
または、mod_userdirを有効にすることを検討してください。デフォルトではhttp://test.galapagos.office/~bill/