如何配置XAMPP的虚拟主机[转]

来源:互联网 发布:航天开盘软件 编辑:程序博客网 时间:2024/05/29 17:36
apache的虚拟主机配置在两三年前就知道,但是因为太久竟然也忘记也一些规则。今天在给xampp配置虚拟主机的时候,被其内置的规则搞的有点晕。最后只能回头再去阅读一下apache文档才彻底搞清楚了。备忘一下。

  首先xampp在httpd.conf里面配置禁止遍历整个文件系统,对文件系统的默认访问被禁止,保护服务器文件。原来配置如下:

<Directory />
 Options FollowSymLinks
 AllowOverride None
 Order deny,allow
 Deny from all
</Directory>


但是如果要让虚拟主机能被访问,有两个解决办法:一个是在全局里将Deny from all改成Allow from all ,但是有没发起到保护文件的作用;另一个办法是在虚拟主机里面加代码,如下:

<VirtualHost *:80>
 ServerAdmin webmaster@eachbrand.com
 DocumentRoot D:projectseachbrand.com
 ServerName www.eachbrand.com
 ##能通过多个域名访问
 #ServerAlias eachbrand.com *.eachbrand.com
 ErrorLog logs/www.eachbrand.com-error_log
 CustomLog logs/www.eachbrand.com-access_log common
 <Directory />
  AllowOverride All
  Order deny,allow
  Allow from all
 </Directory>
</VirtualHost>

基于域名的虚拟主机规则

  1.必须指定服务器IP地址(和可能的端口)来使主机接受请求,这个可以用NameVirtualHost指令来进行配置。如果服务器上所有的IP地址都会用到,你可以用"*"作为NameVirtualHost的参数。如果你打算使用多端口(如运行SSL)你必须在参数中指定一个端口号,比如"*:80"。

  2.为每个虚拟主机建立

  <VirtualHost>

  段

  <VirtualHost>

  的参数与NameVirtualHost的参数必须是一样的(比如说,一个IP地址或"*"代表的所有地址)。在每个VirtualHost段中,至少要有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容位于文件系统的什么地方。

  3.取消中心主机, 如果你想在现有的web服务器上增加虚拟主机,你必须也为现存的主机建造一个

  <VirtualHost>

  定义块。这个虚拟主机中ServerName和DocumentRoot所包含的内容应该与全局的ServerName和DocumentRoot保持一致。还要把这个虚拟主机放在配置文件的最前面,来让它扮演默认主机的角色。

  示范代码:

NameVirtualHost *:80
## for mainhost
<VirtualHost *:80>
ServerName localhost:80
DocumentRoot "/xampp/htdocs"
</VirtualHost>
## for virtualhost
<VirtualHost *:80>
 ServerAdmin webmaster@kakapo.cn
 DocumentRoot D:projectskakapo.cn
 ServerName www.kakapo.cn
 ##能通过多个域名访问
 #ServerAlias kakapo.cn *.kakapo.cn
 ErrorLog logs/www.kakapo.cn-error_log
 CustomLog logs/www.kakapo.cn-access_log common
</VirtualHost>

原创粉丝点击