Apache2 のデフォルトドメインと最初のドメインが問題を引き起こしている

Apache2 のデフォルトドメインと最初のドメインが問題を引き起こしている

私は 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>

関連情報