Apache虚拟主机配置(多个域名访问多个目录)
一、windows下:
为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件。
第一步首先要使扩展文件httpd-vhosts.conf生效:
1. 打开 apache/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号
4. 打开 apache/conf/extra/httpd-vhosts.conf
5. 添加以上的多端口或多域名代码(这里以多域名为例):
6. 打开apache2/conf/extra/httpd-vhost.conf
1. 打开 apache/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号
4. 打开 apache/conf/extra/httpd-vhosts.conf
5. 添加以上的多端口或多域名代码(这里以多域名为例):
6. 打开apache2/conf/extra/httpd-vhost.conf
二、centos7下的apache2.4,直接在/etc/httpd/conf.d/下添加你的 xxx.conf即可(xxx随你取,可以是www)
在里面添加入下:
示例:
<VirtualHost 192.168.1.1:80>
ServerAdmin [email protected] (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/Joomla(此虚拟主机的根目录)
ServerName www.abc.com(此处为域名)
ErrorLog /usr/local/apache2/htdocs/abc/error_log (日志)
TransferLog /usr/local/apache2/htdocs/abc/access_log (日志)
</VirtualHost>
示例:
<VirtualHost 192.168.1.1:80>
ServerAdmin [email protected] (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/Joomla(此虚拟主机的根目录)
ServerName www.abc.com(此处为域名)
ErrorLog /usr/local/apache2/htdocs/abc/error_log (日志)
TransferLog /usr/local/apache2/htdocs/abc/access_log (日志)
</VirtualHost>
<VirtualHost 192.168.1.1:80>
ServerAdmin [email protected] (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/bbs (此虚拟主机的根目录)
ServerName www.bbs.com (此处为域名)
ErrorLog /usr/local/apache2/htdocs/bbs/error_log (日志)
TransferLog /usr/local/apache2/htdocs/bbs/access_log (日志)
</VirtualHost>
ServerAdmin [email protected] (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/bbs (此虚拟主机的根目录)
ServerName www.bbs.com (此处为域名)
ErrorLog /usr/local/apache2/htdocs/bbs/error_log (日志)
TransferLog /usr/local/apache2/htdocs/bbs/access_log (日志)
</VirtualHost>
此例子添加了一个www.abc.com的主机和一个www.bbs.com的虚拟主机。
注意:添加了虚拟主机之后必须重启apache服务。
如果是服务器的话,直接访问域名便可以访问相应的虚拟主机网站了。
如果是做测试环境(我的便是测试环境),可将真机的hosts文件修改,使得测试域名和服务器(虚拟机)ip地址关联,这样在真机访问域名,成光转到相应的虚拟主机网站的时候即成功。