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 admin@demo.com
    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 admin@demo.com
    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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值