Apache为本地主机配置多个网站根目录详解

本文详细介绍了Apache服务器的配置方法,包括如何设置访问权限、文档根目录及虚拟主机等,帮助读者理解并掌握Apache的基本配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Author:KillerLegend

Date:2014.5.27

From:http://blog.youkuaiyun.com/killerlegend/article/details/27195445

------------------------------------------------------------------分割线-----------------------------------------------------------------------------

在httpd.conf文件中,有如下配置(注:舍去httpd.conf文件的注释内容)

[html]  view plain  copy
 
 print?
  1. Listen 80  
  2. ServerName localhost  
  3. <Directory />  
  4.     AllowOverride none  
  5.     Require all denied  
  6. </Directory>  
  7.   
  8.   
  9. DocumentRoot "E:"  
  10. <Directory "E:/Workshop/Apache">  
  11.     Options Indexes FollowSymLinks  
  12.     AllowOverride None  
  13.     Require all granted  
  14. </Directory>  



(测试之前最好清理一下浏览器缓存),那么在浏览器中输入http://localhost/Workshop/Apache/ 便可以访问E:/Workshop/Apache下的所有文件,注意此处的根目录是E:,但是上面的那个Directory设置了权限所以无法访问E盘下面的所有内容,如果将上面的那个Directoy更改为:


[html]  view plain  copy
 
 print?
  1. <Directory />  
  2.     Options Indexes FollowSymLinks  
  3.     AllowOverride None  
  4.     Require all granted  
  5. </Directory>  



那么便可以从浏览器中访问E盘的所有东西,当在浏览器中输入localhost的时候,浏览器将会显示E盘根目录下的所有内容,并且可以访问。为了安全,我们通常不这么做,因此经常的设置方法是下面这样的配置:


[html]  view plain  copy
 
 print?
  1. Listen 80  
  2. ServerName localhost  
  3. <Directory />  
  4.     AllowOverride none  
  5.     Require all denied  
  6. </Directory>  
  7.   
  8.   
  9. DocumentRoot "E:/Workshop/Apache"  
  10. <Directory "E:/Workshop/Apache">  
  11.     Options Indexes FollowSymLinks  
  12.     AllowOverride None  
  13.     Require all granted  
  14. </Directory>  



通过浏览器只允许访问特定目录,此处也就是E:/Workshop/Apache目录下的所有内容。当然对于第二个Dir,可以设置E:/Workshop/Apache下不同文件夹的访问权限。


最后说一下虚拟主机的设置,请按照以下格式设置(放在httpd.conf文件末尾即可):


如下所示,需要首先设置监听端口,然后是NameVirtualHost指定主机地址以及端口,接下来就是对VirtualHost进行设置了,其中包括SeverName也就是主机名以及文档根目录,注意对于本地开发时,将ServerName设置为localhost或者127.0.0.1即可,其中的文档根目录与目录设置一样即可,或者你也可以在文档根目录中为不同的文件夹设置不同的访问权限。其中的×号代表监听所有访问设置端口的虚拟主机。

[html]  view plain  copy
 
 print?
  1. Listen 81  
  2. NameVirtualHost *:81  
  3. <VirtualHost *:81>  
  4.     ServerName 127.0.0.1  
  5.     DocumentRoot "C:/Users/Administrator/php/webroot1"  
  6.     <Directory "C:/Users/Administrator/php/webroot1">  
  7.    Options Indexes FollowSymLinks  
  8.    AllowOverride None  
  9.    Require all granted  
  10. </Directory>  
  11. </VirtualHost>  
  12.   
  13.   
  14. Listen 82  
  15. NameVirtualHost ×:82  
  16. <VirtualHost *:82>  
  17.     ServerName 127.0.0.1  
  18.     DocumentRoot "C:/Users/Administrator/php/webroot2"  
  19.     <Directory "C:/Users/Administrator/php/webroot2">  
  20.    Options Indexes FollowSymLinks  
  21.    AllowOverride None  
  22.    Require all granted  
  23. </Directory>  
  24. </VirtualHost>  




这样设置完毕后,重新启动Apache,然后就可以在地址栏中输入localhost:81直接访问webroot1路径,localhost:82访问webroot2路径。

转载于:https://www.cnblogs.com/wenJiaQi/p/7323649.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值