mod_macro.html.en revision 9546947d8f7082fb4b70e1659feb5460502b73e4
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<?xml version="1.0" encoding="ISO-8859-1"?>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin This file is generated from xml source: DO NOT EDIT
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin -->
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc<title>mod_macro - Apache HTTP Server</title>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
2e545ce2450a9953665f701bb05350f0d3f26275nd<script src="/style/scripts/prettify.js" type="text/javascript">
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen</script>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<link href="/images/favicon.ico" rel="shortcut icon" /></head>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<body>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div id="page-header">
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<p class="apache">Apache HTTP Server Version 2.5</p>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<img alt="" src="/images/feather.gif" /></div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div id="path">
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div id="page-content">
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div id="preamble"><h1>Apache Module mod_macro</h1>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div class="toplang">
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<p><span>Available Languages: </span><a href="/en/mod/mod_macro.html" title="English">&nbsp;en&nbsp;</a> |
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<a href="/fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin</div>
7f0952c0239ea2d6e37b472db6fde4ef2718343dsf<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>This module provides usage of macros within apache runtime configuration files</td></tr>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr>
46f74e65e6051e6e9391c8e17c5116317210facetakashi<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>macro_module</td></tr>
46f74e65e6051e6e9391c8e17c5116317210facetakashi<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_macro.c</td></tr></table>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<h3>Summary</h3>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <p>This modules provides macros within apache runtime configuration files.
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin These macros have parameters. They are expanded when used (parameters are
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin substituted by their values given as an argument), and the result is
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin processed normally.</p>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin</div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div id="quickview"><h3 class="directives">Directives</h3>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<ul id="toc">
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<li><img alt="" src="/images/down.gif" /> <a href="#macro">&lt;Macro&gt;</a></li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<li><img alt="" src="/images/down.gif" /> <a href="#undefmacro">undefMacro</a></li>
72c3c99143571371be76ed3916b19bd3214b4363martin<li><img alt="" src="/images/down.gif" /> <a href="#use">Use</a></li>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf</ul>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<h3>Topics</h3>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<ul id="topics">
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<li><img alt="" src="/images/down.gif" /> <a href="#features">Features</a></li>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div class="section">
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf<h2><a name="features" id="features">Features</a></h2>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri<p>Definition of a macro:</p>
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri</p>
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri <ul>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> macro definition within a &lt;Macro&gt; section, following
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin the apache style.</li>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <li> user defined names for the macro and its parameters.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> macro names are case-insensitive, like apache directives.</li>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <li> macro parameter names are case sensitive.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> macro parameters must have distinct names.</li>
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri <li> error on empty parameter names.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> redefining a macro generates a warning.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> macro definitions can be nested... (but what for?)</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> warn about unused macro parameters.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> warn about macro parameter names which prefix one another.</li>
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh <li> warn if a parameter is not prefixed by any of '<code>$%@</code>'
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin (good practice).</li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <li> the available prefixes help deal with interactions with other
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin directives such as <code class="directive"><a href="/mod/core.html#define">Define</a></code>.</li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <li> tip: it may be useful to define a macro parameter with surrounding
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin braces, say <code>${foo}</code> so that the name can appear with
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin surrounding characters such as <code>bla${foo}bla</code>.</li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <li> warn about empty macro contents.</li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <li> warns if sections are not properly nested within a macro.
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin (if it is detected so).</li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <li> the lexical scope of macro parameters is restricted to the macro text,
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin it is not forwarded to includes for instance.</li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <li> arbitrary contents in macros.
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <p>It means you can put perl sections or whatever you like in a macro.
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin No assumption is made about the lexical structure (quotes, spaces or
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin whatever) within the macro contents but to expect a set of
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin backslash-continued independent lines.</p></li>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin </ul>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<p>Use of a macro:</p>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin</p>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <ul>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <li> number of arguments must match the definition.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> all occurences of macro parameters are substituted by their values.</li>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <li> in case of conflicts, the longest parameter name is chosen.</li>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <li> macro expansion recursion is detected and stopped (error).</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> warn about empty arguments when used.</li>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <li> on errors, try to describe precisely where the error occured.</li>
7f0952c0239ea2d6e37b472db6fde4ef2718343dsf <li> <code>$</code> and <code>%</code>-prefixed parameters are not
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin escaped.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <li> <code>@</code>-prefixed parameters are escaped in quotes.</li>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin </ul>
c1e61f5534383913a1cb952f927348037b1c1922minfrin
c1e61f5534383913a1cb952f927348037b1c1922minfrin<p>Removal of a macro definition:</p>
c1e61f5534383913a1cb952f927348037b1c1922minfrin
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin</p>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <ul>
c1e61f5534383913a1cb952f927348037b1c1922minfrin <li> the macro must be already defined.</li>
fac8c35bfb158112226ab43ddf84d59daca5dc30nd </ul>
20f499565e77defe9dab24dd85c02f38a1175855nd
e487d6c09669296f94a5190cc34586a98e624a00nd<pre class="prettyprint lang-config">
2d24960fa1e6afc7ad5f1bf58b6b3f5e7a9a3497humbedooh&lt;Macro DirGroup $dir $group&gt;
20f499565e77defe9dab24dd85c02f38a1175855nd &lt;Directory $dir&gt;
e487d6c09669296f94a5190cc34586a98e624a00nd require group $group
2d24960fa1e6afc7ad5f1bf58b6b3f5e7a9a3497humbedooh &lt;/Directory&gt;
20f499565e77defe9dab24dd85c02f38a1175855nd&lt;/Macro&gt;
e487d6c09669296f94a5190cc34586a98e624a00nd
2d24960fa1e6afc7ad5f1bf58b6b3f5e7a9a3497humbedoohUse DirGroup /www/apache/private private
20f499565e77defe9dab24dd85c02f38a1175855ndUse DirGroup /www/apache/server admin
e487d6c09669296f94a5190cc34586a98e624a00nd
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrinUndefMacro DirGroup
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd</pre>
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd</div>
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd<div class="directive-section"><h2><a name="Macro" id="Macro">&lt;Macro&gt;</a> <a name="macro" id="macro">Directive</a></h2>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<table class="directive">
20f499565e77defe9dab24dd85c02f38a1175855nd<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a configuration file macro</td></tr>
e487d6c09669296f94a5190cc34586a98e624a00nd<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin&lt;Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]&gt;
c1e61f5534383913a1cb952f927348037b1c1922minfrin... &lt;/Macro&gt;</code></td></tr>
c1e61f5534383913a1cb952f927348037b1c1922minfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin</table>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin <p>The <code class="directive">Macro</code> directive controls the definition of
20f499565e77defe9dab24dd85c02f38a1175855nd a macro within the server runtime configuration files.
e487d6c09669296f94a5190cc34586a98e624a00nd The first argument is the name of the macro.
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin Other arguments are parameters to the macro. It is good practice to prefix
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin parameter names with any of '<code>$%@</code>', and not macro names
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin with such characters.
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin </p>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin <pre class="prettyprint lang-config">
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin&lt;Macro LocalAccessPolicy&gt;
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin order deny,allow
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin deny from all
623eebe956d9c2d6d073ed3eae855b56030b40e9noodl allow from 10.2.16.0/24
7f0952c0239ea2d6e37b472db6fde4ef2718343dsf&lt;/Macro&gt;
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin&lt;Macro RestrictedAccessPolicy $ipnumbers&gt;
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin order deny,allow
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin deny from all
fac8c35bfb158112226ab43ddf84d59daca5dc30nd allow from $ipnumbers
c1e61f5534383913a1cb952f927348037b1c1922minfrin&lt;/Macro&gt;
c1e61f5534383913a1cb952f927348037b1c1922minfrin </pre>
fac8c35bfb158112226ab43ddf84d59daca5dc30nd
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin</div>
fac8c35bfb158112226ab43ddf84d59daca5dc30nd<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<div class="directive-section"><h2><a name="undefMacro" id="undefMacro">undefMacro</a> <a name="undefmacro" id="undefmacro">Directive</a></h2>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<table class="directive">
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Undefine a macro</td></tr>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UndefMacro <var>name</var></code></td></tr>
6cb5ba7ba62cc211ade9e6b76f82eaae64a3a5d2minfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
fac8c35bfb158112226ab43ddf84d59daca5dc30nd<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
0237f43ab925775250e266e479d0a337ff374a4btakashi<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr>
0237f43ab925775250e266e479d0a337ff374a4btakashi</table>
0237f43ab925775250e266e479d0a337ff374a4btakashi <p>The <code class="directive">UndefMacro</code> directive undefines a macro
4aa603e6448b99f9371397d439795c91a93637eand which has been defined before hand.</p>
374adaff9445c620465679c1e5fa624c171d9783rbowen
374adaff9445c620465679c1e5fa624c171d9783rbowen <pre class="prettyprint lang-config">
374adaff9445c620465679c1e5fa624c171d9783rbowenUndefMacro LocalAccessPolicy
374adaff9445c620465679c1e5fa624c171d9783rbowenUndefMacro RestrictedAccessPolicy
374adaff9445c620465679c1e5fa624c171d9783rbowen </pre>
374adaff9445c620465679c1e5fa624c171d9783rbowen
4aa603e6448b99f9371397d439795c91a93637eand
374adaff9445c620465679c1e5fa624c171d9783rbowen</div>
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<div class="directive-section"><h2><a name="Use" id="Use">Use</a> <a name="use" id="use">Directive</a></h2>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<table class="directive">
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use a macro</td></tr>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Use <var>name</var> [<var>value1</var> ... <var>valueN</var>]
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin</code></td></tr>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin</table>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <p>The <code class="directive">Use</code> directive controls the use of a macro.
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin The specified macro is expanded. It must be given the same number of
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin arguments than in the macro definition. The provided values are
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin associated to their corresponding initial parameters and are substituted
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin before processing.</p>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <pre class="prettyprint lang-config">
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrinUse LocalAccessPolicy
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin...
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrinUse RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin </pre>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <p>is equivalent, with the macros defined above, to:</p>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <pre class="prettyprint lang-config">
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrinorder deny,allow
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrindeny from all
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrinallow from 10.2.16.0/24
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin...
564ee5b847469eb8a61120179ce70a0213965785rbowenorder deny,allow
564ee5b847469eb8a61120179ce70a0213965785rbowendeny from all
564ee5b847469eb8a61120179ce70a0213965785rbowenallow from 192.54.172.0/24 192.54.148.0/24
564ee5b847469eb8a61120179ce70a0213965785rbowen </pre>
564ee5b847469eb8a61120179ce70a0213965785rbowen
564ee5b847469eb8a61120179ce70a0213965785rbowen
564ee5b847469eb8a61120179ce70a0213965785rbowen</div>
564ee5b847469eb8a61120179ce70a0213965785rbowen</div>
564ee5b847469eb8a61120179ce70a0213965785rbowen<div class="bottomlang">
564ee5b847469eb8a61120179ce70a0213965785rbowen<p><span>Available Languages: </span><a href="/en/mod/mod_macro.html" title="English">&nbsp;en&nbsp;</a> |
564ee5b847469eb8a61120179ce70a0213965785rbowen<a href="/fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
564ee5b847469eb8a61120179ce70a0213965785rbowen</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
564ee5b847469eb8a61120179ce70a0213965785rbowen<script type="text/javascript"><!--//--><![CDATA[//><!--
564ee5b847469eb8a61120179ce70a0213965785rbowenvar comments_shortname = 'httpd';
564ee5b847469eb8a61120179ce70a0213965785rbowenvar comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_macro.html';
564ee5b847469eb8a61120179ce70a0213965785rbowen(function(w, d) {
564ee5b847469eb8a61120179ce70a0213965785rbowen if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
564ee5b847469eb8a61120179ce70a0213965785rbowen d.write('<div id="comments_thread"><\/div>');
564ee5b847469eb8a61120179ce70a0213965785rbowen var s = d.createElement('script');
564ee5b847469eb8a61120179ce70a0213965785rbowen s.type = 'text/javascript';
564ee5b847469eb8a61120179ce70a0213965785rbowen s.async = true;
564ee5b847469eb8a61120179ce70a0213965785rbowen s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
564ee5b847469eb8a61120179ce70a0213965785rbowen (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin }
4277c95b5a9454a5c25f8d8762634fcff37aa840minfrin else {
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
727872d18412fc021f03969b8641810d8896820bhumbedooh }
0d0ba3a410038e179b695446bb149cce6264e0abnd})(window, document);
727872d18412fc021f03969b8641810d8896820bhumbedooh//--><!]]></script></div><div id="footer">
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
0d0ba3a410038e179b695446bb149cce6264e0abnd<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedoohif (typeof(prettyPrint) !== 'undefined') {
727872d18412fc021f03969b8641810d8896820bhumbedooh prettyPrint();
0d0ba3a410038e179b695446bb149cce6264e0abnd}
0d0ba3a410038e179b695446bb149cce6264e0abnd//--><!]]></script>
0d0ba3a410038e179b695446bb149cce6264e0abnd</body></html>