Apache HTTP Server Version 2.4
Description: | This module provides usage of macros within apache runtime configuration files |
---|---|
Status: | Base |
Module Identifier: | macro_module |
Source File: | mod_macro.c |
Compatibility: | Available in Apache HTTPD 2.4.5 and later |
This modules provides macros within apache runtime configuration files. These macros have parameters. They are expanded when used (parameters are substituted by their values given as an argument), and the result is processed normally.
Definition of a macro:
$%@
'
(good practice).Define
.${foo}
so that the name can appear with
surrounding characters such as bla${foo}bla
.It means you can put perl sections or whatever you like in a macro. No assumption is made about the lexical structure (quotes, spaces or whatever) within the macro contents but to expect a set of backslash-continued independent lines.
Use of a macro:
$
and %
-prefixed parameters are not
escaped.@
-prefixed parameters are escaped in quotes.Removal of a macro definition:
<Macro DirGroup $dir $group> <Directory $dir> require group $group </Directory> </Macro> Use DirGroup /www/apache/private private Use DirGroup /www/apache/server admin UndefMacro DirGroup
Description: | Define a configuration file macro |
---|---|
Syntax: |
<Macro name [par1 .. parN]>
... </Macro> |
Context: | server config, virtual host, directory |
Status: | Base |
Module: | mod_macro |
The Macro
directive controls the definition of
a macro within the server runtime configuration files.
The first argument is the name of the macro.
Other arguments are parameters to the macro. It is good practice to prefix
parameter names with any of '$%@
', and not macro names
with such characters.
<Macro LocalAccessPolicy> order deny,allow deny from all allow from 10.2.16.0/24 </Macro> <Macro RestrictedAccessPolicy $ipnumbers> order deny,allow deny from all allow from $ipnumbers </Macro>
Description: | Undefine a macro |
---|---|
Syntax: | UndefMacro name |
Context: | server config, virtual host, directory |
Status: | Base |
Module: | mod_macro |
The UndefMacro
directive undefines a macro
which has been defined before hand.
UndefMacro LocalAccessPolicy UndefMacro RestrictedAccessPolicy
Description: | Use a macro |
---|---|
Syntax: | Use name [value1 ... valueN]
|
Context: | server config, virtual host, directory |
Status: | Base |
Module: | mod_macro |
The Use
directive controls the use of a macro.
The specified macro is expanded. It must be given the same number of
arguments than in the macro definition. The provided values are
associated to their corresponding initial parameters and are substituted
before processing.
Use LocalAccessPolicy ... Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"
is equivalent, with the macros defined above, to:
order deny,allow deny from all allow from 10.2.16.0/24 ... order deny,allow deny from all allow from 192.54.172.0/24 192.54.148.0/24