企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Apache模块 mod_version | [说明](#calibre_link-11) | 提供基于版本的配置段支持 | | --- | --- | | [状态](#calibre_link-12) | 扩展(E) | | [模块名](#calibre_link-13) | version_module | | [源文件](#calibre_link-14) | mod_version.c | | [兼容性](#calibre_link-58) | 仅在 Apache 2.0.56 及以后的版本中可用 | ### 概述 This module is designed for the use in test suites and large networks which have to deal with different httpd versions and different configurations. It provides a new container -- `<IfVersion>`, which allows a flexible version checking including numeric comparisons and regular expressions. ### 例子 ``` <IfVersion 2.1.0> # current httpd version is exactly 2.1.0 </IfVersion> <IfVersion >= 2.2> # use really new features :-) </IfVersion> ``` See below for further possibilities. ## &lt;IfVersion&gt; 指令 | [说明](#calibre_link-18) | contains version dependent configuration | | --- | --- | | [语法](#calibre_link-19) | `<IfVersion [[!]operator] version&gt; ... &lt;/IfVersion>` | | [作用域](#calibre_link-20) | server config, virtual host, directory, .htaccess | | [覆盖项](#calibre_link-66) | All | | [状态](#calibre_link-21) | 扩展(E) | | [模块](#calibre_link-22) | mod_version | `<IfVersion>` section encloses configuration directives which are executed only if the `httpd` version matches the desired criteria. For normal (numeric) comparisons the version argument has the format `major[.minor[.patch]]`, e.g. `2.1.0`或`2.2`. minor和patch are optional. If these numbers are omitted, they are assumed to be zero. The following numerical operators are possible: | operator | description | | --- | --- | | `=`或`==` | httpd version is equal | | `&gt;` | httpd version is greater than | | `&gt;=` | httpd version is greater or equal | | `&lt;` | httpd version is less than | | `&lt;=` | httpd version is less or equal | ### 示例 ``` <IfVersion >= 2.1> # this happens only in versions greater or # equal 2.1.0. </IfVersion> ``` Besides the numerical comparison it is possible to match a [regular expression](#calibre_link-67 "see glossary") against the httpd version. There are two ways to write it: | operator | description | | --- | --- | | `=`或`==` | version has the form `/regex/` | | `~` | version has the form `regex` | ### 示例 ``` <IfVersion = /^2.1.[01234]$/> # e.g. workaround for buggy versions </IfVersion> ``` In order to reverse the meaning, all operators can be preceded by an exclamation mark (`!`): ``` <IfVersion !~ ^2.1.[01234]$> # not for those versions </IfVersion> ``` If the operator is omitted, it is assumed to be `=`.