Apache虚拟目录实现同一个IP绑定多个域名

在前:我使用的是Xampp,所以路径可能不同

找到apache\conf\extra\httpd-vhosts.conf, 如果没有的话请自己新建httpd-vhosts.conf文件, 并且在httpd.confInclude conf/extra/httpd-vhosts.conf

NameVirtualHost *:80

## 如果没有匹配的ServerName则默认选择第一个配置
<VirtualHost *:80>
    DocumentRoot "D:/Apps/xampp/htdocs/"
    ServerName localhost
    ##ErrorLog "logs/dummy-host2.example.com-error.log"
    ##CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "D:/Apps/xampp/htdocs/www/cdn"
    ServerName cdn.demo.com
    ServerAlias cdn.test.com
    ##ErrorLog "logs/cdn.demo.com.com-error.log"
    ##CustomLog "logs/cdn.demo.com.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "D:/Apps/xampp/htdocs/www/admin"
    ServerName admin.demo.com
    ServerAlias admin.test.com
    ##ErrorLog "logs/admin.demo.com-error.log"
    ##CustomLog "logs/admin.demo.com-access.log" common
</VirtualHost>

修改host文件将cdn.demo.comadmin.demo.com指向127.0.0.1

重启后我们就可以通过cdn.demo.com来访问apache目录下的cdn文件夹;同样,可以通过admin.demo.com来访问admin文件夹

admin.demo.comcdn.demo.com可以是不同的域名

注意httpd-vhosts.conf

第一条VirtualHost配置优先级最高, 如果请求的地址在其他VirtualHost配置中未找到,则默认指向第一条, 通常也被称为主服务器

VirtualHost *:80 监听任何80端口的访问

VirtualHost * 监听任何地址

VirtualHost 127.0.0.1:80 仅监听127.0.0.1:的访问

VirtualHost后面可以有多个url, 用空格分割

ServerAdmin 管理员联系方式,可以在地址访问错误时现在在页面上,可忽略

ServerName 被映射到的域名

ServerAlias别名, 例如上面的, 通过别名cdn.test.com也可以访问到cdn.demo.com的内容

DocumentRoot 映射目录, 即文件存在的地址, 如果映射目录不存在则可能导致apache启动失败

关于其他包括代理,目录权限等更多内容请参考官方文档

原文地址:https://www.cnblogs.com/vmask/p/8527157.html

时间: 2024-10-27 14:05:09

Apache虚拟目录实现同一个IP绑定多个域名的相关文章

Apache虚拟目录的配置

作为一名Android开发者,总觉得至少应该掌握一门服务器语言,最近在慢慢的学习php,理所当然的要学习Apache的使用,本篇文章主要介绍在Win7环境下,如何配置Apache的虚拟目录. 首先,找到我们Apache的配置文件,然后打开 我们很多的配置都需要在这个文件里面完成. 下面,找到我们的<IfModule alias_module>节点,在里面添加下面内容 Alias /qust "E:/qust" <Directory "E:/qust"

更改Apache虚拟目录流程

1.在httpd.conf文件中启用httpd-vhosts.conf 去掉#,即 #Virtual hosts (虚拟主机) Include conf/extra/httpd-vhosts.conf 2.架设虚拟主机在 D:/www 目录下 (需事先建立站点) 3.设置http-vhosts.conf文件(路径:X:/ApacheX.X/conf/extra/http-vhosts.conf) 添加一下内容: #配置虚拟主机 <VirtualHost 127.0.0.1:80> Docume

apache虚拟目录配置实例

apache虚拟目录配置实例 一.首先,开启虚拟主机配置 在文件httpd.conf中找到: include conf/extra/httpd-vhosts.conf #开启 二.对httpd-vhost.conf文件进行配置 Java代码 //监听端口,NameVirtualHost <VirtualHost>标签依靠这个哦 NameVirtualHost *:80 <VirtualHost *:80> ServerName testa.com DocumentRoot &quo

【PHP编程之路-1】设置apache虚拟目录

概述 设置apache虚拟目录 1.开启“虚拟目录配置文件”httpd-vhosts.conf 文件路径:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf 将以下配置: [php] view plaincopy # Virtual hosts # Include conf/extra/httpd-vhosts.conf 改为: [php] view plaincopy # Virtual hosts Include conf/ex

SVN配置以及自动部署到apache虚拟目录

SVN配置以及自动部署到apache虚拟目录 一.VisualSVN server 服务端和TortoiseSVN客户端下载 VisualSVN下载:http://subversion.apache.org/packages.html 页面最下方就可以找到(下图紫色链接) TortoiseSVN下载:http://tortoisesvn.net/downloads.html 下载的地方很醒目,有32位和64位 紧接着下边有语言包下载 二.VisualSVN server和TortoiseSVN安

linux系统中apache虚拟目录配置

在搭建网站的时候,我们会经常在同一台服务器上面搭建多个站点,这时候就需要用到apache的虚拟机知识.下面就linux系统下apache虚拟目录的配置说简要说明: 1.源代码安装apache + PHP + MySQL(请查考我的博文lamp环境搭建): 2.在本地计算机的hosts文件加入如下行: 192.168.137.10 erp.100msh.com 192.168.137.10 mopadmin.100msh.com 然后cmd中 ping erp.100msh.com 检查是否网络通

更改Apache虚拟目录并授予权限

前序{ 默认情况下,Apache的PHP站点为htdocs 根据实际的开发需求,可能要更改这个目录的位置 } 第一步{ 打开Apache配置文件, } 第二步{ 找到文档根目录,英文名称是DocumentRoot 任意在一个盘符下新建一个文件夹,保存后缀为php文件的. 将文件夹路径复制到此,并保存 重启Apache,验证 } 第三步{     更改Apache虚拟目录的权限      重启Apache,验证 创建一份文本文件,并命名为index.php 保存,访问本地 } 这里博主加一点[设置

一个IP绑定多个域名

一个IP绑定多个域名  [复制链接] 发表于 2006-6-6 10:15 | 来自  51CTO网页 [只看他] 楼主 如何在多WEB运行的服务器上绑定多域名? 一个IP绑定多个域名 很多虚拟主机,只有一个IP,很多个域名都指向该IP,但都能访问自己域名所在的网站的内容,这就是一个IP绑定多个域名的技术.下面我们一起来学习学习是怎么做的 首先,你应该确认你的两个域名都指向了主机IP,我们拿JZ173.COM和xxsky.com来举个例子 我们应该首先将这两个域名都指向一个IP,如192.168

Apache虚拟目录、用户认证、基于端口/IP/域名的虚拟主机、SSL

环境配置: 配置DNS以便域名解析 安装Bind软件包. yum install -y bind 2. 修改Bind配置文件. vim /etc/named.conf listen-on port 53 { 192.168.200.101; }; allow-query { any; }; vim /etc/named.rfc1912.zones zone "a.com" IN { type master; file "a.com.localhost"; allow