zoukankan      html  css  js  c++  java
  • Apache为本地主机配置多个网站根目录详解

    Author:KillerLegend

    Date:2014.5.27

    From:http://blog.csdn.net/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路径。

  • 相关阅读:
    面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答
    当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?
    0
    计算机网络
    java基础
    java 多线程编程
    java类与对象,用程序解释
    修饰符的探讨
    java学习总结02
    java day1
  • 原文地址:https://www.cnblogs.com/wenJiaQi/p/7323649.html
Copyright © 2011-2022 走看看