домен по умолчанию и первый домен в 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-адрес моего сервера) и первый веб-сайт (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' перед всеми вашими виртуальными хостами? Все ваши сайты перечислены в одном файле по порядку?

решение2

Я использовал эту страницу для установки mono на свой компьютер с Debian.http://blog.ruski.co.za/page/Install-Mono-on-Ubuntu.aspx

ПодНастройка виртуальных хостов Apache2это показывает ниже.

Проблема была в том, что я скопировал и вставил это и изменил каталог для каждого из моих сайтов. Имя (в данном случае rootsite) должно быть разным, поэтому я исправил это, изменив rootsite на prjname_site для каждого из моих сайтов. Теперь он перезапускается без проблем, и я не получаю никаких конфликтов, какой домен где отображается.

Дополнительное примечание: В настоящее время мне больше нравится mono 2.6.*, чем 2.8.*, поскольку 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>

Связанный контент