xampp配置虚拟主机在xampp里搭建php运行环境并使用
本文目录一览:
- 1、如何配置 Apache 的虚拟主机
- 2、如何在Macbook上配置Apache虚拟主机
- 3、xampp 配置中如何显示目录列表
- 4、Apache2.4配置虚拟主机后却无法访问虚拟主机根目录下的文件?
如何配置 Apache 的虚拟主机
1、基于ip地址的虚拟主机
复制代码代码如下:
Listen 80
VirtualHost 172.20.30.40
DocumentRoot /home/httpd/html1
ServerName
ErrorLog /usr/local/apache/logs/error1_log
CustomLog /usr/local/apache/logs/access1_log combined
/VirtualHost
VirtualHost 172.20.30.50
DocumentRoot /home/httpd/html2
ServerName
ErrorLog /usr/local/apache/logs/error2_log
CustomLog /usr/local/apache/logs/access2_log combined
/VirtualHost
2、基于IP 和多端口的虚拟主机配置
复制代码代码如下:
Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080
VirtualHost 172.20.30.40:80
DocumentRoot /www/example1-80
ServerName
/VirtualHost
VirtualHost 172.20.30.40:8080
DocumentRoot /www/example1-8080
ServerName
/VirtualHost
VirtualHost 172.20.30.50:80
DocumentRoot /www/example2-80
ServerName
/VirtualHost
VirtualHost 172.20.30.50:8080
DocumentRoot /www/example2-8080
ServerName
/VirtualHost
3、单个IP 地址的服务器上基于域名的虚拟主机配置
复制代码代码如下:
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
VirtualHost *:80
DocumentRoot /www/example1
ServerName
ServerAlias example1.com. *.example1.com
# Other directives here
/VirtualHost
VirtualHost *:80
DocumentRoot /www/example2
ServerName
# Other directives here
/VirtualHost
如果您感觉上面的文章还不够详细可以看下下面的文章:
实验目标:在apache实现基于域名的虚拟主机
实验用的XAMPP版本为1.7.7,内含apache版本为2.2.21
实验前准备:
1. 为了测试不同的域名,在Windows/System32/drivers/etc/下觅得hosts文件,在其中添加实验用的域名若干,如 -
复制代码代码如下:
127.0.0.1 test1.net
127.0.0.1 test2.net
如此,则在浏览器中输入该俩域名时,Windows将其解析为127.0.0.1本地地址。即,在浏览器中访问localhost, test1.net, test2.net均可访问XAMPP的欢迎页。
2. 在apache目录下建立目录,以放置您不同的网站。为保护XAMPP原有的htdocs中的欢迎页内容,实验另外建立了与htdocs平级的htdocs1目录,在其下建立了test1.net, test2.net两个子目录用以放置实验用的网站。如下 -
apache/htdocs1/test1.net - 放置test1.net网站内容
apache/htdocs1/test2.net - 放置test2.net网站内容
在这两个目录中各新建hello world一网页 index.html,内容 -
复制代码代码如下:
HTML
HEAD/HEAD
BODY
H1hello~, 这是[对应的网站名,用以区别].net/H1/BODY
/HTML
实验步骤:
1. 找到apache/conf/httpd.conf, 将其中的
ServerAdmin
ServerName
DocumentRoot
注释掉。
2. 在httpd.conf中,找到行
Include "conf/extra/httpd-vhosts.conf"
如被注释则解注。该文件记载了虚拟主机的参数。[以前虚拟主机参数是直接填写在httpd.conf中的,为了更好地组织文件,将其分离出去,类似于某些编程语言一样。因此httpd.conf中include它,即相当于把它的内容填在了httpd.conf中。]
3. 这个httpd-vhosts.conf文件格式基本如下 -
复制代码代码如下:
#blah-blah
NameVirtualHost *:80
#blah-blah
#blah-blah
VirtualHost *:80
ServerAdmin XXXXXXXX
DocumentRoot "XXXXXXXX"
ServerName XXXXXXX
ServerAlias XXXXXX
ErrorLog "logs/XXXXXX-error.log"
CustomLog "logs/XXXXXXX-error.log" combined
/VirtualHost
需要修改的,就是VirtualHost中的参数了。这个可以参见apache官方文档。根据实验域名,可以增加两个VirtualHost:
复制代码代码如下:
VirtualHost *:80
ServerAdmin adm@test1.net
DocumentRoot "C:/xampp/htdocs1/test1.net"
ServerName test1.net
ServerAlias
ErrorLog "logs/test1-error.log"
CustomLog "logs/test1-access.log" combined
Directory "C:/xampp/htdocs1/test1.net"
order allow,deny
allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerAdmin adm@test2.net
DocumentRoot "C:/xampp/htdocs1/test2.net"
ServerName test2.net
ServerAlias
ErrorLog "logs/test1-error.log"
CustomLog "logs/test1-access.log" combined
Directory "C:/xampp/htdocs1/test2.net"
order allow,deny
allow from all
/Directory
/VirtualHost
注意,如果不在各VirtualHost中定义Directory的可访问性,你将遇到的是Access Forbidden!就连原来的localhost也是。
4. 由于之前注释掉了httpd.conf中的ServerName, DocumentRoot等,为了仍然能以localhost访问原XAMPP欢迎页,就在增加一个VirtualHost,如下 -
复制代码代码如下:
VirtualHost *:80
ServerAdmin adm@localhost
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" combined
Directory "C:/xampp/htdocs"
order allow,deny
allow from all
/Directory
/VirtualHost
为了避免出错,把它放置在第一个Virtualhost位置。
至此,apache基于域名的虚拟主机配置完成。可以通过访问XAMPP欢迎页,通过和访问各自的主页。
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configuratiONs
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# URL:;
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any VirtualHost block.
#
VirtualHost *:80
ServerAdmin kongdaoxian@gmail.com
DocumentRoot "E:/skydao/apache2/htdocs"
ServerName localhost
ServerAlias
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" combined
Directory "E:/skydao/apache2/htdocs"
order allow,deny
allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerAdmin kongdaoxian@gmail.com
DocumentRoot "E:/skydao/apache2/htdocs/project1"
ServerName project1.com
ServerAlias
ErrorLog "logs/project1-error.log"
CustomLog "logs/project1-access.log" combined
Directory "E:/skydao/apache2/htdocs/project1"
order allow,deny
allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerAdmin kongdaoxian@gmail.com
DocumentRoot "E:/skydao/apache2/htdocs/zendTest/public"
ServerName zendTest.com
ServerAlias
DirectoryIndex index.php
Directory /
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerAdmin kongdaoxian@gmail.com
DocumentRoot "E:/skydao/apache2/htdocs/testRewrite"
ServerName testRewrite.com
ServerAlias
# DirectoryIndex index.php
Directory /
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerAdmin kongdaoxian@gmail.com
DocumentRoot "E:/skydao/apache2/htdocs/test"
ServerName test.com
ServerAlias
ErrorLog "logs/zendTest-error.log"
CustomLog "logs/zendTest-access.log" combined
Directory "E:/skydao/apache2/htdocs/test"
order allow,deny
allow from all
/Directory
/VirtualHost
如何在Macbook上配置Apache虚拟主机
Mac OS X自带apache,但是使用比较麻烦,你可以安装XAMPP。集成了apache和mysql与php环境。可以一键启动。
xampp 配置中如何显示目录列表
http.conf中加入如下代码(如有虚拟主机配置,加在虚拟主机配置段内)
Directory "/download"
Options Indexes
Order allow,deny
IndexOptions Charset=UTF-8
Allow from all
/Directory
参数"Options Indexes"表示启用目录浏览,"IndexOptions Charset=UTF-8"设置字符集,以消除中文乱码。
Apache2.4配置虚拟主机后却无法访问虚拟主机根目录下的文件?
您好!从配置文件上来看暂无发现问题,这边也在Linux系统下按照您的配置文件测试过没问题。请问您是使用纯Apache 2.4 Windows版本的 还是 用打包的集成软件(XAMPP或者phpstudy之类的)?
请确保您的网站根目录下有对应的默认首页文件,Apache中也设置了DirectoryIndex
或者将Directory中的部分改一改:
Directory "D:\discuz"
Require all granted
/Directory
因为您上面提到NameVirtualHost和Order Allow,Deny ... Allow from Deny from...这些都是旧版2.2的Apache语法。
xampp配置虚拟主机的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于在xampp里搭建php运行环境并使用、xampp配置虚拟主机的信息别忘了在本站进行查找喔。
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~