flags.html.en revision aaed4ebc116f5862aff2610a809a9a9e9a28f50e
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski This file is generated from xml source: DO NOT EDIT
b4fbc96e05117839ca409f5f20f97b3ac872d1edTill Mossakowski XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<title>RewriteRule Flags - Apache HTTP Server Version 2.5</title>
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<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" />
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<script src="/style/scripts/prettify.min.js" type="text/javascript">
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<link href="/images/favicon.ico" rel="shortcut icon" /></head>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<body id="manual-page"><div id="page-header">
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.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>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p class="apache">Apache HTTP Server Version 2.5</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<img alt="" src="/images/feather.gif" /></div>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule Flags</h1>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p><span>Available Languages: </span><a href="/en/rewrite/flags.html" title="English"> en </a> |
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian Maeder<a href="/fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>This document discusses the flags which are available to the
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive,
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiproviding detailed explanations and examples.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#introduction">Introduction</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_b">B (escape backreferences)</a></li>
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (don't escape space to +)</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_c">C|chain</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_e">E|env</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_end">END</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_g">G|gone</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_h">H|handler</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_l">L|last</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_n">N|next</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_s">S|skip</a></li>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<li><img alt="" src="/images/down.gif" /> <a href="#flag_t">T|type</a></li>
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder</ul><h3>See also</h3><ul class="seealso"><li><a href="/mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li></ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder<h2><a name="introduction" id="introduction">Introduction</a></h2>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>A <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> can have
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiits behavior modified by one or more flags. Flags are included in
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskisquare brackets at the end of the rule, and multiple flags are separated
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiby commas.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>Each flag (with a few exceptions) has a short form, such as
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<code>CO</code>, as well as a longer form, such as <code>cookie</code>.
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian MaederWhile it is most common to use
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskithe short form, it is recommended that you familiarize yourself with the
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskilong form, so that you remember what each flag is supposed to do.
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskiSome flags take one or more arguments. Flags are not case sensitive.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>Flags that alter metadata associated with the request (T=, H=, E=)
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maederhave no affect in per-directory and htaccess context, when a substitution
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski(other than '-') is performed during the same round of rewrite processing.
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>Presented here are each of the available flags, along with an example
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiof how you might use them.</p>
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<h2><a name="flag_b" id="flag_b">B (escape backreferences)</a></h2>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>The [B] flag instructs <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to escape non-alphanumeric
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskicharacters before applying the transformation.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>In 2.4.10 and later, you can limit the escaping to specific characters
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiin backreferences by listing them: <code>[B=#?;]</code>. Note: The space
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maedercharacter can be used in the list of characters to escape, but it cannot be
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maederthe last character in the list.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p><code>mod_rewrite</code> has to unescape URLs before mapping them,
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiso backreferences are unescaped at the time they are applied.
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till MossakowskiUsing the B flag, non-alphanumeric characters in backreferences
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiwill be escaped. For example, consider the rule:</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>Given a search term of 'x & y/z', a browser will encode it as
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski'x%20%26%20y%2Fz', making the request 'search/x%20%26%20y%2Fz'. Without the B
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiflag, this rewrite rule will map to 'search.php?term=x & y/z', which
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maederisn't a valid URL, and so would be encoded as
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<code>search.php?term=x%20&y%2Fz=</code>, which is not what was intended.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>With the B flag set on this same rule, the parameters are re-encoded
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskibefore being passed on to the output URL, resulting in a correct mapping to
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<code>/search.php?term=x%20%26%20y%2Fz</code>.</p>
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian Maeder<p>Note that you may also need to set <code class="directive"><a href="/mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code> to <code>On</code> to get this
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiparticular example to work, as httpd does not allow encoded slashes in URLs, and
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskireturns a 404 if it sees one.</p>
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian Maeder<p>This escaping is particularly necessary in a proxy situation,
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiwhen the backend may break if presented with an unescaped URL.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>An alternative to this flag is using a <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> to capture against %{THE_REQUEST} which will capture
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskistrings in the encoded form.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (don't escape space to +)</a></h2>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>The [BNP] flag instructs <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to escape the space character
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiin a backreference to %20 rather than '+'. Useful when the backreference
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskiwill be used in the path component rather than the query string.</p>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<h2><a name="flag_c" id="flag_c">C|chain</a></h2>
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski<p>The [C] or [chain] flag indicates that the <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is chained to the next
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskirule. That is, if the rule matches, then it is processed as usual and
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskicontrol moves on to the next rule. However, if it does not match, then
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowskithe next rule, and any other rules that are chained together, are
particular <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
<p>Note that this same effect can be obtained using <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. This technique is offered as
the <code class="directive"><a href="/mod/mod_access_compat.html#deny">Deny</a></code> directive, this
<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
<p>The [L] flag causes <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> to stop processing
<p>If you are using <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> in either
<p>It is therefore important, if you are using <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives in one of these
argument to <code>index.php</code>, however, the <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ensures that if the request
is already for <code>index.php</code>, the <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> will be skipped.</p>
RewriteCond "%{REQUEST_URI}" !=/index.php
pattern still matches (i.e., while the URI still contains an
<p>Use of the [NC] flag causes the <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be matched in a
<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
happening on those subrequests. Also, when <code class="module"><a href="/mod/mod_dir.html">mod_dir</a></code>
<code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>, and handled via a proxy request. For
<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
handled by the <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>. If not, you will get an
more powerful implementation of the <code class="directive"><a href="/mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive,
<p>Using this flag triggers the use of <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>, without handling of persistent connections. This
means the performance of your proxy will be better if you set it up with <code class="directive"><a href="/mod/mod_proxy.html#proxypass">ProxyPass</a></code> or
<p>This is because this flag triggers the use of the default worker, which does not handle connection pooling.</p>
<p>Note: <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> must be enabled in order
use of the [PT] flag causes the result of the <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to be passed back through
URL mapping, so that location-based mappings, such as <code class="directive"><a href="/mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="/mod/mod_alias.html#redirect">Redirect</a></code>, or <code class="directive"><a href="/mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, for example, might have a
for /icons, and have a <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> pointing there, you should
of <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is to discard
not, the default behavior of <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> is to copy that query
the number of rules to skip (provided the <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">
RewriteRule</a></code> and any preceding <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">
example, we only want to run the <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">
RewriteRule "(.*\.gif)" "images.php?$1"
<p>This technique is useful because a <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> only applies to the
<code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> immediately
RewriteRule "(.*\.gif)" "images.php?$1"
RewriteRule "(.*\.html)" "docs.php?$1"
RewriteRule "(.*)" "404.php?file=$1"
the <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, and <code class="directive"><Else></code> directives instead.</p>
sent. This has the same effect as the <code class="directive"><a href="/mod/mod_mime.html#addtype">AddType</a></code> directive.</p>
<p><span>Available Languages: </span><a href="/en/rewrite/flags.html" title="English"> en </a> |
<a href="/fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p>
</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&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>
var comments_identifier = 'http://httpd.apache.org/docs/trunk/rewrite/flags.html';
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
<p class="apache">Copyright 2015 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>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.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[//><!--