当前位置: 代码迷 >> 综合 >> Apache 的多站点(虚拟主机)配置
  详细解决方案

Apache 的多站点(虚拟主机)配置

热度:59   发布时间:2023-12-25 21:51:09.0

1、打开Apache配置文件,httpd.conf(tips:记得先备份一份)

在httpd.conf文件里启用虚拟主机功能,即去掉下面配置项前面的# 

LoadModule vhost_alias_module modules/mod_vhost_alias.so

2、在httpd.conf文件里导入虚拟主机配置,即去掉下面配置项前面的#。

#Include conf/extra/httpd-vhosts.conf

3、开启需要监听的端口,我开启了81

Listen 0.0.0.0:80
Listen 0.0.0.0:81


4、打开httpd-vhosts.conf文件 同样记得备份

<VirtualHost *:81>
DocumentRoot "F:/wamp/www/basic/web"
ServerName www.a.com
ServerAlias www.aa.com
<Directory />
AllowOverride none
Require all granted
</Directory>
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

5.extra/httpd-vhosts.conf 里添加配置

<VirtualHost *:80> #第一个主机,80端口
DocumentRoot "D:/root/abc" #指向本地位置
ServerName www.abc.com #主机名称(注意这个很重要,就是你的域名,准确输入才能成功)
</VirtualHost> #结束第一个主机配置
<VirtualHost *:80> #第二个主机,80端口
DocumentRoot "D:/root/def" #指向本地位置
ServerName www.def.com #主机名称
</VirtualHost>

    

原先我们配置了一个站点信息也是写在了httpd.conf文件中,只要把原先的信息移至httpd-vhosts.conf 文件即可,但是你很悲催的发现另一个站点还是无法访问

在顶部我们把权限加上

 <Directory "${SRVROOT}/htdocs">
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
</Directory>

因为在加权限的时候没有看apache不同版本的区别所以一直无法使用,所以要看准你的版本

6.请检查你的apache版本,2.2和2.4的权限配置写法是不一样的。

2.2的如下:

Options Indexes FollowSymLinks
AllowOverride All
Allow from all
Order allow,deny

2.4的如下:

 Options Indexes FollowSymlinks
AllowOverride All
Require all granted

7、最后一步就是重启了!追梦猪祝你们使用成功,你们的满意就是我们的动力!

  相关解决方案