私は 3 つのサイトと、mono のテスト ページを使用するデフォルト/テスト サイトを持っています。
aFirst、c、d、e、zLastを作成しました。zLastには最後に評価されるべき書き換えルールがあります。最初に表示されるVirtualHostがデフォルトなので、これを設定しました。
--aFirst--
<VirtualHost *:80>
ServerName www.domain.tld
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test
DirectoryIndex index.html index.aspx index.php
MonoDocumentRootDir "/var/www/test"
MonoServerPath rootsite "/usr/local/bin/mod-mono-server2"
MonoApplications rootsite "/:/var/www/test"
<Directory /var/www/test>
MonoSetServerAlias rootsite
SetHandler mono
AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
</Directory>
</VirtualHost>
問題は、私のデフォルト ページ (サーバーの IP アドレス) と最初の Web サイト (csite.ddomain.net) に問題があることです (csite は C で定義されており、最初の仮想ホストではないにもかかわらず)。私のサーバーの IP アドレスと csite.ddomain.net は常に同じサイトを読み込みます。monos テスト ページまたは csite のいずれかです。Apache を再起動するたびに切り替わります。なぜサーバーの IP アドレスは常にデフォルト ページ (mono テスト ページ) を読み込まないのか、なぜ csite.ddomain.net は常に必要なサイトを読み込まないのか!?!
設定は次のとおりです
--csite--
<VirtualHost *:80>
ServerName csite.testdomain.net
ServerAdmin webmaster@localhost
ServerAlias s.csite.testdomain.net
DocumentRoot /var/www/prjname
DirectoryIndex index.html index.aspx
MonoDocumentRootDir "/var/www/prjname"
MonoServerPath rootsite "/usr/local/bin/mod-mono-server2"
MonoApplications rootsite "/:/var/www/prjname"
<Directory /var/www/prjname>
MonoSetServerAlias rootsite
SetHandler mono
AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
</Directory>
</VirtualHost>
aFirst、c、d、e、zLast はすべて有効です。
答え1
すべての仮想ホストの前に 'NameVirtualHost *:80' が定義されていますか? すべてのサイトが 1 つのファイルに順番にリストされていますか?
答え2
このページを使用して、Debian ボックスに mono をインストールしました。http://blog.ruski.co.za/page/Install-Mono-on-Ubuntu.aspx
下Apache2 仮想ホストの設定以下のように表示されます。
問題は、これをコピーして貼り付け、各サイトのディレクトリを変更したことです。名前 (この場合は rootsite) は異なる必要があるため、各サイトの rootsite を prjname_site に変更することで修正しました。これで問題なく再起動し、どのドメインがどこに表示されるかという競合は発生しません。
追加メモ: 現時点では、2.8 では読み込みエラーに関する正確な情報が得られないため、mono 2.6.* の方が 2.8.* よりも気に入っています。私の知る限り、2.6 は .NET 3.5 のすべてを処理します。
<VirtualHost *>
ServerName www.local.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test
DirectoryIndex index.html index.aspx
MonoDocumentRootDir "/var/www/test"
MonoServerPath rootsite "/usr/local/bin/mod-mono-server2"
MonoApplications rootsite "/:/var/www/test"
<Directory /var/www/test>
MonoSetServerAlias rootsite
SetHandler mono
AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
</Directory>
</VirtualHost>