我有 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>