apache - 如何将多个 URL 指向正确的目录?

标签 apache dns centos

我有一个运行 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),因为我正在迁移过程中一个实时站点。在我实际将东西从一个盒子移到另一个盒子之前,我想让东西在服务器上正常工作。

最佳答案

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

关于apache - 如何将多个 URL 指向正确的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009245/

相关文章:

PHP代码没有被执行,但是代码显示在浏览器源代码中

php - cPanel - 通过easyapache安装模块会覆盖php.ini吗?

linux - Apache2 无法启动

linux - 访问要重写的地址时出现错误 403

memory - 在Grails中使用内存域对象的最佳方法是什么?

linux - 为什么这些共享库不同?

api - 无法打开 Consul UI 或 API

java - 从 Java 更新 DNS(类似于 DUC NO - IP)。 [是: Actualizar DNS desde Java (Similar a DUC No-Ip)]

node.js - docker 。 npm 安装 -> 错误 : getaddrinfo ENOTFOUND

php - 用 Composer 安装 Twig 给出错误