Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
apache2-doc /
manual /
ja /
mod /
Delete
Unzip
Name
Size
Permission
Date
Action
core.html
258.54
KB
-rw-r--r--
2026-06-12 05:08
directive-dict.html
20.42
KB
-rw-r--r--
2026-06-12 05:08
directives.html
58.25
KB
-rw-r--r--
2026-06-12 05:08
event.html
28.64
KB
-rw-r--r--
2026-06-12 05:08
index.html
25.6
KB
-rw-r--r--
2026-06-12 05:08
mod_access_compat.html
30.34
KB
-rw-r--r--
2026-06-12 05:08
mod_actions.html
14.2
KB
-rw-r--r--
2026-06-12 05:08
mod_alias.html
31.39
KB
-rw-r--r--
2026-06-12 05:08
mod_allowmethods.html
7.79
KB
-rw-r--r--
2026-06-12 05:08
mod_asis.html
9.48
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_basic.html
16.11
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_digest.html
20.06
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_form.html
50.26
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_anon.html
18.34
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_core.html
16.45
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_dbd.html
15.01
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_dbm.html
12.84
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_file.html
12.18
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_socache.html
18.79
KB
-rw-r--r--
2026-06-12 05:08
mod_authnz_fcgi.html
26.93
KB
-rw-r--r--
2026-06-12 05:08
mod_authnz_ldap.html
86.06
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_core.html
39.59
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_dbd.html
18.13
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_dbm.html
12.7
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_groupfile.html
9.63
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_host.html
13.12
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_owner.html
12.58
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_user.html
7.09
KB
-rw-r--r--
2026-06-12 05:08
mod_autoindex.html
65.16
KB
-rw-r--r--
2026-06-12 05:08
mod_brotli.html
22.65
KB
-rw-r--r--
2026-06-12 05:08
mod_buffer.html
8.76
KB
-rw-r--r--
2026-06-12 05:08
mod_cache.html
53.04
KB
-rw-r--r--
2026-06-12 05:08
mod_cache_disk.html
18.31
KB
-rw-r--r--
2026-06-12 05:08
mod_cache_socache.html
18.21
KB
-rw-r--r--
2026-06-12 05:08
mod_cern_meta.html
10.83
KB
-rw-r--r--
2026-06-12 05:08
mod_cgi.html
21.13
KB
-rw-r--r--
2026-06-12 05:08
mod_cgid.html
11.98
KB
-rw-r--r--
2026-06-12 05:08
mod_charset_lite.html
15.11
KB
-rw-r--r--
2026-06-12 05:08
mod_data.html
7.2
KB
-rw-r--r--
2026-06-12 05:08
mod_dav.html
21.93
KB
-rw-r--r--
2026-06-12 05:08
mod_dav_fs.html
10.38
KB
-rw-r--r--
2026-06-12 05:08
mod_dav_lock.html
10.24
KB
-rw-r--r--
2026-06-12 05:08
mod_dbd.html
24.89
KB
-rw-r--r--
2026-06-12 05:08
mod_deflate.html
32.67
KB
-rw-r--r--
2026-06-12 05:08
mod_dialup.html
7.2
KB
-rw-r--r--
2026-06-12 05:08
mod_dir.html
19.5
KB
-rw-r--r--
2026-06-12 05:08
mod_dumpio.html
10.1
KB
-rw-r--r--
2026-06-12 05:08
mod_echo.html
7.59
KB
-rw-r--r--
2026-06-12 05:08
mod_env.html
10.93
KB
-rw-r--r--
2026-06-12 05:08
mod_example_hooks.html
11.01
KB
-rw-r--r--
2026-06-12 05:08
mod_expires.html
18.09
KB
-rw-r--r--
2026-06-12 05:08
mod_ext_filter.html
22.51
KB
-rw-r--r--
2026-06-12 05:08
mod_file_cache.html
15.2
KB
-rw-r--r--
2026-06-12 05:08
mod_filter.html
33.35
KB
-rw-r--r--
2026-06-12 05:08
mod_headers.html
24.9
KB
-rw-r--r--
2026-06-12 05:08
mod_heartbeat.html
9.29
KB
-rw-r--r--
2026-06-12 05:08
mod_heartmonitor.html
11.92
KB
-rw-r--r--
2026-06-12 05:08
mod_http2.html
75.84
KB
-rw-r--r--
2026-06-12 05:08
mod_ident.html
10.86
KB
-rw-r--r--
2026-06-12 05:08
mod_imagemap.html
21.06
KB
-rw-r--r--
2026-06-12 05:08
mod_include.html
55.39
KB
-rw-r--r--
2026-06-12 05:08
mod_info.html
14.92
KB
-rw-r--r--
2026-06-12 05:08
mod_isapi.html
23.44
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_bybusyness.html
7.6
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_byrequests.html
12.3
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_bytraffic.html
7.95
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_heartbeat.html
8.02
KB
-rw-r--r--
2026-06-12 05:08
mod_ldap.html
50.89
KB
-rw-r--r--
2026-06-12 05:08
mod_log_config.html
33.74
KB
-rw-r--r--
2026-06-12 05:08
mod_log_debug.html
9.95
KB
-rw-r--r--
2026-06-12 05:08
mod_log_forensic.html
14.05
KB
-rw-r--r--
2026-06-12 05:08
mod_logio.html
10.07
KB
-rw-r--r--
2026-06-12 05:08
mod_lua.html
93.06
KB
-rw-r--r--
2026-06-12 05:08
mod_macro.html
15.29
KB
-rw-r--r--
2026-06-12 05:08
mod_md.html
109.91
KB
-rw-r--r--
2026-06-12 05:08
mod_mime.html
71.07
KB
-rw-r--r--
2026-06-12 05:08
mod_mime_magic.html
16.52
KB
-rw-r--r--
2026-06-12 05:08
mod_negotiation.html
22.4
KB
-rw-r--r--
2026-06-12 05:08
mod_nw_ssl.html
9.27
KB
-rw-r--r--
2026-06-12 05:08
mod_privileges.html
29.36
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy.html
93.29
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_ajp.html
32.16
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_balancer.html
18.7
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_connect.html
8.94
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_express.html
13.19
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_fcgi.html
22.14
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_fdpass.html
7.2
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_ftp.html
18.84
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_hcheck.html
17.43
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_html.html
34.16
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_http.html
11.63
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_http2.html
10.05
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_scgi.html
14.49
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_uwsgi.html
8.15
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_wstunnel.html
10.73
KB
-rw-r--r--
2026-06-12 05:08
mod_ratelimit.html
6.72
KB
-rw-r--r--
2026-06-12 05:08
mod_reflector.html
8.28
KB
-rw-r--r--
2026-06-12 05:08
mod_remoteip.html
26.54
KB
-rw-r--r--
2026-06-12 05:08
mod_reqtimeout.html
12.49
KB
-rw-r--r--
2026-06-12 05:08
mod_request.html
9.03
KB
-rw-r--r--
2026-06-12 05:08
mod_rewrite.html
82.27
KB
-rw-r--r--
2026-06-12 05:08
mod_sed.html
11.53
KB
-rw-r--r--
2026-06-12 05:08
mod_session.html
35.31
KB
-rw-r--r--
2026-06-12 05:08
mod_session_cookie.html
13.55
KB
-rw-r--r--
2026-06-12 05:08
mod_session_crypto.html
17.73
KB
-rw-r--r--
2026-06-12 05:08
mod_session_dbd.html
25.2
KB
-rw-r--r--
2026-06-12 05:08
mod_setenvif.html
21.52
KB
-rw-r--r--
2026-06-12 05:08
mod_slotmem_plain.html
7.76
KB
-rw-r--r--
2026-06-12 05:08
mod_slotmem_shm.html
8.36
KB
-rw-r--r--
2026-06-12 05:08
mod_so.html
16.07
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_dbm.html
5.82
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_dc.html
5.87
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_memcache.html
8.34
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_redis.html
10
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_shmcb.html
5.9
KB
-rw-r--r--
2026-06-12 05:08
mod_speling.html
14.29
KB
-rw-r--r--
2026-06-12 05:08
mod_ssl.html
200.72
KB
-rw-r--r--
2026-06-12 05:08
mod_status.html
11.25
KB
-rw-r--r--
2026-06-12 05:08
mod_substitute.html
14.37
KB
-rw-r--r--
2026-06-12 05:08
mod_suexec.html
8.7
KB
-rw-r--r--
2026-06-12 05:08
mod_systemd.html
7.57
KB
-rw-r--r--
2026-06-12 05:08
mod_unique_id.html
18.17
KB
-rw-r--r--
2026-06-12 05:08
mod_unixd.html
13.54
KB
-rw-r--r--
2026-06-12 05:08
mod_userdir.html
12.83
KB
-rw-r--r--
2026-06-12 05:08
mod_usertrack.html
19.68
KB
-rw-r--r--
2026-06-12 05:08
mod_version.html
10.58
KB
-rw-r--r--
2026-06-12 05:08
mod_vhost_alias.html
21.12
KB
-rw-r--r--
2026-06-12 05:08
mod_watchdog.html
7.73
KB
-rw-r--r--
2026-06-12 05:08
mod_xml2enc.html
15.3
KB
-rw-r--r--
2026-06-12 05:08
module-dict.html
10.23
KB
-rw-r--r--
2026-06-12 05:08
mpm_common.html
68.66
KB
-rw-r--r--
2026-06-12 05:08
mpm_netware.html
9.82
KB
-rw-r--r--
2026-06-12 05:08
mpm_winnt.html
7.91
KB
-rw-r--r--
2026-06-12 05:08
mpmt_os2.html
7.5
KB
-rw-r--r--
2026-06-12 05:08
overrides.html
69.49
KB
-rw-r--r--
2026-06-12 05:08
prefork.html
16.85
KB
-rw-r--r--
2026-06-12 05:08
quickreference.html
197.1
KB
-rw-r--r--
2026-06-12 05:08
worker.html
16.42
KB
-rw-r--r--
2026-06-12 05:08
Save
Rename
<!DOCTYPE html SYSTEM "about:legacy-compat"> <html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta content="width=device-width, initial-scale=1" name="viewport"> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_macro - Apache HTTP Server Version 2.4</title> <link href="../../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet"> <link href="../../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size"> <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"> <script src="../../style/scripts/prettify.min.js"> </script> <link href="../../images/favicon.png" rel="shortcut icon"></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/index.html">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p> <p class="apache">Apache HTTP Server Version 2.4</p> <img alt="" src="../../images/feather.png"></div> <div class="up"><a href="./index.html"><img title="<-" alt="<-" src="../../images/left.gif"></a></div> <div id="path"> <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">HTTP Server</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <a href="../index.html">Version 2.4</a> > <a href="./index.html">Modules</a></div> <div id="page-content"> <div id="preamble"><h1>Apache Module mod_macro</h1> <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> <div class="toplang"> <p><span>Available Languages: </span><a href="../../en/mod/mod_macro.html" title="English"> en </a> | <a href="../../fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides macros within apache httpd runtime configuration files</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>macro_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_macro.c</td></tr> <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.5 and later</td></tr></table> <h3>Summary</h3> <p>Provides macros within Apache httpd runtime configuration files, to ease the process of creating numerous similar configuration blocks. When the server starts up, the macros are expanded using the provided parameters, and the result is processed as along with the rest of the configuration file.</p> </div> <div id="quickview"><h3>Topics</h3> <ul id="topics"> <li><img alt="" src="../../images/down.gif"> <a href="#usage">Usage</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#tips">Tips</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#examples">Examples</a></li> </ul><h3 class="directives">Directives</h3> <ul id="toc"> <li><img alt="" src="../../images/down.gif"> <a href="#macro"><Macro></a></li> <li><img alt="" src="../../images/down.gif"> <a href="#undefmacro">UndefMacro</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#use">Use</a></li> </ul> <h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_macro">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_macro">Report a bug</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="section"> <h2 id="usage">Usage <a title="Permanent link" href="#usage" class="permalink">¶</a></h2> <p>Macros are defined using <code class="directive"><a href="#macro"><Macro></a></code> blocks, which contain the portion of your configuration that needs to be repeated, complete with variables for those parts that will need to be substituted.</p> <p>For example, you might use a macro to define a <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> block, in order to define multiple similar virtual hosts:</p> <pre class="prettyprint lang-config"><Macro VHost $name $domain> <VirtualHost *:80> ServerName $domain ServerAlias www.$domain DocumentRoot "/var/www/vhosts/$name" ErrorLog "/var/log/httpd/$name.error_log" CustomLog "/var/log/httpd/$name.access_log" combined </VirtualHost> </Macro></pre> <p>Macro names are case-insensitive, like httpd configuration directives. However, variable names are case sensitive.</p> <p>You would then invoke this macro several times to create virtual hosts:</p> <pre class="prettyprint lang-config">Use VHost example example.com Use VHost myhost hostname.org Use VHost apache apache.org UndefMacro VHost</pre> <p>At server startup time, each of these <code class="directive"><a href="#use">Use</a></code> invocations would be expanded into a full virtualhost, as described by the <code class="directive"><a href="#macro"><Macro></a></code> definition.</p> <p>The <code class="directive"><a href="#undefmacro">UndefMacro</a></code> directive is used so that later macros using the same variable names don't result in conflicting definitions.</p> <p>A more elaborate version of this example may be seen below in the Examples section.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="section"> <h2 id="tips">Tips <a title="Permanent link" href="#tips" class="permalink">¶</a></h2> <p>Parameter names should begin with a sigil such as <code>$</code>, <code>%</code>, or <code>@</code>, so that they are clearly identifiable, and also in order to help deal with interactions with other directives, such as the core <code class="directive"><a href="../mod/core.html#define">Define</a></code> directive. Failure to do so will result in a warning. Nevertheless, you are encouraged to have a good knowledge of your entire server configuration in order to avoid reusing the same variables in different scopes, which can cause confusion.</p> <p>Parameters prefixed with either <code>$</code> or <code>%</code> are not escaped. Parameters prefixes with <code>@</code> are escaped in quotes.</p> <p>Avoid using a parameter which contains another parameter as a prefix, (For example, <code>$win</code> and <code>$winter</code>) as this may cause confusion at expression evaluation time. In the event of such confusion, the longest possible parameter name is used.</p> <p>If you want to use a value within another string, it is useful to surround the parameter in parentheses, to avoid confusion. The <code>$(...)</code> syntax should be used rather than <code>${...}</code>, as the latter conflicts with the <code class="directive"><a href="../mod/core.html#define">Define</a></code> variable syntax:</p> <pre class="prettyprint lang-config"><Macro DocRoot $(docroot)> DocumentRoot "/var/www/$(docroot)/htdocs" </Macro></pre> </div><div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="section"> <h2 id="examples">Examples <a title="Permanent link" href="#examples" class="permalink">¶</a></h2> <h3>Virtual Host Definition</h3> <p>A common usage of <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> is for the creation of dynamically-generated virtual hosts.</p> <pre class="prettyprint lang-config">## Define a VHost Macro for repetitive configurations <Macro VHost $host $port $dir> Listen $port <VirtualHost *:$port> ServerName $host DocumentRoot "$dir" # Public document root <Directory "$dir"> Require all granted </Directory> # limit access to intranet subdir. <Directory "$dir/intranet"> Require ip 10.0.0.0/8 </Directory> </VirtualHost> </Macro> ## Use of VHost with different arguments. Use VHost www.apache.org 80 /vhosts/apache/htdocs Use VHost example.org 8080 /vhosts/example/htdocs Use VHost www.example.fr 1234 /vhosts/example.fr/htdocs</pre> <h3>Removal of a macro definition</h3> <p>It's recommended that you undefine a macro once you've used it. This avoids confusion in a complex configuration file where there may be conflicts in variable names.</p> <pre class="prettyprint lang-config"><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</pre> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="macro"><span id="Macro"><Macro></span> Directive <a title="Permanent link" href="#macro" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a configuration file macro</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> <Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> ... </Macro></code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> </table> <p>The <code class="directive"><Macro></code> 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 '<code>$%@</code>', and not macro names with such characters. </p> <pre class="prettyprint lang-config"><Macro LocalAccessPolicy> Require ip 10.2.16.0/24 </Macro> <Macro RestrictedAccessPolicy $ipnumbers> Require ip $ipnumbers </Macro></pre> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="undefmacro"><span id="UndefMacro">UndefMacro</span> Directive <a title="Permanent link" href="#undefmacro" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Undefine a macro</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UndefMacro <var>name</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> </table> <p>The <code class="directive">UndefMacro</code> directive undefines a macro which has been defined before hand.</p> <pre class="prettyprint lang-config">UndefMacro LocalAccessPolicy UndefMacro RestrictedAccessPolicy</pre> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="use"><span id="Use">Use</span> Directive <a title="Permanent link" href="#use" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use a macro</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] </code></td></tr> <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> </table> <p>The <code class="directive">Use</code> directive controls the use of a macro. The specified macro is expanded. It must be given the same number of arguments as in the macro definition. The provided values are associated to their corresponding initial parameters and are substituted before processing.</p> <pre class="prettyprint lang-config">Use LocalAccessPolicy ... Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"</pre> <p>is equivalent, with the macros defined above, to:</p> <pre class="prettyprint lang-config">Require ip 10.2.16.0/24 ... Require ip 192.54.172.0/24 192.54.148.0/24</pre> </div> </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../../en/mod/mod_macro.html" title="English"> en </a> | <a href="../../fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> </div><div id="footer"> <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/index.html">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p></div><script><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } var langToggle = document.querySelector('.lang-toggle'); var topLang = document.querySelector('.toplang'); if (langToggle && topLang) { langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); } var qv = document.getElementById('quickview'); if (qv) { document.body.appendChild(qv); var qvBtn = document.createElement('button'); qvBtn.className = 'qv-toggle'; qvBtn.setAttribute('aria-label', 'Toggle page navigation'); qvBtn.innerHTML = '☰'; document.body.appendChild(qvBtn); qvBtn.addEventListener('click', function() { var isOpen = qv.classList.toggle('open'); if (isOpen) { qv.style.top = window.scrollY + 10 + 'px'; } }); window.addEventListener('scroll', function() { qv.classList.remove('open'); }); } //--><!]]></script> </body></html>