Apache服务器运维笔记(5)----容器的处理顺序
容器在配置文件中是可以多次使用的,同时也可以嵌套使用,但是 Apache 在处理容器时却是有一定顺序的,因此在编写容器配置时需要按照一定的顺序来进行,否则Apache处理的结果很可能不是管理员想要的。
在Apache中容器的处理顺序如下:
() <Directory>与 .htaccess 文件;
()<DirectoryMatch> 与 <Directory>
()<Files>和<FilesMatch>
()<Location>和<LocationMatch>
Apache会优先处理<Directory>容器(但是不会处理带有正则表达式的<Directory>容器)和 .htaccess 文件,如果 .htaccess 文件与<Directory> 容器有冲突,则以 htaccess 文件的内容来覆盖<Directory>中有冲突的部分。随后Apache 会处理<DirectoryMatch>与<Directory>,再接着处理<Files>和<FilesMatch>容器,最后处理<Location>和<LocationMatch>容器。例如:
<Location /srv/www/html>
Order deny,allow
Allow from all
</Location> <Directory /srv/www/html>
Order allow,deny
Allow from all
Deny from www.username.com
</Directory>
在上面的例子中,由于Apache会先处理<Directory /srv/www/html>容器,最后处理 <Location /srv/www/html> 容器,所以<Location /srv/www/html>容器的内容会覆盖<Directory /srv/www/html>,因此对于禁止 www.username.com 的访问将会被允许所有用户的访问所代替。
在以上四组容器中,除了<Directory>容器外其他三组容器都会按照在配置文件中的顺序来被处理,而<Directory>容器则按字典顺序由短到长依次被处理,例如:
<Directory /srv/web/html>
Options +Indexes
</Directory> <Directory /srv/web/>
Options -Indexes
</Directory>
在上面的例子中,<Directory /srv/web/> 容器虽然排在 <Directory /srv/web/html>容器的后面,但是按照字典顺序由短到长来排列它会第一个被处理。
Apache服务器运维笔记(5)----容器的处理顺序的更多相关文章
- Apache服务器运维笔记(3)----容器部分
1.<IfModule>容器 <IfModule>容器作用于模块,它会首先判断模块是否载入,然后再决定是否进行处理,也就是说只有当判断结果为真时才会执行容器内的指令,相反如果为 ...
- Apache服务器运维笔记(2)----使用<IfDefine>容器实现不同的配置
还有一种方法用来实现不同配置的Apache服务器启动,就是在一个配置文件中使用<IfDefine name> ... </IfDefine> 容器来定义,在<IfDefi ...
- Apache服务器运维笔记(2)----使用apxs来进行编译安装 mod_txt 模块
mod_txt是一个非常有趣的模块,它实现了文本的输出过滤器,它可以在指定类型的网页上,将你指定的txt文件显示在网页的头部和尾部. 在它的主页 http://apache.webthing.com/ ...
- Apache服务器运维笔记(1)----运行多个Apache服务器
所有的Apache管理员都会遇到一个问题,就是在一台物理系统上运行多个版本的Apache服务器,或是运行多个同一版本的Apache服务器的副本,对于前者,在编译时为不同版本的Apache指定不同的安装 ...
- Apache服务器运维笔记(6)----目录 文件 网络容器的安全问题
<Directory>.<Files>.<Location> 这三个容器的作用都很相似,都是以容器的形式来封装一组指令对访问进行控制,只是它们的区别在于作用于目录. ...
- Apache服务器运维笔记(4)----服务器扩展部分
在Apache的默认配置文件夹中有一个 extra 目录,这个目录是用来存放 Apache 其他模块的配置文件的.这些文件是 Apache 针对常用的模块而设置并提供的,它们都是通过 Include ...
- 《DevOps故障排除:Linux服务器运维最佳实践》读书笔记
首先,这本书是Linux.CN赠送的,多谢啦~ http://linux.cn/thread-12733-1-1.html http://linux.cn/thread-12754-1-1.html ...
- 运维笔记--postgresql占用CPU问题定位
运维笔记--postgresql占用CPU问题定位 场景描述: 业务系统访问变慢,登陆服务器查看系统负载并不高,然后查看占用CPU较高的进程,发现是连接数据库的几个进程占用系统资源较多. 处理方式: ...
- 谈谈我的windows服务器运维管理
我们开发的页游General War(http://gw.gamebox.com)上线运营也有半年多了,服务器的开发到运维基本都由我一手包办,在服务器上线之后我们又招了一个程序员接手后续功能的开发,而 ...
随机推荐
- 05. flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中)
flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中) (1).position : <!DOCTYPE html> <html lang=" ...
- 记.net 遇到的几个bug
这两个bug都是查了挺久才查到的,随手记是个好习惯. 1.public static CultureInfo GetCultureInfo(string name); 方法,传参错误时,某些操作系统环 ...
- 赋值运算与深浅copy
1.复制运算 l1 = [1,2,3,['a','b']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['a', 'b']] print(l2) # [1 ...
- SVM面经
原始问题与对偶问题的关系 1,目标函数对原始问题是极大化,对对偶问题则是极小化 2,原始问题目标函数中的收益系数(优化函数中变量前面的系数)是对偶问题约束不等式中的右端常数,而原始问题约束不等式中的右 ...
- cv2.FileNode has no keys
把 python-opencv 版本由3.4.1 换成 3.4.4之后,问题解决
- SPRING中的线程池ThreadPoolTaskExecutor(转)
转自:https://blog.csdn.net/zhanglongfei_test/article/details/51888433 一.初始化 1,直接调用 ThreadPoolTaskExecu ...
- 使用kerl安装erlang遇到的问题及解决办法-bak
1 需要安装相关包 -dev autoconf 2 出现下面错误 * documentation : * xsltproc is missing. * fop is missing. * xmllin ...
- 在unity中使用protobuf
https://www.jianshu.com/p/b135676dbe8d 上面的提供序列化和常见的序列化有点不一样 下面的是常见的序列化的,但是他没有讲怎么用工具生成.proto--->.c ...
- Python生成pyc文件
Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code).pyc文件经过python解释器最终会生成机器码运行.所以pyc文件是可以跨平台部署的,类似Java的.c ...
- 【c++】流状态的查询和控制
源自 c++primer 4th, 248页 代码 #include <iostream> #include <limits> #include <stdexcept&g ...