【问题标题】:Multiple websites on same machine同一台机器上的多个网站
【发布时间】:2014-12-28 13:45:33
【问题描述】:

我有几个网站托管在同一台机器上,为了能够从它们的域名访问它们,而 url 中没有任何子目录,我想我需要使用虚拟主机。目前我已经添加了 2 个虚拟主机 - 一个用于本地主机,一个用于实时域

httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *>
    ServerAdmin admin@domain.com
    DocumentRoot "C:/xampp/htdocs/ProjectA/Public"
    ServerName domain.com
    ErrorLog "logs/domain.com-error.log"
    CustomLog "logs/domain.com-access.log" common
</VirtualHost>

htodcs下的文件夹结构如下

htdocs/ProjectA/Public
htdocs/ProjectB/Public

问题是当我尝试访问http://localhost 时,我得到了domain.comhome 页面,但浏览器中的地址是http://localhost

我需要如何设置虚拟主机,以便我可以访问两个项目 + 访问 localhost 的根目录?

【问题讨论】:

  • 配置似乎没问题,我们有类似的配置工作,除了我们有 指令。
  • @ArnaudKleinveld 我不认为显式添加默认端口会导致这种情况,但无论如何我都会尝试添加它。
  • 嗯,你知道吗,它突然开始工作,我没有改变任何东西。

标签: apache virtualhost


【解决方案1】:
<VirtualHost *>
DocumentRoot "C:\xampp\htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *>
DocumentRoot "C:\xampp\htdocs\ProjectA\Public\"
ServerName projecta.domain.com
</VirtualHost>    
<VirtualHost *>
DocumentRoot "C:\xampp\htdocs\ProjectB\Public\"
ServerName projectb.domain.com
</VirtualHost>

您还需要将 projects.domain.com 和 projects.domain.com 指向 DNS 或 hosts 文件中的 IP 地址。

【讨论】:

  • 它们在不同的域下。另外,当请求不是来自主机本身时,主机文件在其中扮演什么角色?
  • 因此相应地更改服务器名称。客户端需要能够将主机名解析为 IP 地址
  • 对不起,我似乎不明白。您能否向我解释一下我目前的设置方式有什么问题,也许那时我会很清楚。如果这是您的建议,我已经在 vhosts 配置文件中为 ServerName 设置了正确的值
猜你喜欢
  • 2020-09-22
  • 2013-05-23
  • 1970-01-01
  • 2018-11-02
  • 2012-12-05
  • 2013-09-21
  • 2012-03-19
  • 2022-12-04
  • 2020-04-27
相关资源
最近更新 更多