我有一个运行 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.com
和eamann.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/