一个站点,就是一个“目录”,每个目录, 应该给其设定“访问权限”。
设置方法(apache2.2):
-
"要设置权限的目录(站点)路径">
-
# 设置当一个请求中没有给定请求的文件名有没有默认网页(首页)的时候显示文件列表
-
Options Indexes
-
# 开启分布式权限
-
AllowOverride None
-
-
# 设置权限控制的先后顺序,只有两种,要么先拒绝后运行,要不下先允许后拒绝
-
Order Deny,Allow
-
# Deny 用于设定要拒绝的来源地址或服务器名,几乎没有实际意义
-
Deny
from 拒绝名单,比如Deny
from
192,
168.2
.3 www.abc.com
-
Allow
from 允许名单 比如:Allow
from all
-
-
# 设置该站点(文件夹)的“默认网页”(首页),可以设置多个,用于请求的时候没有带请求文件名默认访问的网页
-
DirectoryIndex index.html index.php
-
设置方法(apache2.4):
-
"要设置权限的目录(站点)路径">
-
# 设置当一个请求中没有给定请求的文件名有没有默认网页(首页)的时候显示文件列表
-
Options Indexes
-
# 开启分布式权限
-
AllowOverride None
-
-
# 权限设置,要么拒绝所有,要么允许所有,要么允许指定的主机名或者ip地址
-
# 拒绝所有的请求
-
# Require all denied
-
# 允许所有的请求
-
Require all granted
-
# 设置允许的主机域名,多个域名之间用空格隔开
-
Require host xxx.com
-
# 设置允许的ip,多个ip之间用空格隔开
-
Require ip
192.168
.5
.6
-
-
# 设置该站点(文件夹)的“默认网页”(首页),可以设置多个,用于请求的时候没有带请求文件名默认访问的网页
-
DirectoryIndex index.html index.php
-
对于目录访问权限配置,它有两个局限:
apache配置文件修改(修改了权限),必须重启服务器
某个站点下面的“下级目录”不便单独进行设置
分布式权限:所谓分布式权限,指的就是对某个目录(站点)的子目录(子文件夹)进行单独的权限控制,并且修改权限后无需重启apache服务器。
设置方法:
1、 在要单独设置权限的子目录的上级站点目录权限中开启分布式权限,即在Directory节点中添加AllowOverride all,如图:
2、 在要设置权限的目录下面新建一个.htaccess文件,文件全名就是.htaccess,所以记事本无法完成该文件的创建,需要一款编辑器创建这种文件,如图:
创建该文件成功后,添加其内容和目录权限设置类似,比如添加如下代码:
保存,那么通过浏览器访问该站点,httpd-2.4.18-win64-VC11文件夹将不会显示在网页上,如图:
这是因为我当前的ip不在它允许的ip之中(拒绝所有)。这就达到了单独控制子目录访问权限,这就是分布式权限。