From: Andre Malo
Historically, there are several syntax variants for expressions used to express - a condition in the different modules of the Apache HTTP Server. - There is some ongoing effort to only use a single variant, called ap_expr, - for all configuration directives. - This document describes the ap_expr expression parser. +
Historically, there are several syntax variants for expressions + used to express a condition in the different modules of the Apache + HTTP Server. There is some ongoing effort to only use a single + variant, called ap_expr, for all configuration directives. + This document describes the ap_expr expression parser.
The ap_expr expression is intended to replace most other
- expression variants in HTTPD. For example, the deprecated
- SSLRequire expressions can be
- replaced by Require expr.
-
SSLRequire expressions can be replaced
+ by Require expr.
Grammar in Backus-Naur Form notation
VariablesBackus-Naur Form (BNF) is a notation
- technique for context-free grammars, often used to describe the syntax of languages used in computing.
- In most cases, expressions are used to express boolean values.
- For these, the starting point in the BNF is expr. However, a few directives
- like LogMessage accept expressions
- that evaluate to a string value. For those, the starting point in the BNF is string.
+
Backus-Naur
+ Form (BNF) is a notation technique for context-free grammars,
+ often used to describe the syntax of languages used in computing.
+ In most cases, expressions are used to express boolean values. For
+ these, the starting point in the BNF is expr.
+ However, a few directives like LogMessage accept expressions
+ that evaluate to a string value. For those, the starting point in
+ the BNF is string.
@@ -229,8 +229,8 @@ listfunction ::= listfuncname "(" word ")"
The DocumentRoot of
the current vhost
AUTH_TYPE
- The configured AuthType
- (e.g. "basic")
+ The configured AuthType (e.g.
+ "basic")
CONTENT_TYPE
The content type of the response
HANDLER
@@ -275,14 +275,16 @@ listfunction ::= listfuncname "(" word ")"
The day of the week (starting with 0
for Sunday)
TIME
- The date and time in the format 20101231235959
+ The date and time in the format
+ 20101231235959
SERVER_SOFTWARE
The server version string
API_VERSION
The date of the API version (module magic number)
- Some modules register additional variables, see e.g. mod_ssl.
+ Some modules register additional variables, see e.g.
+ mod_ssl.
false", or "no" (case insensitive).
True otherwise.-R%{REMOTE_ADDR} -ipmatch ...", but more efficient
+ %{REMOTE_ADDR} -ipmatch ...", but more
+ efficient
respreqenvv can be used too to access variables).v can be used too to access
+ variables).osenvnotereq_novary function can be used to
prevent names from being added to the Vary header.
- In addition to string-valued functions, there are also list-valued functions which
- take one string as argument and return a wordlist, i.e. a list of strings. The wordlist
- can be used with the special -in operator.
- Functions names are not case sensitive.
- Modules may register additional functions.
In addition to string-valued functions, there are also
+ list-valued functions which take one string as argument and return a
+ wordlist, i.e. a list of strings. The wordlist can be used with the
+ special -in operator. Functions names are not case
+ sensitive. Modules may register additional functions.
There are no built-in list-valued functions. mod_ssl
provides PeerExtList. See the description of
@@ -491,7 +496,9 @@ listfunction ::= listfuncname "(" word ")"
The following examples show how expressions might be used to evaluate requests:
+The following examples show how expressions might be used to + evaluate requests:
+
# Compare the host name to example.com and redirect to www.example.com if it matches
@@ -521,7 +528,8 @@ listfunction ::= listfuncname "(" word ")"
string contained in string list /regexp/m#regexp#/regexp/im#regexp#iHistoriquement, il existe de nombreuses variantes dans la syntaxe
des expressions permettant d'exprimer une condition dans les
diff --git a/docs/manual/expr.xml.fr b/docs/manual/expr.xml.fr
index b68389fe4ad..52ad4a6b97c 100644
--- a/docs/manual/expr.xml.fr
+++ b/docs/manual/expr.xml.fr
@@ -1,7 +1,7 @@
-
+
diff --git a/docs/manual/expr.xml.meta b/docs/manual/expr.xml.meta
index d5a2e5e1a51..ea324a8bb25 100644
--- a/docs/manual/expr.xml.meta
+++ b/docs/manual/expr.xml.meta
@@ -8,6 +8,6 @@
| Packet Format (Server->Container) | +Packet Format (Server->Container) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Byte | +Byte | 0 | 1 | 2 | @@ -218,7 +219,7 @@ ProxyPassReverse /apps/foo http://www.example.com/foo4...(n+3) | ||||||
| Contents | +Contents | 0x12 | 0x34 | Data Length (n) | @@ -226,11 +227,12 @@ ProxyPassReverse /apps/foo http://www.example.com/foo|||||||
| Packet Format (Container->Server) | +Packet Format (Container->Server) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Byte | +Byte | 0 | 1 | 2 | @@ -238,7 +240,7 @@ ProxyPassReverse /apps/foo http://www.example.com/foo4...(n+3) | ||||||
| Contents | +Contents | A | B | Data Length (n) | @@ -253,6 +255,7 @@ ProxyPassReverse /apps/foo http://www.example.com/foo|||||||
| Code | Type of Packet | @@ -294,6 +297,7 @@ ProxyPassReverse /apps/foo http://www.example.com/foo
| Code | Type of Packet | diff --git a/docs/manual/mod/mod_proxy_ajp.xml.ja b/docs/manual/mod/mod_proxy_ajp.xml.ja index e53b7a8d046..8b77a4208de 100644 --- a/docs/manual/mod/mod_proxy_ajp.xml.ja +++ b/docs/manual/mod/mod_proxy_ajp.xml.ja @@ -1,7 +1,7 @@ - +