【问题标题】:How to I point multiple URLs to the right directory?如何将多个 URL 指向正确的目录?
【发布时间】:2011-02-18 15:52:29
【问题描述】:

我有一个运行 CentOS 5 的 VPS。我想将多个域指向同一个 VPS(将它们指向同一个 IP),但为每个域提供不同的网站。

所以,我想要的设置是这样的:

site1.com ----> 127.0.0.1 ----> /var/www/html/site1.com/
site2.com ----> 127.0.0.1 ----> /var/www/html/site2.com/

我尝试通过 CentOS GUI 为 Apache 设置虚拟主机,但它们似乎无法正常工作。只有添加的第一个虚拟主机才能工作(即,如果我首先添加 site1.com,则两个域都指向该站点。如果我首先添加 site2.com,则两个域都指向该站点。)

我可能做错了什么?是否有有效的分步教程可供新手入门?


更新

请记住,我几乎没有使用 CentOS 和 Linux 的经验……但我正在学习。

对于那些要求查看我正在使用的指令的人,这是 CentOS 在我使用内置 Apache GUI 时添加到 /etc/httpd/conf/httpd.conf 底部的内容:

<VirtualHost skylarkapp.com:80>
    DocumentRoot /var/www/html/skylarkapp.com
    <Directory "/var/www/html/skylarkapp.com">
        allow from all
        Options +Indexes
    </Directory>
    ServerName skylarkapp.com
</VirtualHost>
<VirtualHost eamann.com:80>
    DocumentRoot /var/www/html/eamann
    <Directory "/var/www/html/eamann">
        allow from all
        Options +Indexes
    </Directory>
    ServerName eamann.com
</VirtualHost>

目前,此系统上skylarkapp.comeamann.com 的所有流量都指向/var/www/html/skylarkapp.com 的内容。

另外,我正在使用我的 Windows hosts 文件手动将 eamann.com 指向此服务器 (204.92.23.6),因为我正在迁移一个实时站点。在我真正将东西从一个盒子移动到另一个盒子之前,我想让事情在服务器上运行。

【问题讨论】:

  • 您能否发布您的 VirtualHost 指令以便我们看到它们?这是首选的解决方案,理想情况下我们可以找到它的问题,而不是让您尝试一些不太理想的解决方法。

标签: apache dns centos


【解决方案1】:

必须使用NameVirtualHost *:80 显式打开基于名称的虚拟主机。见http://httpd.apache.org/docs/2.2/vhosts/name-based.html

【讨论】:

  • 原来这正是我所需要的。在配置文件的更远处有一个 NameVirtualHost 的注释行,我只是从未见过它。奇怪的是 CentOS 中的 Apache 用户界面如何允许您添加基于名称的虚拟主机,但不会显式为您打开它们...
【解决方案2】:

这一行:

<VirtualHost eamann.com:80>

由于 eamann.com 无法解析到您的 CentOS 服务器的 IP 地址,因此无法正常工作(只有您的 Windows 机器将 eamann.com 解析为 204.92.23.6)。尝试通过替换为使 apache 在任何 IP 上列出:

<VirtualHost *:80>

你可能还想要:

ServerAlias www.eamann.com

让 www.eamann.com 的访问者也能看到该网站。进行这些更改后重新启动 apache:

service httpd restart

【讨论】:

  • 做了那个尝试......但它没有帮助。所有流量仍然被第一个虚拟服务器吃掉(甚至是对裸 IP 204.92.23.6 的请求)。
  • @EAMann:你有没有使用NameVirtualHost *:80 开启基于名称的虚拟主机?见httpd.apache.org/docs/2.2/vhosts/name-based.html
  • @Chris,请将其发布为答案。这帮助我解决了问题!
猜你喜欢
  • 2015-04-16
  • 2015-05-01
  • 2017-07-21
  • 2016-12-16
  • 2021-12-24
  • 2012-05-27
  • 2023-03-17
  • 2021-01-13
  • 1970-01-01
相关资源
最近更新 更多