16.5.3 分布式配置文件:.htaccess

16.5.3  分布式配置文件:.htaccess

.htaccess文件又称为“分布式配置文件”,该文件可以覆盖httpd.conf文件中的配置,但是它只能设置对目录的访问控制和用户认证。.htaccess文件可以有多个,每个.htaccess文件的作用范围仅限于该文件所存放的目录以及该目录下的所有子目录。虽然.htaccess能实现的功能在<Directory>段中都能够实现,但是因为在.htaccess修改配置后并不需要重启Apache服务就能生效,所以在一些对停机时间要求较高的系统中可以使用。

%注意:一般情况下,Apache并不建议使用.htaccess文件,因为使用.htaccess文件会对服务器性能造成影响。

下面还是以16.5.2节中的例子为基础来演示在.htaccess文件中配置访问控制和用户认证的过程。

1)打开httpd.conf配置文件,将security_info目录的配置信息替换为下面的内容。

 

#使用Diretory段设置/usr/local/apache2/htdocs/secure_info目录的属性

<Directory "/usr/local/apache2/htdocs/secure_info">

#允许.htaccess文件覆盖httpd.conf文件中的secure_info目录配置

    AllowOverride All

</Directory>

 

修改主要包括两个方面:

q      删除原有的关于访问控制和用户认证的参数和指令,因为这些指令将会被写到.htaccess文件中去。

q      添加了AllowOverride All参数,允许.htaccess文件覆盖httpd.conf文件中关于secure_info目录的配置。如果不做这项设置,.htaccess文件中的配置将不能生效。

2)重启Apache服务,在/usr/local/apache2/htdocs/secure_info/目录下创建一个文件.htaccess,写入以下内容:

 

#使用AuthType参数设置认证类型

    AuthType Basic

#使用AuthName参数设置

    AuthName "secure_info_auth"

#使用AuthUserFile参数设置认证口令文件的位置

    AuthUserFile /usr/local/apache2/conf/users

#使用require参数设置sam用户可以访问

    require user sam

#使用Order参数设置先执行拒绝规则,再执行允许规则

    Order deny,allow

#使用Deny参数设置拒绝所有客户端访问

    Deny from all

#使用Allow参数设置允许172.20.17.55客户端访问

    Allow from 172.20.17.55

 

使用浏览器访问http://demoserver/security_info进行测试,将会返回如图16.32所示的页面。现在对.htaccess文件做任何的修改,都不需要重启Apache服务,立刻就会生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值