上次在坛上看到了"
Apache的httpd.conf文件常用指令解释"一文!感觉很精辟,但又觉得有点美中不足!现在就借此机会做一点补充,希望各位笑纳!
大家打开httpd.conf文件后可能发现有很多象HTML语言的标识(其实是Apach的标准容器),今天我就把标准容器作一下简单的介绍:
1. <Virtualhost...>;...</Virtualhost...>;,它将内部指令的对象指定为起始标签的 虚拟主机。
2. <Directory...>;...</Directory...>;,它将内部指令的对象指定为起始标签的目录。
3. <Directorymatch regex>;...</Directorymatch>;,其作用相当于 <directory>;容器,但它带的表达式(regex)作为目录的变量而不是指定的目录。
4. <Files...>;...</Files...>;,它将内部指令的对象指定为起始标签的文件。
5. <Filesmatch regex>;...</Filesmatch>;,其作用相当于<Files>;容器,但它带的表达式(regex)作为文件的变量而不是指定的文件。
6. <Location...>;...</Location...>;,它将内部指令的对象限定为某个URL。
7. <Locationmatch regex>;...</locationmatch>;,其作用相当于<Location>;容器,但它带的表达式(regex)作为地址的变量而不是指定的URL。
8. <Limit...>;...</Limit...>;,它将内部指令的对象限制在某个WEB 站点的一些区域内。它一般处于被包含地位。
<ifModule test>;...</ifModule>;块用来调用第三方模块。test必须是一个已经存在的模块。如果不存在,此模块被忽略。而且<ifModule>;是可以嵌套使用。
最后一点,在管理httpd.conf文件时,应遵循以下原则:
1. <virtualhost>;容器不能位于任何一个容器内;
2. 在作用范围最小的<limit>;容器内不能在有任何容器;
3. <Files>;容器内只可能有<Limit>; 容器;
4. <location>;容器和<directory>;容器不能混合使用;
当然,涉及到Httpd.conf的指令还有一些,希望各位同心同德,力克Apache! 8)
大家打开httpd.conf文件后可能发现有很多象HTML语言的标识(其实是Apach的标准容器),今天我就把标准容器作一下简单的介绍:
1. <Virtualhost...>;...</Virtualhost...>;,它将内部指令的对象指定为起始标签的 虚拟主机。
2. <Directory...>;...</Directory...>;,它将内部指令的对象指定为起始标签的目录。
3. <Directorymatch regex>;...</Directorymatch>;,其作用相当于 <directory>;容器,但它带的表达式(regex)作为目录的变量而不是指定的目录。
4. <Files...>;...</Files...>;,它将内部指令的对象指定为起始标签的文件。
5. <Filesmatch regex>;...</Filesmatch>;,其作用相当于<Files>;容器,但它带的表达式(regex)作为文件的变量而不是指定的文件。
6. <Location...>;...</Location...>;,它将内部指令的对象限定为某个URL。
7. <Locationmatch regex>;...</locationmatch>;,其作用相当于<Location>;容器,但它带的表达式(regex)作为地址的变量而不是指定的URL。
8. <Limit...>;...</Limit...>;,它将内部指令的对象限制在某个WEB 站点的一些区域内。它一般处于被包含地位。
<ifModule test>;...</ifModule>;块用来调用第三方模块。test必须是一个已经存在的模块。如果不存在,此模块被忽略。而且<ifModule>;是可以嵌套使用。
最后一点,在管理httpd.conf文件时,应遵循以下原则:
1. <virtualhost>;容器不能位于任何一个容器内;
2. 在作用范围最小的<limit>;容器内不能在有任何容器;
3. <Files>;容器内只可能有<Limit>; 容器;
4. <location>;容器和<directory>;容器不能混合使用;
当然,涉及到Httpd.conf的指令还有一些,希望各位同心同德,力克Apache! 8)