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

我使用这个页面在我的 Debian 机器上安装 Mono。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>

相关内容