如果ServerName中有连字符,我无法让Apache的配置返回正确的页面。我在这里找到一个标题为“虚拟主机条目中不允许虚线?”的页面,但是它正在处理DocumentRoot中的连字符,而不是ServerName。在任何情况下,它都没有解决我的问题,我一直无法找到任何其他问题的参考。
我在最近收购的Ubuntu 12.04服务器上运行Apache,正在设置多个虚拟主机(VH)。 Ubuntu的配置是有条理的,因此您可以使用可用站点和站点启用的文件夹。放置在sites-available中的单独文件用于每个VH。启用VH只需要将sites-available文件夹中的文件符号链接到启用站点的文件夹,然后重新启动Apache。
我已经有几个工作的VH了。这是一个简单的方法,因为它只是将工作文件复制到新文件名,并更改一些变量。
我所有正常工作的条目在ServerName或ServerAlias中都没有连字符。一个有连字符的条目不起作用。 Apache不返回正确的页面,而是返回主机的基页(告诉我DNS正常)。
我尝试用引号括起ServerName和ServerAlias,有和没有。没有变化。
很多域使用连字符,我不能成为唯一有这个问题的域名。有没有人找到解决方法?这是我的配置:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName datacore-inc.com
ServerAlias www.datacore-inc.com
DocumentRoot /home/web/datacore/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/web/datacore/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
感谢您的帮助。
答案 0 :(得分:1)
我遇到了同样的问题,并认为问题来自ServerName中的连字符。但实际上我已经两次宣布VirtualHost。我已经删除了其中一个并解决了问题。
最诚挚的问候,