设为首页 收藏本站
查看: 1875|回复: 0

[经验分享] apache配置 指令

[复制链接]

尚未签到

发表于 2015-7-31 13:19:55 | 显示全部楼层 |阅读模式
   指令
  说明        包含作用于匹配指定文件名的指令
语法         ...
作用域        server config, virtual host, directory, .htaccess
覆盖项        All
状态        核心(C)
模块        core
指令提供了基于文件名的访问控制,类似于和指令。它将配对一个指令。在此配置段中定义的指令将作用于其基本名称(不是完整的路径)与指定的文件名相符的对象。段将根据它们在配置文件中出现的顺序被处理:在段和.htaccess文件被处理之后,但在段之前。请注意:能嵌入到段中以限制它们作用的文件系统范围。
filename参数应当是一个文件名或是一个包含通配符的字符串,其中"?"匹配任何单个字符,"*"匹配任何字符串序列。在"~"字符之后同样可以使用正则表达式。比如:

将匹配绝大部分常见的因特网图象格式。然而在Apache1.3及其后继版本中,更推荐使用指令。
请注意与和配置段不同的是:配置段可用于.htaccess文件当中。这将允许用户在文件层面上控制对它们自己文件的访问。
  
   指令
  说明        包含作用于与正则表达式匹配的文件名的指令
语法         ...
作用域        server config, virtual host, directory, .htaccess
覆盖项        All
状态        核心(C)
模块        core
指令就像指令一样提供了针对文件名的访问控制。然而,它使用的是正则表达式。比如说:

将匹配最常见的internet图形文件格式。
    
  Include 指令
  说明        在服务器配置文件中包含其它配置文件
语法        Include file-path|directory-path
作用域        server config, virtual host, directory
状态        核心(C)
模块        core
兼容性        通配符仅在Apache 2.0.41 及以后的版本中可用
这个指令允许在服务器配置文件中加入其它配置文件。
Shell风格(fnmatch())的通配符可以用于按照字母顺序一次包含多个文件。另外,如果Include指向了一个目录而不是一个文件,Apache将读入该目录及其子目录下的所有文件,并依照字母顺序将这些文件作为配置文件进行解析。但是并不推荐这么做,因为偶尔会有临时文件在这个目录中生成,从而导致httpd启动失败。
文件的路径可以是一个完整的绝对路径(以一个斜杠开头):
Include /usr/local/apache2/conf/ssl.conf
Include /usr/local/apache2/conf/vhosts/*.conf
或是相对于ServerRoot目录的相对路径:
Include conf/ssl.conf
Include conf/vhosts/*.conf
请确保包含的目录中不包含任何诸如编辑器临时文件等引起误导的文件,因为Apache会尝试读取它们并把其中的内容作为配置指令来处理,这样可能会导致启动过程的失败。运行apachectl configtest 将会把配置检查时所使用的所有文件列出来以供参考。这将有助于检验配置中是否仅包含了您所希望出现那些文件。
root@host# apachectl configtest
Processing config file: /usr/local/apache2/conf/ssl.conf
Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf
Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf
Syntax OK
  
   指令
  说明        将封装的指令作用于匹配的URL
语法         ...
作用域        server config, virtual host
状态        核心(C)
模块        core
提供了基于URL的访问控制。与指令类似,它也会启用一个以结尾的配置段。配置段的处理位于, .htaccess, 之后,并依照在配置文件中出现的顺序进行处理。
配置段完全独立于文件系统之外操作。这有几个重要的后果。最重要的是不能用于针对文件系统的访问控制。因为可能会有几个不同的URL指向文件系统中的同一个文件,所以这样的控制常常会被很容易的绕过。
何时使用?
使用来将指令应用于独立于文件系统之外的内容。文件系统之内的内容请使用和指令。不过一个例外是 ,它可以方便的作用于所用URL。
对所有的原始(非代理)请求来说,匹配的URL应该是具有"/path/"形式的URL路径。不包括访问方法、主机名、端口或查询字符串等。对于代理的请求,匹配的URL必须为"scheme://servername/path"的形式,而且必须包括前缀。
URL可以用一个通配符字符串来进行通配符的处理。"?"匹配任何单个的字符,而"*"匹配所有字符序列。
也可以附加"~"字符来表示使用正则表达式。例如:

将匹配所有包含字符串"/extra/data"或"/special/data"的URL。在Apache1.3及其后续版本中,加入了一个新的推荐使用的指令,其功能与的正则表达式版本相同。
的功能在与SetHandler指令联用时能发挥最大效能。比如启用状态请求,但仅对来自foo.com的用户起效,您可以这样使用:

SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .foo.com

请注意"/"(斜线)
斜线字符根据它在URL中出现的位置不同有着特殊的意义。大家可能都已经习惯在文件系统中,多个连续的斜线会被作为单一的斜线处理(例如"/home ///foo"与"/home/foo"相同)。但在URL里面,这样是行不通的。指令和正则表达式版本的要求您明确使用多重斜线。比如:将匹配请求"/abc"但不会匹配请求"//abc"。而非正则表达式版本的指令在用于代理请求时,也有类似表现。但当非正则表达式版本的作用于非代理请求时,它会将多个毗邻的斜线认作单个斜线。比如,如果您指定了而请求是指向"/abc//def"的,那么它们就是匹配的。
    
   指令
  说明        将封装的指令作用于正则表达式匹配的URL
语法         ...
作用域        server config, virtual host
状态        核心(C)
模块        core
和指令相同,提供了基于URL的访问控制。但它使用正则表达式作为参数,而不是简单字符串。比如:

将匹配包含子串"/extra/data"或"/special/data"的URL。
  
  
  

  制作人:飞虎                                           无兄弟不编程!
  ====================================================
  
  欢迎加QQ群进行更多交流:305397511     专注于php、mysql以及开源框架
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92775-1-1.html 上篇帖子: CentOS6.5 yum安装 apache+svn安装配置 下篇帖子: 查看Apache的请求数和开启Apache Server Status
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表