我的开发机器(Ubuntu11.04)在apache2上有许多rails应用站点。其中一个站点配置是这样的。
<VirtualHost 192.168.1.7:80>
DocumentRoot /home/ssk/dev/base3/sam/public
ServerName base3.sam.codepremise.com
RailsEnv development
<directory /home/ssk/dev/base3/sam/public>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</directory>
</VirtualHost>在同一台机器上还有很多像这样的网站。我很抱歉把IP修好了。所以我改变了其中一个网站如下。
<VirtualHost *:80>
DocumentRoot /home/ssk/dev/base3/sam/public
ServerName base3.sam.codepremise.com
RailsEnv development
<directory /home/ssk/dev/base3/sam/public>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</directory>
</VirtualHost>我重启了阿帕奇。但该网站不工作,而是一些其他网站出现时,我要求从浏览器。
为什么通配符不起作用?
发布于 2011-06-10 07:43:43
如果您设置了多个主机来侦听同一IP和端口,并且只将此主机的信任更改为*:80,那么其他主机可能优先。听起来您正在尝试使用基于名称的虚拟主机(也就是说,httpd根据浏览器的请求为每个ServerName提供不同的内容),但是您可能缺少配置中的一行:
NameVirtualHost *:80阅读基于名称的虚拟主机说明,如果它听起来像您想要的,那么您可能只需要添加这一行,并将所有的VirtualHosts更改为*:80。
https://serverfault.com/questions/279047
复制相似问题