apache2.4虚拟目录

1、设置根目录
搜索DocumentRoot,设置根目录。

DocumentRoot "${SRVROOT}/htdocs/thinkphp/public"

2、设置虚拟目录
搜索模块,在前添加:

Alias /my "${SRVROOT}/htdocs/phpMyAdmin" 

解释:

/my

设置虚拟目录名称,

"${SRVROOT}/htdocs/phpMyAdmin" 

设置虚拟目录物理地址。

3、设置虚拟目录权限

添加完虚拟目录后,在后添加下面的内容:

  
    # 设置访问权限         
    
        Require all granted
    

每个虚拟目录一个。

4、关于权限(以下内容转载自http://blog.csdn.net/qq_21956483/article/details/75331967)

从Apache2.2升级到Apache2.4后,发现原来用来限制部分IP和垃圾网络爬虫的访问控制规则不起作用,查询后才发现,Apache2.4中开始使用mod_authz_host这个新的模块来进行访问控制和其他的授权检查。原来在Apache2.2版本下用以实现网站访问控制的Order,Allow,Deny指令需要替换为新的Require访问控制指令。

注意:使用require指令时,需要在指令外添加标签对,否则重启Apache2.4加载规则时将出现错误:” negative Require directive has no effect in directive “。

下面直接给出一些实例对Require指令的使用进行说明:

允许所有访问请求:

    
        Require all granted
    

拒绝所有访问请求:

    
        Require all denied
    

只允许来自特定域名主机的访问请求,其他请求将被拒绝

    <RequireAll>
        Require ip 192.120 192.168.100 192.168.1.1
    RequireAll>

允许所有访问请求,但拒绝来自特定IP或IP段的访问请求

    <RequireAll>
        Require all granted
        Require not ip 192.168.1.1
        Require not ip 192.120 192.168.100
    </RequireAll>

允许所有访问请求,但拒绝某些User-Agent的访问请求

    SetEnvIfNoCase User-Agent "(FeedDemon|JikeSpider|AskTbFXTV|CrawlDaddy|Feedly|Swiftbot|ZmEu|oBot).*" BADBOT
    SetEnvIfNoCase User-Agent "brandwatch" BADBOT
    SetEnvIfNoCase User-Agent "rogerbot" BADBOT
    <RequireAll>
        Require all granted
        Require not env BADBOT
        Require not ip 192.168.100.1
    </RequireAll>

其它require访问控制指令用法如下:

    Require all granted #允许所有
    Require all denied #拒绝所有
    Require env env-var [env-var] ... #允许匹配环境变量中任意一个
    Require method http-method [http-method] ... #允许特定的HTTP方法(GET/POST/HEAD/OPTIONS)
    Require expr expression #允许,表达式为true
    Require user userid [ userid ] ... #允许特定用户
    Require group group-name [group-name] ... #允许特定用户组
    Require valid-user # #允许,有效用户
    Require ip 192.100 192.168.100 192.168.100.5 #允许特定IP或IP段,多个IP或IP段间使用空格分隔

–END

你可能感兴趣的:(apache,虚拟目录)