【问题标题】:virtualhost not working properly虚拟主机无法正常工作
【发布时间】:2011-08-25 13:47:17
【问题描述】:

我设置了 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

我的问题是第二个 Vhost(端口 82)有效,但第一个无效:(
apache 没有给出错误信息(...)

我需要你的帮助
非常感谢 :)
(对不起我的英语不好)

【问题讨论】:

  • 你试过给每个虚拟主机一个特定的名字吗?第一个会发生什么,请求是否超时?
  • 第一个虚拟主机给了我一个空白页,似乎虚拟主机可用但什么也没返回。有趣的是它之前已经使用相同的设置,我更新了我的服务器 xampp,并且出现了问题:(我不能为每个虚拟主机提供不同的名称,因为我的服务器位于由 DNS 服务器控制的网络中。
  • 如果您得到一个空白页,则强烈表明它正在工作。尝试从服务器日志中找出服务的资源

标签: apache virtualhost


【解决方案1】:

我不确定,但这可能与您的防火墙有关。我从来没有亲自使用过 80 以外的任何东西。除非您有特殊需要需要使用不同的端口,否则我建议您只使用端口 80 或 8080。您的所有虚拟主机都使用相同的端口,您只需要使用不同的服务器名称。还要确保在您的 etc hosts 文件中添加:

127.0.0.1    servername.com

其中 servername.com 是您在 vhost 文件中放在 ServerName 旁边的内容。我建议在服务器名称的末尾使用 .com,否则我发现浏览器会将您的 url 请求视为您正在尝试搜索 google。

我希望这会有所帮助。如果我不明白你的问题或者我没有说清楚,请告诉我:) 干杯!

【讨论】:

  • 谢谢你的回答Chris:) 我在本地网络工作,我的服务器上的80端口被另一个服务占用了,所以我改变了端口,第二个virualhost(82)我用它来提供对特定项目(使用 Zend 框架的项目)的直接访问,而不是“krmsrv05:81/portail_zf/public”我使用“krmsrv05:82”,顺便说一下“krmsrv05:81/portail_zf/public”可以正常工作,但其他页面没有。
  • 为了解决我的问题,我从一开始就做了所有事情,我删除了所有内容并重新安装了我的服务器。谢谢大家的帮助,我很有帮助:)
猜你喜欢
  • 2017-11-12
  • 2016-02-23
  • 2015-08-03
  • 2020-12-21
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
  • 2021-10-03
  • 2014-09-02
相关资源
最近更新 更多