虚拟主机无法正常工作

3

我将设置2个虚拟主机:

httpd-vhosts.conf

NameVirtualHost *:81  
NameVirtualHost *:82  
....  
<VirtualHost *:81>  
ServerName krmsrv05  
#    ServerAlias krmsrv05  
    DocumentRoot "C:/xampp/htdocs"  

#    ServerAdmin postmaster@krmsrv05  
#    ErrorLog "logs/localhost-error.log"  
#    CustomLog "logs/localhost-access.log" combined  
</VirtualHost>  

<VirtualHost *:82>
    ServerName krmsrv05  
#    ServerAlias pprod.krmsrv05  
    DocumentRoot "C:/xampp/htdocs/portail_zf"  
#   SetEnv APPLICATION_ENV "development"  

   <Directory "C:/xampp/htdocs/portail_zf">  
        DirectoryIndex index.php  
    Options Indexes MultiViews FollowSymLinks  
        AllowOverride All  
        Order allow,deny  
        Allow from all  
    </Directory>  
</VirtualHost>  

httpd.conf

Listen 81  
Listen 82  
...  
ServerName krmsrv05

我的问题是第二个虚拟主机(端口82)可以工作,但第一个却不行 :(
Apache没有给出任何错误信息...

我需要你的帮助
非常感谢 :)
(对于我的糟糕英语表示抱歉)


你尝试给每个VirtualHost指定一个特定的名称了吗?第一个会发生什么情况,请求超时吗? - Pekka
第一个虚拟主机给了我一个空白页面,看起来虚拟主机可用但没有返回任何内容。 有趣的是,以前使用相同的设置已经可以工作了,我更新了我的服务器XAMPP,然后出现了问题:( 我不能为每个虚拟主机指定不同的名称,因为我的服务器在由DNS服务器控制的网络中。 - Salem
如果你得到了一个空白页面,那么很有可能它正在工作。尝试从服务器日志中找出哪个资源被提供了。 - Pekka
1个回答

3

我不确定,但这可能与你的防火墙有关。我个人从未使用过除80之外的其他任何端口。除非你有特定需求需要使用不同的端口,否则建议你仅使用端口80或8080。你所有的虚拟主机都使用相同的端口,只需要使用不同的ServerName。同时,请确保在etc hosts文件中添加:

127.0.0.1    servername.com

在您的虚拟主机文件中,servername.com 是您放置在 ServerName 旁边的内容。我建议在 servername 后面使用 .com,否则浏览器会将您的 URL 请求视为尝试搜索 Google。

希望这可以帮助您。如果我没有理解您的问题或者我没有表达清楚,请告诉我 :) 干杯!


谢谢你的回答,Chris :)我在本地网络中工作,我的服务器80端口被另一个服务占用了,所以我改变了端口,第二个虚拟主机(82)我用它来提供对特定项目(使用Zend Framework的项目)的直接访问,而不是“http://krmsrv05:81/portail_zf/public/”,我使用“http://krmsrv05:82/”。顺便说一下,“http://krmsrv05:81/portail_zf/public/”可以正常工作,但其他页面都不能。 - Salem
为了解决我的问题,我从头开始做了一切,我移除了所有内容并重新安装了我的服务器。感谢大家的帮助,这非常有帮助 :) - Salem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接