summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/manual/content-negotiation.html.en4
-rw-r--r--docs/manual/content-negotiation.html.fr2
-rw-r--r--docs/manual/content-negotiation.xml.fr2
-rw-r--r--docs/manual/content-negotiation.xml.ja2
-rw-r--r--docs/manual/content-negotiation.xml.ko2
-rw-r--r--docs/manual/content-negotiation.xml.meta2
-rw-r--r--docs/manual/content-negotiation.xml.tr2
-rw-r--r--docs/manual/developer/lua.html.en142
-rw-r--r--docs/manual/developer/lua.xml142
-rw-r--r--docs/manual/env.html.en14
-rw-r--r--docs/manual/env.xml14
-rw-r--r--docs/manual/expr.html.en4
-rw-r--r--docs/manual/expr.xml4
-rw-r--r--docs/manual/handler.xml5
-rw-r--r--docs/manual/howto/access.html.en15
-rw-r--r--docs/manual/howto/access.html.fr2
-rw-r--r--docs/manual/howto/access.xml6
-rw-r--r--docs/manual/howto/access.xml.fr2
-rw-r--r--docs/manual/howto/access.xml.meta2
-rw-r--r--docs/manual/howto/auth.html.en6
-rw-r--r--docs/manual/howto/auth.xml.fr2
-rw-r--r--docs/manual/howto/auth.xml.ja2
-rw-r--r--docs/manual/howto/auth.xml.ko2
-rw-r--r--docs/manual/howto/auth.xml.tr2
-rw-r--r--docs/manual/howto/cgi.xml1
-rw-r--r--docs/manual/howto/public_html.xml.fr2
-rw-r--r--docs/manual/howto/public_html.xml.ja2
-rw-r--r--docs/manual/howto/public_html.xml.ko2
-rw-r--r--docs/manual/howto/public_html.xml.tr2
-rw-r--r--docs/manual/misc/perf-scaling.html.en388
-rw-r--r--docs/manual/misc/perf-scaling.xml398
-rw-r--r--docs/manual/misc/perf-tuning.html.en14
-rw-r--r--docs/manual/misc/perf-tuning.xml.fr2
-rw-r--r--docs/manual/misc/perf-tuning.xml.ko2
-rw-r--r--docs/manual/misc/perf-tuning.xml.tr2
-rw-r--r--docs/manual/misc/security_tips.html.en6
-rw-r--r--docs/manual/misc/security_tips.xml.fr2
-rw-r--r--docs/manual/misc/security_tips.xml.ko2
-rw-r--r--docs/manual/misc/security_tips.xml.tr2
-rw-r--r--docs/manual/mod/core.html.en10
-rw-r--r--docs/manual/mod/core.xml.de2
-rw-r--r--docs/manual/mod/core.xml.es2
-rw-r--r--docs/manual/mod/core.xml.fr2
-rw-r--r--docs/manual/mod/core.xml.ja2
-rw-r--r--docs/manual/mod/core.xml.tr2
-rw-r--r--docs/manual/mod/mod_access_compat.html.en8
-rw-r--r--docs/manual/mod/mod_access_compat.xml8
-rw-r--r--docs/manual/mod/mod_alias.html.en8
-rw-r--r--docs/manual/mod/mod_alias.xml9
-rw-r--r--docs/manual/mod/mod_allowmethods.xml1
-rw-r--r--docs/manual/mod/mod_asis.html.fr2
-rw-r--r--docs/manual/mod/mod_asis.xml.fr2
-rw-r--r--docs/manual/mod/mod_asis.xml.ja2
-rw-r--r--docs/manual/mod/mod_asis.xml.ko2
-rw-r--r--docs/manual/mod/mod_asis.xml.meta2
-rw-r--r--docs/manual/mod/mod_authn_socache.xml1
-rw-r--r--docs/manual/mod/mod_authnz_fcgi.html.en38
-rw-r--r--docs/manual/mod/mod_authnz_fcgi.xml40
-rw-r--r--docs/manual/mod/mod_authnz_ldap.html.en6
-rw-r--r--docs/manual/mod/mod_authnz_ldap.xml.fr2
-rw-r--r--docs/manual/mod/mod_autoindex.html.en16
-rw-r--r--docs/manual/mod/mod_autoindex.xml20
-rw-r--r--docs/manual/mod/mod_cache.html.en8
-rw-r--r--docs/manual/mod/mod_cache.xml8
-rw-r--r--docs/manual/mod/mod_cern_meta.html.fr2
-rw-r--r--docs/manual/mod/mod_cern_meta.xml.fr2
-rw-r--r--docs/manual/mod/mod_cern_meta.xml.ko2
-rw-r--r--docs/manual/mod/mod_cern_meta.xml.meta2
-rw-r--r--docs/manual/mod/mod_deflate.html.en54
-rw-r--r--docs/manual/mod/mod_deflate.html.ja.utf82
-rw-r--r--docs/manual/mod/mod_deflate.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/mod_deflate.xml57
-rw-r--r--docs/manual/mod/mod_deflate.xml.fr2
-rw-r--r--docs/manual/mod/mod_deflate.xml.ja2
-rw-r--r--docs/manual/mod/mod_deflate.xml.ko2
-rw-r--r--docs/manual/mod/mod_dialup.xml1
-rw-r--r--docs/manual/mod/mod_dir.html.en12
-rw-r--r--docs/manual/mod/mod_dir.xml12
-rw-r--r--docs/manual/mod/mod_ext_filter.html.en6
-rw-r--r--docs/manual/mod/mod_ext_filter.xml6
-rw-r--r--docs/manual/mod/mod_filter.html.en8
-rw-r--r--docs/manual/mod/mod_imagemap.xml.ko2
-rw-r--r--docs/manual/mod/mod_journald.html.en6
-rw-r--r--docs/manual/mod/mod_journald.xml6
-rw-r--r--docs/manual/mod/mod_ldap.html.en8
-rw-r--r--docs/manual/mod/mod_ldap.xml8
-rw-r--r--docs/manual/mod/mod_log_config.html.en8
-rw-r--r--docs/manual/mod/mod_log_config.xml8
-rw-r--r--docs/manual/mod/mod_lua.html.en206
-rw-r--r--docs/manual/mod/mod_lua.xml212
-rw-r--r--docs/manual/mod/mod_macro.html.en2
-rw-r--r--docs/manual/mod/mod_macro.xml2
-rw-r--r--docs/manual/mod/mod_mime.xml.ja2
-rw-r--r--docs/manual/mod/mod_policy.html.en20
-rw-r--r--docs/manual/mod/mod_policy.xml20
-rw-r--r--docs/manual/mod/mod_proxy.html.en22
-rw-r--r--docs/manual/mod/mod_proxy.xml.fr2
-rw-r--r--docs/manual/mod/mod_proxy.xml.ja2
-rw-r--r--docs/manual/mod/mod_proxy_ajp.html.en2
-rw-r--r--docs/manual/mod/mod_proxy_ajp.xml2
-rw-r--r--docs/manual/mod/mod_proxy_ajp.xml.ja2
-rw-r--r--docs/manual/mod/mod_proxy_balancer.xml.ja2
-rw-r--r--docs/manual/mod/mod_proxy_fcgi.html.en24
-rw-r--r--docs/manual/mod/mod_proxy_fcgi.xml26
-rw-r--r--docs/manual/mod/mod_proxy_html.html.en2
-rw-r--r--docs/manual/mod/mod_proxy_html.xml3
-rw-r--r--docs/manual/mod/mod_proxy_scgi.html.en2
-rw-r--r--docs/manual/mod/mod_proxy_scgi.xml2
-rw-r--r--docs/manual/mod/mod_proxy_wstunnel.html.en12
-rw-r--r--docs/manual/mod/mod_proxy_wstunnel.xml12
-rw-r--r--docs/manual/mod/mod_ratelimit.html.en2
-rw-r--r--docs/manual/mod/mod_ratelimit.xml3
-rw-r--r--docs/manual/mod/mod_rewrite.html.en70
-rw-r--r--docs/manual/mod/mod_rewrite.xml70
-rw-r--r--docs/manual/mod/mod_so.html.en4
-rw-r--r--docs/manual/mod/mod_so.html.fr2
-rw-r--r--docs/manual/mod/mod_so.html.ja.utf84
-rw-r--r--docs/manual/mod/mod_so.xml.fr2
-rw-r--r--docs/manual/mod/mod_so.xml.ja2
-rw-r--r--docs/manual/mod/mod_so.xml.ko2
-rw-r--r--docs/manual/mod/mod_so.xml.meta4
-rw-r--r--docs/manual/mod/mod_so.xml.tr2
-rw-r--r--docs/manual/mod/mod_ssl.html.en6
-rw-r--r--docs/manual/mod/mod_ssl.xml6
-rw-r--r--docs/manual/mod/mod_status.xml1
-rw-r--r--docs/manual/mod/mod_substitute.html.en2
-rw-r--r--docs/manual/mod/mod_substitute.xml2
-rw-r--r--docs/manual/mod/mod_syslog.html.en2
-rw-r--r--docs/manual/mod/mod_syslog.xml2
-rw-r--r--docs/manual/mod/mod_vhost_alias.html.en20
-rw-r--r--docs/manual/mod/mod_vhost_alias.xml23
-rw-r--r--docs/manual/mod/mod_xml2enc.xml1
-rw-r--r--docs/manual/mod/quickreference.html.de2
-rw-r--r--docs/manual/mod/quickreference.html.en2
-rw-r--r--docs/manual/mod/quickreference.html.es2
-rw-r--r--docs/manual/mod/quickreference.html.ja.utf82
-rw-r--r--docs/manual/mod/quickreference.html.ko.euc-kr2
-rw-r--r--docs/manual/mod/quickreference.html.tr.utf82
-rw-r--r--docs/manual/mod/quickreference.html.zh-cn.utf82
-rw-r--r--docs/manual/platform/windows.html.en16
-rw-r--r--docs/manual/platform/windows.xml18
-rw-r--r--docs/manual/rewrite/access.html.en46
-rw-r--r--docs/manual/rewrite/access.xml46
-rw-r--r--docs/manual/rewrite/advanced.html.en26
-rw-r--r--docs/manual/rewrite/advanced.xml26
-rw-r--r--docs/manual/rewrite/flags.html.en92
-rw-r--r--docs/manual/rewrite/flags.xml66
-rw-r--r--docs/manual/rewrite/flags.xml.fr2
-rw-r--r--docs/manual/rewrite/index.xml2
-rw-r--r--docs/manual/rewrite/intro.html.en54
-rw-r--r--docs/manual/rewrite/intro.xml56
-rw-r--r--docs/manual/rewrite/proxy.html.en10
-rw-r--r--docs/manual/rewrite/proxy.xml10
-rw-r--r--docs/manual/rewrite/remapping.html.en88
-rw-r--r--docs/manual/rewrite/remapping.xml84
-rw-r--r--docs/manual/rewrite/rewritemap.html.en35
-rw-r--r--docs/manual/rewrite/rewritemap.xml30
-rw-r--r--docs/manual/rewrite/tech.html.en16
-rw-r--r--docs/manual/rewrite/tech.xml21
-rw-r--r--docs/manual/rewrite/vhosts.html.en40
-rw-r--r--docs/manual/rewrite/vhosts.xml40
-rw-r--r--docs/manual/sections.html.en6
-rw-r--r--docs/manual/sections.xml6
-rw-r--r--docs/manual/sections.xml.fr2
-rw-r--r--docs/manual/sections.xml.ja2
-rw-r--r--docs/manual/sections.xml.ko2
-rw-r--r--docs/manual/sections.xml.tr2
-rw-r--r--docs/manual/ssl/ssl_faq.html.en6
-rw-r--r--docs/manual/ssl/ssl_faq.xml6
-rw-r--r--docs/manual/ssl/ssl_howto.html.en4
-rw-r--r--docs/manual/ssl/ssl_howto.xml4
-rw-r--r--docs/manual/suexec.html.en2
-rw-r--r--docs/manual/suexec.xml2
-rw-r--r--docs/manual/urlmapping.html.en4
-rw-r--r--docs/manual/urlmapping.xml4
-rw-r--r--docs/manual/urlmapping.xml.fr2
-rw-r--r--docs/manual/urlmapping.xml.ja2
-rw-r--r--docs/manual/urlmapping.xml.ko2
-rw-r--r--docs/manual/urlmapping.xml.tr2
-rw-r--r--docs/manual/vhosts/examples.html.en18
-rw-r--r--docs/manual/vhosts/examples.xml18
-rw-r--r--docs/manual/vhosts/examples.xml.fr2
-rw-r--r--docs/manual/vhosts/examples.xml.ja2
-rw-r--r--docs/manual/vhosts/examples.xml.ko2
-rw-r--r--docs/manual/vhosts/examples.xml.tr2
-rw-r--r--docs/manual/vhosts/mass.html.en8
-rw-r--r--docs/manual/vhosts/mass.xml8
-rw-r--r--docs/manual/vhosts/name-based.html.en16
-rw-r--r--docs/manual/vhosts/name-based.xml16
189 files changed, 1716 insertions, 1719 deletions
diff --git a/docs/manual/content-negotiation.html.en b/docs/manual/content-negotiation.html.en
index 325f275761..8815fcc1c2 100644
--- a/docs/manual/content-negotiation.html.en
+++ b/docs/manual/content-negotiation.html.en
@@ -134,7 +134,7 @@ Negotiation</a></li>
defines a file suffix as <code>type-map</code>; this is best done
with</p>
-<pre class="prettyprint lang-config">AddHandler type-map .var</pre>
+ <pre class="prettyprint lang-config">AddHandler type-map .var</pre>
<p>in the server configuration file.</p>
@@ -232,7 +232,7 @@ Negotiation</a></li>
named by the <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> directive, if the
server is trying to index a directory. If the configuration files
specify</p>
-<pre class="prettyprint lang-config">DirectoryIndex index</pre>
+ <pre class="prettyprint lang-config">DirectoryIndex index</pre>
<p>then the server will arbitrate between <code>index.html</code>
and <code>index.html3</code> if both are present. If neither
diff --git a/docs/manual/content-negotiation.html.fr b/docs/manual/content-negotiation.html.fr
index f296bc028c..d6a7920551 100644
--- a/docs/manual/content-negotiation.html.fr
+++ b/docs/manual/content-negotiation.html.fr
@@ -27,6 +27,8 @@
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</a></p>
</div>
+<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
+ anglaise pour les changements rcents.</div>
<p>Apache HTTPD supporte la ngociation de
diff --git a/docs/manual/content-negotiation.xml.fr b/docs/manual/content-negotiation.xml.fr
index fe3dcd0892..a9c384ee6b 100644
--- a/docs/manual/content-negotiation.xml.fr
+++ b/docs/manual/content-negotiation.xml.fr
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision : 1364312 -->
+<!-- English Revision: 1364312:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/content-negotiation.xml.ja b/docs/manual/content-negotiation.xml.ja
index feaa993bb5..a055e08e35 100644
--- a/docs/manual/content-negotiation.xml.ja
+++ b/docs/manual/content-negotiation.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 675610:1364312 (outdated) -->
+<!-- English Revision: 675610:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/content-negotiation.xml.ko b/docs/manual/content-negotiation.xml.ko
index 0ac426f15f..94082d2b4b 100644
--- a/docs/manual/content-negotiation.xml.ko
+++ b/docs/manual/content-negotiation.xml.ko
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='EUC-KR' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 151408:1364312 (outdated) -->
+<!-- English Revision: 151408:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/content-negotiation.xml.meta b/docs/manual/content-negotiation.xml.meta
index d9d19c5db3..5ebb3ced68 100644
--- a/docs/manual/content-negotiation.xml.meta
+++ b/docs/manual/content-negotiation.xml.meta
@@ -8,7 +8,7 @@
<variants>
<variant>en</variant>
- <variant>fr</variant>
+ <variant outdated="yes">fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
diff --git a/docs/manual/content-negotiation.xml.tr b/docs/manual/content-negotiation.xml.tr
index a0ceb2c0f4..99ca794a01 100644
--- a/docs/manual/content-negotiation.xml.tr
+++ b/docs/manual/content-negotiation.xml.tr
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 1174747:1364312 (outdated) -->
+<!-- English Revision: 1174747:1673932 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/developer/lua.html.en b/docs/manual/developer/lua.html.en
index beec032f7f..c3e458dc7a 100644
--- a/docs/manual/developer/lua.html.en
+++ b/docs/manual/developer/lua.html.en
@@ -47,8 +47,8 @@ Stuff about what <code class="module"><a href="../mod/mod_lua.html">mod_lua</a><
<h3><a name="contents" id="contents">What we will be discussing in this document</a></h3>
<p>
-This document will discuss several cases where <code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> can be used
-to either ease up a phase of the request processing or create more transparency in
+This document will discuss several cases where <code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> can be used
+to either ease up a phase of the request processing or create more transparency in
the logic behind a decision made in a phase.
</p>
@@ -56,12 +56,12 @@ the logic behind a decision made in a phase.
<h3><a name="prerequisites" id="prerequisites">Prerequisites</a></h3>
<p>
-First and foremost, you are expected to have a basic knowledge of how the Lua
-programming language works. In most cases, we will try to be as pedagogical
-as possible and link to documents describing the functions used in the
-examples, but there are also many cases where it is necessary to either
-just assume that "it works" or do some digging yourself into what the hows
-and whys of various function calls.
+First and foremost, you are expected to have a basic knowledge of how the Lua
+programming language works. In most cases, we will try to be as pedagogical
+as possible and link to documents describing the functions used in the
+examples, but there are also many cases where it is necessary to either
+just assume that "it works" or do some digging yourself into what the hows
+and whys of various function calls.
</p>
@@ -72,20 +72,20 @@ and whys of various function calls.
<h3>Setting a scope for Lua states</h3>
<p>
-Setting the right <code class="directive"><a href="../mod/mod_lua.html#luascope">LuaScope</a></code> setting
-for your Lua scripts can be essential to your server's
-performance. By default, the scope is set to <code>once</code>, which means
-that every call to a Lua script will spawn a new Lua state that handles that
-script and is destroyed immediately after. This option keeps the memory
-footprint of mod_lua low, but also affects the processing speed of a request.
-If you have the memory to spare, you can set the scope to <code>thread</code>,
-which will make mod_lua spawn a Lua state that lasts the entirity of a thread's
-lifetime, speeding up request processing by 2-3 times. Since mod_lua will create
-a state for each script, this may be an expensive move, memory-wise, so to
-compromise between speed and memory usage, you can choose the <code>server</code>
-option to create a pool of Lua states to be used. Each request for a Lua script or
-a hook function will then acquire a state from the pool and release it back when it's
-done using it, allowing you to still gain a significant performance increase, while
+Setting the right <code class="directive"><a href="../mod/mod_lua.html#luascope">LuaScope</a></code> setting
+for your Lua scripts can be essential to your server's
+performance. By default, the scope is set to <code>once</code>, which means
+that every call to a Lua script will spawn a new Lua state that handles that
+script and is destroyed immediately after. This option keeps the memory
+footprint of mod_lua low, but also affects the processing speed of a request.
+If you have the memory to spare, you can set the scope to <code>thread</code>,
+which will make mod_lua spawn a Lua state that lasts the entirity of a thread's
+lifetime, speeding up request processing by 2-3 times. Since mod_lua will create
+a state for each script, this may be an expensive move, memory-wise, so to
+compromise between speed and memory usage, you can choose the <code>server</code>
+option to create a pool of Lua states to be used. Each request for a Lua script or
+a hook function will then acquire a state from the pool and release it back when it's
+done using it, allowing you to still gain a significant performance increase, while
keeping your memory footprint low. Some examples of possible settings are:
</p>
<pre class="prettyprint lang-config">LuaScope once
@@ -93,36 +93,36 @@ LuaScope thread
LuaScope server 5 40</pre>
<p>
-As a general rule of thumb: If your server has none to low usage, use <code>once</code>
-or <code>request</code>, if your server has low to medium usage, use the <code>server</code>
-pool, and if it has high usage, use the <code>thread</code> setting. As your server's
-load increases, so will the number of states being actively used, and having your scope
+As a general rule of thumb: If your server has none to low usage, use <code>once</code>
+or <code>request</code>, if your server has low to medium usage, use the <code>server</code>
+pool, and if it has high usage, use the <code>thread</code> setting. As your server's
+load increases, so will the number of states being actively used, and having your scope
set to <code>once/request/conn</code> will stop being beneficial to your memory footprint.
</p>
<p>
-<strong>Note:</strong> The <code>min</code> and <code>max</code> settings for the
-<code>server</code> scope denotes the minimum and maximum states to keep in a pool per
+<strong>Note:</strong> The <code>min</code> and <code>max</code> settings for the
+<code>server</code> scope denotes the minimum and maximum states to keep in a pool per
server <em>process</em>, so keep this below your <code>ThreadsPerChild</code> limit.
</p>
<h3>Using code caching</h3>
<p>
-By default, <code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> stats each Lua script to determine whether a reload
-(and thus, a re-interpretation and re-compilation) of a script is required. This is managed
-through the <code class="directive"><a href="../mod/mod_lua.html#luacodecache">LuaCodeCache</a></code> directive. If you are running
-your scripts on a production server, and you do not need to update them regularly, it may be
-advantageous to set this directive to the <code>forever</code> value, which will cause mod_lua
-to skip the stat process and always reuse the compiled byte-code from the first access to the
-script, thus speeding up the processing. For Lua hooks, this can prove to increase peformance,
-while for scripts handled by the <code>lua-script</code> handler, the increase in performance
+By default, <code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> stats each Lua script to determine whether a reload
+(and thus, a re-interpretation and re-compilation) of a script is required. This is managed
+through the <code class="directive"><a href="../mod/mod_lua.html#luacodecache">LuaCodeCache</a></code> directive. If you are running
+your scripts on a production server, and you do not need to update them regularly, it may be
+advantageous to set this directive to the <code>forever</code> value, which will cause mod_lua
+to skip the stat process and always reuse the compiled byte-code from the first access to the
+script, thus speeding up the processing. For Lua hooks, this can prove to increase peformance,
+while for scripts handled by the <code>lua-script</code> handler, the increase in performance
may be negligible, as files httpd will stat the files regardless.
</p>
<h3>Keeping the scope clean</h3>
<p>
-For maximum performance, it is generally recommended that any initialization of libraries,
+For maximum performance, it is generally recommended that any initialization of libraries,
constants and master tables be kept outside the handle's scope:
</p>
<pre class="prettyprint lang-lua">--[[ This is good practice ]]--
@@ -151,10 +151,10 @@ end</pre>
<div class="section">
<h2><a name="basic_remap" id="basic_remap">Example 1: A basic remapping module</a></h2>
<p>
- These first examples show how mod_lua can be used to rewrite URIs in the same
- way that one could do using <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> or
- <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, but with more clarity
- on how the decision-making takes place, as well as allowing for more complex
+ These first examples show how mod_lua can be used to rewrite URIs in the same
+ way that one could do using <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> or
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, but with more clarity
+ on how the decision-making takes place, as well as allowing for more complex
decisions than would otherwise be allowed with said directives.
</p>
@@ -184,9 +184,9 @@ end</pre>
<pre class="prettyprint lang-lua">--[[
Advanced remap example.
- This example will evaluate some conditions, and based on that,
+ This example will evaluate some conditions, and based on that,
remap a file to one of two destinations, using a rewrite map.
- This is similar to mixing AliasMatch and ProxyPass, but
+ This is similar to mixing AliasMatch and ProxyPass, but
without them clashing in any way. Assuming we are on example.com, then:
http://example.com/photos/test.png will be rewritten as /uploads/www/test.png
@@ -195,8 +195,8 @@ end</pre>
]]--
local map = {
- photos = {
- source = [[^/photos/(.+)\.png$]],
+ photos = {
+ source = [[^/photos/(.+)\.png$]],
destination = [[/uploads/www/$1.png]],
proxy = false
},
@@ -210,7 +210,7 @@ local map = {
function interpolateString(s,v)
return s:gsub("%$(%d+)", function(a) return v[tonumber(a)] end)
end
-
+
function remap(r)
-- browse through the rewrite map
for key, entry in pairs(map) do
@@ -239,11 +239,11 @@ bla bla
<div class="section">
<h2><a name="mass_vhost" id="mass_vhost">Example 2: Mass virtual hosting</a></h2>
<p>
- As with simple and advanced rewriting, you can use mod_lua for dynamically
- assigning a hostname to a specific document root, much like
- <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> does, but with more control over what goes
- where. This could be as simple as a table holding the information about which
- host goes into which folder, or more advanced, using a database holding the
+ As with simple and advanced rewriting, you can use mod_lua for dynamically
+ assigning a hostname to a specific document root, much like
+ <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> does, but with more control over what goes
+ where. This could be as simple as a table holding the information about which
+ host goes into which folder, or more advanced, using a database holding the
document roots of each hostname.
</p>
@@ -254,7 +254,7 @@ bla bla
<pre class="prettyprint lang-lua">--[[
Simple mass vhost script
- This example will check a map for a virtual host and rewrite filename and
+ This example will check a map for a virtual host and rewrite filename and
document root accordingly.
]]--
@@ -307,13 +307,13 @@ function query_vhosts(r)
end
db:close()
end
- if cached_vhosts[host] then
+ if cached_vhosts[host] then
return cached_vhosts[host].destination
else
return nil
end
end
-
+
function mass_vhost(r)
-- Check whether the hostname is in our database
local destination = query_vhosts(r)
@@ -336,15 +336,15 @@ end</pre>
<div class="section">
<h2><a name="basic_auth" id="basic_auth">Example 3: A basic authorization hook</a></h2>
<p>
- With the authorization hooks, you can add custom auth phases to your request
- processing, allowing you to either add new requirements that were not previously
- supported by httpd, or tweaking existing ones to accommodate your needs.
+ With the authorization hooks, you can add custom auth phases to your request
+ processing, allowing you to either add new requirements that were not previously
+ supported by httpd, or tweaking existing ones to accommodate your needs.
</p>
<pre class="prettyprint lang-config">LuaHookAuthChecker /path/too/foo.lua check_auth</pre>
-<pre class="prettyprint lang-lua">--[[
+<pre class="prettyprint lang-lua">--[[
A simple authentication hook that checks a table containing usernames and
passwords of two accounts.
]]--
@@ -385,7 +385,7 @@ end</pre>
-<pre class="prettyprint lang-lua">--[[
+<pre class="prettyprint lang-lua">--[[
An advanced authentication checker with a database backend,
caching account entries for 1 minute
]]--
@@ -416,13 +416,13 @@ function fetch_password(user)
end
db:close()
end
- if accounts[user] then
+ if accounts[user] then
return accounts[user].password
else
return nil
end
end
-
+
-- The authentication hook
function check_auth(r)
local user, pass = parse_auth(r.headers_in['Authorization'])
@@ -450,9 +450,9 @@ end</pre>
<div class="section">
<h2><a name="authz" id="authz">Example 4: Authorization using LuaAuthzProvider</a></h2>
<p>
- If you require even more advanced control over your authorization phases,
- you can add custom authz providers to help you manage your server. The
- example below shows you how you can split a single htpasswd file into
+ If you require even more advanced control over your authorization phases,
+ you can add custom authz providers to help you manage your server. The
+ example below shows you how you can split a single htpasswd file into
groups with different permissions:
</p>
<pre class="prettyprint lang-config">LuaAuthzProvider rights /path/to/lua/script.lua rights_handler
@@ -464,8 +464,8 @@ end</pre>
&lt;/Directory&gt;</pre>
-<pre class="prettyprint lang-lua">--[[
- This script has two user groups; members and admins, and whichever
+<pre class="prettyprint lang-lua">--[[
+ This script has two user groups; members and admins, and whichever
is refered to by the "Require rights" directive is checked to see
if the authenticated user belongs to this group.
]]--
@@ -497,16 +497,16 @@ end</pre>
<div class="section">
<h2><a name="loadbalancing" id="loadbalancing">Example 5: A rudimentary load balancer</a></h2>
<p>
- This is an example of how you can create a load balancing mechanism.
- In this example, we will be setting/getting the number of requests served
- by each backend using IVM variables, and preferring the backend with least
+ This is an example of how you can create a load balancing mechanism.
+ In this example, we will be setting/getting the number of requests served
+ by each backend using IVM variables, and preferring the backend with least
requests served in total:
</p>
<pre class="prettyprint lang-config">LuaHookTranslateName /path/to/script.lua proxy_handler</pre>
-<pre class="prettyprint lang-lua">--[[
- This script uses a basic IVM table to determine where to
+<pre class="prettyprint lang-lua">--[[
+ This script uses a basic IVM table to determine where to
send the request.
]]--
diff --git a/docs/manual/developer/lua.xml b/docs/manual/developer/lua.xml
index c85b445a60..6870715987 100644
--- a/docs/manual/developer/lua.xml
+++ b/docs/manual/developer/lua.xml
@@ -44,8 +44,8 @@ Stuff about what <module>mod_lua</module> is goes here.
</section>
<section id="contents"><title>What we will be discussing in this document</title>
<p>
-This document will discuss several cases where <module>mod_lua</module> can be used
-to either ease up a phase of the request processing or create more transparency in
+This document will discuss several cases where <module>mod_lua</module> can be used
+to either ease up a phase of the request processing or create more transparency in
the logic behind a decision made in a phase.
</p>
@@ -53,12 +53,12 @@ the logic behind a decision made in a phase.
<section id="prerequisites"><title>Prerequisites</title>
<p>
-First and foremost, you are expected to have a basic knowledge of how the Lua
-programming language works. In most cases, we will try to be as pedagogical
-as possible and link to documents describing the functions used in the
-examples, but there are also many cases where it is necessary to either
-just assume that "it works" or do some digging yourself into what the hows
-and whys of various function calls.
+First and foremost, you are expected to have a basic knowledge of how the Lua
+programming language works. In most cases, we will try to be as pedagogical
+as possible and link to documents describing the functions used in the
+examples, but there are also many cases where it is necessary to either
+just assume that "it works" or do some digging yourself into what the hows
+and whys of various function calls.
</p>
@@ -69,20 +69,20 @@ and whys of various function calls.
<section><title>Setting a scope for Lua states</title>
<p>
-Setting the right <directive module="mod_lua">LuaScope</directive> setting
-for your Lua scripts can be essential to your server's
-performance. By default, the scope is set to <code>once</code>, which means
-that every call to a Lua script will spawn a new Lua state that handles that
-script and is destroyed immediately after. This option keeps the memory
-footprint of mod_lua low, but also affects the processing speed of a request.
-If you have the memory to spare, you can set the scope to <code>thread</code>,
-which will make mod_lua spawn a Lua state that lasts the entirity of a thread's
-lifetime, speeding up request processing by 2-3 times. Since mod_lua will create
-a state for each script, this may be an expensive move, memory-wise, so to
-compromise between speed and memory usage, you can choose the <code>server</code>
-option to create a pool of Lua states to be used. Each request for a Lua script or
-a hook function will then acquire a state from the pool and release it back when it's
-done using it, allowing you to still gain a significant performance increase, while
+Setting the right <directive module="mod_lua">LuaScope</directive> setting
+for your Lua scripts can be essential to your server's
+performance. By default, the scope is set to <code>once</code>, which means
+that every call to a Lua script will spawn a new Lua state that handles that
+script and is destroyed immediately after. This option keeps the memory
+footprint of mod_lua low, but also affects the processing speed of a request.
+If you have the memory to spare, you can set the scope to <code>thread</code>,
+which will make mod_lua spawn a Lua state that lasts the entirity of a thread's
+lifetime, speeding up request processing by 2-3 times. Since mod_lua will create
+a state for each script, this may be an expensive move, memory-wise, so to
+compromise between speed and memory usage, you can choose the <code>server</code>
+option to create a pool of Lua states to be used. Each request for a Lua script or
+a hook function will then acquire a state from the pool and release it back when it's
+done using it, allowing you to still gain a significant performance increase, while
keeping your memory footprint low. Some examples of possible settings are:
</p>
<highlight language="config">
@@ -91,36 +91,36 @@ LuaScope thread
LuaScope server 5 40
</highlight>
<p>
-As a general rule of thumb: If your server has none to low usage, use <code>once</code>
-or <code>request</code>, if your server has low to medium usage, use the <code>server</code>
-pool, and if it has high usage, use the <code>thread</code> setting. As your server's
-load increases, so will the number of states being actively used, and having your scope
+As a general rule of thumb: If your server has none to low usage, use <code>once</code>
+or <code>request</code>, if your server has low to medium usage, use the <code>server</code>
+pool, and if it has high usage, use the <code>thread</code> setting. As your server's
+load increases, so will the number of states being actively used, and having your scope
set to <code>once/request/conn</code> will stop being beneficial to your memory footprint.
</p>
<p>
-<strong>Note:</strong> The <code>min</code> and <code>max</code> settings for the
-<code>server</code> scope denotes the minimum and maximum states to keep in a pool per
+<strong>Note:</strong> The <code>min</code> and <code>max</code> settings for the
+<code>server</code> scope denotes the minimum and maximum states to keep in a pool per
server <em>process</em>, so keep this below your <code>ThreadsPerChild</code> limit.
</p>
</section>
<section><title>Using code caching</title>
<p>
-By default, <module>mod_lua</module> stats each Lua script to determine whether a reload
-(and thus, a re-interpretation and re-compilation) of a script is required. This is managed
-through the <directive module="mod_lua">LuaCodeCache</directive> directive. If you are running
-your scripts on a production server, and you do not need to update them regularly, it may be
-advantageous to set this directive to the <code>forever</code> value, which will cause mod_lua
-to skip the stat process and always reuse the compiled byte-code from the first access to the
-script, thus speeding up the processing. For Lua hooks, this can prove to increase peformance,
-while for scripts handled by the <code>lua-script</code> handler, the increase in performance
+By default, <module>mod_lua</module> stats each Lua script to determine whether a reload
+(and thus, a re-interpretation and re-compilation) of a script is required. This is managed
+through the <directive module="mod_lua">LuaCodeCache</directive> directive. If you are running
+your scripts on a production server, and you do not need to update them regularly, it may be
+advantageous to set this directive to the <code>forever</code> value, which will cause mod_lua
+to skip the stat process and always reuse the compiled byte-code from the first access to the
+script, thus speeding up the processing. For Lua hooks, this can prove to increase peformance,
+while for scripts handled by the <code>lua-script</code> handler, the increase in performance
may be negligible, as files httpd will stat the files regardless.
</p>
</section>
<section><title>Keeping the scope clean</title>
<p>
-For maximum performance, it is generally recommended that any initialization of libraries,
+For maximum performance, it is generally recommended that any initialization of libraries,
constants and master tables be kept outside the handle's scope:
</p>
<highlight language="lua">
@@ -151,10 +151,10 @@ end
<section id="basic_remap"><title>Example 1: A basic remapping module</title>
<p>
- These first examples show how mod_lua can be used to rewrite URIs in the same
- way that one could do using <directive module="mod_alias">Alias</directive> or
- <directive module="mod_rewrite">RewriteRule</directive>, but with more clarity
- on how the decision-making takes place, as well as allowing for more complex
+ These first examples show how mod_lua can be used to rewrite URIs in the same
+ way that one could do using <directive module="mod_alias">Alias</directive> or
+ <directive module="mod_rewrite">RewriteRule</directive>, but with more clarity
+ on how the decision-making takes place, as well as allowing for more complex
decisions than would otherwise be allowed with said directives.
</p>
@@ -187,9 +187,9 @@ end
<highlight language="lua">
--[[
Advanced remap example.
- This example will evaluate some conditions, and based on that,
+ This example will evaluate some conditions, and based on that,
remap a file to one of two destinations, using a rewrite map.
- This is similar to mixing AliasMatch and ProxyPass, but
+ This is similar to mixing AliasMatch and ProxyPass, but
without them clashing in any way. Assuming we are on example.com, then:
http://example.com/photos/test.png will be rewritten as /uploads/www/test.png
@@ -198,8 +198,8 @@ end
]]--
local map = {
- photos = {
- source = [[^/photos/(.+)\.png$]],
+ photos = {
+ source = [[^/photos/(.+)\.png$]],
destination = [[/uploads/www/$1.png]],
proxy = false
},
@@ -213,7 +213,7 @@ local map = {
function interpolateString(s,v)
return s:gsub("%$(%d+)", function(a) return v[tonumber(a)] end)
end
-
+
function remap(r)
-- browse through the rewrite map
for key, entry in pairs(map) do
@@ -245,11 +245,11 @@ bla bla
<section id="mass_vhost"><title>Example 2: Mass virtual hosting</title>
<p>
- As with simple and advanced rewriting, you can use mod_lua for dynamically
- assigning a hostname to a specific document root, much like
- <module>mod_vhost_alias</module> does, but with more control over what goes
- where. This could be as simple as a table holding the information about which
- host goes into which folder, or more advanced, using a database holding the
+ As with simple and advanced rewriting, you can use mod_lua for dynamically
+ assigning a hostname to a specific document root, much like
+ <module>mod_vhost_alias</module> does, but with more control over what goes
+ where. This could be as simple as a table holding the information about which
+ host goes into which folder, or more advanced, using a database holding the
document roots of each hostname.
</p>
@@ -262,7 +262,7 @@ LuaHookTranslateName /path/too/foo.lua mass_vhost
<highlight language="lua">
--[[
Simple mass vhost script
- This example will check a map for a virtual host and rewrite filename and
+ This example will check a map for a virtual host and rewrite filename and
document root accordingly.
]]--
@@ -316,13 +316,13 @@ function query_vhosts(r)
end
db:close()
end
- if cached_vhosts[host] then
+ if cached_vhosts[host] then
return cached_vhosts[host].destination
else
return nil
end
end
-
+
function mass_vhost(r)
-- Check whether the hostname is in our database
local destination = query_vhosts(r)
@@ -348,9 +348,9 @@ end
<section id="basic_auth"><title>Example 3: A basic authorization hook</title>
<p>
- With the authorization hooks, you can add custom auth phases to your request
- processing, allowing you to either add new requirements that were not previously
- supported by httpd, or tweaking existing ones to accommodate your needs.
+ With the authorization hooks, you can add custom auth phases to your request
+ processing, allowing you to either add new requirements that were not previously
+ supported by httpd, or tweaking existing ones to accommodate your needs.
</p>
<highlight language="config">
LuaHookAuthChecker /path/too/foo.lua check_auth
@@ -358,7 +358,7 @@ LuaHookAuthChecker /path/too/foo.lua check_auth
<!-- BEGIN EXAMPLE CODE -->
<highlight language="lua">
---[[
+--[[
A simple authentication hook that checks a table containing usernames and
passwords of two accounts.
]]--
@@ -400,7 +400,7 @@ end
<!-- BEGIN EXAMPLE CODE -->
<highlight language="lua">
---[[
+--[[
An advanced authentication checker with a database backend,
caching account entries for 1 minute
]]--
@@ -431,13 +431,13 @@ function fetch_password(user)
end
db:close()
end
- if accounts[user] then
+ if accounts[user] then
return accounts[user].password
else
return nil
end
end
-
+
-- The authentication hook
function check_auth(r)
local user, pass = parse_auth(r.headers_in['Authorization'])
@@ -465,9 +465,9 @@ end
<section id="authz"><title>Example 4: Authorization using LuaAuthzProvider</title>
<p>
- If you require even more advanced control over your authorization phases,
- you can add custom authz providers to help you manage your server. The
- example below shows you how you can split a single htpasswd file into
+ If you require even more advanced control over your authorization phases,
+ you can add custom authz providers to help you manage your server. The
+ example below shows you how you can split a single htpasswd file into
groups with different permissions:
</p>
<highlight language="config">
@@ -481,8 +481,8 @@ LuaAuthzProvider rights /path/to/lua/script.lua rights_handler
</highlight>
<highlight language="lua">
---[[
- This script has two user groups; members and admins, and whichever
+--[[
+ This script has two user groups; members and admins, and whichever
is refered to by the "Require rights" directive is checked to see
if the authenticated user belongs to this group.
]]--
@@ -515,9 +515,9 @@ end
<section id="loadbalancing"><title>Example 5: A rudimentary load balancer</title>
<p>
- This is an example of how you can create a load balancing mechanism.
- In this example, we will be setting/getting the number of requests served
- by each backend using IVM variables, and preferring the backend with least
+ This is an example of how you can create a load balancing mechanism.
+ In this example, we will be setting/getting the number of requests served
+ by each backend using IVM variables, and preferring the backend with least
requests served in total:
</p>
<highlight language="config">
@@ -525,8 +525,8 @@ LuaHookTranslateName /path/to/script.lua proxy_handler
</highlight>
<highlight language="lua">
---[[
- This script uses a basic IVM table to determine where to
+--[[
+ This script uses a basic IVM table to determine where to
send the request.
]]--
diff --git a/docs/manual/env.html.en b/docs/manual/env.html.en
index 23b95e0025..659cdb52dc 100644
--- a/docs/manual/env.html.en
+++ b/docs/manual/env.html.en
@@ -141,13 +141,13 @@
late during request processing meaning that directives such as
<code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> and <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> will not see the
variables set with it.</li>
-
- <li>When the server looks up a path via an internal
- <a class="glossarylink" href="./glossary.html#subrequest" title="see glossary">subrequest</a> such as looking
- for a <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>
+
+ <li>When the server looks up a path via an internal
+ <a class="glossarylink" href="./glossary.html#subrequest" title="see glossary">subrequest</a> such as looking
+ for a <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>
or generating a directory listing with <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>,
- per-request environment variables are <em>not</em> inherited in the
- subrequest. Additionally,
+ per-request environment variables are <em>not</em> inherited in the
+ subrequest. Additionally,
<code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> directives
are not separately evaluated in the subrequest due to the API phases
<code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> takes action in.</li>
@@ -418,7 +418,7 @@
</a></code> and <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> allows you to still accept
these headers:</p>
-<pre class="prettyprint lang-config">#
+<pre class="prettyprint lang-config">#
# The following works around a client sending a broken Accept_Encoding
# header.
#
diff --git a/docs/manual/env.xml b/docs/manual/env.xml
index d4375cf688..3cda1acc64 100644
--- a/docs/manual/env.xml
+++ b/docs/manual/env.xml
@@ -153,13 +153,13 @@
<directive module="mod_setenvif">SetEnvIf</directive> and <directive
module="mod_rewrite">RewriteCond</directive> will not see the
variables set with it.</li>
-
- <li>When the server looks up a path via an internal
- <glossary ref="subrequest">subrequest</glossary> such as looking
- for a <directive module="mod_dir" >DirectoryIndex</directive>
+
+ <li>When the server looks up a path via an internal
+ <glossary ref="subrequest">subrequest</glossary> such as looking
+ for a <directive module="mod_dir" >DirectoryIndex</directive>
or generating a directory listing with <module>mod_autoindex</module>,
- per-request environment variables are <em>not</em> inherited in the
- subrequest. Additionally,
+ per-request environment variables are <em>not</em> inherited in the
+ subrequest. Additionally,
<directive module="mod_setenvif">SetEnvIf</directive> directives
are not separately evaluated in the subrequest due to the API phases
<module>mod_setenvif</module> takes action in.</li>
@@ -457,7 +457,7 @@
these headers:</p>
<highlight language="config">
-#
+#
# The following works around a client sending a broken Accept_Encoding
# header.
#
diff --git a/docs/manual/expr.html.en b/docs/manual/expr.html.en
index 176ca7b841..c7b9c81db7 100644
--- a/docs/manual/expr.html.en
+++ b/docs/manual/expr.html.en
@@ -514,7 +514,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Example expressions</a></h2>
-
+
<p>The following examples show how expressions might be used to
evaluate requests:</p>
@@ -533,7 +533,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
# Only allow access to this content during business hours
&lt;Directory "/foo/bar/business"&gt;
Require expr %{TIME_HOUR} -gt 9 &amp;&amp; %{TIME_HOUR} -lt 17
-&lt;/Directory&gt;
+&lt;/Directory&gt;
# Check a HTTP header for a list of values
&lt;If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz' }"&gt;
diff --git a/docs/manual/expr.xml b/docs/manual/expr.xml
index 726ec696bc..8dd44f200f 100644
--- a/docs/manual/expr.xml
+++ b/docs/manual/expr.xml
@@ -566,7 +566,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"
</section>
<section id="examples">
-
+
<title>Example expressions</title>
<p>The following examples show how expressions might be used to
evaluate requests:</p>
@@ -586,7 +586,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"
# Only allow access to this content during business hours
&lt;Directory "/foo/bar/business"&gt;
Require expr %{TIME_HOUR} -gt 9 &amp;&amp; %{TIME_HOUR} -lt 17
-&lt;/Directory&gt;
+&lt;/Directory&gt;
# Check a HTTP header for a list of values
&lt;If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz' }"&gt;
diff --git a/docs/manual/handler.xml b/docs/manual/handler.xml
index fd37d5603e..0600d3f203 100644
--- a/docs/manual/handler.xml
+++ b/docs/manual/handler.xml
@@ -156,8 +156,3 @@ AddHandler add-footer .html
as to not invade the media type name-space.</p>
</section>
</manualpage>
-
-
-
-
-
diff --git a/docs/manual/howto/access.html.en b/docs/manual/howto/access.html.en
index 4fe15647c7..7817bdd1df 100644
--- a/docs/manual/howto/access.html.en
+++ b/docs/manual/howto/access.html.en
@@ -86,7 +86,7 @@ Require ip ip.address</pre>
syntax.</p>
<p>You can insert <code>not</code> to negate a particular requirement.
- Note, that since a <code>not</code> is a negation of a value, it cannot
+ Note, that since a <code>not</code> is a negation of a value, it cannot
be used by itself to allow or deny a request, as <em>not true</em>
does not constitute <em>false</em>. Thus, to deny a visit using a negation,
the block must have one element that evaluates as true or false.
@@ -101,11 +101,12 @@ Require ip ip.address</pre>
<p>Visitors coming from that address (<code>10.252.46.165</code>)
- will not be able to see the content covered by this directive. If,
- instead, you have a machine name, rather than an IP address, you
+ will not be able to see the content covered by this directive. If,
+ instead, you have a machine name, rather than an IP address, you
can use that.</p>
- <pre class="prettyprint lang-config">Require not host <var>host.example.com</var></pre>
+ <pre class="prettyprint lang-config">Require not host <var>host.example.com</var>
+ </pre>
<p>And, if you'd like to block access from an entire domain,
@@ -163,9 +164,9 @@ Require not host gov</pre>
and 6am, you can do this using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<pre class="prettyprint lang-config">RewriteEngine On
-RewriteCond %{TIME_HOUR} &gt;=20 [OR]
-RewriteCond %{TIME_HOUR} &lt;07
-RewriteRule ^/fridge - [F]</pre>
+RewriteCond "%{TIME_HOUR}" "&gt;=20" [OR]
+RewriteCond "%{TIME_HOUR}" "&lt;07"
+RewriteRule "^/fridge" "-" [F]</pre>
<p>This will return a 403 Forbidden response for any request after 8pm
diff --git a/docs/manual/howto/access.html.fr b/docs/manual/howto/access.html.fr
index 010d95d342..0e1e635021 100644
--- a/docs/manual/howto/access.html.fr
+++ b/docs/manual/howto/access.html.fr
@@ -24,6 +24,8 @@
<p><span>Langues Disponibles: </span><a href="../en/howto/access.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/access.html" title="Franais">&nbsp;fr&nbsp;</a></p>
</div>
+<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
+ anglaise pour les changements rcents.</div>
<p>Le contrle d'accs fait rfrence tout concept de contrle
d'accs une ressource quelconque. Il est distinct du processus d'<a href="auth.html">authentification et d'autorisation</a>.</p>
diff --git a/docs/manual/howto/access.xml b/docs/manual/howto/access.xml
index f2242a1915..244bc1f1e7 100644
--- a/docs/manual/howto/access.xml
+++ b/docs/manual/howto/access.xml
@@ -172,9 +172,9 @@ Require expr %{HTTP_USER_AGENT} != 'BadBot'
<highlight language="config">
RewriteEngine On
-RewriteCond %{TIME_HOUR} &gt;=20 [OR]
-RewriteCond %{TIME_HOUR} &lt;07
-RewriteRule ^/fridge - [F]
+RewriteCond "%{TIME_HOUR}" "&gt;=20" [OR]
+RewriteCond "%{TIME_HOUR}" "&lt;07"
+RewriteRule "^/fridge" "-" [F]
</highlight>
<p>This will return a 403 Forbidden response for any request after 8pm
diff --git a/docs/manual/howto/access.xml.fr b/docs/manual/howto/access.xml.fr
index 518d9f8f3c..28088c4cc0 100644
--- a/docs/manual/howto/access.xml.fr
+++ b/docs/manual/howto/access.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
-<!-- English Revision : 1666025 -->
+<!-- English Revision: 1666025:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/howto/access.xml.meta b/docs/manual/howto/access.xml.meta
index 605822ecb4..c42bb44f51 100644
--- a/docs/manual/howto/access.xml.meta
+++ b/docs/manual/howto/access.xml.meta
@@ -8,6 +8,6 @@
<variants>
<variant>en</variant>
- <variant>fr</variant>
+ <variant outdated="yes">fr</variant>
</variants>
</metafile>
diff --git a/docs/manual/howto/auth.html.en b/docs/manual/howto/auth.html.en
index b22c1cbc86..023538b83d 100644
--- a/docs/manual/howto/auth.html.en
+++ b/docs/manual/howto/auth.html.en
@@ -506,13 +506,15 @@ Require group GroupName</pre>
that will be called during the authorization stage of the request
processing. For example:</p>
- <pre class="prettyprint lang-config">Require ip <var>address</var></pre>
+ <pre class="prettyprint lang-config">Require ip <var>address</var>
+ </pre>
<p>where <var>address</var> is an IP address (or a partial IP
address) or:</p>
- <pre class="prettyprint lang-config">Require host <var>domain_name</var></pre>
+ <pre class="prettyprint lang-config">Require host <var>domain_name</var>
+ </pre>
<p>where <var>domain_name</var> is a fully qualified domain name
diff --git a/docs/manual/howto/auth.xml.fr b/docs/manual/howto/auth.xml.fr
index dc50e4cc02..f80cb393f1 100644
--- a/docs/manual/howto/auth.xml.fr
+++ b/docs/manual/howto/auth.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1599841:1673582 (outdated) -->
+<!-- English Revision: 1599841:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviwed by : Vincent Deffontaines -->
diff --git a/docs/manual/howto/auth.xml.ja b/docs/manual/howto/auth.xml.ja
index 32cb4bbe6b..578700dd4d 100644
--- a/docs/manual/howto/auth.xml.ja
+++ b/docs/manual/howto/auth.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 479777:1673582 (outdated) -->
+<!-- English Revision: 479777:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/howto/auth.xml.ko b/docs/manual/howto/auth.xml.ko
index 41bb8d37f0..7d735d45e3 100644
--- a/docs/manual/howto/auth.xml.ko
+++ b/docs/manual/howto/auth.xml.ko
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='EUC-KR' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1673582 (outdated) -->
+<!-- English Revision: 105989:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/howto/auth.xml.tr b/docs/manual/howto/auth.xml.tr
index d4484ed0d2..ee7be14825 100644
--- a/docs/manual/howto/auth.xml.tr
+++ b/docs/manual/howto/auth.xml.tr
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1070891:1673582 (outdated) -->
+<!-- English Revision: 1070891:1673932 (outdated) -->
<!-- =====================================================
Translated by: Umut Samuk <umut belgeler.org>
Reviewed by: Nilgün Belma Bugüner <nilgun belgeler.org>
diff --git a/docs/manual/howto/cgi.xml b/docs/manual/howto/cgi.xml
index d3aaa004b1..197d3e1c0e 100644
--- a/docs/manual/howto/cgi.xml
+++ b/docs/manual/howto/cgi.xml
@@ -577,4 +577,3 @@ foreach my $key (keys %ENV) {
have found a problem in the Apache source code.</p>
</section>
</manualpage>
-
diff --git a/docs/manual/howto/public_html.xml.fr b/docs/manual/howto/public_html.xml.fr
index ffebcad748..8bfc008897 100644
--- a/docs/manual/howto/public_html.xml.fr
+++ b/docs/manual/howto/public_html.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1649338:1673892 (outdated) -->
+<!-- English Revision: 1649338:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/howto/public_html.xml.ja b/docs/manual/howto/public_html.xml.ja
index 95f63feb35..130259a8a1 100644
--- a/docs/manual/howto/public_html.xml.ja
+++ b/docs/manual/howto/public_html.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 1591191:1673892 (outdated) -->
+<!-- English Revision: 1591191:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/howto/public_html.xml.ko b/docs/manual/howto/public_html.xml.ko
index 29a37adbf6..05b1c4fe73 100644
--- a/docs/manual/howto/public_html.xml.ko
+++ b/docs/manual/howto/public_html.xml.ko
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='EUC-KR' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 151408:1673892 (outdated) -->
+<!-- English Revision: 151408:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/howto/public_html.xml.tr b/docs/manual/howto/public_html.xml.tr
index 63d212667a..23ccd490fb 100644
--- a/docs/manual/howto/public_html.xml.tr
+++ b/docs/manual/howto/public_html.xml.tr
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1174747:1673892 (outdated) -->
+<!-- English Revision: 1174747:1673932 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/misc/perf-scaling.html.en b/docs/manual/misc/perf-scaling.html.en
index d36860e04b..b855f8ce74 100644
--- a/docs/manual/misc/perf-scaling.html.en
+++ b/docs/manual/misc/perf-scaling.html.en
@@ -24,8 +24,8 @@
<p><span>Available Languages: </span><a href="../en/misc/perf-scaling.html" title="English">&nbsp;en&nbsp;</a></p>
</div>
-
- <p>The Performance Tuning page in the Apache 1.3 documentation says:
+
+ <p>The Performance Tuning page in the Apache 1.3 documentation says:
</p>
<blockquote><p>
"Apache is a general webserver, which is designed to be
@@ -43,14 +43,14 @@
The classic brochureware site is alive and well, but the web has
grown up substantially as a computing application platform and
webmasters may find themselves running dynamic content in Perl, PHP
- or Java, all of which take a toll on performance.
+ or Java, all of which take a toll on performance.
</p>
<p>Therefore, in spite of strides forward in machine speed and
bandwidth allowances, web server performance and web application
performance remain areas of concern. In this documentation several
- aspects of web server performance will be discussed.
+ aspects of web server performance will be discussed.
</p>
-
+
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#what-will-and-will-not-be-discussed">What Will and Will Not Be Discussed
</a></li>
@@ -76,9 +76,9 @@
server hardware, so the existing infrastructure will have to do the
job. You have no desire to compile your own Apache, or to recompile
the operating system kernel. We do assume, though, that you have
- some familiarity with the Apache httpd configuration file.
+ some familiarity with the Apache httpd configuration file.
</p>
-
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="monitoring-your-server" id="monitoring-your-server">Monitoring Your Server
@@ -88,15 +88,15 @@
find out how your system is currently performing. By monitoring
your server under real-world load, or artificially generated load,
you can extrapolate its behavior under stress, such as when your
- site is mentioned on Slashdot.
+ site is mentioned on Slashdot.
</p>
-
-
+
+
<h3><a name="monitoring-tools" id="monitoring-tools">Monitoring Tools
</a></h3>
-
-
+
+
<h4><a name="top" id="top">top
</a></h4>
@@ -113,9 +113,9 @@
ID, priority and nice values, memory footprint, and
percentage CPU usage. The following example shows multiple
httpd processes (with MPM worker and event) running on an
- Linux (Xen) system:
+ Linux (Xen) system:
</p>
-
+
<div class="example"><pre>top - 23:10:58 up 71 days, 6:14, 4 users, load average: 0.25, 0.53, 0.47
Tasks: 163 total, 1 running, 162 sleeping, 0 stopped, 0 zombie
Cpu(s): 11.6%us, 0.7%sy, 0.0%ni, 87.3%id, 0.4%wa, 0.0%hi, 0.0%si, 0.0%st
@@ -149,7 +149,7 @@ Swap: 4194296k total, 860584k used, 3333712k free, 1157552k cached
68 root 15 -5 0 0 0 S 0 0.0 0:06.28 kblockd/0
69 root 15 -5 0 0 0 S 0 0.0 0:00.04 kblockd/1
70 root 15 -5 0 0 0 S 0 0.0 0:00.04 kblockd/2</pre></div>
-
+
<p>Top is a wonderful tool even though it's slightly resource
intensive (when running, its own process is usually in the
top ten CPU gluttons). It is indispensable in determining
@@ -157,7 +157,7 @@ Swap: 4194296k total, 860584k used, 3333712k free, 1157552k cached
determining how many server processes you can run on your
machine. How to do this is described in <a href="#sizing-maxClients">sizing MaxClients</a>.
Top is, however, an interactive tool and running it
- continuously has few if any advantages.
+ continuously has few if any advantages.
</p>
<h4><a name="free" id="free">free
@@ -169,16 +169,16 @@ Swap: 4194296k total, 860584k used, 3333712k free, 1157552k cached
both with and without this cache. The free command can be
used to find out how much memory the operating system is
using, as described in the paragraph <a href="#sizing-maxClients">sizing MaxClients</a>.
- The output of free looks like this:
+ The output of free looks like this:
</p>
-
+
<div class="example"><pre>sctemme@brutus:~$ free
total used free shared buffers cached
Mem: 4026028 3901892 124136 0 253144 841044
-/+ buffers/cache: 2807704 1218324
Swap: 3903784 12540 3891244</pre></div>
-
+
<h4><a name="vmstat" id="vmstat">vmstat
</a></h4>
@@ -193,38 +193,38 @@ Swap: 3903784 12540 3891244</pre></div>
much memory is swapped in and out each second, the number
of processes currently running and sleeping, the number of
interrupts and context switches per second and the usage
- percentages of the CPU.
+ percentages of the CPU.
</p>
<p>
- The following is <code>vmstat</code> output of an idle server:
+ The following is <code>vmstat</code> output of an idle server:
</p>
-
-
+
+
<div class="example"><pre>[sctemme@GayDeceiver sctemme]$ vmstat 5 3
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 186252 6688 37516 0 0 12 5 47 311 0 1 99
0 0 0 0 186244 6696 37516 0 0 0 16 41 314 0 0 100
0 0 0 0 186236 6704 37516 0 0 0 9 44 314 0 0 100</pre></div>
-
+
<p>And this is output of a server that is under a load of one
- hundred simultaneous connections fetching static content:
+ hundred simultaneous connections fetching static content:
</p>
-
+
<div class="example"><pre>[sctemme@GayDeceiver sctemme]$ vmstat 5 3
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
1 0 1 0 162580 6848 40056 0 0 11 5 150 324 1 1 98
6 0 1 0 163280 6856 40248 0 0 0 66 6384 1117 42 25 32
11 0 0 0 162780 6864 40436 0 0 0 61 6309 1165 33 28 40</pre></div>
-
+
<p>The first line gives averages since the last reboot. The
subsequent lines give information for five second
intervals. The second argument tells vmstat to generate
- three reports and then exit.
+ three reports and then exit.
</p>
-
-
+
+
<h4><a name="se-toolkit" id="se-toolkit">SE Toolkit
</a></h4>
@@ -238,7 +238,7 @@ Swap: 3903784 12540 3891244</pre></div>
orange or red indicators when utilization of various parts
of the system rises above certain thresholds. Another
included script, Virtual Adrian, applies performance tuning
- metrics according to.
+ metrics according to.
</p>
<p>The SE Toolkit has drifted around for a while and has had
several owners since its inception. It seems that it has
@@ -248,20 +248,20 @@ Swap: 3903784 12540 3891244</pre></div>
code. SE Toolkit author Richard Pettit has started a new
company, Captive Metrics4 that plans to bring to market a
multiplatform monitoring tool built on the same principles
- as SE Toolkit, written in Java.
+ as SE Toolkit, written in Java.
</p>
-
-
+
+
<h4><a name="dtrace" id="dtrace">DTrace
</a></h4>
<p>Given that DTrace is available for Solaris, FreeBSD and OS
X, it might be worth exploring it. There's also
- mod_dtrace available for httpd.
+ mod_dtrace available for httpd.
</p>
-
-
+
+
<h4><a name="mod_status" id="mod_status">mod_status
</a></h4>
@@ -277,10 +277,10 @@ Swap: 3903784 12540 3891244</pre></div>
directive in your <code>httpd.conf</code>,
the <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>
page will give you more information at the cost of a little
- extra work per request.
+ extra work per request.
</p>
-
-
+
+
<h3><a name="web-server-log-files" id="web-server-log-files">Web Server Log Files
@@ -295,10 +295,10 @@ Swap: 3903784 12540 3891244</pre></div>
from. Historical log file data can give you invaluable insight
into trends in access to your server, which allows you to
predict when your performance needs will overtake your server
- capacity.
+ capacity.
</p>
-
-
+
+
<h4><a name="ErrorLog" id="ErrorLog">Error Log
</a></h4>
@@ -311,7 +311,7 @@ Swap: 3903784 12540 3891244</pre></div>
redirected to the error logfile, so any error encountered
by httpd after it opens its logfiles will appear in this
log. This makes it good practice to review the error log
- frequently.
+ frequently.
</p>
<p>Before Apache httpd opens its logfiles, any errors will be
written to the stderr stream. If you start httpd manually,
@@ -323,7 +323,7 @@ Swap: 3903784 12540 3891244</pre></div>
file is usually a good bet. On Windows, early error
messages are written to the Applications Event Log, which
can be viewed through the Event Viewer in Administrative
- Tools.
+ Tools.
</p>
<p>
The Error Log is configured through the <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>
@@ -335,7 +335,7 @@ Swap: 3903784 12540 3891244</pre></div>
directive can also be used in virtual host containers. The
error log of a virtual host receives only log messages
specific to that virtual host, such as authentication
- failures and 'File not Found' errors.
+ failures and 'File not Found' errors.
</p>
<p>On a server that is visible to the Internet, expect to see a
lot of exploit attempt and worm attacks in the error log. A
@@ -345,12 +345,12 @@ Swap: 3903784 12540 3891244</pre></div>
port, regardless of which server is actually running or
what applications might be installed. You could block these
attempts using a firewall or <a href="http://www.modsecurity.org/">mod_security</a>,
- but this falls outside the scope of this discussion.
+ but this falls outside the scope of this discussion.
</p>
<p>
The <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
directive determines the level of detail included in the
- logs. There are eight log levels as described here:
+ logs. There are eight log levels as described here:
</p>
<table>
<tr>
@@ -430,18 +430,18 @@ Swap: 3903784 12540 3891244</pre></div>
not be run on debug, but increasing the level of detail in
the error log can be useful during troubleshooting.
Starting with 2.3.8 <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
- can be specified on a per module basis:
+ can be specified on a per module basis:
</p>
-
+
<pre class="prettyprint lang-config">LogLevel debug mod_ssl:warn</pre>
-
+
<p>
This puts all of the server in debug mode, except for
- <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, which tends to be very noisy.
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, which tends to be very noisy.
</p>
-
-
+
+
<h4><a name="AccessLog" id="AccessLog">Access Log
</a></h4>
@@ -454,7 +454,7 @@ Swap: 3903784 12540 3891244</pre></div>
manual. This file exists by default for the main server and can be
configured per virtual host by using the <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>
or <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>
- configuration directive.
+ configuration directive.
</p>
<p>The access logs can be analyzed with any of several free and
commercially available programs. Popular free analysis
@@ -462,10 +462,10 @@ Swap: 3903784 12540 3891244</pre></div>
be done offline so the web server machine is not burdened
by processing the log files. Most log analysis packages
understand the Common Log Format. The fields in the log
- lines are explained in in the following:
+ lines are explained in in the following:
</p>
-
-
+
+
<div class="example"><pre>195.54.228.42 - - [24/Mar/2007:23:05:11 -0400] "GET /sander/feed/ HTTP/1.1" 200 9747
64.34.165.214 - - [24/Mar/2007:23:10:11 -0400] "GET /sander/feed/atom HTTP/1.1" 200 9068
60.28.164.72 - - [24/Mar/2007:23:11:41 -0400] "GET / HTTP/1.0" 200 618
@@ -473,7 +473,7 @@ Swap: 3903784 12540 3891244</pre></div>
85.140.155.56 - - [24/Mar/2007:23:14:15 -0400] "GET /sander/2006/09/21/gore-tax-pollution/ HTTP/1.1" 200 15147
74.6.72.187 - - [24/Mar/2007:23:18:11 -0400] "GET /sander/2006/09/27/44/ HTTP/1.0" 200 14172
74.6.72.229 - - [24/Mar/2007:23:24:22 -0400] "GET /sander/2006/11/21/os-java/ HTTP/1.0" 200 13457</pre></div>
-
+
<table>
<tr>
<td>
@@ -564,7 +564,7 @@ Swap: 3903784 12540 3891244</pre></div>
</td>
</tr>
</table>
-
+
<h4><a name="rotating-log-files" id="rotating-log-files">Rotating Log Files
</a></h4>
@@ -576,17 +576,17 @@ Swap: 3903784 12540 3891244</pre></div>
file analysis should not be performed on files to which the
server is actively writing. Periodic logfile rotation helps
keep the analysis job manageable, and allows you to keep a
- closer eye on usage trends.
+ closer eye on usage trends.
</p>
<p>On unix systems, you can simply rotate logfiles by giving
the old file a new name using mv. The server will keep
writing to the open file even though it has a new name.
When you send a graceful restart signal to the server, it
will open a new logfile with the configured name. For
- example, you could run a script from cron like this:
+ example, you could run a script from cron like this:
</p>
-
-
+
+
<div class="example"><p><code>
APACHE=/usr/local/apache2<br />
HTTPD=$APACHE/bin/httpd<br />
@@ -594,7 +594,7 @@ Swap: 3903784 12540 3891244</pre></div>
$APACHE/logarchive/access_log-`date +%F`<br />
$HTTPD -k graceful
</code></p></div>
-
+
<p>This approach also works on Windows, just not as smoothly.
While the httpd process on your Windows server will keep
writing to the log file after it has been renamed, the
@@ -608,7 +608,7 @@ Swap: 3903784 12540 3891244</pre></div>
Windows Service has to perform will interrupt any requests
currently in progress, and the server is unavailable until
it is started again. Plan for this when you decide the
- timing of your restarts.
+ timing of your restarts.
</p>
<p>
A second approach is to use piped logs. From the
@@ -617,13 +617,13 @@ Swap: 3903784 12540 3891244</pre></div>
or <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog
</a></code>
directives you can send the log data into any program using
- a pipe character (<code>|</code>). For instance:
+ a pipe character (<code>|</code>). For instance:
</p>
-
+
<div class="example"><p><code>CustomLog "|/usr/local/apache2/bin/rotatelogs
/var/log/access_log 86400" common
</code></p></div>
-
+
<p>The program on the other end of the pipe will receive the
Apache log data on its stdin stream, and can do with this
data whatever it wants. The rotatelogs program that comes
@@ -631,10 +631,10 @@ Swap: 3903784 12540 3891244</pre></div>
time elapsed or the amount of data written, and leaves the
old log files with a timestamp suffix to its name. This
method for rotating logfiles works well on unix platforms,
- but is currently broken on Windows.
+ but is currently broken on Windows.
</p>
-
-
+
+
<h4><a name="logging-and-performance" id="logging-and-performance">Logging and Performance
</a></h4>
@@ -647,7 +647,7 @@ Swap: 3903784 12540 3891244</pre></div>
the server log files: the access patterns are very
different. Retrieving content from disk is a read operation
in a fairly random pattern, and log files are written to
- disk sequentially.
+ disk sequentially.
</p>
<p>
Do not run a production server with your error <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
@@ -655,7 +655,7 @@ Swap: 3903784 12540 3891244</pre></div>
information to be written to the error log, including, in
the case of SSL access, complete dumps of BIO read and
write operations. The performance implications are
- significant: use the default warn level instead.
+ significant: use the default warn level instead.
</p>
<p>If your server has more than one virtual host, you may give
each virtual host a separate access logfile. This makes it
@@ -676,10 +676,10 @@ Swap: 3903784 12540 3891244</pre></div>
directive to have Apache collect several log lines in
memory before writing them to disk. This might yield better
performance, but could affect the order in which the
- server's log is written.
+ server's log is written.
</p>
-
-
+
+
<h3><a name="generating-a-test-load" id="generating-a-test-load">Generating A Test Load
@@ -689,7 +689,7 @@ Swap: 3903784 12540 3891244</pre></div>
performance under realistic operating circumstances. Besides
commercial packages such as <a href="http://learnloadrunner.com/">LoadRunner</a>
,there are a number of freely available tools to generate a
- test load against your web server.
+ test load against your web server.
</p>
<ul>
<li>Apache ships with a test program called ab, short for
@@ -697,20 +697,20 @@ Swap: 3903784 12540 3891244</pre></div>
repeatedly asking for the same file in rapid succession.
You can specify a number of concurrent connections and have
the program run for either a given amount of time or a
- specified number of requests.
+ specified number of requests.
</li>
<li>Another freely available load generator is http load11 .
This program works with a URL file and can be compiled with
- SSL support.
+ SSL support.
</li>
<li>The Apache Software Foundation offers a tool named flood12
. Flood is a fairly sophisticated program that is
- configured through an XML file.
+ configured through an XML file.
</li>
<li>Finally, JMeter13 , a Jakarta subproject, is an all-Java
load-testing tool. While early versions of this application
were slow and difficult to use, the current version 2.1.1
- seems to be versatile and useful.
+ seems to be versatile and useful.
</li>
<li>
<p>ASF external projects, that have proven to be quite
@@ -723,16 +723,16 @@ Swap: 3903784 12540 3891244</pre></div>
affect the server's response. Also, any data traffic you
generate may be charged against your monthly traffic allowance.
</p>
-
-
+
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="configuring-for-performance" id="configuring-for-performance">Configuring for Performance
</a></h2>
-
-
+
+
<h3><a name="apache-configuration" id="apache-configuration">Httpd Configuration
</a></h3>
@@ -750,7 +750,7 @@ Swap: 3903784 12540 3891244</pre></div>
multiple request handling threads within each child process. In
2.4 MPMs are no longer hard-wired. They too can be exchanged
via <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.
- The default MPM in 2.4 is the event MPM.
+ The default MPM in 2.4 is the event MPM.
</p>
<p>The maximum number of workers, be they pre-forked child
processes or threads within a process, is an indication of how
@@ -760,7 +760,7 @@ Swap: 3903784 12540 3891244</pre></div>
the maximum number of workers is running, the machine
doesn't hit a hard limit beyond which clients will be
denied access. However, once requests start backing up, system
- performance is likely to degrade.
+ performance is likely to degrade.
</p>
<p>Finally, if the httpd server in question is not executing any third-party
code, via <code>mod_php</code>, <code>mod_perl</code> or similar,
@@ -768,8 +768,8 @@ Swap: 3903784 12540 3891244</pre></div>
for situations where httpd serves as a thin layer between clients and
backend servers doing the real job, such as a proxy or cache.
</p>
-
-
+
+
<h4><a name="MaxClients" id="MaxClients">MaxClients
</a></h4>
@@ -786,10 +786,10 @@ Swap: 3903784 12540 3891244</pre></div>
number of processes is configurable through the <code>
ServerLimit
</code>
- directive.
+ directive.
</p>
-
-
+
+
<h4><a name="spinning-threads" id="spinning-threads">Spinning Threads
</a></h4>
@@ -811,8 +811,8 @@ Swap: 3903784 12540 3891244</pre></div>
value downwards until it is an even factor of
<code>MaxClients</code>.
</p>
-
-
+
+
<h4><a name="sizing-maxClients" id="sizing-maxClients">Sizing MaxClients
</a></h4>
@@ -822,16 +822,16 @@ Swap: 3903784 12540 3891244</pre></div>
your system gets so overloaded that it needs to heavily
swap core memory out to disk, performance will degrade
quickly. The formula for determining <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxClients</a></code>
- is fairly simple:
+ is fairly simple:
</p>
-
+
<div class="example"><p><code>
total RAM - RAM for OS - RAM for external programs<br />
MaxClients =
-------------------------------------------------------<br />
RAM per httpd process
</code></p></div>
-
+
<p>The various amounts of memory allocated for the OS, external
programs and the httpd processes is best determined by
observation: use the top and free commands described above
@@ -839,7 +839,7 @@ Swap: 3903784 12540 3891244</pre></div>
server running. You can also determine the footprint of a
typical web server process from top: most top
implementations have a Resident Size (RSS) column and a
- Shared Memory column.
+ Shared Memory column.
</p>
<p>The difference between these two is the amount of memory
per-process. The shared segment really exists only once and
@@ -849,7 +849,7 @@ Swap: 3903784 12540 3891244</pre></div>
depends heavily on the number and kind of modules you use.
The best approach to use in determining this need is to
generate a typical test load against your web site and see
- how large the httpd processes become.
+ how large the httpd processes become.
</p>
<p>The RAM for external programs parameter is intended mostly
for CGI programs and scripts that run outside the web
@@ -869,10 +869,10 @@ Swap: 3903784 12540 3891244</pre></div>
to fork additional child processes, so a higher <code>
MaxClients
</code>
- value may actually be a disadvantage.
+ value may actually be a disadvantage.
</p>
-
-
+
+
<h4><a name="selecting-your-mpm" id="selecting-your-mpm">Selecting your MPM
</a></h4>
@@ -887,7 +887,7 @@ Swap: 3903784 12540 3891244</pre></div>
sense. On Linux, the threading implementation actually uses
one process for each thread. Linux processes are relatively
lightweight, but it means that a threaded MPM offers less
- of a performance advantage than in other environments.
+ of a performance advantage than in other environments.
</p>
<p>Running a threaded MPM can cause stability problems in some
situations For instance, should a child process of a
@@ -906,10 +906,10 @@ Swap: 3903784 12540 3891244</pre></div>
cannot guarantee that all of these are thread-safe. The
good news is that if you are running Apache on Linux, you
can run PHP in the preforked MPM without fear of losing too
- much performance relative to the threaded option.
+ much performance relative to the threaded option.
</p>
-
-
+
+
<h4><a name="spinning-locks" id="spinning-locks">Spinning Locks
</a></h4>
@@ -931,10 +931,10 @@ Swap: 3903784 12540 3891244</pre></div>
this time, the parent process may decide to terminate some
children based on its <code>MaxSpareServers
</code>
- directive.
+ directive.
</p>
-
-
+
+
<h4><a name="the-thundering-herd" id="the-thundering-herd">The Thundering Herd
</a></h4>
@@ -942,7 +942,7 @@ Swap: 3903784 12540 3891244</pre></div>
<p>The function of the 'accept mutex' (as this
inter-process lock is called) is to keep request reception
moving along in an orderly fashion. If the lock is absent,
- the server may exhibit the Thundering Herd syndrome.
+ the server may exhibit the Thundering Herd syndrome.
</p>
<p>Consider an American Football team poised on the line of
scrimmage. If the football players were Apache processes
@@ -951,7 +951,7 @@ Swap: 3903784 12540 3891244</pre></div>
would have to lumber back to the line for the next snap. In
this metaphor, the accept mutex acts as the quarterback,
delivering the connection "ball" to the
- appropriate player process.
+ appropriate player process.
</p>
<p>Moving this much information around is obviously a lot of
work, and, like a smart person, a smart web server tries to
@@ -964,7 +964,7 @@ Swap: 3903784 12540 3891244</pre></div>
refrain from using an accept mutex. If you run with
multiple listeners (for instance because you have a virtual
host serving SSL requests), it will activate the accept
- mutex to avoid internal conflicts.
+ mutex to avoid internal conflicts.
</p>
<p>
You can manipulate the accept mutex with the <code>
@@ -976,15 +976,15 @@ Swap: 3903784 12540 3891244</pre></div>
all are available on every platform, and their availability
also depends on compile-time settings. The various locking
mechanisms may place specific demands on system resources:
- manipulate them with care.
+ manipulate them with care.
</p>
<p>There is no compelling reason to disable the accept mutex.
Apache automatically recognizes the single listener
situation described above and knows if it is safe to run
- without mutex on your platform.
+ without mutex on your platform.
</p>
-
-
+
+
<h3><a name="tuning-the-operating-system" id="tuning-the-operating-system">Tuning the Operating System
@@ -996,10 +996,10 @@ Swap: 3903784 12540 3891244</pre></div>
are pretty well adjusted straight out of the box and there is
not a lot that needs to be done to make them perform optimally.
However, there are a few things that an administrator can do to
- improve performance.
+ improve performance.
</p>
-
-
+
+
<h4><a name="ram-and-swap-space" id="ram-and-swap-space">RAM and Swap Space
</a></h4>
@@ -1012,7 +1012,7 @@ Swap: 3903784 12540 3891244</pre></div>
virtual hosts-also tends to inflate the process footprint.
Having ample RAM allows you to run Apache with more child
processes, which allows the server to process more
- concurrent requests.
+ concurrent requests.
</p>
<p>While the various platforms treat their virtual memory in
different ways, it is never a good idea to run with less
@@ -1021,7 +1021,7 @@ Swap: 3903784 12540 3891244</pre></div>
don't have disk space available and run out of
swappable memory, your machine grinds to a halt. This can
crash your box, requiring a physical reboot for which your
- hosting facility may charge you.
+ hosting facility may charge you.
</p>
<p>Also, such an outage naturally occurs when you least want
it: when the world has found your website and is beating a
@@ -1031,7 +1031,7 @@ Swap: 3903784 12540 3891244</pre></div>
and back, but when the load decreases the system should
recover. Remember, you still have <code>MaxClients
</code>
- to keep things in hand.
+ to keep things in hand.
</p>
<p>Most unix-like operating systems use designated disk
partitions for swap space. When a system starts up it finds
@@ -1042,7 +1042,7 @@ Swap: 3903784 12540 3891244</pre></div>
installing the operating system, be sure to allocate enough
swap space to accommodate eventual RAM upgrades.
Reassigning disk space on a running system is a cumbersome
- process.
+ process.
</p>
<p>Plan for available hard drive swap space of at least twice
your amount of RAM, perhaps up to four times in situations
@@ -1056,29 +1056,29 @@ Swap: 3903784 12540 3891244</pre></div>
</code>
or <code>swap
</code>
- programs.
+ programs.
</p>
-
-
+
+
<h4><a name="ulimit-files-and-processes" id="ulimit-files-and-processes">ulimit: Files and Processes
</a></h4>
<p>Given a machine with plenty of RAM and processor capacity,
you can run hundreds of Apache processes if necessary. . .
- and if your kernel allows it.
+ and if your kernel allows it.
</p>
<p>Consider a situation in which several hundred web servers
are running; if some of these need to spawn CGI processes,
- the maximum number of processes would occur quickly.
+ the maximum number of processes would occur quickly.
</p>
- <p>However, you can change this limit with the command
+ <p>However, you can change this limit with the command
</p>
-
+
<div class="example"><p><code>
ulimit [-H|-S] -u [newvalue]
</code></p></div>
-
+
<p>This must be changed before starting the server, since the
new value will only be available to the current shell and
programs started from it. In newer Linux kernels the
@@ -1092,28 +1092,28 @@ Swap: 3903784 12540 3891244</pre></div>
</code>
:
</p>
-
+
<div class="example"><p><code>
limit [-h] maxproc [newvalue]
</code></p></div>
-
+
<p>Similarly, the kernel may limit the number of open files per
process. This is generally not a problem for pre-forked
servers, which just handle one request at a time per
process. Threaded servers, however, serve many requests per
process and much more easily run out of available file
descriptors. You can increase the maximum number of open
- files per process by running the
+ files per process by running the
</p>
-
+
<div class="example"><p><code>ulimit -n [newvalue]
</code></p></div>
-
+
<p>command. Once again, this must be done prior to starting
- Apache.
+ Apache.
</p>
-
-
+
+
<h4><a name="setting-user-limits-on-system-startup" id="setting-user-limits-on-system-startup">Setting User Limits on System Startup
</a></h4>
@@ -1126,15 +1126,15 @@ Swap: 3903784 12540 3891244</pre></div>
explaining the options. To enable this, make sure that the
file <code>/etc/pam.d/login
</code>
- contains the line
+ contains the line
</p>
-
+
<div class="example"><p><code>session required /lib/security/pam_limits.so
</code></p></div>
-
+
<p>All items can have a 'soft' and a 'hard'
limit: the first is the default setting and the second the
- maximum value for that item.
+ maximum value for that item.
</p>
<p>
In FreeBSD's <code>/etc/login.conf
@@ -1150,27 +1150,27 @@ Swap: 3903784 12540 3891244</pre></div>
boot time. These are the same tunables that can be set with
the <code>mdb</code>
kernel debugger during run time. The soft and hard limit
- corresponding to ulimit -u can be set via:
+ corresponding to ulimit -u can be set via:
</p>
-
+
<div class="example"><p><code>
set rlim_fd_max=65536<br />
set rlim_fd_cur=2048
</code></p></div>
-
+
<p>Solaris calculates the maximum number of allowed processes
per user (<code>maxuprc</code>) based on the total amount
available memory on the system (<code>maxusers</code>).
- You can review the numbers with
+ You can review the numbers with
</p>
-
+
<div class="example"><p><code>sysdef -i | grep maximum
</code></p></div>
-
- <p>but it is not recommended to change them.
+
+ <p>but it is not recommended to change them.
</p>
-
-
+
+
<h4><a name="turn-off-unused-services-and-modules" id="turn-off-unused-services-and-modules">Turn Off Unused Services and Modules
</a></h4>
@@ -1179,19 +1179,19 @@ Swap: 3903784 12540 3891244</pre></div>
services turned on by default. You probably need few of
them. For example, your web server does not need to be
running sendmail, nor is it likely to be an NFS server,
- etc. Turn them off.
+ etc. Turn them off.
</p>
<p>On Red Hat Linux, the chkconfig tool will help you do this
from the command line. On Solaris systems <code>svcs</code>
and <code>svcadm</code>
will show which services are enabled and disable them
- respectively.
+ respectively.
</p>
<p>In a similar fashion, cast a critical eye on the Apache
modules you load. Most binary distributions of Apache
httpd, and pre-installed versions that come with Linux
distributions, have their modules enabled through the
- <code class="directive">LoadModule</code> directive.
+ <code class="directive">LoadModule</code> directive.
</p>
<p>Unused modules may be culled: if you don't rely on
their functionality and configuration directives, you can
@@ -1200,10 +1200,10 @@ Swap: 3903784 12540 3891244</pre></div>
lines. Read the documentation on each module's
functionality before deciding whether to keep it enabled.
While the performance overhead of an unused module is
- small, it's also unnecessary.
+ small, it's also unnecessary.
</p>
-
-
+
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1216,7 +1216,7 @@ Swap: 3903784 12540 3891244</pre></div>
Static content consists of simple filespages, images, etc.-on disk
that are very efficiently served. Many operating systems also
automatically cache the contents of frequently accessed files in
- memory.
+ memory.
</p>
<p>Processing dynamic requests, on the contrary, can be much more
involved. Running CGI scripts, handing off requests to an external
@@ -1224,10 +1224,10 @@ Swap: 3903784 12540 3891244</pre></div>
significant latency and processing load to a busy web server. Under
many circumstances, performance can be improved by turning popular
dynamic requests into static requests. In this section, two
- approaches to this will be discussed.
+ approaches to this will be discussed.
</p>
-
-
+
+
<h3><a name="making-popular-pages-static" id="making-popular-pages-static">Making Popular Pages Static
</a></h3>
@@ -1241,33 +1241,33 @@ Swap: 3903784 12540 3891244</pre></div>
they are served the pre-rendered page. Queries for, say, yellow
roses will be generated directly from the database. The
mod_rewrite module included with Apache is a great tool to
- implement these substitutions.
+ implement these substitutions.
</p>
-
-
+
+
<h4><a name="example-a-statically-rendered-blog" id="example-a-statically-rendered-blog">Example: A Statically Rendered Blog
</a></h4>
-
+
<p>Blosxom is a lightweight web log package that runs as a CGI.
It is written in Perl and uses plain text files for entry
input. Besides running as CGI, Blosxom can be run from the
command line to pre-render blog pages. Pre-rendering pages
to static HTML can yield a significant performance boost in
the event that large numbers of people actually start
- reading your blog.
+ reading your blog.
</p>
<p>To run blosxom for static page generation, edit the CGI
script according to the documentation. Set the $static dir
variable to the <code class="directive">DocumentRoot</code>
of the web server, and run the script from the command line
- as follows:
+ as follows:
</p>
-
+
<div class="example"><p><code>$ perl blosxom.cgi -password='whateveryourpassword'
</code></p></div>
-
+
<p>This can be run periodically from Cron, after you upload
content, etc. To make Apache substitute the statically
rendered pages for the dynamic content, we'll use
@@ -1277,9 +1277,9 @@ Swap: 3903784 12540 3891244</pre></div>
to the configure command. Many binary distributions of
Apache come with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite </a></code> included. The following is an
example of an Apache virtual host that takes advantage of
- pre-rendered blog pages:
+ pre-rendered blog pages:
</p>
-
+
<pre class="prettyprint lang-config">Listen *:8001
&lt;VirtualHost *:8001&gt;
ServerName blog.sandla.org:8001
@@ -1289,11 +1289,11 @@ Swap: 3903784 12540 3891244</pre></div>
Options +Indexes
Require all granted
RewriteEngine on
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ /cgi-bin/blosxom.cgi/$1 [L,QSA]
+ RewriteCond "%{REQUEST_FILENAME}" "!-f"
+ RewriteCond "%{REQUEST_FILENAME}" "!-d"
+ RewriteRule "^(.*)$" "/cgi-bin/blosxom.cgi/$1" [L,QSA]
&lt;/Directory&gt;
- RewriteLog /home/sctemme/inst/blog/httpd/logs/rewrite_log
+ RewriteLog "/home/sctemme/inst/blog/httpd/logs/rewrite_log"
RewriteLogLevel 9
ErrorLog /home/sctemme/inst/blog/httpd/logs/error_log
LogLevel debug
@@ -1305,7 +1305,7 @@ Swap: 3903784 12540 3891244</pre></div>
&lt;/Directory&gt;
&lt;/VirtualHost&gt;</pre>
-
+
<p>
The <code class="directive">RewriteCond</code>
and <code class="directive">RewriteRule</code>
@@ -1322,10 +1322,10 @@ Swap: 3903784 12540 3891244</pre></div>
hides the Blosxom CGI from the user-visible URL in their
Location bar. mod_rewrite is a fantastically powerful and
versatile module: investigate it to arrive at a
- configuration that is best for your situation.
+ configuration that is best for your situation.
</p>
-
-
+
+
<h3><a name="caching-content-with-mod_cache" id="caching-content-with-mod_cache">Caching Content With mod_cache
@@ -1342,12 +1342,12 @@ Swap: 3903784 12540 3891244</pre></div>
server systems will have more disk available than memory, and
it's good to note that some operating system kernels cache
frequently accessed disk content transparently in memory, so
- replicating this in the server is not very useful.
+ replicating this in the server is not very useful.
</p>
<p>To enable efficient content caching and avoid presenting the
user with stale or invalid content, the application that
generates the actual content has to send the correct response
- headers. Without headers like <code>Etag:</code>,
+ headers. Without headers like <code>Etag:</code>,
<code>Last-Modified:</code> or <code>Expires:</code>,
<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> can not make the right decision on whether to cache
the content, serve it from cache or leave it alone. When
@@ -1358,10 +1358,10 @@ Swap: 3903784 12540 3891244</pre></div>
option <code>--enable-cache[=shared]</code>
to the configure script. If you use a binary distribution of
Apache httpd, or it came with your port or package collection,
- it may have <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> already included.
+ it may have <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> already included.
</p>
-
-
+
+
<h4><a name="example-wiki" id="example-wiki">Example: wiki.apache.org
</a></h4>
@@ -1384,7 +1384,7 @@ Swap: 3903784 12540 3891244</pre></div>
enabled with the following configuration snippet in
<code>httpd.conf</code>:
</p>
-
+
<pre class="prettyprint lang-config">CacheRoot /raid1/cacheroot
CacheEnable disk /
# A page modified 100 minutes ago will expire in 10 minutes
@@ -1392,7 +1392,7 @@ CacheLastModifiedFactor .1
# Always check again after 6 hours
CacheMaxExpire 21600</pre>
-
+
<p>This configuration will try to cache any and all content
within its virtual host. It will never cache content for
more than six hours (the <code class="directive"><a href="../mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code>
@@ -1402,7 +1402,7 @@ CacheMaxExpire 21600</pre>
header. The computation using <code class="directive"><a href="../mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code>
is based on the assumption that if a page was recently
modified, it is likely to change again in the near future
- and will have to be re-cached.
+ and will have to be re-cached.
</p>
<p>
Do note that it can pay off to <em>disable</em>
@@ -1415,20 +1415,20 @@ CacheMaxExpire 21600</pre>
TCP packet). For resources larger than 1k it might prove
CPU expensive to calculate the header for each request.
Unfortunately there does currently not exist a way to cache
- these headers.
+ these headers.
</p>
<pre class="prettyprint lang-config">&lt;FilesMatch "\.(jpe?g|png|gif|js|css|x?html|xml)"&gt;
FileETag None
&lt;/FilesMatch&gt;</pre>
-
+
<p>
This will disable the generation of the <code>ETag:</code>
header for most static resources. The server does not
- calculate these headers for dynamic resources.
+ calculate these headers for dynamic resources.
</p>
-
-
+
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
diff --git a/docs/manual/misc/perf-scaling.xml b/docs/manual/misc/perf-scaling.xml
index 10289c5ddb..701b8321bb 100644
--- a/docs/manual/misc/perf-scaling.xml
+++ b/docs/manual/misc/perf-scaling.xml
@@ -19,14 +19,14 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<manualpage metafile="perf-scaling.xml.meta">
+<manualpage metafile="perf-scaling.xml.meta">
<parentdocument href="./">Miscellaneous Documentation</parentdocument>
-
+
<title>Performance Scaling</title>
-
+
<summary>
-
- <p>The Performance Tuning page in the Apache 1.3 documentation says:
+
+ <p>The Performance Tuning page in the Apache 1.3 documentation says:
</p>
<blockquote><p>
"Apache is a general webserver, which is designed to be
@@ -44,16 +44,16 @@
The classic brochureware site is alive and well, but the web has
grown up substantially as a computing application platform and
webmasters may find themselves running dynamic content in Perl, PHP
- or Java, all of which take a toll on performance.
+ or Java, all of which take a toll on performance.
</p>
<p>Therefore, in spite of strides forward in machine speed and
bandwidth allowances, web server performance and web application
performance remain areas of concern. In this documentation several
- aspects of web server performance will be discussed.
+ aspects of web server performance will be discussed.
</p>
-
+
</summary>
-
+
<section id="what-will-and-will-not-be-discussed">
<title>What Will and Will Not Be Discussed
</title>
@@ -65,11 +65,11 @@
server hardware, so the existing infrastructure will have to do the
job. You have no desire to compile your own Apache, or to recompile
the operating system kernel. We do assume, though, that you have
- some familiarity with the Apache httpd configuration file.
+ some familiarity with the Apache httpd configuration file.
</p>
-
+
</section>
-
+
<section id="monitoring-your-server">
<title>Monitoring Your Server
</title>
@@ -77,15 +77,15 @@
find out how your system is currently performing. By monitoring
your server under real-world load, or artificially generated load,
you can extrapolate its behavior under stress, such as when your
- site is mentioned on Slashdot.
+ site is mentioned on Slashdot.
</p>
-
-
+
+
<section id="monitoring-tools">
<title>Monitoring Tools
</title>
-
-
+
+
<section id="top">
<title>top
</title>
@@ -102,9 +102,9 @@
ID, priority and nice values, memory footprint, and
percentage CPU usage. The following example shows multiple
httpd processes (with MPM worker and event) running on an
- Linux (Xen) system:
+ Linux (Xen) system:
</p>
-
+
<example><pre>
top - 23:10:58 up 71 days, 6:14, 4 users, load average: 0.25, 0.53, 0.47
Tasks: 163 total, 1 running, 162 sleeping, 0 stopped, 0 zombie
@@ -139,7 +139,7 @@ Swap: 4194296k total, 860584k used, 3333712k free, 1157552k cached
68 root 15 -5 0 0 0 S 0 0.0 0:06.28 kblockd/0
69 root 15 -5 0 0 0 S 0 0.0 0:00.04 kblockd/1
70 root 15 -5 0 0 0 S 0 0.0 0:00.04 kblockd/2</pre></example>
-
+
<p>Top is a wonderful tool even though it's slightly resource
intensive (when running, its own process is usually in the
top ten CPU gluttons). It is indispensable in determining
@@ -147,7 +147,7 @@ Swap: 4194296k total, 860584k used, 3333712k free, 1157552k cached
determining how many server processes you can run on your
machine. How to do this is described in <a href="#sizing-maxClients">sizing MaxClients</a>.
Top is, however, an interactive tool and running it
- continuously has few if any advantages.
+ continuously has few if any advantages.
</p>
</section>
<section id="free">
@@ -159,9 +159,9 @@ Swap: 4194296k total, 860584k used, 3333712k free, 1157552k cached
both with and without this cache. The free command can be
used to find out how much memory the operating system is
using, as described in the paragraph <a href="#sizing-maxClients">sizing MaxClients</a>.
- The output of free looks like this:
+ The output of free looks like this:
</p>
-
+
<example><pre>
sctemme@brutus:~$ free
total used free shared buffers cached
@@ -170,7 +170,7 @@ Mem: 4026028 3901892 124136 0 253144 841044
Swap: 3903784 12540 3891244
</pre></example>
</section>
-
+
<section id="vmstat">
<title>vmstat
</title>
@@ -185,13 +185,13 @@ Swap: 3903784 12540 3891244
much memory is swapped in and out each second, the number
of processes currently running and sleeping, the number of
interrupts and context switches per second and the usage
- percentages of the CPU.
+ percentages of the CPU.
</p>
<p>
- The following is <code>vmstat</code> output of an idle server:
+ The following is <code>vmstat</code> output of an idle server:
</p>
-
-
+
+
<example><pre>
[sctemme@GayDeceiver sctemme]$ vmstat 5 3
procs memory swap io system cpu
@@ -200,11 +200,11 @@ Swap: 3903784 12540 3891244
0 0 0 0 186244 6696 37516 0 0 0 16 41 314 0 0 100
0 0 0 0 186236 6704 37516 0 0 0 9 44 314 0 0 100
</pre></example>
-
+
<p>And this is output of a server that is under a load of one
- hundred simultaneous connections fetching static content:
+ hundred simultaneous connections fetching static content:
</p>
-
+
<example><pre>
[sctemme@GayDeceiver sctemme]$ vmstat 5 3
procs memory swap io system cpu
@@ -213,14 +213,14 @@ Swap: 3903784 12540 3891244
6 0 1 0 163280 6856 40248 0 0 0 66 6384 1117 42 25 32
11 0 0 0 162780 6864 40436 0 0 0 61 6309 1165 33 28 40
</pre></example>
-
+
<p>The first line gives averages since the last reboot. The
subsequent lines give information for five second
intervals. The second argument tells vmstat to generate
- three reports and then exit.
+ three reports and then exit.
</p>
-
-
+
+
</section>
<section id="se-toolkit">
<title>SE Toolkit
@@ -234,7 +234,7 @@ Swap: 3903784 12540 3891244
orange or red indicators when utilization of various parts
of the system rises above certain thresholds. Another
included script, Virtual Adrian, applies performance tuning
- metrics according to.
+ metrics according to.
</p>
<p>The SE Toolkit has drifted around for a while and has had
several owners since its inception. It seems that it has
@@ -244,20 +244,20 @@ Swap: 3903784 12540 3891244
code. SE Toolkit author Richard Pettit has started a new
company, Captive Metrics4 that plans to bring to market a
multiplatform monitoring tool built on the same principles
- as SE Toolkit, written in Java.
+ as SE Toolkit, written in Java.
</p>
-
-
+
+
</section>
<section id="dtrace">
<title>DTrace
</title>
<p>Given that DTrace is available for Solaris, FreeBSD and OS
X, it might be worth exploring it. There's also
- mod_dtrace available for httpd.
+ mod_dtrace available for httpd.
</p>
-
-
+
+
</section>
<section id="mod_status">
<title>mod_status
@@ -273,10 +273,10 @@ Swap: 3903784 12540 3891244
directive in your <code>httpd.conf</code>,
the <module>mod_status</module>
page will give you more information at the cost of a little
- extra work per request.
+ extra work per request.
</p>
-
-
+
+
</section>
</section>
<section id="web-server-log-files">
@@ -291,10 +291,10 @@ Swap: 3903784 12540 3891244
from. Historical log file data can give you invaluable insight
into trends in access to your server, which allows you to
predict when your performance needs will overtake your server
- capacity.
+ capacity.
</p>
-
-
+
+
<section id="ErrorLog">
<title>Error Log
</title>
@@ -307,7 +307,7 @@ Swap: 3903784 12540 3891244
redirected to the error logfile, so any error encountered
by httpd after it opens its logfiles will appear in this
log. This makes it good practice to review the error log
- frequently.
+ frequently.
</p>
<p>Before Apache httpd opens its logfiles, any errors will be
written to the stderr stream. If you start httpd manually,
@@ -319,7 +319,7 @@ Swap: 3903784 12540 3891244
file is usually a good bet. On Windows, early error
messages are written to the Applications Event Log, which
can be viewed through the Event Viewer in Administrative
- Tools.
+ Tools.
</p>
<p>
The Error Log is configured through the <directive module="core">ErrorLog</directive>
@@ -331,7 +331,7 @@ Swap: 3903784 12540 3891244
directive can also be used in virtual host containers. The
error log of a virtual host receives only log messages
specific to that virtual host, such as authentication
- failures and 'File not Found' errors.
+ failures and 'File not Found' errors.
</p>
<p>On a server that is visible to the Internet, expect to see a
lot of exploit attempt and worm attacks in the error log. A
@@ -341,12 +341,12 @@ Swap: 3903784 12540 3891244
port, regardless of which server is actually running or
what applications might be installed. You could block these
attempts using a firewall or <a href="http://www.modsecurity.org/">mod_security</a>,
- but this falls outside the scope of this discussion.
+ but this falls outside the scope of this discussion.
</p>
<p>
The <directive module="core">LogLevel</directive>
directive determines the level of detail included in the
- logs. There are eight log levels as described here:
+ logs. There are eight log levels as described here:
</p>
<table>
<tr>
@@ -426,19 +426,19 @@ Swap: 3903784 12540 3891244
not be run on debug, but increasing the level of detail in
the error log can be useful during troubleshooting.
Starting with 2.3.8 <directive module="core">LogLevel</directive>
- can be specified on a per module basis:
+ can be specified on a per module basis:
</p>
-
+
<highlight language="config">
LogLevel debug mod_ssl:warn
</highlight>
-
+
<p>
This puts all of the server in debug mode, except for
- <module>mod_ssl</module>, which tends to be very noisy.
+ <module>mod_ssl</module>, which tends to be very noisy.
</p>
-
-
+
+
</section>
<section id="AccessLog">
<title>Access Log
@@ -451,7 +451,7 @@ Swap: 3903784 12540 3891244
manual. This file exists by default for the main server and can be
configured per virtual host by using the <directive module="mod_log_config">TransferLog</directive>
or <directive module="mod_log_config">CustomLog</directive>
- configuration directive.
+ configuration directive.
</p>
<p>The access logs can be analyzed with any of several free and
commercially available programs. Popular free analysis
@@ -459,10 +459,10 @@ Swap: 3903784 12540 3891244
be done offline so the web server machine is not burdened
by processing the log files. Most log analysis packages
understand the Common Log Format. The fields in the log
- lines are explained in in the following:
+ lines are explained in in the following:
</p>
-
-
+
+
<example><pre>
195.54.228.42 - - [24/Mar/2007:23:05:11 -0400] "GET /sander/feed/ HTTP/1.1" 200 9747
64.34.165.214 - - [24/Mar/2007:23:10:11 -0400] "GET /sander/feed/atom HTTP/1.1" 200 9068
@@ -472,7 +472,7 @@ Swap: 3903784 12540 3891244
74.6.72.187 - - [24/Mar/2007:23:18:11 -0400] "GET /sander/2006/09/27/44/ HTTP/1.0" 200 14172
74.6.72.229 - - [24/Mar/2007:23:24:22 -0400] "GET /sander/2006/11/21/os-java/ HTTP/1.0" 200 13457
</pre></example>
-
+
<table>
<tr>
<td>
@@ -563,7 +563,7 @@ Swap: 3903784 12540 3891244
</td>
</tr>
</table>
-
+
</section>
<section id="rotating-log-files">
<title>Rotating Log Files
@@ -575,17 +575,17 @@ Swap: 3903784 12540 3891244
file analysis should not be performed on files to which the
server is actively writing. Periodic logfile rotation helps
keep the analysis job manageable, and allows you to keep a
- closer eye on usage trends.
+ closer eye on usage trends.
</p>
<p>On unix systems, you can simply rotate logfiles by giving
the old file a new name using mv. The server will keep
writing to the open file even though it has a new name.
When you send a graceful restart signal to the server, it
will open a new logfile with the configured name. For
- example, you could run a script from cron like this:
+ example, you could run a script from cron like this:
</p>
-
-
+
+
<example>
APACHE=/usr/local/apache2<br />
HTTPD=$APACHE/bin/httpd<br />
@@ -593,7 +593,7 @@ Swap: 3903784 12540 3891244
$APACHE/logarchive/access_log-`date +%F`<br />
$HTTPD -k graceful
</example>
-
+
<p>This approach also works on Windows, just not as smoothly.
While the httpd process on your Windows server will keep
writing to the log file after it has been renamed, the
@@ -607,7 +607,7 @@ Swap: 3903784 12540 3891244
Windows Service has to perform will interrupt any requests
currently in progress, and the server is unavailable until
it is started again. Plan for this when you decide the
- timing of your restarts.
+ timing of your restarts.
</p>
<p>
A second approach is to use piped logs. From the
@@ -616,13 +616,13 @@ Swap: 3903784 12540 3891244
or <directive module="core">ErrorLog
</directive>
directives you can send the log data into any program using
- a pipe character (<code>|</code>). For instance:
+ a pipe character (<code>|</code>). For instance:
</p>
-
+
<example>CustomLog "|/usr/local/apache2/bin/rotatelogs
/var/log/access_log 86400" common
</example>
-
+
<p>The program on the other end of the pipe will receive the
Apache log data on its stdin stream, and can do with this
data whatever it wants. The rotatelogs program that comes
@@ -630,10 +630,10 @@ Swap: 3903784 12540 3891244
time elapsed or the amount of data written, and leaves the
old log files with a timestamp suffix to its name. This
method for rotating logfiles works well on unix platforms,
- but is currently broken on Windows.
+ but is currently broken on Windows.
</p>
-
-
+
+
</section>
<section id="logging-and-performance">
<title>Logging and Performance
@@ -646,7 +646,7 @@ Swap: 3903784 12540 3891244
the server log files: the access patterns are very
different. Retrieving content from disk is a read operation
in a fairly random pattern, and log files are written to
- disk sequentially.
+ disk sequentially.
</p>
<p>
Do not run a production server with your error <directive module="core">LogLevel</directive>
@@ -654,7 +654,7 @@ Swap: 3903784 12540 3891244
information to be written to the error log, including, in
the case of SSL access, complete dumps of BIO read and
write operations. The performance implications are
- significant: use the default warn level instead.
+ significant: use the default warn level instead.
</p>
<p>If your server has more than one virtual host, you may give
each virtual host a separate access logfile. This makes it
@@ -675,10 +675,10 @@ Swap: 3903784 12540 3891244
directive to have Apache collect several log lines in
memory before writing them to disk. This might yield better
performance, but could affect the order in which the
- server's log is written.
+ server's log is written.
</p>
-
-
+
+
</section>
</section>
<section id="generating-a-test-load">
@@ -688,7 +688,7 @@ Swap: 3903784 12540 3891244
performance under realistic operating circumstances. Besides
commercial packages such as <a href="http://learnloadrunner.com/">LoadRunner</a>
,there are a number of freely available tools to generate a
- test load against your web server.
+ test load against your web server.
</p>
<ul>
<li>Apache ships with a test program called ab, short for
@@ -696,20 +696,20 @@ Swap: 3903784 12540 3891244
repeatedly asking for the same file in rapid succession.
You can specify a number of concurrent connections and have
the program run for either a given amount of time or a
- specified number of requests.
+ specified number of requests.
</li>
<li>Another freely available load generator is http load11 .
This program works with a URL file and can be compiled with
- SSL support.
+ SSL support.
</li>
<li>The Apache Software Foundation offers a tool named flood12
. Flood is a fairly sophisticated program that is
- configured through an XML file.
+ configured through an XML file.
</li>
<li>Finally, JMeter13 , a Jakarta subproject, is an all-Java
load-testing tool. While early versions of this application
were slow and difficult to use, the current version 2.1.1
- seems to be versatile and useful.
+ seems to be versatile and useful.
</li>
<li>
<p>ASF external projects, that have proven to be quite
@@ -722,15 +722,15 @@ Swap: 3903784 12540 3891244
affect the server's response. Also, any data traffic you
generate may be charged against your monthly traffic allowance.
</p>
-
-
+
+
</section>
</section>
<section id="configuring-for-performance">
<title>Configuring for Performance
</title>
-
-
+
+
<section id="apache-configuration">
<title>Httpd Configuration
</title>
@@ -748,7 +748,7 @@ Swap: 3903784 12540 3891244
multiple request handling threads within each child process. In
2.4 MPMs are no longer hard-wired. They too can be exchanged
via <directive module="mod_so">LoadModule</directive>.
- The default MPM in 2.4 is the event MPM.
+ The default MPM in 2.4 is the event MPM.
</p>
<p>The maximum number of workers, be they pre-forked child
processes or threads within a process, is an indication of how
@@ -758,7 +758,7 @@ Swap: 3903784 12540 3891244
the maximum number of workers is running, the machine
doesn't hit a hard limit beyond which clients will be
denied access. However, once requests start backing up, system
- performance is likely to degrade.
+ performance is likely to degrade.
</p>
<p>Finally, if the httpd server in question is not executing any third-party
code, via <code>mod_php</code>, <code>mod_perl</code> or similar,
@@ -766,8 +766,8 @@ Swap: 3903784 12540 3891244
for situations where httpd serves as a thin layer between clients and
backend servers doing the real job, such as a proxy or cache.
</p>
-
-
+
+
<section id="MaxClients">
<title>MaxClients
</title>
@@ -784,10 +784,10 @@ Swap: 3903784 12540 3891244
number of processes is configurable through the <code>
ServerLimit
</code>
- directive.
+ directive.
</p>
-
-
+
+
</section>
<section id="spinning-threads">
<title>Spinning Threads
@@ -809,8 +809,8 @@ Swap: 3903784 12540 3891244
value downwards until it is an even factor of
<code>MaxClients</code>.
</p>
-
-
+
+
</section>
<section id="sizing-maxClients">
<title>Sizing MaxClients
@@ -820,16 +820,16 @@ Swap: 3903784 12540 3891244
your system gets so overloaded that it needs to heavily
swap core memory out to disk, performance will degrade
quickly. The formula for determining <directive module="mpm_common" name="MaxRequestWorkers">MaxClients</directive>
- is fairly simple:
+ is fairly simple:
</p>
-
+
<example>
total RAM - RAM for OS - RAM for external programs<br />
MaxClients =
-------------------------------------------------------<br />
RAM per httpd process
</example>
-
+
<p>The various amounts of memory allocated for the OS, external
programs and the httpd processes is best determined by
observation: use the top and free commands described above
@@ -837,7 +837,7 @@ Swap: 3903784 12540 3891244
server running. You can also determine the footprint of a
typical web server process from top: most top
implementations have a Resident Size (RSS) column and a
- Shared Memory column.
+ Shared Memory column.
</p>
<p>The difference between these two is the amount of memory
per-process. The shared segment really exists only once and
@@ -847,7 +847,7 @@ Swap: 3903784 12540 3891244
depends heavily on the number and kind of modules you use.
The best approach to use in determining this need is to
generate a typical test load against your web site and see
- how large the httpd processes become.
+ how large the httpd processes become.
</p>
<p>The RAM for external programs parameter is intended mostly
for CGI programs and scripts that run outside the web
@@ -867,10 +867,10 @@ Swap: 3903784 12540 3891244
to fork additional child processes, so a higher <code>
MaxClients
</code>
- value may actually be a disadvantage.
+ value may actually be a disadvantage.
</p>
-
-
+
+
</section>
<section id="selecting-your-mpm">
<title>Selecting your MPM
@@ -885,7 +885,7 @@ Swap: 3903784 12540 3891244
sense. On Linux, the threading implementation actually uses
one process for each thread. Linux processes are relatively
lightweight, but it means that a threaded MPM offers less
- of a performance advantage than in other environments.
+ of a performance advantage than in other environments.
</p>
<p>Running a threaded MPM can cause stability problems in some
situations For instance, should a child process of a
@@ -904,10 +904,10 @@ Swap: 3903784 12540 3891244
cannot guarantee that all of these are thread-safe. The
good news is that if you are running Apache on Linux, you
can run PHP in the preforked MPM without fear of losing too
- much performance relative to the threaded option.
+ much performance relative to the threaded option.
</p>
-
-
+
+
</section>
<section id="spinning-locks">
<title>Spinning Locks
@@ -929,10 +929,10 @@ Swap: 3903784 12540 3891244
this time, the parent process may decide to terminate some
children based on its <code>MaxSpareServers
</code>
- directive.
+ directive.
</p>
-
-
+
+
</section>
<section id="the-thundering-herd">
<title>The Thundering Herd
@@ -940,7 +940,7 @@ Swap: 3903784 12540 3891244
<p>The function of the 'accept mutex' (as this
inter-process lock is called) is to keep request reception
moving along in an orderly fashion. If the lock is absent,
- the server may exhibit the Thundering Herd syndrome.
+ the server may exhibit the Thundering Herd syndrome.
</p>
<p>Consider an American Football team poised on the line of
scrimmage. If the football players were Apache processes
@@ -949,7 +949,7 @@ Swap: 3903784 12540 3891244
would have to lumber back to the line for the next snap. In
this metaphor, the accept mutex acts as the quarterback,
delivering the connection &quot;ball&quot; to the
- appropriate player process.
+ appropriate player process.
</p>
<p>Moving this much information around is obviously a lot of
work, and, like a smart person, a smart web server tries to
@@ -962,7 +962,7 @@ Swap: 3903784 12540 3891244
refrain from using an accept mutex. If you run with
multiple listeners (for instance because you have a virtual
host serving SSL requests), it will activate the accept
- mutex to avoid internal conflicts.
+ mutex to avoid internal conflicts.
</p>
<p>
You can manipulate the accept mutex with the <code>
@@ -974,15 +974,15 @@ Swap: 3903784 12540 3891244
all are available on every platform, and their availability
also depends on compile-time settings. The various locking
mechanisms may place specific demands on system resources:
- manipulate them with care.
+ manipulate them with care.
</p>
<p>There is no compelling reason to disable the accept mutex.
Apache automatically recognizes the single listener
situation described above and knows if it is safe to run
- without mutex on your platform.
+ without mutex on your platform.
</p>
-
-
+
+
</section>
</section>
<section id="tuning-the-operating-system">
@@ -994,10 +994,10 @@ Swap: 3903784 12540 3891244
are pretty well adjusted straight out of the box and there is
not a lot that needs to be done to make them perform optimally.
However, there are a few things that an administrator can do to
- improve performance.
+ improve performance.
</p>
-
-
+
+
<section id="ram-and-swap-space">
<title>RAM and Swap Space
</title>
@@ -1010,7 +1010,7 @@ Swap: 3903784 12540 3891244
virtual hosts-also tends to inflate the process footprint.
Having ample RAM allows you to run Apache with more child
processes, which allows the server to process more
- concurrent requests.
+ concurrent requests.
</p>
<p>While the various platforms treat their virtual memory in
different ways, it is never a good idea to run with less
@@ -1019,7 +1019,7 @@ Swap: 3903784 12540 3891244
don't have disk space available and run out of
swappable memory, your machine grinds to a halt. This can
crash your box, requiring a physical reboot for which your
- hosting facility may charge you.
+ hosting facility may charge you.
</p>
<p>Also, such an outage naturally occurs when you least want
it: when the world has found your website and is beating a
@@ -1029,7 +1029,7 @@ Swap: 3903784 12540 3891244
and back, but when the load decreases the system should
recover. Remember, you still have <code>MaxClients
</code>
- to keep things in hand.
+ to keep things in hand.
</p>
<p>Most unix-like operating systems use designated disk
partitions for swap space. When a system starts up it finds
@@ -1040,7 +1040,7 @@ Swap: 3903784 12540 3891244
installing the operating system, be sure to allocate enough
swap space to accommodate eventual RAM upgrades.
Reassigning disk space on a running system is a cumbersome
- process.
+ process.
</p>
<p>Plan for available hard drive swap space of at least twice
your amount of RAM, perhaps up to four times in situations
@@ -1054,29 +1054,29 @@ Swap: 3903784 12540 3891244
</code>
or <code>swap
</code>
- programs.
+ programs.
</p>
-
-
+
+
</section>
<section id="ulimit-files-and-processes">
<title>ulimit: Files and Processes
</title>
<p>Given a machine with plenty of RAM and processor capacity,
you can run hundreds of Apache processes if necessary. . .
- and if your kernel allows it.
+ and if your kernel allows it.
</p>
<p>Consider a situation in which several hundred web servers
are running; if some of these need to spawn CGI processes,
- the maximum number of processes would occur quickly.
+ the maximum number of processes would occur quickly.
</p>
- <p>However, you can change this limit with the command
+ <p>However, you can change this limit with the command
</p>
-
+
<example>
ulimit [-H|-S] -u [newvalue]
</example>
-
+
<p>This must be changed before starting the server, since the
new value will only be available to the current shell and
programs started from it. In newer Linux kernels the
@@ -1090,28 +1090,28 @@ Swap: 3903784 12540 3891244
</code>
:
</p>
-
+
<example>
limit [-h] maxproc [newvalue]
</example>
-
+
<p>Similarly, the kernel may limit the number of open files per
process. This is generally not a problem for pre-forked
servers, which just handle one request at a time per
process. Threaded servers, however, serve many requests per
process and much more easily run out of available file
descriptors. You can increase the maximum number of open
- files per process by running the
+ files per process by running the
</p>
-
+
<example>ulimit -n [newvalue]
</example>
-
+
<p>command. Once again, this must be done prior to starting
- Apache.
+ Apache.
</p>
-
-
+
+
</section>
<section id="setting-user-limits-on-system-startup">
<title>Setting User Limits on System Startup
@@ -1124,15 +1124,15 @@ Swap: 3903784 12540 3891244
explaining the options. To enable this, make sure that the
file <code>/etc/pam.d/login
</code>
- contains the line
+ contains the line
</p>
-
+
<example>session required /lib/security/pam_limits.so
</example>
-
+
<p>All items can have a 'soft' and a 'hard'
limit: the first is the default setting and the second the
- maximum value for that item.
+ maximum value for that item.
</p>
<p>
In FreeBSD's <code>/etc/login.conf
@@ -1148,27 +1148,27 @@ Swap: 3903784 12540 3891244
boot time. These are the same tunables that can be set with
the <code>mdb</code>
kernel debugger during run time. The soft and hard limit
- corresponding to ulimit -u can be set via:
+ corresponding to ulimit -u can be set via:
</p>
-
+
<example>
set rlim_fd_max=65536<br />
set rlim_fd_cur=2048
</example>
-
+
<p>Solaris calculates the maximum number of allowed processes
per user (<code>maxuprc</code>) based on the total amount
available memory on the system (<code>maxusers</code>).
- You can review the numbers with
+ You can review the numbers with
</p>
-
+
<example>sysdef -i | grep maximum
</example>
-
- <p>but it is not recommended to change them.
+
+ <p>but it is not recommended to change them.
</p>
-
-
+
+
</section>
<section id="turn-off-unused-services-and-modules">
<title>Turn Off Unused Services and Modules
@@ -1177,19 +1177,19 @@ Swap: 3903784 12540 3891244
services turned on by default. You probably need few of
them. For example, your web server does not need to be
running sendmail, nor is it likely to be an NFS server,
- etc. Turn them off.
+ etc. Turn them off.
</p>
<p>On Red Hat Linux, the chkconfig tool will help you do this
from the command line. On Solaris systems <code>svcs</code>
and <code>svcadm</code>
will show which services are enabled and disable them
- respectively.
+ respectively.
</p>
<p>In a similar fashion, cast a critical eye on the Apache
modules you load. Most binary distributions of Apache
httpd, and pre-installed versions that come with Linux
distributions, have their modules enabled through the
- <directive>LoadModule</directive> directive.
+ <directive>LoadModule</directive> directive.
</p>
<p>Unused modules may be culled: if you don't rely on
their functionality and configuration directives, you can
@@ -1198,10 +1198,10 @@ Swap: 3903784 12540 3891244
lines. Read the documentation on each module's
functionality before deciding whether to keep it enabled.
While the performance overhead of an unused module is
- small, it's also unnecessary.
+ small, it's also unnecessary.
</p>
-
-
+
+
</section>
</section>
</section>
@@ -1213,7 +1213,7 @@ Swap: 3903784 12540 3891244
Static content consists of simple filespages, images, etc.-on disk
that are very efficiently served. Many operating systems also
automatically cache the contents of frequently accessed files in
- memory.
+ memory.
</p>
<p>Processing dynamic requests, on the contrary, can be much more
involved. Running CGI scripts, handing off requests to an external
@@ -1221,10 +1221,10 @@ Swap: 3903784 12540 3891244
significant latency and processing load to a busy web server. Under
many circumstances, performance can be improved by turning popular
dynamic requests into static requests. In this section, two
- approaches to this will be discussed.
+ approaches to this will be discussed.
</p>
-
-
+
+
<section id="making-popular-pages-static">
<title>Making Popular Pages Static
</title>
@@ -1238,34 +1238,34 @@ Swap: 3903784 12540 3891244
they are served the pre-rendered page. Queries for, say, yellow
roses will be generated directly from the database. The
mod_rewrite module included with Apache is a great tool to
- implement these substitutions.
+ implement these substitutions.
</p>
-
-
+
+
<section id="example-a-statically-rendered-blog">
<title>Example: A Statically Rendered Blog
</title>
<!--we should provide a more useful example here.
One showing how to make Wordpress or Drupal suck less. -->
-
+
<p>Blosxom is a lightweight web log package that runs as a CGI.
It is written in Perl and uses plain text files for entry
input. Besides running as CGI, Blosxom can be run from the
command line to pre-render blog pages. Pre-rendering pages
to static HTML can yield a significant performance boost in
the event that large numbers of people actually start
- reading your blog.
+ reading your blog.
</p>
<p>To run blosxom for static page generation, edit the CGI
script according to the documentation. Set the $static dir
variable to the <directive>DocumentRoot</directive>
of the web server, and run the script from the command line
- as follows:
+ as follows:
</p>
-
+
<example>$ perl blosxom.cgi -password='whateveryourpassword'
</example>
-
+
<p>This can be run periodically from Cron, after you upload
content, etc. To make Apache substitute the statically
rendered pages for the dynamic content, we'll use
@@ -1275,9 +1275,9 @@ Swap: 3903784 12540 3891244
to the configure command. Many binary distributions of
Apache come with <module>mod_rewrite </module> included. The following is an
example of an Apache virtual host that takes advantage of
- pre-rendered blog pages:
+ pre-rendered blog pages:
</p>
-
+
<highlight language="config">
Listen *:8001
&lt;VirtualHost *:8001&gt;
@@ -1288,11 +1288,11 @@ Listen *:8001
Options +Indexes
Require all granted
RewriteEngine on
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ /cgi-bin/blosxom.cgi/$1 [L,QSA]
+ RewriteCond "%{REQUEST_FILENAME}" "!-f"
+ RewriteCond "%{REQUEST_FILENAME}" "!-d"
+ RewriteRule "^(.*)$" "/cgi-bin/blosxom.cgi/$1" [L,QSA]
&lt;/Directory&gt;
- RewriteLog /home/sctemme/inst/blog/httpd/logs/rewrite_log
+ RewriteLog "/home/sctemme/inst/blog/httpd/logs/rewrite_log"
RewriteLogLevel 9
ErrorLog /home/sctemme/inst/blog/httpd/logs/error_log
LogLevel debug
@@ -1304,7 +1304,7 @@ Listen *:8001
&lt;/Directory&gt;
&lt;/VirtualHost&gt;
</highlight>
-
+
<p>
The <directive>RewriteCond</directive>
and <directive>RewriteRule</directive>
@@ -1321,10 +1321,10 @@ Listen *:8001
hides the Blosxom CGI from the user-visible URL in their
Location bar. mod_rewrite is a fantastically powerful and
versatile module: investigate it to arrive at a
- configuration that is best for your situation.
+ configuration that is best for your situation.
</p>
-
-
+
+
</section>
</section>
<section id="caching-content-with-mod_cache">
@@ -1341,12 +1341,12 @@ Listen *:8001
server systems will have more disk available than memory, and
it's good to note that some operating system kernels cache
frequently accessed disk content transparently in memory, so
- replicating this in the server is not very useful.
+ replicating this in the server is not very useful.
</p>
<p>To enable efficient content caching and avoid presenting the
user with stale or invalid content, the application that
generates the actual content has to send the correct response
- headers. Without headers like <code>Etag:</code>,
+ headers. Without headers like <code>Etag:</code>,
<code>Last-Modified:</code> or <code>Expires:</code>,
<module>mod_cache</module> can not make the right decision on whether to cache
the content, serve it from cache or leave it alone. When
@@ -1357,10 +1357,10 @@ Listen *:8001
option <code>--enable-cache[=shared]</code>
to the configure script. If you use a binary distribution of
Apache httpd, or it came with your port or package collection,
- it may have <module>mod_cache</module> already included.
+ it may have <module>mod_cache</module> already included.
</p>
-
-
+
+
<section id="example-wiki">
<title>Example: wiki.apache.org
</title>
@@ -1384,7 +1384,7 @@ Listen *:8001
enabled with the following configuration snippet in
<code>httpd.conf</code>:
</p>
-
+
<highlight language="config">
CacheRoot /raid1/cacheroot
CacheEnable disk /
@@ -1393,7 +1393,7 @@ CacheLastModifiedFactor .1
# Always check again after 6 hours
CacheMaxExpire 21600
</highlight>
-
+
<p>This configuration will try to cache any and all content
within its virtual host. It will never cache content for
more than six hours (the <directive module="mod_cache">CacheMaxExpire</directive>
@@ -1403,7 +1403,7 @@ CacheMaxExpire 21600
header. The computation using <directive module="mod_cache">CacheLastModifiedFactor</directive>
is based on the assumption that if a page was recently
modified, it is likely to change again in the near future
- and will have to be re-cached.
+ and will have to be re-cached.
</p>
<p>
Do note that it can pay off to <em>disable</em>
@@ -1416,21 +1416,21 @@ CacheMaxExpire 21600
TCP packet). For resources larger than 1k it might prove
CPU expensive to calculate the header for each request.
Unfortunately there does currently not exist a way to cache
- these headers.
+ these headers.
</p>
<highlight language="config">
&lt;FilesMatch "\.(jpe?g|png|gif|js|css|x?html|xml)"&gt;
FileETag None
&lt;/FilesMatch&gt;
</highlight>
-
+
<p>
This will disable the generation of the <code>ETag:</code>
header for most static resources. The server does not
- calculate these headers for dynamic resources.
+ calculate these headers for dynamic resources.
</p>
-
-
+
+
</section>
</section>
</section>
diff --git a/docs/manual/misc/perf-tuning.html.en b/docs/manual/misc/perf-tuning.html.en
index b698fd0550..7ad5e2e7d5 100644
--- a/docs/manual/misc/perf-tuning.html.en
+++ b/docs/manual/misc/perf-tuning.html.en
@@ -405,10 +405,10 @@
one connection at a time. Worker generally is a good
choice for high-traffic servers because it has a smaller
memory footprint than the prefork MPM.</li>
-
- <li>The <code class="module"><a href="../mod/event.html">event</a></code> MPM is threaded like the
- Worker MPM, but is designed to allow more requests to be
- served simultaneously by passing off some processing work
+
+ <li>The <code class="module"><a href="../mod/event.html">event</a></code> MPM is threaded like the
+ Worker MPM, but is designed to allow more requests to be
+ served simultaneously by passing off some processing work
to supporting threads, freeing up the main threads to work
on new requests.</li>
@@ -612,7 +612,7 @@
<strong>accept_mutex_on ();</strong>
for (;;) {
fd_set accept_fds;
-
+
FD_ZERO (&amp;accept_fds);
for (i = first_socket; i &lt;= last_socket; ++i) {
FD_SET (i, &amp;accept_fds);
@@ -742,7 +742,7 @@
<pre class="prettyprint lang-c"> void lingering_close (int s)
{
char junk_buffer[2048];
-
+
/* shutdown the sending side */
shutdown (s, 1);
@@ -759,7 +759,7 @@
/* just toss away whatever is here */
}
}
-
+
close (s);
}</pre>
diff --git a/docs/manual/misc/perf-tuning.xml.fr b/docs/manual/misc/perf-tuning.xml.fr
index 6825728c6e..00b64541d2 100644
--- a/docs/manual/misc/perf-tuning.xml.fr
+++ b/docs/manual/misc/perf-tuning.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1379836:1673917 (outdated) -->
+<!-- English Revision: 1379836:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/misc/perf-tuning.xml.ko b/docs/manual/misc/perf-tuning.xml.ko
index 293913b33f..4f4b05fb9a 100644
--- a/docs/manual/misc/perf-tuning.xml.ko
+++ b/docs/manual/misc/perf-tuning.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1673917 (outdated) -->
+<!-- English Revision: 105989:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/misc/perf-tuning.xml.tr b/docs/manual/misc/perf-tuning.xml.tr
index 035344ead8..3941fd294d 100644
--- a/docs/manual/misc/perf-tuning.xml.tr
+++ b/docs/manual/misc/perf-tuning.xml.tr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1174747:1673917 (outdated) -->
+<!-- English Revision: 1174747:1673932 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/misc/security_tips.html.en b/docs/manual/misc/security_tips.html.en
index b3da0c96cf..c07be4157c 100644
--- a/docs/manual/misc/security_tips.html.en
+++ b/docs/manual/misc/security_tips.html.en
@@ -130,7 +130,7 @@
<li>The use of a threaded <a href="../mpm.html">mpm</a> may
allow you to handle more simultaneous connections, thereby
- mitigating DoS attacks. Further, the
+ mitigating DoS attacks. Further, the
<code class="module"><a href="../mod/event.html">event</a></code> mpm
uses asynchronous processing to avoid devoting a thread to each
connection. Due to the nature of the OpenSSL library the
@@ -452,10 +452,10 @@
directive specific. Always test your changes when creating dependencies
on how directives are merged.</p>
- <p> For modules that don't implement any merging logic, such as
+ <p> For modules that don't implement any merging logic, such as
<code class="directive">mod_access_compat</code>, the behavior in later sections
depends on whether the later section has any directives
- from the module. The configuration is inherited until a change is made,
+ from the module. The configuration is inherited until a change is made,
at which point the configuration is <em>replaced</em> and not merged.</p>
</div></div>
<div class="bottomlang">
diff --git a/docs/manual/misc/security_tips.xml.fr b/docs/manual/misc/security_tips.xml.fr
index 77f6513f81..200ed289cf 100644
--- a/docs/manual/misc/security_tips.xml.fr
+++ b/docs/manual/misc/security_tips.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1657687:1673892 (outdated) -->
+<!-- English Revision: 1657687:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/misc/security_tips.xml.ko b/docs/manual/misc/security_tips.xml.ko
index 96b078e46a..c2a52723ac 100644
--- a/docs/manual/misc/security_tips.xml.ko
+++ b/docs/manual/misc/security_tips.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1673892 (outdated) -->
+<!-- English Revision: 105989:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/misc/security_tips.xml.tr b/docs/manual/misc/security_tips.xml.tr
index 3ed8268c22..5bffcb774c 100644
--- a/docs/manual/misc/security_tips.xml.tr
+++ b/docs/manual/misc/security_tips.xml.tr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1300924:1673892 (outdated) -->
+<!-- English Revision: 1300924:1673932 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/mod/core.html.en b/docs/manual/mod/core.html.en
index 1f60fc16d9..7ff7cc614c 100644
--- a/docs/manual/mod/core.html.en
+++ b/docs/manual/mod/core.html.en
@@ -3192,8 +3192,8 @@ resource </td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
</table>
<p>This directive controls whether HTTP trailers are copied into the
- internal representation of HTTP headers. This mergeing occurs when the
- request body has been completely consumed, long after most header
+ internal representation of HTTP headers. This mergeing occurs when the
+ request body has been completely consumed, long after most header
processing would have a chance to examine or modify request headers.</p>
<p>This option is provided for compatibility with releases prior to 2.4.10,
where trailers were always merged.</p>
@@ -3920,7 +3920,7 @@ to name-virtual hosts</td></tr>
(nor for ServerName vs. ServerAlias). </p>
<p>The complete list of names in the <code class="directive">VirtualHost</code>
- directive are treated just like a (non wildcard)
+ directive are treated just like a (non wildcard)
<code class="directive">ServerAlias</code>.</p>
@@ -3966,7 +3966,7 @@ itself</td></tr>
<p>If no <code class="directive">ServerName</code> is specified, then the
server attempts to deduce the client visible hostname by performing a
reverse lookup on an IP address of the systems hostname.</p>
-
+
<p>If no port is specified in the
<code class="directive">ServerName</code>, then the server will use the
port from the incoming request. For optimal reliability and
@@ -4317,7 +4317,7 @@ certain events before failing a request</td></tr>
for an acknowledgement of a packet if the send buffer is
full.</li>
- <li>In <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> and <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>,
+ <li>In <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> and <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>,
the length of time to wait for output from a CGI script.</li>
<li>In <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, the length of time to
diff --git a/docs/manual/mod/core.xml.de b/docs/manual/mod/core.xml.de
index 0034c0e5ae..7ca2417ad3 100644
--- a/docs/manual/mod/core.xml.de
+++ b/docs/manual/mod/core.xml.de
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
-<!-- English Revision: 344972:1673917 (outdated) -->
+<!-- English Revision: 344972:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/core.xml.es b/docs/manual/mod/core.xml.es
index 9acd53faeb..f6a7d827f7 100644
--- a/docs/manual/mod/core.xml.es
+++ b/docs/manual/mod/core.xml.es
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
-<!-- English Revision: 1040494:1673917 (outdated) -->
+<!-- English Revision: 1040494:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/core.xml.fr b/docs/manual/mod/core.xml.fr
index fe87e5dadb..c3ca64d6b6 100644
--- a/docs/manual/mod/core.xml.fr
+++ b/docs/manual/mod/core.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1664071:1673917 (outdated) -->
+<!-- English Revision: 1664071:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/core.xml.ja b/docs/manual/mod/core.xml.ja
index f061198bc8..06cb68e85f 100644
--- a/docs/manual/mod/core.xml.ja
+++ b/docs/manual/mod/core.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 669847:1673917 (outdated) -->
+<!-- English Revision: 669847:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/core.xml.tr b/docs/manual/mod/core.xml.tr
index 90aa2d1ad5..cf31f92f7c 100644
--- a/docs/manual/mod/core.xml.tr
+++ b/docs/manual/mod/core.xml.tr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1302855:1673917 (outdated) -->
+<!-- English Revision: 1302855:1673932 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/mod/mod_access_compat.html.en b/docs/manual/mod/mod_access_compat.html.en
index 9eaf18ffbe..a1ade2a7fa 100644
--- a/docs/manual/mod/mod_access_compat.html.en
+++ b/docs/manual/mod/mod_access_compat.html.en
@@ -72,7 +72,7 @@ have been deprecated by the new authz refactoring. Please see
in a <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> section.</p>
<div class="note"> <h3>Merging of configuration sections</h3>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</div>
@@ -211,7 +211,7 @@ Allow from 2001:db8::a00:20ff:fea7:ccea/10</pre>
others will be denied.</p>
<div class="note"> <h3>Merging of configuration sections</h3>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</div>
@@ -381,7 +381,7 @@ Deny from foo.example.org</pre>
work</a>.</p>
<div class="note"> <h3>Merging of configuration sections</h3>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</div>
@@ -445,7 +445,7 @@ Satisfy Any</pre>
be restricted to particular methods by <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> and <code class="directive"><a href="../mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code> sections.</p>
<div class="note"> <h3>Merging of configuration sections</h3>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</div>
diff --git a/docs/manual/mod/mod_access_compat.xml b/docs/manual/mod/mod_access_compat.xml
index 390bef2380..c16faf2baf 100644
--- a/docs/manual/mod/mod_access_compat.xml
+++ b/docs/manual/mod/mod_access_compat.xml
@@ -71,7 +71,7 @@ have been deprecated by the new authz refactoring. Please see
in a <directive module="core" type="section">Limit</directive> section.</p>
<note> <title>Merging of configuration sections</title>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</note>
@@ -210,7 +210,7 @@ SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
others will be denied.</p>
<note> <title>Merging of configuration sections</title>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</note>
@@ -402,7 +402,7 @@ Deny from foo.example.org
work</a>.</p>
<note> <title>Merging of configuration sections</title>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</note>
@@ -472,7 +472,7 @@ Satisfy Any
>LimitExcept</directive> sections.</p>
<note> <title>Merging of configuration sections</title>
- <p>When any directive provided by this module is used in a new
+ <p>When any directive provided by this module is used in a new
configuration section, no directives provided by this module are
inherited from previous configuration sections.</p>
</note>
diff --git a/docs/manual/mod/mod_alias.html.en b/docs/manual/mod/mod_alias.html.en
index 2eb10c5a1b..295c1f2d6d 100644
--- a/docs/manual/mod/mod_alias.html.en
+++ b/docs/manual/mod/mod_alias.html.en
@@ -52,7 +52,7 @@
a new location.</p>
<p>When the <code class="directive"><a href="#alias">Alias</a></code>,
- <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and
+ <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and
<code class="directive"><a href="#redirect">Redirect</a></code> directives are used
within a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
or <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
@@ -116,13 +116,13 @@ Alias "/foo" "/gaq"</pre>
ignored.</p>
<p>When the <code class="directive"><a href="#alias">Alias</a></code>,
- <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and
+ <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and
<code class="directive"><a href="#redirect">Redirect</a></code> directives are used
within a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
or <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
section, these directives will take precedence over any globally
defined <code class="directive"><a href="#alias">Alias</a></code>,
- <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and
+ <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and
<code class="directive"><a href="#redirect">Redirect</a></code> directives.</p>
</div>
@@ -184,7 +184,7 @@ Alias "/foo" "/gaq"</pre>
&lt;/Directory&gt;</pre>
- <p>Any number slashes in the <var>URL-path</var> parameter
+ <p>Any number slashes in the <var>URL-path</var> parameter
matches any number of slashes in the requested URL-path.</p>
<p>If the <code class="directive">Alias</code> directive is used within a
diff --git a/docs/manual/mod/mod_alias.xml b/docs/manual/mod/mod_alias.xml
index 37e7f71806..f967aebe6c 100644
--- a/docs/manual/mod/mod_alias.xml
+++ b/docs/manual/mod/mod_alias.xml
@@ -48,7 +48,7 @@
a new location.</p>
<p>When the <directive module="mod_alias">Alias</directive>,
- <directive module="mod_alias">ScriptAlias</directive> and
+ <directive module="mod_alias">ScriptAlias</directive> and
<directive module="mod_alias">Redirect</directive> directives are used
within a <directive type="section" module="core">Location</directive>
or <directive type="section" module="core">LocationMatch</directive>
@@ -100,13 +100,13 @@ Alias "/foo" "/gaq"
ignored.</p>
<p>When the <directive module="mod_alias">Alias</directive>,
- <directive module="mod_alias">ScriptAlias</directive> and
+ <directive module="mod_alias">ScriptAlias</directive> and
<directive module="mod_alias">Redirect</directive> directives are used
within a <directive type="section" module="core">Location</directive>
or <directive type="section" module="core">LocationMatch</directive>
section, these directives will take precedence over any globally
defined <directive module="mod_alias">Alias</directive>,
- <directive module="mod_alias">ScriptAlias</directive> and
+ <directive module="mod_alias">ScriptAlias</directive> and
<directive module="mod_alias">Redirect</directive> directives.</p>
</section>
@@ -175,7 +175,7 @@ Alias "/image" "/ftp/pub/image"
&lt;/Directory&gt;
</highlight>
- <p>Any number slashes in the <var>URL-path</var> parameter
+ <p>Any number slashes in the <var>URL-path</var> parameter
matches any number of slashes in the requested URL-path.</p>
<p>If the <directive>Alias</directive> directive is used within a
@@ -613,4 +613,3 @@ ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_allowmethods.xml b/docs/manual/mod/mod_allowmethods.xml
index 3fe9a00276..f20f80c790 100644
--- a/docs/manual/mod/mod_allowmethods.xml
+++ b/docs/manual/mod/mod_allowmethods.xml
@@ -84,4 +84,3 @@ kludgy implementation of <directive module="core">Limit</directive> and
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_asis.html.fr b/docs/manual/mod/mod_asis.html.fr
index 4251b5e992..310b653c21 100644
--- a/docs/manual/mod/mod_asis.html.fr
+++ b/docs/manual/mod/mod_asis.html.fr
@@ -29,6 +29,8 @@
<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
+<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
+ anglaise pour les changements rcents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des fichiers contenant leurs propres en-ttes
HTTP</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
diff --git a/docs/manual/mod/mod_asis.xml.fr b/docs/manual/mod/mod_asis.xml.fr
index c7763a839f..52cb6aebdf 100644
--- a/docs/manual/mod/mod_asis.xml.fr
+++ b/docs/manual/mod/mod_asis.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1330911 -->
+<!-- English Revision: 1330911:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/mod_asis.xml.ja b/docs/manual/mod/mod_asis.xml.ja
index c8e3052597..96f369ceb9 100644
--- a/docs/manual/mod/mod_asis.xml.ja
+++ b/docs/manual/mod/mod_asis.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 420990:1330911 (outdated) -->
+<!-- English Revision: 420990:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_asis.xml.ko b/docs/manual/mod/mod_asis.xml.ko
index 2a658000f6..be69d0a253 100644
--- a/docs/manual/mod/mod_asis.xml.ko
+++ b/docs/manual/mod/mod_asis.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 151408:1330911 (outdated) -->
+<!-- English Revision: 151408:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_asis.xml.meta b/docs/manual/mod/mod_asis.xml.meta
index e8af141c7c..c71ecbde4a 100644
--- a/docs/manual/mod/mod_asis.xml.meta
+++ b/docs/manual/mod/mod_asis.xml.meta
@@ -8,7 +8,7 @@
<variants>
<variant>en</variant>
- <variant>fr</variant>
+ <variant outdated="yes">fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
diff --git a/docs/manual/mod/mod_authn_socache.xml b/docs/manual/mod/mod_authn_socache.xml
index e371841388..2edd5d6e4a 100644
--- a/docs/manual/mod/mod_authn_socache.xml
+++ b/docs/manual/mod/mod_authn_socache.xml
@@ -207,4 +207,3 @@ AuthnCacheProvideFor dbd myprovider
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_authnz_fcgi.html.en b/docs/manual/mod/mod_authnz_fcgi.html.en
index 398d8129b8..f42396e313 100644
--- a/docs/manual/mod/mod_authnz_fcgi.html.en
+++ b/docs/manual/mod/mod_authnz_fcgi.html.en
@@ -41,7 +41,7 @@ httpd authentication and authorization</td></tr>
authenticators and authorizors which participate in one or both
phases.</p>
- <p>FastCGI authorizers can authenticate using user id and password,
+ <p>FastCGI authorizers can authenticate using user id and password,
such as for Basic authentication, or can authenticate using arbitrary
mechanisms.</p>
</div>
@@ -68,7 +68,7 @@ and Access Control</a></li>
<div class="section">
<h2><a name="invocations" id="invocations">Invocation modes</a></h2>
- <p>The invocation modes for FastCGI authorizers supported by this
+ <p>The invocation modes for FastCGI authorizers supported by this
module are distinguished by two characteristics, <em>type</em> and
auth <em>mechanism</em>.</p>
@@ -89,7 +89,7 @@ and Access Control</a></li>
<dt><em>Type</em> <code>authn</code>, <em>mechanism</em>
<code>AuthBasicProvider</code></dt>
- <dd>In this mode,
+ <dd>In this mode,
<code>FCGI_ROLE</code> is set to <code>AUTHORIZER</code> and
<code>FCGI_APACHE_ROLE</code> is set to <code>AUTHENTICATOR</code>.
The application must be defined as provider type <em>authn</em>
@@ -140,7 +140,7 @@ while (FCGI::accept &gt;= 0) {
AUTHORIZER</code> and <code>FCGI_APACHE_ROLE</code> is set to
<code>AUTHORIZER</code>. The application must be defined as
provider type <em>authz</em> using <code class="directive"><a href="#authnzfcgidefineprovider">
- AuthnzFcgiDefineProvider</a></code>. When invoked, the application
+ AuthnzFcgiDefineProvider</a></code>. When invoked, the application
is expected to authorize the client using the provided user id and other
request data. Example application:
<pre class="prettyprint lang-perl">#!/usr/bin/perl
@@ -185,8 +185,8 @@ while (FCGI::accept &gt;= 0) {
using <code class="directive"><a href="#authnzfcgidefineprovider">
AuthnzFcgiDefineProvider</a></code>. The application is expected to
handle both authentication and authorization in the same invocation
- using the user id, password, and other request data. The invocation
- occurs during the Apache httpd API authentication phase. If the
+ using the user id, password, and other request data. The invocation
+ occurs during the Apache httpd API authentication phase. If the
application returns 200 and the same provider is invoked during the
authorization phase (via <code class="directive">Require</code>), mod_authnz_fcgi
will return success for the authorization phase without invoking the
@@ -241,7 +241,7 @@ while (FCGI::accept &gt;= 0) {
die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
- # This authorizer assumes that the RequireBasicAuth option of
+ # This authorizer assumes that the RequireBasicAuth option of
# AuthnzFcgiCheckAuthnProvider is On:
die if !$ENV{'REMOTE_PASSWD'};
die if !$ENV{'REMOTE_USER'};
@@ -278,14 +278,14 @@ while (FCGI::accept &gt;= 0) {
</dd>
</dl>
-
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Additional examples</a></h2>
<ol>
<li>If your application supports the separate authentication and
- authorization roles (<code>AUTHENTICATOR</code> and <code>AUTHORIZER</code>), define
+ authorization roles (<code>AUTHENTICATOR</code> and <code>AUTHORIZER</code>), define
separate providers as follows, even if they map to the same
application:
@@ -293,7 +293,7 @@ while (FCGI::accept &gt;= 0) {
AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10102/</pre>
- Specify the authn provider on
+ Specify the authn provider on
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
and the authz provider on
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>:
@@ -305,7 +305,7 @@ Require FooAuthz</pre>
</li>
- <li>If your application supports the generic <code>AUTHORIZER</code> role
+ <li>If your application supports the generic <code>AUTHORIZER</code> role
(authentication and authorizer in one invocation), define a
single provider as follows:
@@ -333,7 +333,7 @@ Require FooAuthnz</pre>
<dt>Apache httpd access checker</dt>
<dd>The Apache httpd API <em>access check</em> phase is a separate
phase from authentication and authorization. Some other FastCGI
- implementations implement this phase, which is denoted by the
+ implementations implement this phase, which is denoted by the
setting of <code>FCGI_APACHE_ROLE</code> to <code>ACCESS_CHECKER</code>.</dd>
<dt>Local (Unix) sockets or pipes</dt>
@@ -355,7 +355,7 @@ Require FooAuthnz</pre>
start them.</dd>
<dt>AP_AUTH_INTERNAL_PER_URI</dt>
- <dd>All providers are currently registered as
+ <dd>All providers are currently registered as
AP_AUTH_INTERNAL_PER_CONF, which means that checks are not
performed again for internal subrequests with the same
access control configuration as the initial request.</dd>
@@ -389,9 +389,9 @@ Require FooAuthnz</pre>
<li>General messages for debugging are logged at log level
<code>debug</code>.</li>
<li>Environment variables passed to the application are
- logged at log level <code>trace2</code>. The value of the
+ logged at log level <code>trace2</code>. The value of the
<code>REMOTE_PASSWD</code> variable will be obscured,
- but <strong>any other sensitive data will be visible in the
+ but <strong>any other sensitive data will be visible in the
log</strong>.</li>
<li>All I/O between the module and the FastCGI application,
including all environment variables, will be logged in printable
@@ -452,7 +452,7 @@ authentication hook.</td></tr>
<dt><em>option</em></dt>
<dd>The following options are supported:
-
+
<dl>
<dt>Authoritative On|Off (default On)</dt>
<dd>This controls whether or not other modules are allowed
@@ -479,7 +479,7 @@ authentication hook.</td></tr>
evaluated after calling the authorizer, determines the
user. The expression follows <a href="../expr.html">
ap_expr syntax</a> and must resolve to a string. A typical
- use is to reference a <code>Variable-<em>XXX</em></code>
+ use is to reference a <code>Variable-<em>XXX</em></code>
setting returned by the authorizer using an option like
<code>UserExpr "%{reqenv:<em>XXX</em>}"</code>. If
this option is specified and the user id can't be retrieved
@@ -515,9 +515,9 @@ authentication and/or authorization</td></tr>
<dt><em>provider-name</em></dt>
<dd>This is used to assign a name to the provider which is
- used in other directives such as
+ used in other directives such as
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
- and
+ and
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</dd>
<dt><em>backend-address</em></dt>
diff --git a/docs/manual/mod/mod_authnz_fcgi.xml b/docs/manual/mod/mod_authnz_fcgi.xml
index 8430e6feb7..48d0392b28 100644
--- a/docs/manual/mod/mod_authnz_fcgi.xml
+++ b/docs/manual/mod/mod_authnz_fcgi.xml
@@ -38,7 +38,7 @@ httpd authentication and authorization</description>
authenticators and authorizors which participate in one or both
phases.</p>
- <p>FastCGI authorizers can authenticate using user id and password,
+ <p>FastCGI authorizers can authenticate using user id and password,
such as for Basic authentication, or can authenticate using arbitrary
mechanisms.</p>
</summary>
@@ -51,7 +51,7 @@ and Access Control</a></seealso>
<section id="invocations"><title>Invocation modes</title>
- <p>The invocation modes for FastCGI authorizers supported by this
+ <p>The invocation modes for FastCGI authorizers supported by this
module are distinguished by two characteristics, <em>type</em> and
auth <em>mechanism</em>.</p>
@@ -72,7 +72,7 @@ and Access Control</a></seealso>
<dt><em>Type</em> <code>authn</code>, <em>mechanism</em>
<code>AuthBasicProvider</code></dt>
- <dd>In this mode,
+ <dd>In this mode,
<code>FCGI_ROLE</code> is set to <code>AUTHORIZER</code> and
<code>FCGI_APACHE_ROLE</code> is set to <code>AUTHENTICATOR</code>.
The application must be defined as provider type <em>authn</em>
@@ -125,7 +125,7 @@ AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
AUTHORIZER</code> and <code>FCGI_APACHE_ROLE</code> is set to
<code>AUTHORIZER</code>. The application must be defined as
provider type <em>authz</em> using <directive module="mod_authnz_fcgi">
- AuthnzFcgiDefineProvider</directive>. When invoked, the application
+ AuthnzFcgiDefineProvider</directive>. When invoked, the application
is expected to authorize the client using the provided user id and other
request data. Example application:
<highlight language="perl">
@@ -172,8 +172,8 @@ AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10103/
using <directive module="mod_authnz_fcgi">
AuthnzFcgiDefineProvider</directive>. The application is expected to
handle both authentication and authorization in the same invocation
- using the user id, password, and other request data. The invocation
- occurs during the Apache httpd API authentication phase. If the
+ using the user id, password, and other request data. The invocation
+ occurs during the Apache httpd API authentication phase. If the
application returns 200 and the same provider is invoked during the
authorization phase (via <directive>Require</directive>), mod_authnz_fcgi
will return success for the authorization phase without invoking the
@@ -222,7 +222,7 @@ AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
AUTHORIZER</code> and <code>FCGI_APACHE_ROLE</code> is set to
<code>AUTHENTICATOR</code>. The application must be defined as
provider type <em>authn</em> using <directive module="mod_authnz_fcgi">
- AuthnzFcgiDefineProvider</directive>. <directive
+ AuthnzFcgiDefineProvider</directive>. <directive
module="mod_authnz_fcgi">AuthnzFcgiCheckAuthnProvider</directive>
specifies when it is called. Example application:
<highlight language="perl">
@@ -232,7 +232,7 @@ while (FCGI::accept >= 0) {
die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
- # This authorizer assumes that the RequireBasicAuth option of
+ # This authorizer assumes that the RequireBasicAuth option of
# AuthnzFcgiCheckAuthnProvider is On:
die if !$ENV{'REMOTE_PASSWD'};
die if !$ENV{'REMOTE_USER'};
@@ -270,14 +270,14 @@ AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10103/
</dd>
</dl>
-
+
</section>
<section id="examples"><title>Additional examples</title>
<ol>
<li>If your application supports the separate authentication and
- authorization roles (<code>AUTHENTICATOR</code> and <code>AUTHORIZER</code>), define
+ authorization roles (<code>AUTHENTICATOR</code> and <code>AUTHORIZER</code>), define
separate providers as follows, even if they map to the same
application:
@@ -286,7 +286,7 @@ AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10102/
</highlight>
- Specify the authn provider on
+ Specify the authn provider on
<directive module="mod_auth_basic">AuthBasicProvider</directive>
and the authz provider on
<directive module="mod_authz_core">Require</directive>:
@@ -299,7 +299,7 @@ Require FooAuthz
</highlight>
</li>
- <li>If your application supports the generic <code>AUTHORIZER</code> role
+ <li>If your application supports the generic <code>AUTHORIZER</code> role
(authentication and authorizer in one invocation), define a
single provider as follows:
@@ -329,7 +329,7 @@ Require FooAuthnz
<dt>Apache httpd access checker</dt>
<dd>The Apache httpd API <em>access check</em> phase is a separate
phase from authentication and authorization. Some other FastCGI
- implementations implement this phase, which is denoted by the
+ implementations implement this phase, which is denoted by the
setting of <code>FCGI_APACHE_ROLE</code> to <code>ACCESS_CHECKER</code>.</dd>
<dt>Local (Unix) sockets or pipes</dt>
@@ -351,7 +351,7 @@ Require FooAuthnz
start them.</dd>
<dt>AP_AUTH_INTERNAL_PER_URI</dt>
- <dd>All providers are currently registered as
+ <dd>All providers are currently registered as
AP_AUTH_INTERNAL_PER_CONF, which means that checks are not
performed again for internal subrequests with the same
access control configuration as the initial request.</dd>
@@ -385,9 +385,9 @@ Require FooAuthnz
<li>General messages for debugging are logged at log level
<code>debug</code>.</li>
<li>Environment variables passed to the application are
- logged at log level <code>trace2</code>. The value of the
+ logged at log level <code>trace2</code>. The value of the
<code>REMOTE_PASSWD</code> variable will be obscured,
- but <strong>any other sensitive data will be visible in the
+ but <strong>any other sensitive data will be visible in the
log</strong>.</li>
<li>All I/O between the module and the FastCGI application,
including all environment variables, will be logged in printable
@@ -426,9 +426,9 @@ authentication and/or authorization</description>
<dt><em>provider-name</em></dt>
<dd>This is used to assign a name to the provider which is
- used in other directives such as
+ used in other directives such as
<directive module="mod_auth_basic">AuthBasicProvider</directive>
- and
+ and
<directive module="mod_authz_core">Require</directive>.</dd>
<dt><em>backend-address</em></dt>
@@ -482,7 +482,7 @@ authentication hook.</description>
<dt><em>option</em></dt>
<dd>The following options are supported:
-
+
<dl>
<dt>Authoritative On|Off (default On)</dt>
<dd>This controls whether or not other modules are allowed
@@ -509,7 +509,7 @@ authentication hook.</description>
evaluated after calling the authorizer, determines the
user. The expression follows <a href="../expr.html">
ap_expr syntax</a> and must resolve to a string. A typical
- use is to reference a <code>Variable-<em>XXX</em></code>
+ use is to reference a <code>Variable-<em>XXX</em></code>
setting returned by the authorizer using an option like
<code>UserExpr "%{reqenv:<em>XXX</em>}"</code>. If
this option is specified and the user id can't be retrieved
diff --git a/docs/manual/mod/mod_authnz_ldap.html.en b/docs/manual/mod/mod_authnz_ldap.html.en
index 465ec9b022..268b5fa0db 100644
--- a/docs/manual/mod/mod_authnz_ldap.html.en
+++ b/docs/manual/mod/mod_authnz_ldap.html.en
@@ -1160,8 +1160,8 @@ evaluated before the user search is discontinued.</td></tr>
<div class="note"><h3>Nested groups performance</h3>
<p> When <code class="directive">AuthLDAPSubGroupAttribute</code> overlaps with
<code class="directive">AuthLDAPGroupAttribute</code> (as it does by default and
- as required by common LDAP schemas), uncached searching for subgroups in
- large groups can be very slow. If you use large, non-nested groups, keep
+ as required by common LDAP schemas), uncached searching for subgroups in
+ large groups can be very slow. If you use large, non-nested groups, keep
<code class="directive">AuthLDAPMaxSubGroupDepth</code> set to zero.</p>
</div>
@@ -1188,7 +1188,7 @@ query to set the REMOTE_USER environment variable</td></tr>
directive is useful should you want people to log into a website
using an email address, but a backend application expects the
username as a userid.</p>
- <p> This directive only has effect when this module is used for
+ <p> This directive only has effect when this module is used for
authentication.</p>
</div>
diff --git a/docs/manual/mod/mod_authnz_ldap.xml.fr b/docs/manual/mod/mod_authnz_ldap.xml.fr
index b96164631e..dfd13f3d39 100644
--- a/docs/manual/mod/mod_authnz_ldap.xml.fr
+++ b/docs/manual/mod/mod_authnz_ldap.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1643416:1673582 (outdated) -->
+<!-- English Revision: 1643416:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/mod_autoindex.html.en b/docs/manual/mod/mod_autoindex.html.en
index 4e649e2165..20206a6c3b 100644
--- a/docs/manual/mod/mod_autoindex.html.en
+++ b/docs/manual/mod/mod_autoindex.html.en
@@ -71,7 +71,7 @@
same header repeatedly toggles between ascending and descending
order. These column header links are suppressed with the
<code class="directive"><a href="#indexoptions">IndexOptions</a></code> directive's
- <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
+ <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
option.</p>
<p>Note that when the display is sorted by "Size", it's the
@@ -328,7 +328,7 @@ AddDescription "My friend Marshall" friends/mars.gif</pre>
<div class="note"><h3>Arguments with path information</h3>
<p>Absolute paths are not currently supported and do not match
anything at runtime. Arguments with relative path information,
- which would normally only be used in htaccess context, are implicitly
+ which would normally only be used in htaccess context, are implicitly
prefixed with '*/' to avoid matching partial directory names.</p>
</div>
@@ -658,7 +658,7 @@ indexing</td></tr>
<code>FoldersFirst</code> is enabled, subdirectory
<code>Zed</code> will be listed before subdirectory
<code>Beta</code>, which will be listed before normal files
- <code>Gamma</code> and <code>Alpha</code>.
+ <code>Gamma</code> and <code>Alpha</code>.
<strong>This option only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
is also enabled.</strong>
</dd>
@@ -685,7 +685,7 @@ indexing</td></tr>
to wait until all the images have been loaded. If no value is given for
the option, it defaults to the standard height of the icons supplied
with the Apache httpd software.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -763,7 +763,7 @@ indexing</td></tr>
space to use for something else. See <code class="directive"><a href="#adddescription">AddDescription</a></code> for information about setting the file
description. See also the <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code>
index option to limit the size of the description column.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong>
</dd>
@@ -797,7 +797,7 @@ indexing</td></tr>
<dd>This will suppress the display of the last modification date,
in fancy indexing listings.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong>
</dd>
@@ -811,7 +811,7 @@ indexing</td></tr>
by the final specification prohibits <code>img</code> and
<code>hr</code> elements from the <code>pre</code> block (used to
format FancyIndexed listings.)
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -820,7 +820,7 @@ indexing</td></tr>
<dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt>
<dd>This will suppress the file size in fancy indexing listings.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong>
</dd>
diff --git a/docs/manual/mod/mod_autoindex.xml b/docs/manual/mod/mod_autoindex.xml
index 9898bc8722..55e2c9fdd0 100644
--- a/docs/manual/mod/mod_autoindex.xml
+++ b/docs/manual/mod/mod_autoindex.xml
@@ -69,7 +69,7 @@
same header repeatedly toggles between ascending and descending
order. These column header links are suppressed with the
<directive module="mod_autoindex">IndexOptions</directive> directive's
- <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
+ <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
option.</p>
<p>Note that when the display is sorted by "Size", it's the
@@ -320,7 +320,7 @@ AddDescription "My friend Marshall" friends/mars.gif
<note><title>Arguments with path information</title>
<p>Absolute paths are not currently supported and do not match
anything at runtime. Arguments with relative path information,
- which would normally only be used in htaccess context, are implicitly
+ which would normally only be used in htaccess context, are implicitly
prefixed with '*/' to avoid matching partial directory names.</p>
</note>
@@ -666,8 +666,8 @@ indexing</description>
<code>FoldersFirst</code> is enabled, subdirectory
<code>Zed</code> will be listed before subdirectory
<code>Beta</code>, which will be listed before normal files
- <code>Gamma</code> and <code>Alpha</code>.
- <strong>This option only has an effect if <a
+ <code>Gamma</code> and <code>Alpha</code>.
+ <strong>This option only has an effect if <a
href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
is also enabled.</strong>
</dd>
@@ -698,7 +698,7 @@ indexing</description>
to wait until all the images have been loaded. If no value is given for
the option, it defaults to the standard height of the icons supplied
with the Apache httpd software.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"
><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -793,7 +793,7 @@ indexing</description>
description. See also the <code><a
href="#indexoptions.descriptionwidth">DescriptionWidth</a></code>
index option to limit the size of the description column.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"
><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -834,7 +834,7 @@ indexing</description>
<dd>This will suppress the display of the last modification date,
in fancy indexing listings.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"
><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -850,7 +850,7 @@ indexing</description>
by the final specification prohibits <code>img</code> and
<code>hr</code> elements from the <code>pre</code> block (used to
format FancyIndexed listings.)
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"
><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -861,7 +861,7 @@ indexing</description>
id="indexoptions.suppresssize">SuppressSize</a></dt>
<dd>This will suppress the file size in fancy indexing listings.
-
+
<strong>This option
only has an effect if <a href="#indexoptions.fancyindexing"
><code>FancyIndexing</code></a> is also enabled.</strong>
@@ -1058,7 +1058,7 @@ Name|Date|Size|Description</syntax>
following classes are associated with the various parts of the
listing:</p>
- <table border="1" style="zebra">
+ <table border="1" style="zebra">
<tr><th>Class</th><th>Definition</th></tr>
<tr><td>tr.indexhead</td><td>Header row of listing</td></tr>
<tr><td>th.indexcolicon and td.indexcolicon</td> <td>Icon column</td></tr>
diff --git a/docs/manual/mod/mod_cache.html.en b/docs/manual/mod/mod_cache.html.en
index 5440db4af0..71a1122396 100644
--- a/docs/manual/mod/mod_cache.html.en
+++ b/docs/manual/mod/mod_cache.html.en
@@ -181,7 +181,7 @@ LoadModule cache_module modules/mod_cache.so
CacheDirLevels 5
CacheDirLength 3
&lt;/IfModule&gt;
-
+
# When acting as a proxy, don't cache the list of security updates
CacheDisable http://security.update.server/update-list/
&lt;/IfModule&gt;</pre>
@@ -473,7 +473,7 @@ manager</td></tr>
<code class="directive">&lt;LocationMatch&gt;</code> sections are processed
before globally defined <code class="directive">CacheEnable</code> directives.</p>
- <p>When acting as a forward proxy server, <var>url-string</var> must
+ <p>When acting as a forward proxy server, <var>url-string</var> must
minimally begin with a protocol for which caching should be enabled.</p>
<pre class="prettyprint lang-config"># Cache content (normal handler only)
@@ -570,7 +570,7 @@ CacheHeader on</pre>
<code class="directive">CacheIgnoreCacheControl</code> directive allows this
behavior to be overridden. <code class="directive">CacheIgnoreCacheControl On</code>
tells the server to attempt to serve the resource from the cache even
- if the request contains no-cache header values.</p>
+ if the request contains no-cache header values.</p>
<pre class="prettyprint lang-config">CacheIgnoreCacheControl On</pre>
@@ -842,7 +842,7 @@ CacheLock on</pre>
</table>
<p>The <code class="directive">CacheLockPath</code> directive allows you to specify the
directory in which the locks are created. If <var>directory</var> is not an absolute
- path, the location specified will be relative to the value of
+ path, the location specified will be relative to the value of
<code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
</div>
diff --git a/docs/manual/mod/mod_cache.xml b/docs/manual/mod/mod_cache.xml
index e6bf98bf11..8afde7fc0d 100644
--- a/docs/manual/mod/mod_cache.xml
+++ b/docs/manual/mod/mod_cache.xml
@@ -162,7 +162,7 @@ LoadModule cache_module modules/mod_cache.so
CacheDirLevels 5
CacheDirLength 3
&lt;/IfModule&gt;
-
+
# When acting as a proxy, don't cache the list of security updates
CacheDisable http://security.update.server/update-list/
&lt;/IfModule&gt;
@@ -374,7 +374,7 @@ manager</description>
<directive type="section">LocationMatch</directive> sections are processed
before globally defined <directive>CacheEnable</directive> directives.</p>
- <p>When acting as a forward proxy server, <var>url-string</var> must
+ <p>When acting as a forward proxy server, <var>url-string</var> must
minimally begin with a protocol for which caching should be enabled.</p>
<highlight language="config">
@@ -570,7 +570,7 @@ header.</description>
<directive>CacheIgnoreCacheControl</directive> directive allows this
behavior to be overridden. <directive>CacheIgnoreCacheControl On</directive>
tells the server to attempt to serve the resource from the cache even
- if the request contains no-cache header values.</p>
+ if the request contains no-cache header values.</p>
<highlight language="config">
CacheIgnoreCacheControl On
@@ -877,7 +877,7 @@ CacheLock on
<usage>
<p>The <directive>CacheLockPath</directive> directive allows you to specify the
directory in which the locks are created. If <var>directory</var> is not an absolute
- path, the location specified will be relative to the value of
+ path, the location specified will be relative to the value of
<directive module="core">DefaultRuntimeDir</directive>.</p>
</usage>
</directivesynopsis>
diff --git a/docs/manual/mod/mod_cern_meta.html.fr b/docs/manual/mod/mod_cern_meta.html.fr
index 12847614d8..6d698a54c1 100644
--- a/docs/manual/mod/mod_cern_meta.html.fr
+++ b/docs/manual/mod/mod_cern_meta.html.fr
@@ -28,6 +28,8 @@
<a href="../fr/mod/mod_cern_meta.html" title="Franais">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
+<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
+ anglaise pour les changements rcents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>La smantique des mtafichiers du serveur httpd du
CERN</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
diff --git a/docs/manual/mod/mod_cern_meta.xml.fr b/docs/manual/mod/mod_cern_meta.xml.fr
index e52b0df00d..d360901961 100644
--- a/docs/manual/mod/mod_cern_meta.xml.fr
+++ b/docs/manual/mod/mod_cern_meta.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1336590 -->
+<!-- English Revision: 1336590:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/mod_cern_meta.xml.ko b/docs/manual/mod/mod_cern_meta.xml.ko
index 16bd7d801e..096cc749a7 100644
--- a/docs/manual/mod/mod_cern_meta.xml.ko
+++ b/docs/manual/mod/mod_cern_meta.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 420990:1336590 (outdated) -->
+<!-- English Revision: 420990:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_cern_meta.xml.meta b/docs/manual/mod/mod_cern_meta.xml.meta
index 8a68d26e7d..92cdd1bb65 100644
--- a/docs/manual/mod/mod_cern_meta.xml.meta
+++ b/docs/manual/mod/mod_cern_meta.xml.meta
@@ -8,7 +8,7 @@
<variants>
<variant>en</variant>
- <variant>fr</variant>
+ <variant outdated="yes">fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>
diff --git a/docs/manual/mod/mod_deflate.html.en b/docs/manual/mod/mod_deflate.html.en
index 6f71c94152..6a1b064b12 100644
--- a/docs/manual/mod/mod_deflate.html.en
+++ b/docs/manual/mod/mod_deflate.html.en
@@ -193,36 +193,36 @@ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip</pre>
<h2><a name="precompressed" id="precompressed">Serving pre-compressed
content</a></h2>
- <p>Since <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> re-compresses content each
+ <p>Since <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> re-compresses content each
time a request is made, some performance benefit can be derived by
pre-compressing the content and telling mod_deflate to serve them
without re-compressing them. This may be accomplished using a
configuration like the following:</p>
<pre class="prettyprint lang-config">&lt;IfModule mod_headers.c&gt;
- # Serve gzip compressed CSS files if they exist
+ # Serve gzip compressed CSS files if they exist
# and the client accepts gzip.
- RewriteCond %{HTTP:Accept-encoding} gzip
- RewriteCond %{REQUEST_FILENAME}\.gz -s
- RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
+ RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+ RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
+ RewriteRule "^(.*)\.css" "$1\.css\.gz" [QSA]
- # Serve gzip compressed JS files if they exist
+ # Serve gzip compressed JS files if they exist
# and the client accepts gzip.
- RewriteCond %{HTTP:Accept-encoding} gzip
- RewriteCond %{REQUEST_FILENAME}\.gz -s
- RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
+ RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+ RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
+ RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
- RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
- RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
+ RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
+ RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
&lt;FilesMatch "(\.js\.gz|\.css\.gz)$"&gt;
# Serve correct encoding type.
Header append Content-Encoding gzip
- # Force proxies to cache gzipped &amp;
+ # Force proxies to cache gzipped &amp;
# non-gzipped css/js files separately.
Header append Vary Accept-Encoding
&lt;/FilesMatch&gt;
@@ -244,18 +244,18 @@ content</a></h2>
how the ETag hader should be altered when a response is compressed.</p>
<dl>
<dt>AddSuffix</dt>
- <dd><p>Append the compression method onto the end of the ETag, causing
- compressed and uncompressed representations to have unique ETags.
- This has been the default since 2.4.0, but prevents serving
- "HTTP Not Modified" (304) responses to conditional requests for
+ <dd><p>Append the compression method onto the end of the ETag, causing
+ compressed and uncompressed representations to have unique ETags.
+ This has been the default since 2.4.0, but prevents serving
+ "HTTP Not Modified" (304) responses to conditional requests for
compressed content.</p></dd>
<dt>NoChange</dt>
<dd><p>Don't change the ETag on a compressed response. This was the default
prior to 2.4.0, but does not satisfy the HTTP/1.1 property that all
representations of the same resource have unique ETags. </p></dd>
<dt>Remove</dt>
- <dd><p>Remove the ETag header from compressed responses. This prevents
- some conditional requests from being possible, but avoids the
+ <dd><p>Remove the ETag header from compressed responses. This prevents
+ some conditional requests from being possible, but avoids the
shortcomings of the preceding options. </p></dd>
</dl>
@@ -308,7 +308,7 @@ content</a></h2>
adding the value to your <a href="../logs.html#accesslog">access log</a>.</p>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"> DeflateFilterNote ratio
-
+
LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog logs/deflate_log deflate</pre>
</div>
@@ -356,7 +356,7 @@ CustomLog logs/deflate_log deflate</pre>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
</table>
- <p>The <code class="directive">DeflateInflateLimitRequestBody</code> directive
+ <p>The <code class="directive">DeflateInflateLimitRequestBody</code> directive
specifies the maximum size of an inflated request body. If it is unset,
<code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> is applied to the
inflated body.</p>
@@ -365,7 +365,7 @@ CustomLog logs/deflate_log deflate</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">Directive</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of times the inflation ratio for request bodies
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>3</code></td></tr>
@@ -374,9 +374,9 @@ CustomLog logs/deflate_log deflate</pre>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
</table>
- <p>The <code class="directive">DeflateInflateRatioBurst</code> directive
- specifies the maximum number of times the
- <code class="directive">DeflateInflateRatioLimit</code> can be crossed before
+ <p>The <code class="directive">DeflateInflateRatioBurst</code> directive
+ specifies the maximum number of times the
+ <code class="directive">DeflateInflateRatioLimit</code> can be crossed before
terminating the request.</p>
</div>
@@ -391,10 +391,10 @@ CustomLog logs/deflate_log deflate</pre>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
</table>
- <p>The <code class="directive">DeflateInflateRatioLimit</code> directive
- specifies the maximum ratio of deflated to inflated size of an
+ <p>The <code class="directive">DeflateInflateRatioLimit</code> directive
+ specifies the maximum ratio of deflated to inflated size of an
inflated request body. This ratio is checked as the body is
- streamed in, and if crossed more than
+ streamed in, and if crossed more than
<code class="directive">DeflateInflateRatioBurst</code> times, the request
will be terminated.</p>
diff --git a/docs/manual/mod/mod_deflate.html.ja.utf8 b/docs/manual/mod/mod_deflate.html.ja.utf8
index 2bad7efdca..df6f3b9c71 100644
--- a/docs/manual/mod/mod_deflate.html.ja.utf8
+++ b/docs/manual/mod/mod_deflate.html.ja.utf8
@@ -373,7 +373,7 @@
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">ディレクティブ</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum number of times the inflation ratio for request bodies
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>3</code></td></tr>
diff --git a/docs/manual/mod/mod_deflate.html.ko.euc-kr b/docs/manual/mod/mod_deflate.html.ko.euc-kr
index 43d6d85fc4..8ff6334efd 100644
--- a/docs/manual/mod/mod_deflate.html.ko.euc-kr
+++ b/docs/manual/mod/mod_deflate.html.ko.euc-kr
@@ -363,7 +363,7 @@
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">þ</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">:</a></th><td>Maximum number of times the inflation ratio for request bodies
+<tr><th><a href="directive-dict.html#Description">:</a></th><td>Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>3</code></td></tr>
diff --git a/docs/manual/mod/mod_deflate.xml b/docs/manual/mod/mod_deflate.xml
index d13988422e..49749bac6e 100644
--- a/docs/manual/mod/mod_deflate.xml
+++ b/docs/manual/mod/mod_deflate.xml
@@ -68,7 +68,7 @@ client</description>
<highlight language="config">
SetOutputFilter DEFLATE
-SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
+SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
</highlight>
<p>If you want to restrict the compression to particular MIME types
@@ -181,7 +181,7 @@ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
<section id="precompressed"><title>Serving pre-compressed
content</title>
- <p>Since <module>mod_deflate</module> re-compresses content each
+ <p>Since <module>mod_deflate</module> re-compresses content each
time a request is made, some performance benefit can be derived by
pre-compressing the content and telling mod_deflate to serve them
without re-compressing them. This may be accomplished using a
@@ -189,29 +189,29 @@ content</title>
<highlight language="config">
&lt;IfModule mod_headers.c&gt;
- # Serve gzip compressed CSS files if they exist
+ # Serve gzip compressed CSS files if they exist
# and the client accepts gzip.
- RewriteCond %{HTTP:Accept-encoding} gzip
- RewriteCond %{REQUEST_FILENAME}\.gz -s
- RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
+ RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+ RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
+ RewriteRule "^(.*)\.css" "$1\.css\.gz" [QSA]
- # Serve gzip compressed JS files if they exist
+ # Serve gzip compressed JS files if they exist
# and the client accepts gzip.
- RewriteCond %{HTTP:Accept-encoding} gzip
- RewriteCond %{REQUEST_FILENAME}\.gz -s
- RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
+ RewriteCond "%{HTTP:Accept-encoding}" "gzip"
+ RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
+ RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
- RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
- RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
+ RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
+ RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
&lt;FilesMatch "(\.js\.gz|\.css\.gz)$"&gt;
# Serve correct encoding type.
Header append Content-Encoding gzip
- # Force proxies to cache gzipped &amp;
+ # Force proxies to cache gzipped &amp;
# non-gzipped css/js files separately.
Header append Vary Accept-Encoding
&lt;/FilesMatch&gt;
@@ -238,7 +238,7 @@ content</title>
<example><title>Example</title>
<highlight language="config">
DeflateFilterNote ratio
-
+
LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog logs/deflate_log deflate
</highlight>
@@ -353,18 +353,18 @@ CustomLog logs/deflate_log deflate
how the ETag hader should be altered when a response is compressed.</p>
<dl>
<dt>AddSuffix</dt>
- <dd><p>Append the compression method onto the end of the ETag, causing
- compressed and uncompressed representations to have unique ETags.
- This has been the default since 2.4.0, but prevents serving
- "HTTP Not Modified" (304) responses to conditional requests for
+ <dd><p>Append the compression method onto the end of the ETag, causing
+ compressed and uncompressed representations to have unique ETags.
+ This has been the default since 2.4.0, but prevents serving
+ "HTTP Not Modified" (304) responses to conditional requests for
compressed content.</p></dd>
<dt>NoChange</dt>
<dd><p>Don't change the ETag on a compressed response. This was the default
prior to 2.4.0, but does not satisfy the HTTP/1.1 property that all
representations of the same resource have unique ETags. </p></dd>
<dt>Remove</dt>
- <dd><p>Remove the ETag header from compressed responses. This prevents
- some conditional requests from being possible, but avoids the
+ <dd><p>Remove the ETag header from compressed responses. This prevents
+ some conditional requests from being possible, but avoids the
shortcomings of the preceding options. </p></dd>
</dl>
</usage>
@@ -380,7 +380,7 @@ CustomLog logs/deflate_log deflate
<compatibility>2.4.10 and later</compatibility>
<usage>
- <p>The <directive>DeflateInflateLimitRequestBody</directive> directive
+ <p>The <directive>DeflateInflateLimitRequestBody</directive> directive
specifies the maximum size of an inflated request body. If it is unset,
<directive module="core">LimitRequestBody</directive> is applied to the
inflated body.</p>
@@ -397,10 +397,10 @@ CustomLog logs/deflate_log deflate
<compatibility>2.4.10 and later</compatibility>
<usage>
- <p>The <directive>DeflateInflateRatioLimit</directive> directive
- specifies the maximum ratio of deflated to inflated size of an
+ <p>The <directive>DeflateInflateRatioLimit</directive> directive
+ specifies the maximum ratio of deflated to inflated size of an
inflated request body. This ratio is checked as the body is
- streamed in, and if crossed more than
+ streamed in, and if crossed more than
<directive>DeflateInflateRatioBurst</directive> times, the request
will be terminated.</p>
</usage>
@@ -408,7 +408,7 @@ CustomLog logs/deflate_log deflate
<directivesynopsis>
<name>DeflateInflateRatioBurst</name>
-<description>Maximum number of times the inflation ratio for request bodies
+<description>Maximum number of times the inflation ratio for request bodies
can be crossed</description>
<syntax>DeflateInflateRatioBurst <var>value</var></syntax>
<default>3</default>
@@ -417,12 +417,11 @@ CustomLog logs/deflate_log deflate
<compatibility>2.4.10 and later</compatibility>
<usage>
- <p>The <directive>DeflateInflateRatioBurst</directive> directive
- specifies the maximum number of times the
- <directive>DeflateInflateRatioLimit</directive> can be crossed before
+ <p>The <directive>DeflateInflateRatioBurst</directive> directive
+ specifies the maximum number of times the
+ <directive>DeflateInflateRatioLimit</directive> can be crossed before
terminating the request.</p>
</usage>
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_deflate.xml.fr b/docs/manual/mod/mod_deflate.xml.fr
index c016d24be1..8bf98ceaf5 100644
--- a/docs/manual/mod/mod_deflate.xml.fr
+++ b/docs/manual/mod/mod_deflate.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1655917:1673892 (outdated) -->
+<!-- English Revision: 1655917:1673930 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/mod_deflate.xml.ja b/docs/manual/mod/mod_deflate.xml.ja
index b6480babaf..65bba7d667 100644
--- a/docs/manual/mod/mod_deflate.xml.ja
+++ b/docs/manual/mod/mod_deflate.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 420990:1673892 (outdated) -->
+<!-- English Revision: 420990:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_deflate.xml.ko b/docs/manual/mod/mod_deflate.xml.ko
index 2353fc11dd..86a896705d 100644
--- a/docs/manual/mod/mod_deflate.xml.ko
+++ b/docs/manual/mod/mod_deflate.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 151408:1673892 (outdated) -->
+<!-- English Revision: 151408:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_dialup.xml b/docs/manual/mod/mod_dialup.xml
index fa2e2c3e47..6e51130515 100644
--- a/docs/manual/mod/mod_dialup.xml
+++ b/docs/manual/mod/mod_dialup.xml
@@ -69,4 +69,3 @@ once the timer hits. From there the handler can continue to send data to the cl
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_dir.html.en b/docs/manual/mod/mod_dir.html.en
index d591bf0571..161503d6f0 100644
--- a/docs/manual/mod/mod_dir.html.en
+++ b/docs/manual/mod/mod_dir.html.en
@@ -82,18 +82,18 @@
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in 2.4.8 and later. Releases prior to 2.4 implicitly
act as if "DirectoryCheckHandler ON" was specified.</td></tr>
</table>
- <p>The <code class="directive">DirectoryCheckHandler</code> directive determines
+ <p>The <code class="directive">DirectoryCheckHandler</code> directive determines
whether <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> should check for directory indexes or
add trailing slashes when some other handler has been configured for
- the current URL. Handlers can be set by directives such as
- <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> or by other modules at
+ the current URL. Handlers can be set by directives such as
+ <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> or by other modules at
runtime. </p>
<p> In releases prior to 2.4, this module did not take any action if any
- other handler was configured for a URL. This allows directory indexes to
- be served even when a <code class="directive">SetHandler</code> directive is
+ other handler was configured for a URL. This allows directory indexes to
+ be served even when a <code class="directive">SetHandler</code> directive is
specified for an entire directory, but it can also result in some conflicts
- with other modules.</p>
+ with other modules.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
diff --git a/docs/manual/mod/mod_dir.xml b/docs/manual/mod/mod_dir.xml
index 9cb283bf38..72901398e9 100644
--- a/docs/manual/mod/mod_dir.xml
+++ b/docs/manual/mod/mod_dir.xml
@@ -287,18 +287,18 @@ later</compatibility>
<compatibility>Available in 2.4.8 and later. Releases prior to 2.4 implicitly
act as if "DirectoryCheckHandler ON" was specified.</compatibility>
<usage>
- <p>The <directive>DirectoryCheckHandler</directive> directive determines
+ <p>The <directive>DirectoryCheckHandler</directive> directive determines
whether <module>mod_dir</module> should check for directory indexes or
add trailing slashes when some other handler has been configured for
- the current URL. Handlers can be set by directives such as
- <directive module="core">SetHandler</directive> or by other modules at
+ the current URL. Handlers can be set by directives such as
+ <directive module="core">SetHandler</directive> or by other modules at
runtime. </p>
<p> In releases prior to 2.4, this module did not take any action if any
- other handler was configured for a URL. This allows directory indexes to
- be served even when a <directive>SetHandler</directive> directive is
+ other handler was configured for a URL. This allows directory indexes to
+ be served even when a <directive>SetHandler</directive> directive is
specified for an entire directory, but it can also result in some conflicts
- with other modules.</p>
+ with other modules.</p>
</usage>
</directivesynopsis>
diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en
index 579e299483..65f0b5046e 100644
--- a/docs/manual/mod/mod_ext_filter.html.en
+++ b/docs/manual/mod/mod_ext_filter.html.en
@@ -90,7 +90,7 @@ ExtFilterDefine c-to-html mode=output \
# core directive to cause the new filter to
# be run on output
SetOutputFilter c-to-html
-
+
# mod_mime directive to set the type of .c
# files to text/c
AddType text/c .c
@@ -107,11 +107,11 @@ ExtFilterDefine c-to-html mode=output \
ExtFilterDefine gzip mode=output cmd=/bin/gzip
&lt;Location "/gzipped"&gt;
-
+
# core directive to cause the gzip filter to be
# run on output
SetOutputFilter gzip
-
+
# mod_headers directive to add
# "Content-Encoding: gzip" header field
Header set Content-Encoding gzip
diff --git a/docs/manual/mod/mod_ext_filter.xml b/docs/manual/mod/mod_ext_filter.xml
index 325caf1b54..94b74337a3 100644
--- a/docs/manual/mod/mod_ext_filter.xml
+++ b/docs/manual/mod/mod_ext_filter.xml
@@ -73,7 +73,7 @@ ExtFilterDefine c-to-html mode=output \
# core directive to cause the new filter to
# be run on output
SetOutputFilter c-to-html
-
+
# mod_mime directive to set the type of .c
# files to text/c
AddType text/c .c
@@ -91,11 +91,11 @@ ExtFilterDefine c-to-html mode=output \
ExtFilterDefine gzip mode=output cmd=/bin/gzip
&lt;Location "/gzipped"&gt;
-
+
# core directive to cause the gzip filter to be
# run on output
SetOutputFilter gzip
-
+
# mod_headers directive to add
# "Content-Encoding: gzip" header field
Header set Content-Encoding gzip
diff --git a/docs/manual/mod/mod_filter.html.en b/docs/manual/mod/mod_filter.html.en
index 8ce6750ac7..d94245c193 100644
--- a/docs/manual/mod/mod_filter.html.en
+++ b/docs/manual/mod/mod_filter.html.en
@@ -388,10 +388,10 @@ being moved to <code class="module"><a href="../mod/mod_filter.html">mod_filter<
With two arguments it applies to a <var>filter-name</var> whenever the
filter runs <em>any</em> provider.</p>
- <p>Flags specified with this directive are merged with the flags
- that underlying providers may have registerd with
+ <p>Flags specified with this directive are merged with the flags
+ that underlying providers may have registerd with
<code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. For example, a filter may internally specify
- the equivalent of <code>change=yes</code>, but a particular
+ the equivalent of <code>change=yes</code>, but a particular
configuration of the module can override with <code>change=no</code>.
</p>
@@ -399,7 +399,7 @@ being moved to <code class="module"><a href="../mod/mod_filter.html">mod_filter<
<dl>
<dt><code>change=yes|no</code></dt>
- <dd>Specifies whether the filter changes the content, including possibly
+ <dd>Specifies whether the filter changes the content, including possibly
the content length. The "no" argument is supported in 2.4.7 and later.</dd>
<dt><code>change=1:1</code></dt>
diff --git a/docs/manual/mod/mod_imagemap.xml.ko b/docs/manual/mod/mod_imagemap.xml.ko
index 780fb59d0e..748f5f0ce9 100644
--- a/docs/manual/mod/mod_imagemap.xml.ko
+++ b/docs/manual/mod/mod_imagemap.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 151408:1432444 (outdated) -->
+<!-- English Revision: 151408:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_journald.html.en b/docs/manual/mod/mod_journald.html.en
index edecf4898b..dd0038d183 100644
--- a/docs/manual/mod/mod_journald.html.en
+++ b/docs/manual/mod/mod_journald.html.en
@@ -74,10 +74,10 @@
<p>These variables can be for example used to show only log messages
for particular URI using <code>journalctl</code>:
</p>
-
+
<pre class="prettyprint lang-">journalctl REQUEST_URI=/index.html -a</pre>
-
+
<p>For more examples, see systemd-journalctl documentation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -88,7 +88,7 @@
instead of a filename enables logging via systemd-journald(8)
if the system supports it.
</p>
-
+
<pre class="prettyprint lang-config">ErrorLog journald</pre>
diff --git a/docs/manual/mod/mod_journald.xml b/docs/manual/mod/mod_journald.xml
index 7133cae9da..696c0d67e0 100644
--- a/docs/manual/mod/mod_journald.xml
+++ b/docs/manual/mod/mod_journald.xml
@@ -61,9 +61,9 @@
<p>These variables can be for example used to show only log messages
for particular URI using <code>journalctl</code>:
</p>
-
+
<highlight>journalctl REQUEST_URI=/index.html -a</highlight>
-
+
<p>For more examples, see systemd-journalctl documentation.</p>
</section>
@@ -74,7 +74,7 @@
instead of a filename enables logging via systemd-journald(8)
if the system supports it.
</p>
-
+
<highlight language="config">
ErrorLog journald
</highlight>
diff --git a/docs/manual/mod/mod_ldap.html.en b/docs/manual/mod/mod_ldap.html.en
index 7042c21c01..8336ea43df 100644
--- a/docs/manual/mod/mod_ldap.html.en
+++ b/docs/manual/mod/mod_ldap.html.en
@@ -473,7 +473,7 @@ LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
connection pool. The default value of -1, and any other negative value,
allows connections of any age to be reused.</p>
- <p>For performance reasons, the reference time used by this directive is
+ <p>For performance reasons, the reference time used by this directive is
based on when the LDAP connection is returned to the pool, not the time
of the last successful I/O with the LDAP server. </p>
@@ -482,7 +482,7 @@ LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
time is not updated if no backend LDAP conncetions were needed. Second,
the reference time uses the time the HTTP request was received instead
of the time the request is completed.</p>
-
+
<div class="note"><p>This timeout defaults to units of seconds, but accepts
suffixes for milliseconds (ms), minutes (min), and hours (h).
</p></div>
@@ -680,11 +680,11 @@ valid</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr>
</table>
- <p>Specifies the path of the shared memory cache file. If not set,
+ <p>Specifies the path of the shared memory cache file. If not set,
anonymous shared memory will be used if the platform supports it.</p>
<p>If <var>file-path</var> is not an absolute path, the location specified
- will be relative to the value of
+ will be relative to the value of
<code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
</div>
diff --git a/docs/manual/mod/mod_ldap.xml b/docs/manual/mod/mod_ldap.xml
index 6362eeb8a8..0df854593e 100644
--- a/docs/manual/mod/mod_ldap.xml
+++ b/docs/manual/mod/mod_ldap.xml
@@ -421,11 +421,11 @@ LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
<contextlist><context>server config</context></contextlist>
<usage>
- <p>Specifies the path of the shared memory cache file. If not set,
+ <p>Specifies the path of the shared memory cache file. If not set,
anonymous shared memory will be used if the platform supports it.</p>
<p>If <var>file-path</var> is not an absolute path, the location specified
- will be relative to the value of
+ will be relative to the value of
<directive module="core">DefaultRuntimeDir</directive>.</p>
</usage>
</directivesynopsis>
@@ -757,7 +757,7 @@ connection client certificates.</description>
connection pool. The default value of -1, and any other negative value,
allows connections of any age to be reused.</p>
- <p>For performance reasons, the reference time used by this directive is
+ <p>For performance reasons, the reference time used by this directive is
based on when the LDAP connection is returned to the pool, not the time
of the last successful I/O with the LDAP server. </p>
@@ -766,7 +766,7 @@ connection client certificates.</description>
time is not updated if no backend LDAP conncetions were needed. Second,
the reference time uses the time the HTTP request was received instead
of the time the request is completed.</p>
-
+
<note><p>This timeout defaults to units of seconds, but accepts
suffixes for milliseconds (ms), minutes (min), and hours (h).
</p></note>
diff --git a/docs/manual/mod/mod_log_config.html.en b/docs/manual/mod/mod_log_config.html.en
index e50da0275f..333c3b49e8 100644
--- a/docs/manual/mod/mod_log_config.html.en
+++ b/docs/manual/mod/mod_log_config.html.en
@@ -308,9 +308,9 @@
<div class="note">
<p>Note: The '^' character at the start of three-character formats
- has no significance, but it must be the first character of any newly
- added three-character format to avoid potential conflicts with log
- formats that use literals adjacent to a format specifier, such as
+ has no significance, but it must be the first character of any newly
+ added three-character format to avoid potential conflicts with log
+ formats that use literals adjacent to a format specifier, such as
"%Dus".</p>
</div>
@@ -510,7 +510,7 @@ CustomLog referer.log referer env=!localreferer</pre>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost_common</pre>
</div>
-
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
diff --git a/docs/manual/mod/mod_log_config.xml b/docs/manual/mod/mod_log_config.xml
index 2b86c0d21f..ea097a6c4c 100644
--- a/docs/manual/mod/mod_log_config.xml
+++ b/docs/manual/mod/mod_log_config.xml
@@ -344,9 +344,9 @@
<note>
<p>Note: The '^' character at the start of three-character formats
- has no significance, but it must be the first character of any newly
- added three-character format to avoid potential conflicts with log
- formats that use literals adjacent to a format specifier, such as
+ has no significance, but it must be the first character of any newly
+ added three-character format to avoid potential conflicts with log
+ formats that use literals adjacent to a format specifier, such as
"%Dus".</p>
</note>
@@ -554,7 +554,7 @@ CustomLog referer.log referer env=!localreferer
LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost_common
</highlight>
</example>
-
+
</usage>
</directivesynopsis>
diff --git a/docs/manual/mod/mod_lua.html.en b/docs/manual/mod/mod_lua.html.en
index c9f540645e..4e945c43ab 100644
--- a/docs/manual/mod/mod_lua.html.en
+++ b/docs/manual/mod/mod_lua.html.en
@@ -51,9 +51,9 @@ at any time, even between stable releases of the 2.4.x series.
Be sure to check the CHANGES file before upgrading.</div>
<div class="warning"><h3>Warning</h3>
-<p>This module holds a great deal of power over httpd, which is both a
-strength and a potential security risk. It is <strong>not</strong> recommended
-that you use this module on a server that is shared with users you do not
+<p>This module holds a great deal of power over httpd, which is both a
+strength and a potential security risk. It is <strong>not</strong> recommended
+that you use this module on a server that is shared with users you do not
trust, as it can be abused to change the internal workings of httpd.</p>
</div>
@@ -252,26 +252,26 @@ performing access control, or setting mime types:</p>
<tr>
<td>Quick handler</td>
<td><code class="directive"><a href="#luaquickhandler">LuaQuickHandler</a></code></td>
- <td>This is the first hook that will be called after a request has
+ <td>This is the first hook that will be called after a request has
been mapped to a host or virtual host</td>
</tr>
<tr class="odd">
<td>Translate name</td>
<td><code class="directive"><a href="#luahooktranslatename">LuaHookTranslateName</a></code></td>
- <td>This phase translates the requested URI into a filename on the
+ <td>This phase translates the requested URI into a filename on the
system. Modules such as <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> operate in this phase.</td>
</tr>
<tr>
<td>Map to storage</td>
<td><code class="directive"><a href="#luahookmaptostorage">LuaHookMapToStorage</a></code></td>
- <td>This phase maps files to their physical, cached or external/proxied storage.
+ <td>This phase maps files to their physical, cached or external/proxied storage.
It can be used by proxy or caching modules</td>
</tr>
<tr class="odd">
<td>Check Access</td>
<td><code class="directive"><a href="#luahookaccesschecker">LuaHookAccessChecker</a></code></td>
- <td>This phase checks whether a client has access to a resource. This
+ <td>This phase checks whether a client has access to a resource. This
phase is run before the user is authenticated, so beware.
</td>
</tr>
@@ -282,41 +282,41 @@ performing access control, or setting mime types:</p>
</tr>
<tr class="odd">
<td>Check Authorization</td>
- <td><code class="directive"><a href="#luahookauthchecker">LuaHookAuthChecker</a></code> or
+ <td><code class="directive"><a href="#luahookauthchecker">LuaHookAuthChecker</a></code> or
<code class="directive"><a href="#luaauthzprovider">LuaAuthzProvider</a></code></td>
- <td>This phase authorizes a user based on the negotiated credentials, such as
+ <td>This phase authorizes a user based on the negotiated credentials, such as
user ID, client certificate etc.
</td>
</tr>
<tr>
<td>Check Type</td>
<td><code class="directive"><a href="#luahooktypechecker">LuaHookTypeChecker</a></code></td>
- <td>This phase checks the requested file and assigns a content type and
+ <td>This phase checks the requested file and assigns a content type and
a handler to it</td>
</tr>
<tr class="odd">
<td>Fixups</td>
<td><code class="directive"><a href="#luahookfixups">LuaHookFixups</a></code></td>
- <td>This is the final "fix anything" phase before the content handlers
+ <td>This is the final "fix anything" phase before the content handlers
are run. Any last-minute changes to the request should be made here.</td>
</tr>
<tr>
<td>Content handler</td>
<td>fx. <code>.lua</code> files or through <code class="directive"><a href="#luamaphandler">LuaMapHandler</a></code></td>
- <td>This is where the content is handled. Files are read, parsed, some are run,
+ <td>This is where the content is handled. Files are read, parsed, some are run,
and the result is sent to the client</td>
</tr>
<tr class="odd">
<td>Logging</td>
<td><code class="directive"><a href="#luahooklog">LuaHookLog</a></code></td>
- <td>Once a request has been handled, it enters several logging phases,
+ <td>Once a request has been handled, it enters several logging phases,
which logs the request in either the error or access log. Mod_lua
is able to hook into the start of this and control logging output.</td>
</tr>
</table>
-<p>Hook functions are passed the request object as their only argument
-(except for LuaAuthzProvider, which also gets passed the arguments from
+<p>Hook functions are passed the request object as their only argument
+(except for LuaAuthzProvider, which also gets passed the arguments from
the Require directive).
They can return any value, depending on the hook, but most commonly
they'll return OK, DONE, or DECLINED, which you can write in Lua as
@@ -391,21 +391,21 @@ end</pre>
<td><code>ap_auth_type</code></td>
<td>string</td>
<td>no</td>
- <td>If an authentication check was made, this is set to the type
+ <td>If an authentication check was made, this is set to the type
of authentication (f.x. <code>basic</code>)</td>
</tr>
<tr>
<td><code>args</code></td>
<td>string</td>
<td>yes</td>
- <td>The query string arguments extracted from the request
+ <td>The query string arguments extracted from the request
(f.x. <code>foo=bar&amp;name=johnsmith</code>)</td>
</tr>
<tr class="odd">
<td><code>assbackwards</code></td>
<td>boolean</td>
<td>no</td>
- <td>Set to true if this is an HTTP/0.9 style request
+ <td>Set to true if this is an HTTP/0.9 style request
(e.g. <code>GET /foo</code> (with no headers) )</td>
</tr>
<tr>
@@ -442,7 +442,7 @@ end</pre>
<td><code>content_type</code></td>
<td>string</td>
<td>yes</td>
- <td>The content type of the current request, as determined in the
+ <td>The content type of the current request, as determined in the
type_check phase (f.x. <code>image/gif</code> or <code>text/html</code>)</td>
</tr>
<tr>
@@ -474,18 +474,18 @@ end</pre>
<td><code>filename</code></td>
<td>string</td>
<td>yes</td>
- <td>The file name that the request maps to, f.x. /www/example.com/foo.txt. This can be
- changed in the translate-name or map-to-storage phases of a request to allow the
+ <td>The file name that the request maps to, f.x. /www/example.com/foo.txt. This can be
+ changed in the translate-name or map-to-storage phases of a request to allow the
default handler (or script handlers) to serve a different file than what was requested.</td>
</tr>
<tr class="odd">
<td><code>handler</code></td>
<td>string</td>
<td>yes</td>
- <td>The name of the <a href="../handler.html">handler</a> that should serve this request, f.x.
- <code>lua-script</code> if it is to be served by mod_lua. This is typically set by the
- <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> or <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>
- directives, but could also be set via mod_lua to allow another handler to serve up a specific request
+ <td>The name of the <a href="../handler.html">handler</a> that should serve this request, f.x.
+ <code>lua-script</code> if it is to be served by mod_lua. This is typically set by the
+ <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> or <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>
+ directives, but could also be set via mod_lua to allow another handler to serve up a specific request
that would otherwise not be served by it.
</td>
</tr>
@@ -493,7 +493,7 @@ end</pre>
<td><code>headers_in</code></td>
<td>table</td>
<td>yes</td>
- <td>MIME header environment from the request. This contains headers such as <code>Host,
+ <td>MIME header environment from the request. This contains headers such as <code>Host,
User-Agent, Referer</code> and so on.</td>
</tr>
<tr class="odd">
@@ -572,7 +572,7 @@ end</pre>
<td><code>proxyreq</code></td>
<td>string</td>
<td>yes</td>
- <td>Denotes whether this is a proxy request or not. This value is generally set in
+ <td>Denotes whether this is a proxy request or not. This value is generally set in
the post_read_request/translate_name phase of a request.</td>
</tr>
<tr>
@@ -684,7 +684,7 @@ if use_sendfile_thing then
end</pre>
-<pre class="prettyprint lang-lua">r:parseargs() -- returns two tables; one standard key/value table for regular GET data,
+<pre class="prettyprint lang-lua">r:parseargs() -- returns two tables; one standard key/value table for regular GET data,
-- and one for multi-value data (fx. foo=1&amp;foo=2&amp;foo=3):
local GET, GETMULTI = r:parseargs()
@@ -693,9 +693,9 @@ r:puts("Your name is: " .. GET['name'] or "Unknown")</pre>
<pre class="prettyprint lang-lua">r:parsebody([sizeLimit]) -- parse the request body as a POST and return two lua tables,
-- just like r:parseargs().
- -- An optional number may be passed to specify the maximum number
+ -- An optional number may be passed to specify the maximum number
-- of bytes to parse. Default is 8192 bytes:
-
+
local POST, POSTMULTI = r:parsebody(1024*1024)
r:puts("Your name is: " .. POST['name'] or "Unknown")</pre>
@@ -780,7 +780,7 @@ r:puts("Server 1's thread 1 has thread ID " .. thread.tid .. " and is in " .. th
<pre class="prettyprint lang-lua">r:requestbody(filename) -- Reads and returns the request body of a request.
-- If 'filename' is specified, it instead saves the
-- contents to that file:
-
+
local input = r:requestbody()
r:puts("You sent the following request body to me:\n")
r:puts(input)</pre>
@@ -806,11 +806,11 @@ for k, module in pairs(r:loaded_modules()) do
end</pre>
-<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- Compute the name of a run-time file (e.g., shared memory "file")
+<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- Compute the name of a run-time file (e.g., shared memory "file")
-- relative to the appropriate run-time directory.</pre>
-<pre class="prettyprint lang-lua">r:server_info() -- Returns a table containing server information, such as
+<pre class="prettyprint lang-lua">r:server_info() -- Returns a table containing server information, such as
-- the name of the httpd executable file, mpm used etc.</pre>
@@ -830,9 +830,9 @@ end</pre>
<pre class="prettyprint lang-lua">r.strcmp_match(string, pattern) -- Checks if 'string' matches 'pattern' using strcmp_match (globs).
-- fx. whether 'www.example.com' matches '*.example.com':
-
+
local match = r.strcmp_match("foobar.com", "foo*.com")
-if match then
+if match then
r:puts("foobar.com matches foo*.com")
end</pre>
@@ -849,7 +849,7 @@ end</pre>
<pre class="prettyprint lang-lua">r:custom_response(status_code, string) -- Construct and set a custom response for a given status code.
-- This works much like the ErrorDocument directive:
-
+
r:custom_response(404, "Baleted!")</pre>
@@ -896,12 +896,12 @@ local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1)
<pre class="prettyprint lang-lua">r:ivm_set("key", value) -- Set an Inter-VM variable to hold a specific value.
-- These values persist even though the VM is gone or not being used,
-- and so should only be used if MaxConnectionsPerChild is &gt; 0
- -- Values can be numbers, strings and booleans, and are stored on a
+ -- Values can be numbers, strings and booleans, and are stored on a
-- per process basis (so they won't do much good with a prefork mpm)
-
+
r:ivm_get("key") -- Fetches a variable set by ivm_set. Returns the contents of the variable
-- if it exists or nil if no such variable exists.
-
+
-- An example getter/setter that saves a global variable outside the VM:
function handle(r)
-- First VM to call this will get no value, and will have to create it
@@ -1063,10 +1063,10 @@ local line = r:wsread()</pre>
<h2><a name="modifying_buckets" id="modifying_buckets">Modifying contents with Lua filters</a></h2>
<p>
- Filter functions implemented via <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code>
- or <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> are designed as
- three-stage non-blocking functions using coroutines to suspend and resume a
- function as buckets are sent down the filter chain. The core structure of
+ Filter functions implemented via <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code>
+ or <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> are designed as
+ three-stage non-blocking functions using coroutines to suspend and resume a
+ function as buckets are sent down the filter chain. The core structure of
such a function is:
</p>
<pre class="prettyprint lang-lua">function filter(r)
@@ -1077,11 +1077,11 @@ local line = r:wsread()</pre>
return -- This would skip this filter.
end
-- Regardless of whether we have data to prepend, a yield MUST be called here.
- -- Note that only output filters can prepend data. Input filters must use the
+ -- Note that only output filters can prepend data. Input filters must use the
-- final stage to append data to the content.
coroutine.yield([optional header to be prepended to the content])
-
- -- After we have yielded, buckets will be sent to us, one by one, and we can
+
+ -- After we have yielded, buckets will be sent to us, one by one, and we can
-- do whatever we want with them and then pass on the result.
-- Buckets are stored in the global variable 'bucket', so we create a loop
-- that checks if 'bucket' is not nil:
@@ -1090,9 +1090,9 @@ local line = r:wsread()</pre>
coroutine.yield(output) -- Return our new content to the filter chain
end
- -- Once the buckets are gone, 'bucket' is set to nil, which will exit the
+ -- Once the buckets are gone, 'bucket' is set to nil, which will exit the
-- loop and land us here. Anything extra we want to append to the content
- -- can be done by doing a final yield here. Both input and output filters
+ -- can be done by doing a final yield here. Both input and output filters
-- can append data to the content in this phase.
coroutine.yield([optional footer to be appended to the content])
end</pre>
@@ -1169,7 +1169,7 @@ local connected = database:active()</pre>
<h3><a name="result_sets" id="result_sets">Working with result sets</a></h3>
- <p>The result set returned by <code>db:select</code> or by the prepared statement functions
+ <p>The result set returned by <code>db:select</code> or by the prepared statement functions
created through <code>db:prepare</code> can be used to
fetch rows synchronously or asynchronously, depending on the row number specified:<br />
<code>result(0)</code> fetches all rows in a synchronous manner, returning a table of rows.<br />
@@ -1184,7 +1184,7 @@ local row = result(-1) -- Fetch the next available row, asynchronously
local row = result(1234) -- Fetch row number 1234, asynchronously
local row = result(-1, true) -- Fetch the next available row, using row names as key indexes.</pre>
- <p>One can construct a function that returns an iterative function to iterate over all rows
+ <p>One can construct a function that returns an iterative function to iterate over all rows
in a synchronous or asynchronous way, depending on the async argument:
</p>
<pre class="prettyprint lang-lua">function rows(resultset, async)
@@ -1225,8 +1225,8 @@ end</pre>
<p>Database handles should be closed using <code>database:close()</code> when they are no longer
- needed. If you do not close them manually, they will eventually be garbage collected and
- closed by mod_lua, but you may end up having too many unused connections to the database
+ needed. If you do not close them manually, they will eventually be garbage collected and
+ closed by mod_lua, but you may end up having too many unused connections to the database
if you leave the closing up to mod_lua. Essentially, the following two measures are
the same:
</p>
@@ -1242,11 +1242,11 @@ collectgarbage() -- close the handle via GC</pre>
<h3><a name="database_caveat" id="database_caveat">Precautions when working with databases</a></h3>
- <p>Although the standard <code>query</code> and <code>run</code> functions are freely
- available, it is recommended that you use prepared statements whenever possible, to
- both optimize performance (if your db handle lives on for a long time) and to minimize
+ <p>Although the standard <code>query</code> and <code>run</code> functions are freely
+ available, it is recommended that you use prepared statements whenever possible, to
+ both optimize performance (if your db handle lives on for a long time) and to minimize
the risk of SQL injection attacks. <code>run</code> and <code>query</code> should only
- be used when there are no variables inserted into a statement (a static statement).
+ be used when there are no variables inserted into a statement (a static statement).
When using dynamic statements, use <code>db:prepare</code> or <code>db:prepared</code>.
</p>
@@ -1324,7 +1324,7 @@ LuaCodeCache never</pre>
</table>
<p>Add your hook to the access_checker phase. An access checker
hook function usually returns OK, DECLINED, or HTTP_FORBIDDEN.</p>
- <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late"
+ <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></div>
</div>
@@ -1374,7 +1374,7 @@ function authcheck_hook(r)
return apache2.OK
end</pre>
- <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late"
+ <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></div>
</div>
@@ -1428,11 +1428,11 @@ processing</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
<p>
- This simple logging hook allows you to run a function when httpd enters the
- logging phase of a request. With it, you can append data to your own logs,
- manipulate data before the regular log is written, or prevent a log entry
+ This simple logging hook allows you to run a function when httpd enters the
+ logging phase of a request. With it, you can append data to your own logs,
+ manipulate data before the regular log is written, or prevent a log entry
from being created. To prevent the usual logging from happening, simply return
- <code>apache2.DONE</code> in your logging handler, otherwise return
+ <code>apache2.DONE</code> in your logging handler, otherwise return
<code>apache2.OK</code> to tell httpd to log as normal.
</p>
<p>Example:</p>
@@ -1443,7 +1443,7 @@ function logger(r)
-- flip a coin:
-- If 1, then we write to our own Lua log and tell httpd not to log
-- in the main log.
- -- If 2, then we just sanitize the output a bit and tell httpd to
+ -- If 2, then we just sanitize the output a bit and tell httpd to
-- log the sanitized bits.
if math.random(1,2) == 1 then
@@ -1472,7 +1472,7 @@ end</pre>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Like <code class="directive">LuaHookTranslateName</code> but executed at the
+ <p>Like <code class="directive">LuaHookTranslateName</code> but executed at the
map-to-storage phase of a request. Modules like mod_cache run at this phase,
which makes for an interesting example on what to do here:</p>
<pre class="prettyprint lang-config">LuaHookMapToStorage /path/to/lua/script.lua check_cache</pre>
@@ -1480,7 +1480,7 @@ end</pre>
<pre class="prettyprint lang-lua">require"apache2"
cached_files = {}
-function read_file(filename)
+function read_file(filename)
local input = io.open(filename, "r")
if input then
local data = input:read("*a")
@@ -1555,7 +1555,7 @@ end</pre>
<div class="note"><h3>Context</h3><p>This directive is not valid in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>, or htaccess
context.</p></div>
- <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late"
+ <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></div>
@@ -1570,8 +1570,8 @@ end</pre>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table><p>
- This directive provides a hook for the type_checker phase of the request processing.
- This phase is where requests are assigned a content type and a handler, and thus can
+ This directive provides a hook for the type_checker phase of the request processing.
+ This phase is where requests are assigned a content type and a handler, and thus can
be used to modify the type and handler based on input:
</p>
<pre class="prettyprint lang-config">LuaHookTypeChecker /path/to/lua/script.lua type_checker</pre>
@@ -1605,7 +1605,7 @@ end</pre>
more specific section are run <em>after</em> those defined in the more
generic section (LuaInherit parent-first). You can reverse this order, or
make the parent context not apply at all.</p>
-
+
<p> In previous 2.3.x releases, the default was effectively to ignore LuaHook*
directives from parent configuration sections.</p>
</div>
@@ -1619,12 +1619,12 @@ end</pre>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.5 and later</td></tr>
</table>
-<p>Provides a means of adding a Lua function as an input filter.
-As with output filters, input filters work as coroutines,
-first yielding before buffers are sent, then yielding whenever
-a bucket needs to be passed down the chain, and finally (optionally)
-yielding anything that needs to be appended to the input data. The
-global variable <code>bucket</code> holds the buckets as they are passed
+<p>Provides a means of adding a Lua function as an input filter.
+As with output filters, input filters work as coroutines,
+first yielding before buffers are sent, then yielding whenever
+a bucket needs to be passed down the chain, and finally (optionally)
+yielding anything that needs to be appended to the input data. The
+global variable <code>bucket</code> holds the buckets as they are passed
onto the Lua script:
</p>
@@ -1659,7 +1659,7 @@ The input filter supports denying/skipping a filter if it is deemed unwanted:
end</pre>
<p>
-See "<a href="#modifying_buckets">Modifying contents with Lua
+See "<a href="#modifying_buckets">Modifying contents with Lua
filters</a>" for more information.
</p>
@@ -1677,7 +1677,7 @@ filters</a>" for more information.
<p>This directive matches a uri pattern to invoke a specific
handler function in a specific file. It uses PCRE regular
expressions to match the uri, and supports interpolating
- match groups into both the file path and the function name.
+ match groups into both the file path and the function name.
Be careful writing your regular expressions to avoid security
issues.</p>
<div class="example"><h3>Examples:</h3><pre class="prettyprint lang-config">LuaMapHandler /(\w+)/(\w+) /scripts/$1.lua handle_$2</pre>
@@ -1704,12 +1704,12 @@ filters</a>" for more information.
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.5 and later</td></tr>
</table>
-<p>Provides a means of adding a Lua function as an output filter.
-As with input filters, output filters work as coroutines,
-first yielding before buffers are sent, then yielding whenever
-a bucket needs to be passed down the chain, and finally (optionally)
-yielding anything that needs to be appended to the input data. The
-global variable <code>bucket</code> holds the buckets as they are passed
+<p>Provides a means of adding a Lua function as an output filter.
+As with input filters, output filters work as coroutines,
+first yielding before buffers are sent, then yielding whenever
+a bucket needs to be passed down the chain, and finally (optionally)
+yielding anything that needs to be appended to the input data. The
+global variable <code>bucket</code> holds the buckets as they are passed
onto the Lua script:
</p>
@@ -1732,7 +1732,7 @@ function output_filter(r)
end</pre>
<p>
-As with the input filter, the output filter supports denying/skipping a filter
+As with the input filter, the output filter supports denying/skipping a filter
if it is deemed unwanted:
</p>
<pre class="prettyprint lang-lua">function output_filter(r)
@@ -1744,13 +1744,13 @@ if it is deemed unwanted:
end</pre>
<div class="note"><h3>Lua filters with <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></h3>
-<p> When a Lua filter is used as the underlying provider via the
-<code class="directive"><a href="../mod/mod_filter.html#filterprovider">FilterProvider</a></code> directive, filtering
+<p> When a Lua filter is used as the underlying provider via the
+<code class="directive"><a href="../mod/mod_filter.html#filterprovider">FilterProvider</a></code> directive, filtering
will only work when the <var>filter-name</var> is identical to the <var>provider-name</var>.
</p> </div>
<p>
-See "<a href="#modifying_buckets">Modifying contents with Lua filters</a>" for more
+See "<a href="#modifying_buckets">Modifying contents with Lua filters</a>" for more
information.
</p>
@@ -1801,10 +1801,10 @@ LuaPackagePath /scripts/lib/?/init.lua</pre>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
<p>
- This phase is run immediately after the request has been mapped to a virtal host,
- and can be used to either do some request processing before the other phases kick
- in, or to serve a request without the need to translate, map to storage et cetera.
- As this phase is run before anything else, directives such as <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> or <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> are void in this phase, just as
+ This phase is run immediately after the request has been mapped to a virtal host,
+ and can be used to either do some request processing before the other phases kick
+ in, or to serve a request without the need to translate, map to storage et cetera.
+ As this phase is run before anything else, directives such as <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> or <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> are void in this phase, just as
URIs have not been properly parsed yet.
</p>
<div class="note"><h3>Context</h3><p>This directive is not valid in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>, or htaccess
@@ -1850,27 +1850,27 @@ LuaPackagePath /scripts/lib/?/init.lua</pre>
<dt>conn:</dt> <dd>Same as request but attached to the connection_rec</dd>
- <dt>thread:</dt> <dd>Use the interpreter for the lifetime of the thread
+ <dt>thread:</dt> <dd>Use the interpreter for the lifetime of the thread
handling the request (only available with threaded MPMs).</dd>
<dt>server:</dt> <dd>This one is different than others because the
server scope is quite long lived, and multiple threads
will have the same server_rec. To accommodate this,
server scoped Lua states are stored in an apr
- resource list. The <code>min</code> and <code>max</code> arguments
- specify the minimum and maximum number of Lua states to keep in the
+ resource list. The <code>min</code> and <code>max</code> arguments
+ specify the minimum and maximum number of Lua states to keep in the
pool.</dd>
</dl>
<p>
- Generally speaking, the <code>thread</code> and <code>server</code> scopes
- execute roughly 2-3 times faster than the rest, because they don't have to
- spawn new Lua states on every request (especially with the event MPM, as
- even keepalive requests will use a new thread for each request). If you are
- satisfied that your scripts will not have problems reusing a state, then
- the <code>thread</code> or <code>server</code> scopes should be used for
- maximum performance. While the <code>thread</code> scope will provide the
- fastest responses, the <code>server</code> scope will use less memory, as
- states are pooled, allowing f.x. 1000 threads to share only 100 Lua states,
+ Generally speaking, the <code>thread</code> and <code>server</code> scopes
+ execute roughly 2-3 times faster than the rest, because they don't have to
+ spawn new Lua states on every request (especially with the event MPM, as
+ even keepalive requests will use a new thread for each request). If you are
+ satisfied that your scripts will not have problems reusing a state, then
+ the <code>thread</code> or <code>server</code> scopes should be used for
+ maximum performance. While the <code>thread</code> scope will provide the
+ fastest responses, the <code>server</code> scope will use less memory, as
+ states are pooled, allowing f.x. 1000 threads to share only 100 Lua states,
thus using only 10% of the memory required by the <code>thread</code> scope.
</p>
diff --git a/docs/manual/mod/mod_lua.xml b/docs/manual/mod/mod_lua.xml
index 56d4460590..05e50cb197 100644
--- a/docs/manual/mod/mod_lua.xml
+++ b/docs/manual/mod/mod_lua.xml
@@ -48,9 +48,9 @@ at any time, even between stable releases of the 2.4.x series.
Be sure to check the CHANGES file before upgrading.</note>
<note type="warning"><title>Warning</title>
-<p>This module holds a great deal of power over httpd, which is both a
-strength and a potential security risk. It is <strong>not</strong> recommended
-that you use this module on a server that is shared with users you do not
+<p>This module holds a great deal of power over httpd, which is both a
+strength and a potential security risk. It is <strong>not</strong> recommended
+that you use this module on a server that is shared with users you do not
trust, as it can be abused to change the internal workings of httpd.</p>
</note>
@@ -217,26 +217,26 @@ performing access control, or setting mime types:</p>
<tr>
<td>Quick handler</td>
<td><directive module="mod_lua">LuaQuickHandler</directive></td>
- <td>This is the first hook that will be called after a request has
+ <td>This is the first hook that will be called after a request has
been mapped to a host or virtual host</td>
</tr>
<tr>
<td>Translate name</td>
<td><directive module="mod_lua">LuaHookTranslateName</directive></td>
- <td>This phase translates the requested URI into a filename on the
+ <td>This phase translates the requested URI into a filename on the
system. Modules such as <module>mod_alias</module> and
<module>mod_rewrite</module> operate in this phase.</td>
</tr>
<tr>
<td>Map to storage</td>
<td><directive module="mod_lua">LuaHookMapToStorage</directive></td>
- <td>This phase maps files to their physical, cached or external/proxied storage.
+ <td>This phase maps files to their physical, cached or external/proxied storage.
It can be used by proxy or caching modules</td>
</tr>
<tr>
<td>Check Access</td>
<td><directive module="mod_lua">LuaHookAccessChecker</directive></td>
- <td>This phase checks whether a client has access to a resource. This
+ <td>This phase checks whether a client has access to a resource. This
phase is run before the user is authenticated, so beware.
</td>
</tr>
@@ -247,42 +247,42 @@ performing access control, or setting mime types:</p>
</tr>
<tr>
<td>Check Authorization</td>
- <td><directive module="mod_lua">LuaHookAuthChecker</directive> or
+ <td><directive module="mod_lua">LuaHookAuthChecker</directive> or
<directive module="mod_lua">LuaAuthzProvider</directive></td>
- <td>This phase authorizes a user based on the negotiated credentials, such as
+ <td>This phase authorizes a user based on the negotiated credentials, such as
user ID, client certificate etc.
</td>
</tr>
<tr>
<td>Check Type</td>
<td><directive module="mod_lua">LuaHookTypeChecker</directive></td>
- <td>This phase checks the requested file and assigns a content type and
+ <td>This phase checks the requested file and assigns a content type and
a handler to it</td>
</tr>
<tr>
<td>Fixups</td>
<td><directive module="mod_lua">LuaHookFixups</directive></td>
- <td>This is the final "fix anything" phase before the content handlers
+ <td>This is the final "fix anything" phase before the content handlers
are run. Any last-minute changes to the request should be made here.</td>
</tr>
<tr>
<td>Content handler</td>
<td>fx. <code>.lua</code> files or through <directive module="mod_lua">LuaMapHandler</directive></td>
- <td>This is where the content is handled. Files are read, parsed, some are run,
+ <td>This is where the content is handled. Files are read, parsed, some are run,
and the result is sent to the client</td>
</tr>
<tr>
<td>Logging</td>
<td><directive module="mod_lua">LuaHookLog</directive></td>
- <td>Once a request has been handled, it enters several logging phases,
+ <td>Once a request has been handled, it enters several logging phases,
which logs the request in either the error or access log. Mod_lua
is able to hook into the start of this and control logging output.</td>
</tr>
</table>
-<p>Hook functions are passed the request object as their only argument
-(except for LuaAuthzProvider, which also gets passed the arguments from
+<p>Hook functions are passed the request object as their only argument
+(except for LuaAuthzProvider, which also gets passed the arguments from
the Require directive).
They can return any value, depending on the hook, but most commonly
they'll return OK, DONE, or DECLINED, which you can write in Lua as
@@ -359,21 +359,21 @@ end
<td><code>ap_auth_type</code></td>
<td>string</td>
<td>no</td>
- <td>If an authentication check was made, this is set to the type
+ <td>If an authentication check was made, this is set to the type
of authentication (f.x. <code>basic</code>)</td>
</tr>
<tr>
<td><code>args</code></td>
<td>string</td>
<td>yes</td>
- <td>The query string arguments extracted from the request
+ <td>The query string arguments extracted from the request
(f.x. <code>foo=bar&amp;name=johnsmith</code>)</td>
</tr>
<tr>
<td><code>assbackwards</code></td>
<td>boolean</td>
<td>no</td>
- <td>Set to true if this is an HTTP/0.9 style request
+ <td>Set to true if this is an HTTP/0.9 style request
(e.g. <code>GET /foo</code> (with no headers) )</td>
</tr>
<tr>
@@ -410,7 +410,7 @@ end
<td><code>content_type</code></td>
<td>string</td>
<td>yes</td>
- <td>The content type of the current request, as determined in the
+ <td>The content type of the current request, as determined in the
type_check phase (f.x. <code>image/gif</code> or <code>text/html</code>)</td>
</tr>
<tr>
@@ -443,18 +443,18 @@ end
<td><code>filename</code></td>
<td>string</td>
<td>yes</td>
- <td>The file name that the request maps to, f.x. /www/example.com/foo.txt. This can be
- changed in the translate-name or map-to-storage phases of a request to allow the
+ <td>The file name that the request maps to, f.x. /www/example.com/foo.txt. This can be
+ changed in the translate-name or map-to-storage phases of a request to allow the
default handler (or script handlers) to serve a different file than what was requested.</td>
</tr>
<tr>
<td><code>handler</code></td>
<td>string</td>
<td>yes</td>
- <td>The name of the <a href="../handler.html">handler</a> that should serve this request, f.x.
- <code>lua-script</code> if it is to be served by mod_lua. This is typically set by the
- <directive module="mod_mime">AddHandler</directive> or <directive module="core">SetHandler</directive>
- directives, but could also be set via mod_lua to allow another handler to serve up a specific request
+ <td>The name of the <a href="../handler.html">handler</a> that should serve this request, f.x.
+ <code>lua-script</code> if it is to be served by mod_lua. This is typically set by the
+ <directive module="mod_mime">AddHandler</directive> or <directive module="core">SetHandler</directive>
+ directives, but could also be set via mod_lua to allow another handler to serve up a specific request
that would otherwise not be served by it.
</td>
</tr>
@@ -463,7 +463,7 @@ end
<td><code>headers_in</code></td>
<td>table</td>
<td>yes</td>
- <td>MIME header environment from the request. This contains headers such as <code>Host,
+ <td>MIME header environment from the request. This contains headers such as <code>Host,
User-Agent, Referer</code> and so on.</td>
</tr>
<tr>
@@ -542,7 +542,7 @@ end
<td><code>proxyreq</code></td>
<td>string</td>
<td>yes</td>
- <td>Denotes whether this is a proxy request or not. This value is generally set in
+ <td>Denotes whether this is a proxy request or not. This value is generally set in
the post_read_request/translate_name phase of a request.</td>
</tr>
<tr>
@@ -657,7 +657,7 @@ end
</highlight>
<highlight language="lua">
-r:parseargs() -- returns two tables; one standard key/value table for regular GET data,
+r:parseargs() -- returns two tables; one standard key/value table for regular GET data,
-- and one for multi-value data (fx. foo=1&amp;foo=2&amp;foo=3):
local GET, GETMULTI = r:parseargs()
@@ -667,9 +667,9 @@ r:puts("Your name is: " .. GET['name'] or "Unknown")
<highlight language="lua">
r:parsebody([sizeLimit]) -- parse the request body as a POST and return two lua tables,
-- just like r:parseargs().
- -- An optional number may be passed to specify the maximum number
+ -- An optional number may be passed to specify the maximum number
-- of bytes to parse. Default is 8192 bytes:
-
+
local POST, POSTMULTI = r:parsebody(1024*1024)
r:puts("Your name is: " .. POST['name'] or "Unknown")
</highlight>
@@ -727,7 +727,7 @@ local unescaped = r:unescape(url) -- returns 'http://foo.bar/1 2 3 &amp; 4 + 5'
<highlight language="lua">
r:construct_url(string) -- Constructs an URL from an URI
-local url = r:construct_url(r.uri)
+local url = r:construct_url(r.uri)
</highlight>
<highlight language="lua">
@@ -770,7 +770,7 @@ r:clock() -- Returns the current time with microsecond precision
r:requestbody(filename) -- Reads and returns the request body of a request.
-- If 'filename' is specified, it instead saves the
-- contents to that file:
-
+
local input = r:requestbody()
r:puts("You sent the following request body to me:\n")
r:puts(input)
@@ -800,12 +800,12 @@ end
</highlight>
<highlight language="lua">
-r:runtime_dir_relative(filename) -- Compute the name of a run-time file (e.g., shared memory "file")
- -- relative to the appropriate run-time directory.
+r:runtime_dir_relative(filename) -- Compute the name of a run-time file (e.g., shared memory "file")
+ -- relative to the appropriate run-time directory.
</highlight>
<highlight language="lua">
-r:server_info() -- Returns a table containing server information, such as
+r:server_info() -- Returns a table containing server information, such as
-- the name of the httpd executable file, mpm used etc.
</highlight>
@@ -834,9 +834,9 @@ r:escape_logitem(string) -- Escapes a string for logging
<highlight language="lua">
r.strcmp_match(string, pattern) -- Checks if 'string' matches 'pattern' using strcmp_match (globs).
-- fx. whether 'www.example.com' matches '*.example.com':
-
+
local match = r.strcmp_match("foobar.com", "foo*.com")
-if match then
+if match then
r:puts("foobar.com matches foo*.com")
end
</highlight>
@@ -857,7 +857,7 @@ r:send_interim_response(clear) -- Sends an interim (1xx) response to the client.
<highlight language="lua">
r:custom_response(status_code, string) -- Construct and set a custom response for a given status code.
-- This works much like the ErrorDocument directive:
-
+
r:custom_response(404, "Baleted!")
</highlight>
@@ -911,12 +911,12 @@ r:dbacquire(dbType[, dbParams]) -- Acquires a connection to a database and retur
r:ivm_set("key", value) -- Set an Inter-VM variable to hold a specific value.
-- These values persist even though the VM is gone or not being used,
-- and so should only be used if MaxConnectionsPerChild is > 0
- -- Values can be numbers, strings and booleans, and are stored on a
+ -- Values can be numbers, strings and booleans, and are stored on a
-- per process basis (so they won't do much good with a prefork mpm)
-
+
r:ivm_get("key") -- Fetches a variable set by ivm_set. Returns the contents of the variable
-- if it exists or nil if no such variable exists.
-
+
-- An example getter/setter that saves a global variable outside the VM:
function handle(r)
-- First VM to call this will get no value, and will have to create it
@@ -1095,10 +1095,10 @@ r:activeconfig() -- Get a walkable tree of the active (virtualhost-specific) htt
<section id="modifying_buckets">
<title>Modifying contents with Lua filters</title>
<p>
- Filter functions implemented via <directive module="mod_lua">LuaInputFilter</directive>
- or <directive module="mod_lua">LuaOutputFilter</directive> are designed as
- three-stage non-blocking functions using coroutines to suspend and resume a
- function as buckets are sent down the filter chain. The core structure of
+ Filter functions implemented via <directive module="mod_lua">LuaInputFilter</directive>
+ or <directive module="mod_lua">LuaOutputFilter</directive> are designed as
+ three-stage non-blocking functions using coroutines to suspend and resume a
+ function as buckets are sent down the filter chain. The core structure of
such a function is:
</p>
<highlight language="lua">
@@ -1110,11 +1110,11 @@ function filter(r)
return -- This would skip this filter.
end
-- Regardless of whether we have data to prepend, a yield MUST be called here.
- -- Note that only output filters can prepend data. Input filters must use the
+ -- Note that only output filters can prepend data. Input filters must use the
-- final stage to append data to the content.
coroutine.yield([optional header to be prepended to the content])
-
- -- After we have yielded, buckets will be sent to us, one by one, and we can
+
+ -- After we have yielded, buckets will be sent to us, one by one, and we can
-- do whatever we want with them and then pass on the result.
-- Buckets are stored in the global variable 'bucket', so we create a loop
-- that checks if 'bucket' is not nil:
@@ -1123,9 +1123,9 @@ function filter(r)
coroutine.yield(output) -- Return our new content to the filter chain
end
- -- Once the buckets are gone, 'bucket' is set to nil, which will exit the
+ -- Once the buckets are gone, 'bucket' is set to nil, which will exit the
-- loop and land us here. Anything extra we want to append to the content
- -- can be done by doing a final yield here. Both input and output filters
+ -- can be done by doing a final yield here. Both input and output filters
-- can append data to the content in this phase.
coroutine.yield([optional footer to be appended to the content])
end
@@ -1208,7 +1208,7 @@ local connected = database:active()
</section>
<section id="result_sets">
<title>Working with result sets</title>
- <p>The result set returned by <code>db:select</code> or by the prepared statement functions
+ <p>The result set returned by <code>db:select</code> or by the prepared statement functions
created through <code>db:prepare</code> can be used to
fetch rows synchronously or asynchronously, depending on the row number specified:<br/>
<code>result(0)</code> fetches all rows in a synchronous manner, returning a table of rows.<br/>
@@ -1224,7 +1224,7 @@ local row = result(-1) -- Fetch the next available row, asynchronously
local row = result(1234) -- Fetch row number 1234, asynchronously
local row = result(-1, true) -- Fetch the next available row, using row names as key indexes.
</highlight>
- <p>One can construct a function that returns an iterative function to iterate over all rows
+ <p>One can construct a function that returns an iterative function to iterate over all rows
in a synchronous or asynchronous way, depending on the async argument:
</p>
<highlight language="lua">
@@ -1266,8 +1266,8 @@ end
<title>Closing a database connection</title>
<p>Database handles should be closed using <code>database:close()</code> when they are no longer
- needed. If you do not close them manually, they will eventually be garbage collected and
- closed by mod_lua, but you may end up having too many unused connections to the database
+ needed. If you do not close them manually, they will eventually be garbage collected and
+ closed by mod_lua, but you may end up having too many unused connections to the database
if you leave the closing up to mod_lua. Essentially, the following two measures are
the same:
</p>
@@ -1284,11 +1284,11 @@ collectgarbage() -- close the handle via GC
</section>
<section id="database_caveat">
<title>Precautions when working with databases</title>
- <p>Although the standard <code>query</code> and <code>run</code> functions are freely
- available, it is recommended that you use prepared statements whenever possible, to
- both optimize performance (if your db handle lives on for a long time) and to minimize
+ <p>Although the standard <code>query</code> and <code>run</code> functions are freely
+ available, it is recommended that you use prepared statements whenever possible, to
+ both optimize performance (if your db handle lives on for a long time) and to minimize
the risk of SQL injection attacks. <code>run</code> and <code>query</code> should only
- be used when there are no variables inserted into a statement (a static statement).
+ be used when there are no variables inserted into a statement (a static statement).
When using dynamic statements, use <code>db:prepare</code> or <code>db:prepared</code>.
</p>
</section>
@@ -1335,27 +1335,27 @@ collectgarbage() -- close the handle via GC
<dt>conn:</dt> <dd>Same as request but attached to the connection_rec</dd>
- <dt>thread:</dt> <dd>Use the interpreter for the lifetime of the thread
+ <dt>thread:</dt> <dd>Use the interpreter for the lifetime of the thread
handling the request (only available with threaded MPMs).</dd>
<dt>server:</dt> <dd>This one is different than others because the
server scope is quite long lived, and multiple threads
will have the same server_rec. To accommodate this,
server scoped Lua states are stored in an apr
- resource list. The <code>min</code> and <code>max</code> arguments
- specify the minimum and maximum number of Lua states to keep in the
+ resource list. The <code>min</code> and <code>max</code> arguments
+ specify the minimum and maximum number of Lua states to keep in the
pool.</dd>
</dl>
<p>
- Generally speaking, the <code>thread</code> and <code>server</code> scopes
- execute roughly 2-3 times faster than the rest, because they don't have to
- spawn new Lua states on every request (especially with the event MPM, as
- even keepalive requests will use a new thread for each request). If you are
- satisfied that your scripts will not have problems reusing a state, then
- the <code>thread</code> or <code>server</code> scopes should be used for
- maximum performance. While the <code>thread</code> scope will provide the
- fastest responses, the <code>server</code> scope will use less memory, as
- states are pooled, allowing f.x. 1000 threads to share only 100 Lua states,
+ Generally speaking, the <code>thread</code> and <code>server</code> scopes
+ execute roughly 2-3 times faster than the rest, because they don't have to
+ spawn new Lua states on every request (especially with the event MPM, as
+ even keepalive requests will use a new thread for each request). If you are
+ satisfied that your scripts will not have problems reusing a state, then
+ the <code>thread</code> or <code>server</code> scopes should be used for
+ maximum performance. While the <code>thread</code> scope will provide the
+ fastest responses, the <code>server</code> scope will use less memory, as
+ states are pooled, allowing f.x. 1000 threads to share only 100 Lua states,
thus using only 10% of the memory required by the <code>thread</code> scope.
</p>
</usage>
@@ -1373,7 +1373,7 @@ collectgarbage() -- close the handle via GC
<p>This directive matches a uri pattern to invoke a specific
handler function in a specific file. It uses PCRE regular
expressions to match the uri, and supports interpolating
- match groups into both the file path and the function name.
+ match groups into both the file path and the function name.
Be careful writing your regular expressions to avoid security
issues.</p>
<example><title>Examples:</title>
@@ -1515,7 +1515,7 @@ end
type="section" module="core">Files</directive>, or htaccess
context.</p></note>
- <note><title>Ordering</title><p>The optional arguments "early" or "late"
+ <note><title>Ordering</title><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></note>
</usage>
@@ -1548,11 +1548,11 @@ processing</description>
<override>All</override>
<usage>
<p>
- This simple logging hook allows you to run a function when httpd enters the
- logging phase of a request. With it, you can append data to your own logs,
- manipulate data before the regular log is written, or prevent a log entry
+ This simple logging hook allows you to run a function when httpd enters the
+ logging phase of a request. With it, you can append data to your own logs,
+ manipulate data before the regular log is written, or prevent a log entry
from being created. To prevent the usual logging from happening, simply return
- <code>apache2.DONE</code> in your logging handler, otherwise return
+ <code>apache2.DONE</code> in your logging handler, otherwise return
<code>apache2.OK</code> to tell httpd to log as normal.
</p>
<p>Example:</p>
@@ -1565,7 +1565,7 @@ function logger(r)
-- flip a coin:
-- If 1, then we write to our own Lua log and tell httpd not to log
-- in the main log.
- -- If 2, then we just sanitize the output a bit and tell httpd to
+ -- If 2, then we just sanitize the output a bit and tell httpd to
-- log the sanitized bits.
if math.random(1,2) == 1 then
@@ -1595,7 +1595,7 @@ end
</contextlist>
<override>All</override>
<usage>
- <p>Like <directive>LuaHookTranslateName</directive> but executed at the
+ <p>Like <directive>LuaHookTranslateName</directive> but executed at the
map-to-storage phase of a request. Modules like mod_cache run at this phase,
which makes for an interesting example on what to do here:</p>
<highlight language="config">
@@ -1605,7 +1605,7 @@ end
require"apache2"
cached_files = {}
-function read_file(filename)
+function read_file(filename)
local input = io.open(filename, "r")
if input then
local data = input:read("*a")
@@ -1647,7 +1647,7 @@ end
<!-- Third argument does not work at the moment!
<compatibility>The optional third argument is supported in 2.3.15 and later</compatibility>
<usage><p>...</p>
- <note><title>Ordering</title><p>The optional arguments "early" or "late"
+ <note><title>Ordering</title><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></note>
</usage>
-->
@@ -1662,8 +1662,8 @@ end
</contextlist>
<override>All</override>
<usage><p>
- This directive provides a hook for the type_checker phase of the request processing.
- This phase is where requests are assigned a content type and a handler, and thus can
+ This directive provides a hook for the type_checker phase of the request processing.
+ This phase is where requests are assigned a content type and a handler, and thus can
be used to modify the type and handler based on input:
</p>
<highlight language="config">
@@ -1730,7 +1730,7 @@ function authcheck_hook(r)
return apache2.OK
end
</highlight>
- <note><title>Ordering</title><p>The optional arguments "early" or "late"
+ <note><title>Ordering</title><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></note>
</usage>
</directivesynopsis>
@@ -1747,7 +1747,7 @@ end
<usage>
<p>Add your hook to the access_checker phase. An access checker
hook function usually returns OK, DECLINED, or HTTP_FORBIDDEN.</p>
- <note><title>Ordering</title><p>The optional arguments "early" or "late"
+ <note><title>Ordering</title><p>The optional arguments "early" or "late"
control when this script runs relative to other modules.</p></note>
</usage>
</directivesynopsis>
@@ -1778,7 +1778,7 @@ hook function usually returns OK, DECLINED, or HTTP_FORBIDDEN.</p>
more specific section are run <em>after</em> those defined in the more
generic section (LuaInherit parent-first). You can reverse this order, or
make the parent context not apply at all.</p>
-
+
<p> In previous 2.3.x releases, the default was effectively to ignore LuaHook*
directives from parent configuration sections.</p></usage>
</directivesynopsis>
@@ -1792,12 +1792,12 @@ hook function usually returns OK, DECLINED, or HTTP_FORBIDDEN.</p>
<override>All</override>
<usage>
<p>
- This phase is run immediately after the request has been mapped to a virtal host,
- and can be used to either do some request processing before the other phases kick
- in, or to serve a request without the need to translate, map to storage et cetera.
+ This phase is run immediately after the request has been mapped to a virtal host,
+ and can be used to either do some request processing before the other phases kick
+ in, or to serve a request without the need to translate, map to storage et cetera.
As this phase is run before anything else, directives such as <directive
type="section" module="core">Location</directive> or <directive
- type="section" module="core">Directory</directive> are void in this phase, just as
+ type="section" module="core">Directory</directive> are void in this phase, just as
URIs have not been properly parsed yet.
</p>
<note><title>Context</title><p>This directive is not valid in <directive
@@ -1847,12 +1847,12 @@ end
<compatibility>2.4.5 and later</compatibility>
<usage>
-<p>Provides a means of adding a Lua function as an input filter.
-As with output filters, input filters work as coroutines,
-first yielding before buffers are sent, then yielding whenever
-a bucket needs to be passed down the chain, and finally (optionally)
-yielding anything that needs to be appended to the input data. The
-global variable <code>bucket</code> holds the buckets as they are passed
+<p>Provides a means of adding a Lua function as an input filter.
+As with output filters, input filters work as coroutines,
+first yielding before buffers are sent, then yielding whenever
+a bucket needs to be passed down the chain, and finally (optionally)
+yielding anything that needs to be appended to the input data. The
+global variable <code>bucket</code> holds the buckets as they are passed
onto the Lua script:
</p>
@@ -1890,7 +1890,7 @@ function input_filter(r)
end
</highlight>
<p>
-See "<a href="#modifying_buckets">Modifying contents with Lua
+See "<a href="#modifying_buckets">Modifying contents with Lua
filters</a>" for more information.
</p>
</usage>
@@ -1904,12 +1904,12 @@ filters</a>" for more information.
<compatibility>2.4.5 and later</compatibility>
<usage>
-<p>Provides a means of adding a Lua function as an output filter.
-As with input filters, output filters work as coroutines,
-first yielding before buffers are sent, then yielding whenever
-a bucket needs to be passed down the chain, and finally (optionally)
-yielding anything that needs to be appended to the input data. The
-global variable <code>bucket</code> holds the buckets as they are passed
+<p>Provides a means of adding a Lua function as an output filter.
+As with input filters, output filters work as coroutines,
+first yielding before buffers are sent, then yielding whenever
+a bucket needs to be passed down the chain, and finally (optionally)
+yielding anything that needs to be appended to the input data. The
+global variable <code>bucket</code> holds the buckets as they are passed
onto the Lua script:
</p>
@@ -1934,7 +1934,7 @@ function output_filter(r)
end
</highlight>
<p>
-As with the input filter, the output filter supports denying/skipping a filter
+As with the input filter, the output filter supports denying/skipping a filter
if it is deemed unwanted:
</p>
<highlight language="lua">
@@ -1947,13 +1947,13 @@ function output_filter(r)
end
</highlight>
<note><title>Lua filters with <module>mod_filter</module></title>
-<p> When a Lua filter is used as the underlying provider via the
-<directive module="mod_filter">FilterProvider</directive> directive, filtering
+<p> When a Lua filter is used as the underlying provider via the
+<directive module="mod_filter">FilterProvider</directive> directive, filtering
will only work when the <var>filter-name</var> is identical to the <var>provider-name</var>.
</p> </note>
<p>
-See "<a href="#modifying_buckets">Modifying contents with Lua filters</a>" for more
+See "<a href="#modifying_buckets">Modifying contents with Lua filters</a>" for more
information.
</p>
diff --git a/docs/manual/mod/mod_macro.html.en b/docs/manual/mod/mod_macro.html.en
index 00e2792a8b..e184ba4e87 100644
--- a/docs/manual/mod/mod_macro.html.en
+++ b/docs/manual/mod/mod_macro.html.en
@@ -107,7 +107,7 @@ Examples section.</p>
<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
+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>
diff --git a/docs/manual/mod/mod_macro.xml b/docs/manual/mod/mod_macro.xml
index 00829cd2b7..471b7c1d4f 100644
--- a/docs/manual/mod/mod_macro.xml
+++ b/docs/manual/mod/mod_macro.xml
@@ -95,7 +95,7 @@ Examples section.</p>
<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 <directive
-module="core">Define</directive> directive. Failure to do so will
+module="core">Define</directive> 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>
diff --git a/docs/manual/mod/mod_mime.xml.ja b/docs/manual/mod/mod_mime.xml.ja
index 19012b840c..97985104e1 100644
--- a/docs/manual/mod/mod_mime.xml.ja
+++ b/docs/manual/mod/mod_mime.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 659902:1673892 (outdated) -->
+<!-- English Revision: 659902:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_policy.html.en b/docs/manual/mod/mod_policy.html.en
index b1fe2d4863..19570e38d5 100644
--- a/docs/manual/mod/mod_policy.html.en
+++ b/docs/manual/mod/mod_policy.html.en
@@ -137,7 +137,7 @@
<dd>Content types that are syntactically invalid or blank can be detected
and the request rejected. Types can be restricted to a specific list
containing optional wildcards ? and *.</dd>
-
+
<dt><strong><a href="../compliance.html#policylength">POLICY_LENGTH</a>
</strong>: Enforce the presence of a Content-Length</dt>
<dd>The length of responses can be specified in one of three ways, by
@@ -231,31 +231,31 @@
<pre class="prettyprint lang-config">&lt;Location "/"&gt;
SetOutputFilter POLICY_TYPE;POLICY_LENGTH;POLICY_KEEPALIVE;POLICY_VARY;POLICY_VALIDATION; \
POLICY_CONDITIONAL;POLICY_NOCACHE;POLICY_MAXAGE;POLICY_VERSION
-
+
# content type must be present and valid, but can be anything
PolicyType enforce */*
-
+
# reject if no explicitly declared content length
PolicyLength enforce
-
+
# covered by the policy length filter
PolicyKeepalive ignore
-
+
# reject if User-Agent appears within Vary headers
PolicyVary enforce User-Agent
-
+
# we want to enforce validation
PolicyValidation enforce
-
+
# non-functional conditional responses should be rejected
PolicyConditional enforce
-
+
# no-cache responses should be rejected
PolicyNocache enforce
-
+
# maxage must be at least a day
PolicyMaxage enforce 86400
-
+
# request version can be anything
PolicyVersion ignore HTTP/1.1
&lt;/Location&gt;
diff --git a/docs/manual/mod/mod_policy.xml b/docs/manual/mod/mod_policy.xml
index 8da25f5bf8..c29bd3f56e 100644
--- a/docs/manual/mod/mod_policy.xml
+++ b/docs/manual/mod/mod_policy.xml
@@ -102,7 +102,7 @@
<dd>Content types that are syntactically invalid or blank can be detected
and the request rejected. Types can be restricted to a specific list
containing optional wildcards ? and *.</dd>
-
+
<dt><strong><a href="../compliance.html#policylength">POLICY_LENGTH</a>
</strong>: Enforce the presence of a Content-Length</dt>
<dd>The length of responses can be specified in one of three ways, by
@@ -197,31 +197,31 @@
&lt;Location "/"&gt;
SetOutputFilter POLICY_TYPE;POLICY_LENGTH;POLICY_KEEPALIVE;POLICY_VARY;POLICY_VALIDATION; \
POLICY_CONDITIONAL;POLICY_NOCACHE;POLICY_MAXAGE;POLICY_VERSION
-
+
# content type must be present and valid, but can be anything
PolicyType enforce */*
-
+
# reject if no explicitly declared content length
PolicyLength enforce
-
+
# covered by the policy length filter
PolicyKeepalive ignore
-
+
# reject if User-Agent appears within Vary headers
PolicyVary enforce User-Agent
-
+
# we want to enforce validation
PolicyValidation enforce
-
+
# non-functional conditional responses should be rejected
PolicyConditional enforce
-
+
# no-cache responses should be rejected
PolicyNocache enforce
-
+
# maxage must be at least a day
PolicyMaxage enforce 86400
-
+
# request version can be anything
PolicyVersion ignore HTTP/1.1
&lt;/Location&gt;
diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en
index 36ee67e136..00442441e4 100644
--- a/docs/manual/mod/mod_proxy.html.en
+++ b/docs/manual/mod/mod_proxy.html.en
@@ -473,7 +473,7 @@ ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
other request headers.</p>
<p>Note: If you need to specify custom request headers to be
- added to the forwarded request, use the
+ added to the forwarded request, use the
<code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>
directive.</p>
@@ -726,13 +726,13 @@ NoProxy .example.com 192.168.112.0/21</pre>
<div class="note"><h3>Differences from the Location configuration section</h3>
- <p>A backend URL matches the configuration section if it begins with the
+ <p>A backend URL matches the configuration section if it begins with the
the <var>wildcard-url</var> string, even if the last path segment in the
- directive only matches a prefix of the backend URL. For example,
- &lt;Proxy http://example.com/foo&gt; matches all of
- http://example.com/foo, http://example.com/foo/bar, and
+ directive only matches a prefix of the backend URL. For example,
+ &lt;Proxy http://example.com/foo&gt; matches all of
+ http://example.com/foo, http://example.com/foo/bar, and
http://example.com/foobar. The matching of the final URL differs
- from the behavior of the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, which for purposes of this note
+ from the behavior of the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, which for purposes of this note
treats the final path component as if it ended in a slash.</p>
<p>For more control over the matching, see <code class="directive">&lt;ProxyMatch&gt;</code>.</p>
</div>
@@ -998,7 +998,7 @@ through</td></tr>
a local virtual path; <var>url</var> is a partial URL for the
remote server and cannot include a query string.</p>
- <div class="note"><strong>Note: </strong>This directive cannot be used within a
+ <div class="note"><strong>Note: </strong>This directive cannot be used within a
<code>&lt;Directory&gt;</code> context.</div>
<div class="warning">The <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive should
@@ -1335,7 +1335,7 @@ ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
<tr><td>stickysessionsep</td>
<td>"."</td>
<td>Sets the separation symbol in the session cookie. Some backend application servers
- do not use the '.' as the symbol. For example the Oracle Weblogic server uses
+ do not use the '.' as the symbol. For example the Oracle Weblogic server uses
'!'. The correct symbol can be set using this option. The setting of 'Off'
signifies that no symbol is used.
</td></tr>
@@ -1529,9 +1529,9 @@ ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre>
matches, the server will substitute any parenthesized matches into the given
string and use it as a new <var>url</var>.</p>
- <div class="note"><strong>Note: </strong>This directive cannot be used within a
+ <div class="note"><strong>Note: </strong>This directive cannot be used within a
<code>&lt;Directory&gt;</code> context.</div>
-
+
<p>Suppose the local server has address <code>http://example.com/</code>;
then</p>
@@ -1687,7 +1687,7 @@ reverse proxy. This directive rewrites the <code>path</code> string in
<var>internal-path</var>, the cookie path will be replaced with
<var>public-path</var>.
</p><p>
-In the example given with
+In the example given with
<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, the directive:
</p>
<pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
diff --git a/docs/manual/mod/mod_proxy.xml.fr b/docs/manual/mod/mod_proxy.xml.fr
index 57f26c0979..88ce6baa00 100644
--- a/docs/manual/mod/mod_proxy.xml.fr
+++ b/docs/manual/mod/mod_proxy.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1659902:1673892 (outdated) -->
+<!-- English Revision: 1659902:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/mod_proxy.xml.ja b/docs/manual/mod/mod_proxy.xml.ja
index 40705d38a5..8b3b28594f 100644
--- a/docs/manual/mod/mod_proxy.xml.ja
+++ b/docs/manual/mod/mod_proxy.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 344971:1673892 (outdated) -->
+<!-- English Revision: 344971:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en
index e07d3685e2..604a39aa9c 100644
--- a/docs/manual/mod/mod_proxy_ajp.html.en
+++ b/docs/manual/mod/mod_proxy_ajp.html.en
@@ -89,7 +89,7 @@ ProxyPass "/app" "balancer://cluster/app"</pre>
header given to the proxy, and the application server can be expected
to generate self-referential headers relative to this host, so no
rewriting is necessary.</p>
-
+
<p>The main exception is when the URL path on the proxy differs from that
on the
backend. In this case, a redirect header can be rewritten relative to the
diff --git a/docs/manual/mod/mod_proxy_ajp.xml b/docs/manual/mod/mod_proxy_ajp.xml
index fad37d8e40..d3fe239f75 100644
--- a/docs/manual/mod/mod_proxy_ajp.xml
+++ b/docs/manual/mod/mod_proxy_ajp.xml
@@ -79,7 +79,7 @@ ProxyPass "/app" "balancer://cluster/app"
header given to the proxy, and the application server can be expected
to generate self-referential headers relative to this host, so no
rewriting is necessary.</p>
-
+
<p>The main exception is when the URL path on the proxy differs from that
on the
backend. In this case, a redirect header can be rewritten relative to the
diff --git a/docs/manual/mod/mod_proxy_ajp.xml.ja b/docs/manual/mod/mod_proxy_ajp.xml.ja
index 47ded6b6a5..78ff290740 100644
--- a/docs/manual/mod/mod_proxy_ajp.xml.ja
+++ b/docs/manual/mod/mod_proxy_ajp.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 669473:1649001 (outdated) -->
+<!-- English Revision: 669473:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_proxy_balancer.xml.ja b/docs/manual/mod/mod_proxy_balancer.xml.ja
index 2c54e13dec..33cd9490af 100644
--- a/docs/manual/mod/mod_proxy_balancer.xml.ja
+++ b/docs/manual/mod/mod_proxy_balancer.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 395228:1673892 (outdated) -->
+<!-- English Revision: 395228:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_proxy_fcgi.html.en b/docs/manual/mod/mod_proxy_fcgi.html.en
index 53a1334168..9ac46b98f2 100644
--- a/docs/manual/mod/mod_proxy_fcgi.html.en
+++ b/docs/manual/mod/mod_proxy_fcgi.html.en
@@ -87,8 +87,8 @@
<div class="example"><h3>Single application instance, connection reuse</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre>
</div>
- <p> The following example passes the request URI as a filesystem
- path for the PHP-FPM daemon to run. The request URL is implicitly added
+ <p> The following example passes the request URI as a filesystem
+ path for the PHP-FPM daemon to run. The request URL is implicitly added
to the 2nd parameter. The hostname and port following fcgi:// are where
PHP-FPM is listening. Connection pooling is enabled.</p>
<div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre>
@@ -121,9 +121,9 @@
specified FastCGI server using reverse proxy.
This feature is available in Apache HTTP Server 2.4.10 and later. For performance
reasons, you will want to define a <a href="mod_proxy.html#workers">worker</a>
- representing the same fcgi:// backend. The benefit of this form is that it
- allows the normal mapping of URI to filename to occur in the server, and the
- local filesystem result is passed to the backend. When FastCGI is
+ representing the same fcgi:// backend. The benefit of this form is that it
+ allows the normal mapping of URI to filename to occur in the server, and the
+ local filesystem result is passed to the backend. When FastCGI is
configured this way, the server can calculate the most accurate
PATH_INFO.
</p>
@@ -132,7 +132,7 @@
SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
&lt;/FilesMatch&gt;
# Define a matching worker.
- # The part that is matched to the SetHandler is the part that
+ # The part that is matched to the SetHandler is the part that
# follows the pipe. If you need to distinguish, "localhost; can
# be anything unique.
&lt;Proxy fcgi://localhost/ enablereuse=on max=10&gt;
@@ -166,19 +166,19 @@
is chosen:
<dl>
<dt>first-dot</dt>
- <dd>PATH_INFO is split from the slash following the
+ <dd>PATH_INFO is split from the slash following the
<em>first</em> "." in the URL.</dd>
<dt>last-dot</dt>
- <dd>PATH_INFO is split from the slash following the
+ <dd>PATH_INFO is split from the slash following the
<em>last</em> "." in the URL.</dd>
- <dt>full</dt>
- <dd>PATH_INFO is calculated by an attempt to map the URL to the
+ <dt>full</dt>
+ <dd>PATH_INFO is calculated by an attempt to map the URL to the
local filesystem.</dd>
<dt>unescape</dt>
- <dd>PATH_INFO is the path component of the URL, unescaped /
+ <dd>PATH_INFO is the path component of the URL, unescaped /
decoded.</dd>
<dt>any other value</dt>
- <dd>PATH_INFO is the same as the path component of the URL.
+ <dd>PATH_INFO is the same as the path component of the URL.
Originally, this was the only proxy-fcgi-pathinfo option.</dd>
</dl>
</dd>
diff --git a/docs/manual/mod/mod_proxy_fcgi.xml b/docs/manual/mod/mod_proxy_fcgi.xml
index da0c155d73..d1a975397f 100644
--- a/docs/manual/mod/mod_proxy_fcgi.xml
+++ b/docs/manual/mod/mod_proxy_fcgi.xml
@@ -82,8 +82,8 @@
</highlight>
</example>
- <p> The following example passes the request URI as a filesystem
- path for the PHP-FPM daemon to run. The request URL is implicitly added
+ <p> The following example passes the request URI as a filesystem
+ path for the PHP-FPM daemon to run. The request URL is implicitly added
to the 2nd parameter. The hostname and port following fcgi:// are where
PHP-FPM is listening. Connection pooling is enabled.</p>
<example><title>PHP-FPM</title>
@@ -99,7 +99,7 @@
<example><title>PHP-FPM with UDS</title>
<highlight language="config">
# UDS does not currently support connection reuse
- ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
+ ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
</highlight>
</example>
@@ -125,9 +125,9 @@ ProxyPass "/myapp/" "balancer://myappcluster/"
specified FastCGI server using reverse proxy.
This feature is available in Apache HTTP Server 2.4.10 and later. For performance
reasons, you will want to define a <a href="mod_proxy.html#workers">worker</a>
- representing the same fcgi:// backend. The benefit of this form is that it
- allows the normal mapping of URI to filename to occur in the server, and the
- local filesystem result is passed to the backend. When FastCGI is
+ representing the same fcgi:// backend. The benefit of this form is that it
+ allows the normal mapping of URI to filename to occur in the server, and the
+ local filesystem result is passed to the backend. When FastCGI is
configured this way, the server can calculate the most accurate
PATH_INFO.
</p>
@@ -138,7 +138,7 @@ ProxyPass "/myapp/" "balancer://myappcluster/"
SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
&lt;/FilesMatch&gt;
# Define a matching worker.
- # The part that is matched to the SetHandler is the part that
+ # The part that is matched to the SetHandler is the part that
# follows the pipe. If you need to distinguish, "localhost; can
# be anything unique.
&lt;Proxy fcgi://localhost/ enablereuse=on max=10&gt;
@@ -175,19 +175,19 @@ ProxyPass "/myapp/" "balancer://myappcluster/"
is chosen:
<dl>
<dt>first-dot</dt>
- <dd>PATH_INFO is split from the slash following the
+ <dd>PATH_INFO is split from the slash following the
<em>first</em> "." in the URL.</dd>
<dt>last-dot</dt>
- <dd>PATH_INFO is split from the slash following the
+ <dd>PATH_INFO is split from the slash following the
<em>last</em> "." in the URL.</dd>
- <dt>full</dt>
- <dd>PATH_INFO is calculated by an attempt to map the URL to the
+ <dt>full</dt>
+ <dd>PATH_INFO is calculated by an attempt to map the URL to the
local filesystem.</dd>
<dt>unescape</dt>
- <dd>PATH_INFO is the path component of the URL, unescaped /
+ <dd>PATH_INFO is the path component of the URL, unescaped /
decoded.</dd>
<dt>any other value</dt>
- <dd>PATH_INFO is the same as the path component of the URL.
+ <dd>PATH_INFO is the same as the path component of the URL.
Originally, this was the only proxy-fcgi-pathinfo option.</dd>
</dl>
</dd>
diff --git a/docs/manual/mod/mod_proxy_html.html.en b/docs/manual/mod/mod_proxy_html.html.en
index ec67a3fdaa..42529f3492 100644
--- a/docs/manual/mod/mod_proxy_html.html.en
+++ b/docs/manual/mod/mod_proxy_html.html.en
@@ -240,7 +240,7 @@ for earlier 2.x versions</td></tr>
</ul>
<p>Take care when using these. The fixes will correct certain authoring
mistakes, but risk also erroneously fixing links that were correct to start with.
-Only use them if you know you have a broken backend server.</p>
+Only use them if you know you have a broken backend server.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
diff --git a/docs/manual/mod/mod_proxy_html.xml b/docs/manual/mod/mod_proxy_html.xml
index b752a1796e..784fd5ffef 100644
--- a/docs/manual/mod/mod_proxy_html.xml
+++ b/docs/manual/mod/mod_proxy_html.xml
@@ -277,7 +277,7 @@ for earlier 2.x versions</compatibility>
</ul>
<p>Take care when using these. The fixes will correct certain authoring
mistakes, but risk also erroneously fixing links that were correct to start with.
-Only use them if you know you have a broken backend server.</p>
+Only use them if you know you have a broken backend server.</p>
</usage>
</directivesynopsis>
@@ -421,4 +421,3 @@ will generate output using the same encoding as the input.</p>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_proxy_scgi.html.en b/docs/manual/mod/mod_proxy_scgi.html.en
index 5a10499183..0de453c7da 100644
--- a/docs/manual/mod/mod_proxy_scgi.html.en
+++ b/docs/manual/mod/mod_proxy_scgi.html.en
@@ -164,7 +164,7 @@ header</td></tr>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># Use the default header (X-Sendfile)
ProxySCGISendfile On
-
+
# Use a different header
ProxySCGISendfile X-Send-Static</pre>
</div>
diff --git a/docs/manual/mod/mod_proxy_scgi.xml b/docs/manual/mod/mod_proxy_scgi.xml
index c7155b28af..2e641dab74 100644
--- a/docs/manual/mod/mod_proxy_scgi.xml
+++ b/docs/manual/mod/mod_proxy_scgi.xml
@@ -132,7 +132,7 @@ header</description>
<highlight language="config">
# Use the default header (X-Sendfile)
ProxySCGISendfile On
-
+
# Use a different header
ProxySCGISendfile X-Send-Static
</highlight>
diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.en b/docs/manual/mod/mod_proxy_wstunnel.html.en
index e2eb4d197d..466684f558 100644
--- a/docs/manual/mod/mod_proxy_wstunnel.html.en
+++ b/docs/manual/mod/mod_proxy_wstunnel.html.en
@@ -68,10 +68,10 @@ ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_wstunnel</td></tr>
</table>
- <p>This directive instructs the server to try to create an asynchronous tunnel.
- If the current MPM does not support the necessary features, a synchronous
+ <p>This directive instructs the server to try to create an asynchronous tunnel.
+ If the current MPM does not support the necessary features, a synchronous
tunnel is used.</p>
- <div class="note"><h3>Note</h3><p>Async support is experimental and subject
+ <div class="note"><h3>Note</h3><p>Async support is experimental and subject
to change.</p></div>
</div>
@@ -85,10 +85,10 @@ ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_wstunnel</td></tr>
</table>
- <p>If <code class="directive">ProxyWebsocketAsync</code> is enabled, this directive
+ <p>If <code class="directive">ProxyWebsocketAsync</code> is enabled, this directive
controls how long the server synchronously waits for more data.</p>
- <div class="note"><h3>Note</h3><p>Async support is experimental and subject
+ <div class="note"><h3>Note</h3><p>Async support is experimental and subject
to change. </p></div>
@@ -103,7 +103,7 @@ ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_wstunnel</td></tr>
</table>
- <p>This directive imposes a maximum amount of time for the tunnel to be
+ <p>This directive imposes a maximum amount of time for the tunnel to be
left open while idle.</p>
</div>
diff --git a/docs/manual/mod/mod_proxy_wstunnel.xml b/docs/manual/mod/mod_proxy_wstunnel.xml
index c23b4f411b..f5dc0ec10b 100644
--- a/docs/manual/mod/mod_proxy_wstunnel.xml
+++ b/docs/manual/mod/mod_proxy_wstunnel.xml
@@ -62,10 +62,10 @@ ProxyPass "/wss2/" "wss://echo.websocket.org/"
</contextlist>
<usage>
- <p>This directive instructs the server to try to create an asynchronous tunnel.
- If the current MPM does not support the necessary features, a synchronous
+ <p>This directive instructs the server to try to create an asynchronous tunnel.
+ If the current MPM does not support the necessary features, a synchronous
tunnel is used.</p>
- <note><title>Note</title><p>Async support is experimental and subject
+ <note><title>Note</title><p>Async support is experimental and subject
to change.</p></note>
</usage>
</directivesynopsis>
@@ -80,7 +80,7 @@ ProxyPass "/wss2/" "wss://echo.websocket.org/"
</contextlist>
<usage>
- <p>This directive imposes a maximum amount of time for the tunnel to be
+ <p>This directive imposes a maximum amount of time for the tunnel to be
left open while idle.</p>
</usage>
</directivesynopsis>
@@ -95,10 +95,10 @@ ProxyPass "/wss2/" "wss://echo.websocket.org/"
</contextlist>
<usage>
- <p>If <directive>ProxyWebsocketAsync</directive> is enabled, this directive
+ <p>If <directive>ProxyWebsocketAsync</directive> is enabled, this directive
controls how long the server synchronously waits for more data.</p>
- <note><title>Note</title><p>Async support is experimental and subject
+ <note><title>Note</title><p>Async support is experimental and subject
to change. </p></note>
</usage>
diff --git a/docs/manual/mod/mod_ratelimit.html.en b/docs/manual/mod/mod_ratelimit.html.en
index caaf853cd8..68d396f9d2 100644
--- a/docs/manual/mod/mod_ratelimit.html.en
+++ b/docs/manual/mod/mod_ratelimit.html.en
@@ -39,7 +39,7 @@ variable <code>rate-limit</code>.</p>
<div class="example"><h3>Example Configuration</h3><pre class="prettyprint lang-config">&lt;Location "/downloads"&gt;
SetOutputFilter RATE_LIMIT
- SetEnv rate-limit 400
+ SetEnv rate-limit 400
&lt;/Location&gt;</pre>
</div>
diff --git a/docs/manual/mod/mod_ratelimit.xml b/docs/manual/mod/mod_ratelimit.xml
index 5cac06cbf8..affb2daf26 100644
--- a/docs/manual/mod/mod_ratelimit.xml
+++ b/docs/manual/mod/mod_ratelimit.xml
@@ -41,7 +41,7 @@ variable <code>rate-limit</code>.</p>
<highlight language="config">
&lt;Location "/downloads"&gt;
SetOutputFilter RATE_LIMIT
- SetEnv rate-limit 400
+ SetEnv rate-limit 400
&lt;/Location&gt;
</highlight>
</example>
@@ -49,4 +49,3 @@ variable <code>rate-limit</code>.</p>
</summary>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_rewrite.html.en b/docs/manual/mod/mod_rewrite.html.en
index ef26e12bcd..c6a4df74cb 100644
--- a/docs/manual/mod/mod_rewrite.html.en
+++ b/docs/manual/mod/mod_rewrite.html.en
@@ -115,38 +115,38 @@ URLs on the fly</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
</table>
<p>The <code class="directive">RewriteBase</code> directive specifies the
- URL prefix to be used for per-directory (htaccess)
+ URL prefix to be used for per-directory (htaccess)
<code class="directive">RewriteRule</code> directives that substitute a relative
path.</p>
<p> This directive is <em>required</em> when you use a relative path
in a substitution in per-directory (htaccess) context unless either
of the following conditions are true:</p>
<ul>
- <li> The original request, and the substitution, are underneath the
+ <li> The original request, and the substitution, are underneath the
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
- (as opposed to reachable by other means, such as
+ (as opposed to reachable by other means, such as
<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>).</li>
<li> The <em>filesystem</em> path to the directory containing the
- <code class="directive">RewriteRule</code>, suffixed by the relative
- substitution is also valid as a URL path on the server
+ <code class="directive">RewriteRule</code>, suffixed by the relative
+ substitution is also valid as a URL path on the server
(this is rare).</li>
- <li> In Apache HTTP Server 2.4.11 and later, this directive may be
- omitted when the request is mapped via
+ <li> In Apache HTTP Server 2.4.11 and later, this directive may be
+ omitted when the request is mapped via
<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
or <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</li>
</ul>
<p> In the example below, <code class="directive">RewriteBase</code> is necessary
to avoid rewriting to http://example.com/opt/myapp-1.2.3/welcome.html
- since the resource was not relative to the document root. This
+ since the resource was not relative to the document root. This
misconfiguration would normally cause the server to look for an "opt"
directory under the document root.</p>
<pre class="prettyprint lang-config">DocumentRoot "/var/www/example.com"
AliasMatch "^/myapp" "/opt/myapp-1.2.3"
&lt;Directory "/opt/myapp-1.2.3"&gt;
RewriteEngine On
- RewriteBase /myapp/
- RewriteRule ^index\.html$ welcome.html
+ RewriteBase "/myapp/"
+ RewriteRule "^index\.html$" "welcome.html"
&lt;/Directory&gt;</pre>
@@ -343,9 +343,9 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
been determined by the server at the time
<code>REQUEST_FILENAME</code> is referenced. Otherwise,
such as when used in virtual host context, the same
- value as <code>REQUEST_URI</code>. Depending on the value of
+ value as <code>REQUEST_URI</code>. Depending on the value of
<code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code>, the
- server may have only used some leading components of the
+ server may have only used some leading components of the
<code>REQUEST_URI</code> to map the request to a file.
</dd>
@@ -439,7 +439,7 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
so that certain conditions might not be evaluated at all.</p></li>
<li>
- <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>
+ <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>
can be used for look-aheads which perform
an internal (URL-based) sub-request to determine the final
value of <em>variable</em>. This can be used to access
@@ -622,8 +622,8 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
it can impact your server's performance!</p>
<p> This flag <em>only</em> returns information about things
like access control, authentication, and authorization. This flag
- <em>does not</em> return information about the status code the
- configured handler (static file, CGI, proxy, etc.) would have
+ <em>does not</em> return information about the status code the
+ configured handler (static file, CGI, proxy, etc.) would have
returned.</p> </li>
<li>'<strong>-x</strong>' (has e<strong>x</strong>ecutable
@@ -648,8 +648,8 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
to block unwanted hotlinking.
</p>
- <pre class="prettyprint lang-config"> RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
- RewriteRule ^/images - [F]</pre>
+ <pre class="prettyprint lang-config">RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
+RewriteRule "^/images" "-" [F]</pre>
</li>
@@ -676,9 +676,9 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
Use this to combine rule conditions with a local OR
instead of the implicit AND. Typical example:
-<pre class="prettyprint lang-config">RewriteCond %{REMOTE_HOST} ^host1 [OR]
-RewriteCond %{REMOTE_HOST} ^host2 [OR]
-RewriteCond %{REMOTE_HOST} ^host3
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_HOST}" "^host1" [OR]
+RewriteCond "%{REMOTE_HOST}" "^host2" [OR]
+RewriteCond "%{REMOTE_HOST}" "^host3"
RewriteRule ...some special stuff for any of these hosts...</pre>
@@ -705,10 +705,10 @@ RewriteRule ...some special stuff for any of these hosts...</pre>
``<code>User-Agent:</code>'' header of the request, you can
use the following: </p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_USER_AGENT} (iPhone|Blackberry|Android)
-RewriteRule ^/$ /homepage.mobile.html [L]
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "(iPhone|Blackberry|Android)"
+RewriteRule "^/$" "/homepage.mobile.html" [L]
-RewriteRule ^/$ /homepage.std.html [L]</pre>
+RewriteRule "^/$" "/homepage.std.html" [L]</pre>
<p>Explanation: If you use a browser which identifies itself
@@ -793,13 +793,13 @@ RewriteRule ^/$ /homepage.std.html [L]</pre>
<p>For example, you might define a
<code class="directive">RewriteMap</code> as:</p>
- <pre class="prettyprint lang-config">RewriteMap examplemap txt:/path/to/file/map.txt</pre>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
<p>You would then be able to use this map in a
<code class="directive">RewriteRule</code> as follows:</p>
- <pre class="prettyprint lang-config">RewriteRule ^/ex/(.*) ${examplemap:$1}</pre>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
<p>The meaning of the <em>MapTypeOptions</em> argument depends on
@@ -926,7 +926,7 @@ RewriteRule ^/$ /homepage.std.html [L]</pre>
directory on disk but lack a trailing slash, in the expectation that
the <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module will issue the client with a redirect to
the canonical URL with a trailing slash.</p>
-
+
<p>When the <code class="directive"><a href="../mod/mod_dir.html#directoryslash">DirectorySlash</a></code> directive
is set to off, the <code>AllowNoSlash</code> option can be enabled to ensure
that rewrite rules are no longer ignored. This option makes it possible to
@@ -953,7 +953,7 @@ RewriteRule ^/$ /homepage.std.html [L]</pre>
Available in Apache HTTP Server 2.4.3 and later.</p>
<div class="warning">
- <h3>Security Warning</h3>
+ <h3>Security Warning</h3>
<p>Enabling this option will make the server vulnerable to
security issues if used with rewrite rules which are not
@@ -980,8 +980,8 @@ RewriteRule ^/$ /homepage.std.html [L]</pre>
<p>When a relative substitution is made
in directory (htaccess) context and <code class="directive"><a href="#rewritebase">RewriteBase</a></code> has not been set, this module uses some
- extended URL and filesystem context information to change the
- relative substitution back into a URL. Modules such as
+ extended URL and filesystem context information to change the
+ relative substitution back into a URL. Modules such as
<code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> and <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>
supply this extended context info. </p>
</dd>
@@ -1100,7 +1100,7 @@ cannot use <code>$N</code> in the substitution string!
<dd>Designates the location on the file-system of the resource
to be delivered to the client. Substitutions are only
- treated as a file-system path when the rule is configured in
+ treated as a file-system path when the rule is configured in
server (virtualhost) context and the first component of the
path in the substitution exists in the file-system</dd>
@@ -1114,7 +1114,7 @@ cannot use <code>$N</code> in the substitution string!
you specify a <em>Substitution</em> string of
<code>/www/file.html</code>, then this will be treated as a
URL-path <em>unless</em> a directory named <code>www</code>
- exists at the root or your file-system (or, in the case of
+ exists at the root or your file-system (or, in the case of
using rewrites in a <code>.htaccess</code> file, relative to
your document root), in which case it will
be treated as a file-system path. If you wish other
@@ -1201,12 +1201,12 @@ cannot use <code>$N</code> in the substitution string!
</tr>
<tr>
<td>B</td>
- <td>Escape non-alphanumeric characters in backreferences <em>before</em>
+ <td>Escape non-alphanumeric characters in backreferences <em>before</em>
applying the transformation. <em><a href="../rewrite/flags.html#flag_b">details ...</a></em></td>
</tr>
<tr class="odd">
<td>backrefnoplus|BNP</td>
- <td>If backreferences are being escaped, spaces should be escaped to
+ <td>If backreferences are being escaped, spaces should be escaped to
%20 instead of +. Useful when the backreference will be used in the
path component rather than the query string.<em><a href="../rewrite/flags.html#flag_bnp">details ...</a></em></td>
</tr>
@@ -1298,7 +1298,7 @@ cannot use <code>$N</code> in the substitution string!
</tr>
<tr class="odd">
<td>qsappend|QSA</td>
- <td>Appends any query string from the original request URL to
+ <td>Appends any query string from the original request URL to
any query string created in the rewrite target.<em><a href="../rewrite/flags.html#flag_qsa">details ...</a></em></td>
</tr>
<tr>
@@ -1403,7 +1403,7 @@ directive.</p>
<p><strong>Inside per-directory configuration for
<code>/somepath</code><br />
(<code>/physical/path/to/somepath/.htaccess</code>, with
- <code>RewriteBase /somepath</code>)<br />
+ <code>RewriteBase "/somepath"</code>)<br />
for request ``<code>GET
/somepath/localpath/pathinfo</code>'':</strong><br />
</p>
diff --git a/docs/manual/mod/mod_rewrite.xml b/docs/manual/mod/mod_rewrite.xml
index deac92d367..a10acce596 100644
--- a/docs/manual/mod/mod_rewrite.xml
+++ b/docs/manual/mod/mod_rewrite.xml
@@ -206,7 +206,7 @@ URLs on the fly</description>
directory on disk but lack a trailing slash, in the expectation that
the <module>mod_dir</module> module will issue the client with a redirect to
the canonical URL with a trailing slash.</p>
-
+
<p>When the <directive module="mod_dir">DirectorySlash</directive> directive
is set to off, the <code>AllowNoSlash</code> option can be enabled to ensure
that rewrite rules are no longer ignored. This option makes it possible to
@@ -236,7 +236,7 @@ URLs on the fly</description>
Available in Apache HTTP Server 2.4.3 and later.</p>
<note type="warning">
- <title>Security Warning</title>
+ <title>Security Warning</title>
<p>Enabling this option will make the server vulnerable to
security issues if used with rewrite rules which are not
@@ -265,8 +265,8 @@ URLs on the fly</description>
<p>When a relative substitution is made
in directory (htaccess) context and <directive module="mod_rewrite"
>RewriteBase</directive> has not been set, this module uses some
- extended URL and filesystem context information to change the
- relative substitution back into a URL. Modules such as
+ extended URL and filesystem context information to change the
+ relative substitution back into a URL. Modules such as
<module>mod_userdir</module> and <module>mod_alias</module>
supply this extended context info. </p>
</dd>
@@ -318,14 +318,14 @@ URLs on the fly</description>
<directive>RewriteMap</directive> as:</p>
<highlight language="config">
- RewriteMap examplemap txt:/path/to/file/map.txt
+RewriteMap examplemap "txt:/path/to/file/map.txt"
</highlight>
<p>You would then be able to use this map in a
<directive>RewriteRule</directive> as follows:</p>
<highlight language="config">
- RewriteRule ^/ex/(.*) ${examplemap:$1}
+RewriteRule "^/ex/(.*)" "${examplemap:$1}"
</highlight>
<p>The meaning of the <em>MapTypeOptions</em> argument depends on
@@ -382,30 +382,30 @@ URLs on the fly</description>
<usage>
<p>The <directive>RewriteBase</directive> directive specifies the
- URL prefix to be used for per-directory (htaccess)
+ URL prefix to be used for per-directory (htaccess)
<directive>RewriteRule</directive> directives that substitute a relative
path.</p>
<p> This directive is <em>required</em> when you use a relative path
in a substitution in per-directory (htaccess) context unless either
of the following conditions are true:</p>
<ul>
- <li> The original request, and the substitution, are underneath the
+ <li> The original request, and the substitution, are underneath the
<directive module="core">DocumentRoot</directive>
- (as opposed to reachable by other means, such as
+ (as opposed to reachable by other means, such as
<directive module="mod_alias">Alias</directive>).</li>
<li> The <em>filesystem</em> path to the directory containing the
- <directive>RewriteRule</directive>, suffixed by the relative
- substitution is also valid as a URL path on the server
+ <directive>RewriteRule</directive>, suffixed by the relative
+ substitution is also valid as a URL path on the server
(this is rare).</li>
- <li> In Apache HTTP Server 2.4.11 and later, this directive may be
- omitted when the request is mapped via
+ <li> In Apache HTTP Server 2.4.11 and later, this directive may be
+ omitted when the request is mapped via
<directive module="mod_alias">Alias</directive>
or <module>mod_userdir</module>.</li>
</ul>
<p> In the example below, <directive>RewriteBase</directive> is necessary
to avoid rewriting to http://example.com/opt/myapp-1.2.3/welcome.html
- since the resource was not relative to the document root. This
+ since the resource was not relative to the document root. This
misconfiguration would normally cause the server to look for an "opt"
directory under the document root.</p>
<highlight language="config">
@@ -413,8 +413,8 @@ DocumentRoot "/var/www/example.com"
AliasMatch "^/myapp" "/opt/myapp-1.2.3"
&lt;Directory "/opt/myapp-1.2.3"&gt;
RewriteEngine On
- RewriteBase /myapp/
- RewriteRule ^index\.html$ welcome.html
+ RewriteBase "/myapp/"
+ RewriteRule "^index\.html$" "welcome.html"
&lt;/Directory&gt;
</highlight>
@@ -615,9 +615,9 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
been determined by the server at the time
<code>REQUEST_FILENAME</code> is referenced. Otherwise,
such as when used in virtual host context, the same
- value as <code>REQUEST_URI</code>. Depending on the value of
+ value as <code>REQUEST_URI</code>. Depending on the value of
<directive module="core">AcceptPathInfo</directive>, the
- server may have only used some leading components of the
+ server may have only used some leading components of the
<code>REQUEST_URI</code> to map the request to a file.
</dd>
@@ -711,7 +711,7 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
so that certain conditions might not be evaluated at all.</p></li>
<li>
- <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>
+ <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>
can be used for look-aheads which perform
an internal (URL-based) sub-request to determine the final
value of <em>variable</em>. This can be used to access
@@ -894,8 +894,8 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
it can impact your server's performance!</p>
<p> This flag <em>only</em> returns information about things
like access control, authentication, and authorization. This flag
- <em>does not</em> return information about the status code the
- configured handler (static file, CGI, proxy, etc.) would have
+ <em>does not</em> return information about the status code the
+ configured handler (static file, CGI, proxy, etc.) would have
returned.</p> </li>
<li>'<strong>-x</strong>' (has e<strong>x</strong>ecutable
@@ -921,8 +921,8 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
</p>
<highlight language="config">
- RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
- RewriteRule ^/images - [F]
+RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
+RewriteRule "^/images" "-" [F]
</highlight>
</li>
@@ -950,9 +950,9 @@ AliasMatch "^/myapp" "/opt/myapp-1.2.3"
instead of the implicit AND. Typical example:
<highlight language="config">
-RewriteCond %{REMOTE_HOST} ^host1 [OR]
-RewriteCond %{REMOTE_HOST} ^host2 [OR]
-RewriteCond %{REMOTE_HOST} ^host3
+RewriteCond "%{REMOTE_HOST}" "^host1" [OR]
+RewriteCond "%{REMOTE_HOST}" "^host2" [OR]
+RewriteCond "%{REMOTE_HOST}" "^host3"
RewriteRule ...some special stuff for any of these hosts...
</highlight>
@@ -980,10 +980,10 @@ RewriteRule ...some special stuff for any of these hosts...
use the following: </p>
<highlight language="config">
-RewriteCond %{HTTP_USER_AGENT} (iPhone|Blackberry|Android)
-RewriteRule ^/$ /homepage.mobile.html [L]
+RewriteCond "%{HTTP_USER_AGENT}" "(iPhone|Blackberry|Android)"
+RewriteRule "^/$" "/homepage.mobile.html" [L]
-RewriteRule ^/$ /homepage.std.html [L]
+RewriteRule "^/$" "/homepage.std.html" [L]
</highlight>
<p>Explanation: If you use a browser which identifies itself
@@ -1110,7 +1110,7 @@ cannot use <code>$N</code> in the substitution string!
<dd>Designates the location on the file-system of the resource
to be delivered to the client. Substitutions are only
- treated as a file-system path when the rule is configured in
+ treated as a file-system path when the rule is configured in
server (virtualhost) context and the first component of the
path in the substitution exists in the file-system</dd>
@@ -1125,7 +1125,7 @@ cannot use <code>$N</code> in the substitution string!
you specify a <em>Substitution</em> string of
<code>/www/file.html</code>, then this will be treated as a
URL-path <em>unless</em> a directory named <code>www</code>
- exists at the root or your file-system (or, in the case of
+ exists at the root or your file-system (or, in the case of
using rewrites in a <code>.htaccess</code> file, relative to
your document root), in which case it will
be treated as a file-system path. If you wish other
@@ -1217,13 +1217,13 @@ cannot use <code>$N</code> in the substitution string!
</tr>
<tr>
<td>B</td>
- <td>Escape non-alphanumeric characters in backreferences <em>before</em>
+ <td>Escape non-alphanumeric characters in backreferences <em>before</em>
applying the transformation. <em><a
href="../rewrite/flags.html#flag_b">details ...</a></em></td>
</tr>
<tr>
<td>backrefnoplus|BNP</td>
- <td>If backreferences are being escaped, spaces should be escaped to
+ <td>If backreferences are being escaped, spaces should be escaped to
%20 instead of +. Useful when the backreference will be used in the
path component rather than the query string.<em><a
href="../rewrite/flags.html#flag_bnp">details ...</a></em></td>
@@ -1324,7 +1324,7 @@ cannot use <code>$N</code> in the substitution string!
</tr>
<tr>
<td>qsappend|QSA</td>
- <td>Appends any query string from the original request URL to
+ <td>Appends any query string from the original request URL to
any query string created in the rewrite target.<em><a
href="../rewrite/flags.html#flag_qsa">details ...</a></em></td>
</tr>
@@ -1446,7 +1446,7 @@ directive.</p>
<p><strong>Inside per-directory configuration for
<code>/somepath</code><br />
(<code>/physical/path/to/somepath/.htaccess</code>, with
- <code>RewriteBase /somepath</code>)<br />
+ <code>RewriteBase "/somepath"</code>)<br />
for request ``<code>GET
/somepath/localpath/pathinfo</code>'':</strong><br />
</p>
diff --git a/docs/manual/mod/mod_so.html.en b/docs/manual/mod/mod_so.html.en
index 8622bb2543..15eda7bc07 100644
--- a/docs/manual/mod/mod_so.html.en
+++ b/docs/manual/mod/mod_so.html.en
@@ -159,7 +159,7 @@ Windows</td></tr></table>
<p>For example:</p>
- <pre class="prettyprint lang-config">LoadFile libexec/libxmlparse.so</pre>
+ <pre class="prettyprint lang-config">LoadFile "libexec/libxmlparse.so"</pre>
@@ -181,7 +181,7 @@ of active modules</td></tr>
<code>module</code> in the file, and is listed as the <a href="module-dict.html#ModuleIdentifier">Module Identifier</a>
in the module documentation. Example:</p>
- <pre class="prettyprint lang-config">LoadModule status_module modules/mod_status.so</pre>
+ <pre class="prettyprint lang-config">LoadModule status_module "modules/mod_status.so"</pre>
<p>loads the named module from the modules subdirectory of the
diff --git a/docs/manual/mod/mod_so.html.fr b/docs/manual/mod/mod_so.html.fr
index 09da66a788..1fd8ed5b3d 100644
--- a/docs/manual/mod/mod_so.html.fr
+++ b/docs/manual/mod/mod_so.html.fr
@@ -30,6 +30,8 @@
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</a></p>
</div>
+<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
+ anglaise pour les changements rcents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code excutable au cours du
dmarrage ou du redmarrage du serveur</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
diff --git a/docs/manual/mod/mod_so.html.ja.utf8 b/docs/manual/mod/mod_so.html.ja.utf8
index 55d2ecd129..75594fdf00 100644
--- a/docs/manual/mod/mod_so.html.ja.utf8
+++ b/docs/manual/mod/mod_so.html.ja.utf8
@@ -30,6 +30,10 @@
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
+<div class="outofdate">この日本語訳はすでに古くなっている
+ 可能性があります。
+ 最近更新された内容を見るには英語版をご覧下さい。
+ </div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>起動時や再起動時に実行コードとモジュールをサーバにロードする
</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
diff --git a/docs/manual/mod/mod_so.xml.fr b/docs/manual/mod/mod_so.xml.fr
index 96bcf8af8b..34453b2c78 100644
--- a/docs/manual/mod/mod_so.xml.fr
+++ b/docs/manual/mod/mod_so.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1433861 -->
+<!-- English Revision: 1433861:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/mod/mod_so.xml.ja b/docs/manual/mod/mod_so.xml.ja
index a06dc643da..a2a7b2ce27 100644
--- a/docs/manual/mod/mod_so.xml.ja
+++ b/docs/manual/mod/mod_so.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 1433861 -->
+<!-- English Revision: 1433861:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_so.xml.ko b/docs/manual/mod/mod_so.xml.ko
index 0d7c87c367..91f3eb5e94 100644
--- a/docs/manual/mod/mod_so.xml.ko
+++ b/docs/manual/mod/mod_so.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 420990:1433861 (outdated) -->
+<!-- English Revision: 420990:1673932 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/mod/mod_so.xml.meta b/docs/manual/mod/mod_so.xml.meta
index 180ea77cd8..f316185f2f 100644
--- a/docs/manual/mod/mod_so.xml.meta
+++ b/docs/manual/mod/mod_so.xml.meta
@@ -8,8 +8,8 @@
<variants>
<variant>en</variant>
- <variant>fr</variant>
- <variant>ja</variant>
+ <variant outdated="yes">fr</variant>
+ <variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
diff --git a/docs/manual/mod/mod_so.xml.tr b/docs/manual/mod/mod_so.xml.tr
index 5e63c02eeb..0dd13b1f3d 100644
--- a/docs/manual/mod/mod_so.xml.tr
+++ b/docs/manual/mod/mod_so.xml.tr
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1174747:1433861 (outdated) -->
+<!-- English Revision: 1174747:1673932 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/mod/mod_ssl.html.en b/docs/manual/mod/mod_ssl.html.en
index 3e95a0cd98..7c2e8bd8ce 100644
--- a/docs/manual/mod/mod_ssl.html.en
+++ b/docs/manual/mod/mod_ssl.html.en
@@ -1963,9 +1963,9 @@ function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"</pre>
the <a href="../expr.html#functions">ap_expr documentation</a>.</p>
<p>The <em>expression</em> is parsed into an internal machine
-representation when the configuration is loaded, and then evaluated
-during request processing. In .htaccess context, the <em>expression</em> is
-both parsed and executed each time the .htaccess file is encountered during
+representation when the configuration is loaded, and then evaluated
+during request processing. In .htaccess context, the <em>expression</em> is
+both parsed and executed each time the .htaccess file is encountered during
request processing.</p>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \
diff --git a/docs/manual/mod/mod_ssl.xml b/docs/manual/mod/mod_ssl.xml
index 75f386b297..1ebf1cbad6 100644
--- a/docs/manual/mod/mod_ssl.xml
+++ b/docs/manual/mod/mod_ssl.xml
@@ -1524,9 +1524,9 @@ href="#envvars">Environment Variables</a> can be used. For
the <a href="../expr.html#functions">ap_expr documentation</a>.</p>
<p>The <em>expression</em> is parsed into an internal machine
-representation when the configuration is loaded, and then evaluated
-during request processing. In .htaccess context, the <em>expression</em> is
-both parsed and executed each time the .htaccess file is encountered during
+representation when the configuration is loaded, and then evaluated
+during request processing. In .htaccess context, the <em>expression</em> is
+both parsed and executed each time the .htaccess file is encountered during
request processing.</p>
<example><title>Example</title>
diff --git a/docs/manual/mod/mod_status.xml b/docs/manual/mod/mod_status.xml
index fad50d078c..3098c9f74d 100644
--- a/docs/manual/mod/mod_status.xml
+++ b/docs/manual/mod/mod_status.xml
@@ -153,4 +153,3 @@ performance</description>
</section>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_substitute.html.en b/docs/manual/mod/mod_substitute.html.en
index 385e0f09f3..a5b097fc67 100644
--- a/docs/manual/mod/mod_substitute.html.en
+++ b/docs/manual/mod/mod_substitute.html.en
@@ -98,7 +98,7 @@
when regular expressions are used, as illustrated in the following example: </p>
<div class="example"><h3>Example of using backreferences and captures</h3><pre class="prettyprint lang-config">&lt;Location "/"&gt;
AddOutputFilterByType SUBSTITUTE text/html
- # "foo=k,bar=k" -&gt; "foo/bar=k"
+ # "foo=k,bar=k" -&gt; "foo/bar=k"
Substitute "s|foo=(\w+),bar=\1|foo/bar=$1"
&lt;/Location&gt;</pre>
</div>
diff --git a/docs/manual/mod/mod_substitute.xml b/docs/manual/mod/mod_substitute.xml
index 534dd62ba1..6b7082fe00 100644
--- a/docs/manual/mod/mod_substitute.xml
+++ b/docs/manual/mod/mod_substitute.xml
@@ -96,7 +96,7 @@
<highlight language="config">
&lt;Location "/"&gt;
AddOutputFilterByType SUBSTITUTE text/html
- # "foo=k,bar=k" -> "foo/bar=k"
+ # "foo=k,bar=k" -> "foo/bar=k"
Substitute "s|foo=(\w+),bar=\1|foo/bar=$1"
&lt;/Location&gt;
</highlight>
diff --git a/docs/manual/mod/mod_syslog.html.en b/docs/manual/mod/mod_syslog.html.en
index a10d5796b1..01fce92f74 100644
--- a/docs/manual/mod/mod_syslog.html.en
+++ b/docs/manual/mod/mod_syslog.html.en
@@ -56,7 +56,7 @@
syslog(1). The facility is effectively global, and if it is changed
in individual virtual hosts, the final facility specified affects the
entire server.</p>
-
+
<pre class="prettyprint lang-config">ErrorLog syslog:user</pre>
diff --git a/docs/manual/mod/mod_syslog.xml b/docs/manual/mod/mod_syslog.xml
index 183889d4ff..3725fd9689 100644
--- a/docs/manual/mod/mod_syslog.xml
+++ b/docs/manual/mod/mod_syslog.xml
@@ -45,7 +45,7 @@
syslog(1). The facility is effectively global, and if it is changed
in individual virtual hosts, the final facility specified affects the
entire server.</p>
-
+
<highlight language="config">
ErrorLog syslog:user
</highlight>
diff --git a/docs/manual/mod/mod_vhost_alias.html.en b/docs/manual/mod/mod_vhost_alias.html.en
index 3d88bbf10c..f034d37c19 100644
--- a/docs/manual/mod/mod_vhost_alias.html.en
+++ b/docs/manual/mod/mod_vhost_alias.html.en
@@ -183,15 +183,15 @@ VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"</pre>
<p>The example request would come from
<code>/usr/local/apache/vhosts/example.com/d/o/m/ain/directory/file.html</code>.</p>
-<p> A very common request by users is the ability to point multiple domains to multiple
-document roots without having to worry about the length or number of parts of the
+<p> A very common request by users is the ability to point multiple domains to multiple
+document roots without having to worry about the length or number of parts of the
hostname being requested. If the requested hostname is <code>sub.www.domain.example.com</code>
instead of simply <code>www.domain.example.com</code>, then using %3+ will result in the document
root being <code>/usr/local/apache/vhosts/domain.example.com/...</code> instead of the
-intended <code>example.com</code> directory. In such cases, it can be beneficial to use
-the combination <code>%-2.0.%-1.0</code>, which will always yield the domain name and the
-tld, for example <code>example.com</code> regardless of the number of subdomains appended
-to the hostname. As such, one can make a configuration that will direct all first, second
+intended <code>example.com</code> directory. In such cases, it can be beneficial to use
+the combination <code>%-2.0.%-1.0</code>, which will always yield the domain name and the
+tld, for example <code>example.com</code> regardless of the number of subdomains appended
+to the hostname. As such, one can make a configuration that will direct all first, second
or third level subdomains to the same directory:
</p>
<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"</pre>
@@ -258,10 +258,10 @@ for a given virtual host</td></tr>
cannot be used in the same context as <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code>.</p>
<div class="warning"><h3>Note</h3>
-<code class="directive">VirtualDocumentRoot</code> will override any <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directives you may have put in the same
-context or child contexts. Putting a <code class="directive">VirtualDocumentRoot</code>
-in the global server scope will effectively override <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directives in any virtual hosts defined later
-on, unless you set <code class="directive">VirtualDocumentRoot</code> to <code>None</code>
+<code class="directive">VirtualDocumentRoot</code> will override any <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directives you may have put in the same
+context or child contexts. Putting a <code class="directive">VirtualDocumentRoot</code>
+in the global server scope will effectively override <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directives in any virtual hosts defined later
+on, unless you set <code class="directive">VirtualDocumentRoot</code> to <code>None</code>
in each virtual host.
</div>
diff --git a/docs/manual/mod/mod_vhost_alias.xml b/docs/manual/mod/mod_vhost_alias.xml
index c70950b53f..73992ba4fc 100644
--- a/docs/manual/mod/mod_vhost_alias.xml
+++ b/docs/manual/mod/mod_vhost_alias.xml
@@ -171,15 +171,15 @@ VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"
<p>The example request would come from
<code>/usr/local/apache/vhosts/example.com/d/o/m/ain/directory/file.html</code>.</p>
-<p> A very common request by users is the ability to point multiple domains to multiple
-document roots without having to worry about the length or number of parts of the
+<p> A very common request by users is the ability to point multiple domains to multiple
+document roots without having to worry about the length or number of parts of the
hostname being requested. If the requested hostname is <code>sub.www.domain.example.com</code>
instead of simply <code>www.domain.example.com</code>, then using %3+ will result in the document
root being <code>/usr/local/apache/vhosts/domain.example.com/...</code> instead of the
-intended <code>example.com</code> directory. In such cases, it can be beneficial to use
-the combination <code>%-2.0.%-1.0</code>, which will always yield the domain name and the
-tld, for example <code>example.com</code> regardless of the number of subdomains appended
-to the hostname. As such, one can make a configuration that will direct all first, second
+intended <code>example.com</code> directory. In such cases, it can be beneficial to use
+the combination <code>%-2.0.%-1.0</code>, which will always yield the domain name and the
+tld, for example <code>example.com</code> regardless of the number of subdomains appended
+to the hostname. As such, one can make a configuration that will direct all first, second
or third level subdomains to the same directory:
</p>
<highlight language="config">
@@ -254,11 +254,11 @@ for a given virtual host</description>
<note type="warning"><title>Note</title>
<directive>VirtualDocumentRoot</directive> will override any <directive
-module="core">DocumentRoot</directive> directives you may have put in the same
-context or child contexts. Putting a <directive>VirtualDocumentRoot</directive>
-in the global server scope will effectively override <directive
-module="core">DocumentRoot</directive> directives in any virtual hosts defined later
-on, unless you set <directive>VirtualDocumentRoot</directive> to <code>None</code>
+module="core">DocumentRoot</directive> directives you may have put in the same
+context or child contexts. Putting a <directive>VirtualDocumentRoot</directive>
+in the global server scope will effectively override <directive
+module="core">DocumentRoot</directive> directives in any virtual hosts defined later
+on, unless you set <directive>VirtualDocumentRoot</directive> to <code>None</code>
in each virtual host.
</note>
@@ -334,4 +334,3 @@ a given virtual host</description>
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/mod_xml2enc.xml b/docs/manual/mod/mod_xml2enc.xml
index 75804c5896..859ff0dc86 100644
--- a/docs/manual/mod/mod_xml2enc.xml
+++ b/docs/manual/mod/mod_xml2enc.xml
@@ -172,4 +172,3 @@ xml2EncDefault iso-8859-1
</directivesynopsis>
</modulesynopsis>
-
diff --git a/docs/manual/mod/quickreference.html.de b/docs/manual/mod/quickreference.html.de
index 99c8f8ad71..5b3d583b99 100644
--- a/docs/manual/mod/quickreference.html.de
+++ b/docs/manual/mod/quickreference.html.de
@@ -407,7 +407,7 @@ nicht auf andere Weise ermitteln kann.</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much compression do we apply to the output</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr>
diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en
index 8c09709026..28491010bf 100644
--- a/docs/manual/mod/quickreference.html.en
+++ b/docs/manual/mod/quickreference.html.en
@@ -406,7 +406,7 @@ which no other media type configuration could be found.
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much compression do we apply to the output</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr>
diff --git a/docs/manual/mod/quickreference.html.es b/docs/manual/mod/quickreference.html.es
index 5ea41eebb8..f120be79d7 100644
--- a/docs/manual/mod/quickreference.html.es
+++ b/docs/manual/mod/quickreference.html.es
@@ -413,7 +413,7 @@ which no other media type configuration could be found.
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much compression do we apply to the output</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr>
diff --git a/docs/manual/mod/quickreference.html.ja.utf8 b/docs/manual/mod/quickreference.html.ja.utf8
index 0e9ea07a02..57037e0f10 100644
--- a/docs/manual/mod/quickreference.html.ja.utf8
+++ b/docs/manual/mod/quickreference.html.ja.utf8
@@ -387,7 +387,7 @@ ServerHello</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">出力に対して行なう圧縮の程度</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">ロギング用に圧縮比をメモに追加</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">zlib が圧縮に使うメモリのレベルを指定</td></tr>
diff --git a/docs/manual/mod/quickreference.html.ko.euc-kr b/docs/manual/mod/quickreference.html.ko.euc-kr
index 822ef46851..e18656f618 100644
--- a/docs/manual/mod/quickreference.html.ko.euc-kr
+++ b/docs/manual/mod/quickreference.html.ko.euc-kr
@@ -385,7 +385,7 @@ which no other media type configuration could be found.
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> ϴ°</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4"> α׿ Ѵ</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">zlib Ҷ ϴ ޸𸮷</td></tr>
diff --git a/docs/manual/mod/quickreference.html.tr.utf8 b/docs/manual/mod/quickreference.html.tr.utf8
index 4bd578b99c..f7b32850d1 100644
--- a/docs/manual/mod/quickreference.html.tr.utf8
+++ b/docs/manual/mod/quickreference.html.tr.utf8
@@ -410,7 +410,7 @@ türünü belirlerdi.</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much compression do we apply to the output</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr>
diff --git a/docs/manual/mod/quickreference.html.zh-cn.utf8 b/docs/manual/mod/quickreference.html.zh-cn.utf8
index 5644deb611..2cf159ef90 100644
--- a/docs/manual/mod/quickreference.html.zh-cn.utf8
+++ b/docs/manual/mod/quickreference.html.zh-cn.utf8
@@ -401,7 +401,7 @@ which no other media type configuration could be found.
<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much compression do we apply to the output</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies
can be crossed</td></tr>
<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr>
<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr>
diff --git a/docs/manual/platform/windows.html.en b/docs/manual/platform/windows.html.en
index f76e3d4320..8b7176b982 100644
--- a/docs/manual/platform/windows.html.en
+++ b/docs/manual/platform/windows.html.en
@@ -63,8 +63,8 @@
<h2><a name="down" id="down">Downloading Apache for Windows</a></h2>
- <p>The Apache HTTP Server Project itself does not provide binary releases of
- software, only source code. Individual committers <em>may</em> provide
+ <p>The Apache HTTP Server Project itself does not provide binary releases of
+ software, only source code. Individual committers <em>may</em> provide
binary packages as a convenience, but it is not a release deliverable.</p>
<p>If you cannot compile the Apache HTTP Server
yourself, you can obtain a binary package from numerous binary distributions
@@ -142,9 +142,9 @@
is used in URLs, you can use something like:</p>
<pre class="prettyprint lang-config">RewriteEngine On
-RewriteMap lowercase int:tolower
-RewriteCond %{REQUEST_URI} [A-Z]
-RewriteRule (.*) ${lowercase:$1} [R,L]</pre>
+RewriteMap lowercase "int:tolower"
+RewriteCond "%{REQUEST_URI}" "[A-Z]"
+RewriteRule "(.*)" "${lowercase:$1}" [R,L]</pre>
</li>
<li><p>When running, Apache needs write access only to the logs
@@ -436,8 +436,8 @@ RewriteRule (.*) ${lowercase:$1} [R,L]</pre>
Programs. Change to the folder to which you installed Apache, type
the command <code>httpd.exe</code>, and read the error message. Then
change to the logs folder, and review the <code>error.log</code>
- file for configuration mistakes. Assuming httpd was installed into
- <code>C:\Program Files\Apache Software Foundation\Apache2.5\</code>,
+ file for configuration mistakes. Assuming httpd was installed into
+ <code>C:\Program Files\Apache Software Foundation\Apache2.5\</code>,
you can do the following:</p>
<div class="example"><p><code>
@@ -625,7 +625,7 @@ RewriteRule (.*) ${lowercase:$1} [R,L]</pre>
<h2><a name="tuning" id="tuning">Windows Tuning</a></h2>
<ul>
- <li><p>If more than a few dozen piped loggers are used on an operating system
+ <li><p>If more than a few dozen piped loggers are used on an operating system
instance, scaling up the "desktop heap" is often necessary. For
more detailed information, refer to the <a href="../logs.html#piped">piped logging</a> documentation.</p></li>
</ul>
diff --git a/docs/manual/platform/windows.xml b/docs/manual/platform/windows.xml
index 61d967ba0c..c8c1dd3c08 100644
--- a/docs/manual/platform/windows.xml
+++ b/docs/manual/platform/windows.xml
@@ -54,8 +54,8 @@
<section id="down">
<title>Downloading Apache for Windows</title>
- <p>The Apache HTTP Server Project itself does not provide binary releases of
- software, only source code. Individual committers <em>may</em> provide
+ <p>The Apache HTTP Server Project itself does not provide binary releases of
+ software, only source code. Individual committers <em>may</em> provide
binary packages as a convenience, but it is not a release deliverable.</p>
<p>If you cannot compile the Apache HTTP Server
yourself, you can obtain a binary package from numerous binary distributions
@@ -72,7 +72,7 @@
</ul>
</section>
-
+
<section id="cust">
<title>Customizing Apache for Windows</title>
@@ -137,9 +137,9 @@
<highlight language="config">
RewriteEngine On
-RewriteMap lowercase int:tolower
-RewriteCond %{REQUEST_URI} [A-Z]
-RewriteRule (.*) ${lowercase:$1} [R,L]
+RewriteMap lowercase "int:tolower"
+RewriteCond "%{REQUEST_URI}" "[A-Z]"
+RewriteRule "(.*)" "${lowercase:$1}" [R,L]
</highlight></li>
<li><p>When running, Apache needs write access only to the logs
@@ -432,8 +432,8 @@ RewriteRule (.*) ${lowercase:$1} [R,L]
Programs. Change to the folder to which you installed Apache, type
the command <code>httpd.exe</code>, and read the error message. Then
change to the logs folder, and review the <code>error.log</code>
- file for configuration mistakes. Assuming httpd was installed into
- <code>C:\Program Files\Apache Software Foundation\Apache2.&httpd.minor;\</code>,
+ file for configuration mistakes. Assuming httpd was installed into
+ <code>C:\Program Files\Apache Software Foundation\Apache2.&httpd.minor;\</code>,
you can do the following:</p>
<example>
@@ -631,7 +631,7 @@ Alias "/images/" "//imagehost/www/images/"
<section id="tuning">
<title>Windows Tuning</title>
<ul>
- <li><p>If more than a few dozen piped loggers are used on an operating system
+ <li><p>If more than a few dozen piped loggers are used on an operating system
instance, scaling up the "desktop heap" is often necessary. For
more detailed information, refer to the <a href="../logs.html#piped"
>piped logging</a> documentation.</p></li>
diff --git a/docs/manual/rewrite/access.html.en b/docs/manual/rewrite/access.html.en
index ab61fa31e3..da3e826d2d 100644
--- a/docs/manual/rewrite/access.html.en
+++ b/docs/manual/rewrite/access.html.en
@@ -78,25 +78,25 @@ configuration.</div>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ - [F,NC]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
<p>In this second example, instead of failing the request, we display
an alternate image instead.</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ /images/go-away.png [R,NC]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
<p>In the third example, we redirect the request to an image on some
other site.</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif [R,NC]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
<p>Of these techniques, the last two tend to be the most effective
@@ -159,9 +159,9 @@ RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif [R,NC]</pre>
range, if you are trying to block that user agent only from the
particular source.</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot
-RewriteCond %{REMOTE_ADDR} =123\.45\.67\.[8-9]
-RewriteRule ^/secret/files/ - [F]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
</dd>
@@ -210,10 +210,10 @@ RewriteRule ^/secret/files/ - [F]</pre>
<dd>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]
-RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^ - [F]</pre>
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
<div class="example"><p><code>
@@ -262,15 +262,15 @@ bsdti1.sdm.de -<br />
<p>The following ruleset uses a map file to associate each Referer
with a redirection target.</p>
-<pre class="prettyprint lang-config">RewriteMap deflector txt:/path/to/deflector.map
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}} =-
-RewriteRule ^ %{HTTP_REFERER} [R,L]
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L]</pre>
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
<p>The map file lists redirection targets for each referer, or, if
diff --git a/docs/manual/rewrite/access.xml b/docs/manual/rewrite/access.xml
index 0830852c60..67aa57a0d3 100644
--- a/docs/manual/rewrite/access.xml
+++ b/docs/manual/rewrite/access.xml
@@ -84,27 +84,27 @@ configuration.</note>
<!-- TODO: Add discussion here of why we have !^$ in there. -->
<highlight language="config">
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ - [F,NC]
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]
</highlight>
<p>In this second example, instead of failing the request, we display
an alternate image instead.</p>
<highlight language="config">
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ /images/go-away.png [R,NC]
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]
</highlight>
<p>In the third example, we redirect the request to an image on some
other site.</p>
<highlight language="config">
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif [R,NC]
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]
</highlight>
<p>Of these techniques, the last two tend to be the most effective
@@ -169,9 +169,9 @@ SetEnvIf Referer example\.com localreferer
particular source.</p>
<highlight language="config">
-RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot
-RewriteCond %{REMOTE_ADDR} =123\.45\.67\.[8-9]
-RewriteRule ^/secret/files/ - [F]
+RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]
</highlight>
</dd>
@@ -222,10 +222,10 @@ SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
<dd>
<highlight language="config">
RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]
-RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^ - [F]
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]
</highlight>
<example>
@@ -275,15 +275,15 @@ bsdti1.sdm.de -<br />
with a redirection target.</p>
<highlight language="config">
-RewriteMap deflector txt:/path/to/deflector.map
+RewriteMap deflector "txt:/path/to/deflector.map"
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}} =-
-RewriteRule ^ %{HTTP_REFERER} [R,L]
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L]
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
</highlight>
<p>The map file lists redirection targets for each referer, or, if
diff --git a/docs/manual/rewrite/advanced.html.en b/docs/manual/rewrite/advanced.html.en
index 6aea5414d1..8a723de08d 100644
--- a/docs/manual/rewrite/advanced.html.en
+++ b/docs/manual/rewrite/advanced.html.en
@@ -93,8 +93,8 @@ http://physical_host_of_user1/u/user/anypath
a user has no entry in the map:</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteMap users-to-hosts txt:/path/to/map.users-to-hosts
-RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2</pre>
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
</dd>
</dl>
@@ -125,8 +125,8 @@ RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2</p
This is done via the following ruleset:
<pre class="prettyprint lang-config"># This example is valid in per-directory context only
-RewriteCond %{REQUEST_URI} !-U
-RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L]</pre>
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
<p>The <code>-U</code> operator determines whether the test string
@@ -165,8 +165,8 @@ RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L]</pre>
to accomplish this.</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteMap lb rnd:/path/to/serverlist.txt
-RewriteRule ^/(.*) http://${lb:servers}/$1 [P,L]</pre>
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
<p><code>serverlist.txt</code> will contain a list of the servers:</p>
@@ -216,7 +216,7 @@ featureful than anything you can cobble together using mod_rewrite.</p>
into the above layout.</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/public_html$3</pre>
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
</dd>
</dl>
@@ -274,10 +274,10 @@ RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</stro
do time-dependent redirects:</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900
-RewriteRule ^foo\.html$ foo.day.html [L]
-RewriteRule ^foo\.html$ foo.night.html</pre>
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" &gt;0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" &lt;1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
<p>This provides the content of <code>foo.day.html</code>
@@ -318,13 +318,13 @@ RewriteRule ^foo\.html$ foo.night.html</pre>
<p>Use the [E] flag to set an environment variable.</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteRule ^/horse/(.*) /pony/$1 [E=<strong>rewritten:1</strong>]</pre>
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
<p>Later in your ruleset you might check for this environment
variable using a RewriteCond:</p>
-<pre class="prettyprint lang-config">RewriteCond %{ENV:rewritten} =1</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
<p>Note that environment variables do not survive an external
diff --git a/docs/manual/rewrite/advanced.xml b/docs/manual/rewrite/advanced.xml
index 7f1b8893d9..8abba8e109 100644
--- a/docs/manual/rewrite/advanced.xml
+++ b/docs/manual/rewrite/advanced.xml
@@ -101,8 +101,8 @@ http://physical_host_of_user1/u/user/anypath
<highlight language="config">
RewriteEngine on
-RewriteMap users-to-hosts txt:/path/to/map.users-to-hosts
-RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"
</highlight>
</dd>
</dl>
@@ -134,8 +134,8 @@ RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2
<highlight language="config">
# This example is valid in per-directory context only
-RewriteCond %{REQUEST_URI} !-U
-RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L]
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]
</highlight>
<p>The <code>-U</code> operator determines whether the test string
@@ -176,8 +176,8 @@ RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L]
<highlight language="config">
RewriteEngine on
-RewriteMap lb rnd:/path/to/serverlist.txt
-RewriteRule ^/(.*) http://${lb:servers}/$1 [P,L]
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]
</highlight>
<p><code>serverlist.txt</code> will contain a list of the servers:</p>
@@ -228,7 +228,7 @@ featureful than anything you can cobble together using mod_rewrite.</p>
<highlight language="config">
RewriteEngine on
-RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/public_html$3
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"
</highlight>
</dd>
</dl>
@@ -287,10 +287,10 @@ RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</stro
<highlight language="config">
RewriteEngine on
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900
-RewriteRule ^foo\.html$ foo.day.html [L]
-RewriteRule ^foo\.html$ foo.night.html
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" &gt;0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" &lt;1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"
</highlight>
<p>This provides the content of <code>foo.day.html</code>
@@ -332,14 +332,14 @@ RewriteRule ^foo\.html$ foo.night.html
<highlight language="config">
RewriteEngine on
-RewriteRule ^/horse/(.*) /pony/$1 [E=<strong>rewritten:1</strong>]
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]
</highlight>
<p>Later in your ruleset you might check for this environment
variable using a RewriteCond:</p>
<highlight language="config">
-RewriteCond %{ENV:rewritten} =1
+RewriteCond "%{ENV:rewritten}" =1
</highlight>
<p>Note that environment variables do not survive an external
diff --git a/docs/manual/rewrite/flags.html.en b/docs/manual/rewrite/flags.html.en
index e599d1df57..e0f65fc9d5 100644
--- a/docs/manual/rewrite/flags.html.en
+++ b/docs/manual/rewrite/flags.html.en
@@ -64,7 +64,7 @@ by commas.</p>
<p>Each flag (with a few exceptions) has a short form, such as
-<code>CO</code>, as well as a longer form, such as <code>cookie</code>.
+<code>CO</code>, as well as a longer form, such as <code>cookie</code>.
While it is most common to use
the short form, it is recommended that you familiarize yourself with the
long form, so that you remember what each flag is supposed to do.
@@ -82,9 +82,9 @@ of how you might use them.</p>
<h2><a name="flag_b" id="flag_b">B (escape backreferences)</a></h2>
<p>The [B] flag instructs <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to escape non-alphanumeric
characters before applying the transformation.</p>
-<p>In 2.4.10 and later, you can limit the escaping to specific characters
-in backreferences by listing them: <code>[B=#?;]</code>. Note: The space
-character can be used in the list of characters to escape, but it cannot be
+<p>In 2.4.10 and later, you can limit the escaping to specific characters
+in backreferences by listing them: <code>[B=#?;]</code>. Note: The space
+character can be used in the list of characters to escape, but it cannot be
the last character in the list.</p>
<p><code>mod_rewrite</code> has to unescape URLs before mapping them,
@@ -92,7 +92,7 @@ so backreferences are unescaped at the time they are applied.
Using the B flag, non-alphanumeric characters in backreferences
will be escaped. For example, consider the rule:</p>
-<pre class="prettyprint lang-config">RewriteRule ^search/(.*)$ /search.php?term=$1</pre>
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
<p>Given a search term of 'x &amp; y/z', a browser will encode it as
@@ -118,7 +118,7 @@ strings in the encoded form.</p>
<div class="section">
<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (don't escape space to +)</a></h2>
<p>The [BNP] flag instructs <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to escape the space character
-in a backreference to %20 rather than '+'. Useful when the backreference
+in a backreference to %20 rather than '+'. Useful when the backreference
will be used in the path component rather than the query string.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -186,7 +186,7 @@ browsers that support this feature.</dd>
<p>Consider this example:</p>
<pre class="prettyprint lang-config">RewriteEngine On
-RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.com:1440:/]</pre>
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
<p>In the example give, the rule doesn't rewrite the request.
@@ -272,15 +272,15 @@ value of '1' if the requested URI is an image file. Then, that
environment variable is used to exclude those requests from the access
log.</p>
-<pre class="prettyprint lang-config">RewriteRule \.(png|gif|jpg)$ - [E=image:1]
-CustomLog logs/access_log combined env=!image</pre>
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog logs/access_log combined env=!image</pre>
<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
an example, not as a recommendation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="flag_end" id="flag_end">END</a></h2>
+<h2><a name="flag_end" id="flag_end">END</a></h2>
<p>Using the [END] flag terminates not only the current round of rewrite
processing (like [L]) but also prevents any subsequent rewrite
processing from occurring in per-directory (htaccess) context.</p>
@@ -298,7 +298,7 @@ allows more flexibility in assigning a Forbidden status.</p>
<p>The following rule will forbid <code>.exe</code> files from being
downloaded from your server.</p>
-<pre class="prettyprint lang-config">RewriteRule \.exe - [F]</pre>
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
<p>This example uses the "-" syntax for the rewrite target, which means
@@ -318,7 +318,7 @@ longer available.</p>
<p>As with the [F] flag, you will typically use the "-" syntax for the
rewrite target when using the [G] flag:</p>
-<pre class="prettyprint lang-config">RewriteRule oldproduct - [G,NC]</pre>
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
<p>When using [G], an [L] is implied - that is, the response is returned
@@ -331,7 +331,7 @@ immediately, and no further rules are evaluated.</p>
handler. For example, one might use this to force all files without a
file extension to be parsed by the php handler:</p>
-<pre class="prettyprint lang-config">RewriteRule !\. - [H=application/x-httpd-php]</pre>
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
<p>
@@ -344,7 +344,7 @@ For example, the following snippet used in per-server context allows
<code>.php</code> files to be <em>displayed</em> by <code>mod_php</code>
if they are requested with the <code>.phps</code> extension:</p>
-<pre class="prettyprint lang-config">RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]</pre>
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
<p>The regular expression above - <code>^(/source/.+\.php)s$</code> - will
@@ -392,9 +392,9 @@ redirects.</p>
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>
-<pre class="prettyprint lang-config">RewriteBase /
-RewriteCond %{REQUEST_URI} !=/index.php
-RewriteRule ^(.*) /index.php?req=$1 [L,PT]</pre>
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -410,7 +410,7 @@ certain string or letter repeatedly in a request. The example shown here
will replace A with B everywhere in a request, and will continue doing
so until there are no more As to be replaced.
</p>
-<pre class="prettyprint lang-config">RewriteRule (.*)A(.*) $1B$2 [N]</pre>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
<p>You can think of this as a <code>while</code> loop: While this
pattern still matches (i.e., while the URI still contains an
@@ -418,12 +418,12 @@ pattern still matches (i.e., while the URI still contains an
<code>A</code> with a <code>B</code>).</p>
<p>In 2.5.0 and later, this module returns an error after 10,000 iterations to
-protect against unintended looping. An alternative maximum number of
+protect against unintended looping. An alternative maximum number of
iterations can be specified by adding to the N flag. </p>
<pre class="prettyprint lang-config"># Be willing to replace 1 character in each pass of the loop
-RewriteRule (.+)[&gt;&lt;;]$ $1 [N=32000]
+RewriteRule "(.+)[&gt;&lt;;]$" "$1" [N=32000]
# ... or, give up if after 10 loops
-RewriteRule (.+)[&gt;&lt;;]$ $1 [N=10]</pre>
+RewriteRule "(.+)[&gt;&lt;;]$" "$1" [N=10]</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -438,7 +438,7 @@ to your dedicated image server. The match is case-insensitive, so that
<code>.jpg</code> and <code>.JPG</code> files are both acceptable, for
example.</p>
-<pre class="prettyprint lang-config">RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]</pre>
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
@@ -448,7 +448,7 @@ example.</p>
equivalent. Using the [NE] flag prevents that from happening.
</p>
-<pre class="prettyprint lang-config">RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
<p>
@@ -490,7 +490,7 @@ requests.
example, if you wanted all image requests to be handled by a back-end
image server, you might do something like the following:</p>
-<pre class="prettyprint lang-config">RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]</pre>
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
<p>Use of the [P] flag implies [L] - that is, the request is immediately
@@ -548,7 +548,7 @@ use the [PT] flag to ensure that the
</p>
<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
-RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]</pre>
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
<p>
@@ -578,7 +578,7 @@ Using the [QSA] flag causes the query strings to be combined.
<p>Consider the following rule:</p>
-<pre class="prettyprint lang-config">RewriteRule /pages/(.+) /page.php?page=$1 [QSA]</pre>
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
<p>With the [QSA] flag, a request for <code>/pages/123?one=two</code> will be
@@ -625,7 +625,7 @@ will be used to generate the URL sent with the redirect.
<em>Any</em> valid HTTP response status code may be specified,
using the syntax [R=305], with a 302 status code being used by
default if none is specified. The status code specified need not
-necessarily be a redirect (3xx) status code. However,
+necessarily be a redirect (3xx) status code. However,
if a status code is outside the redirect range (300-399) then the
substitution string is dropped entirely, and rewriting is stopped as if
the <code>L</code> were used.</p>
@@ -645,24 +645,24 @@ URI in request' warnings.
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_s" id="flag_s">S|skip</a></h2>
-<p>The [S] flag is used to skip rules that you don't want to run. The
-syntax of the skip flag is [S=<em>N</em>], where <em>N</em> signifies
+<p>The [S] flag is used to skip rules that you don't want to run. The
+syntax of the skip flag is [S=<em>N</em>], where <em>N</em> signifies
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">
-RewriteCond</a></code> directives match). This can be thought of as a
-<code>goto</code> statement in your rewrite ruleset. In the following
+RewriteCond</a></code> directives match). This can be thought of as a
+<code>goto</code> statement in your rewrite ruleset. In the following
example, we only want to run the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">
-RewriteRule</a></code> if the requested URI doesn't correspond with an
+RewriteRule</a></code> if the requested URI doesn't correspond with an
actual file.</p>
<pre class="prettyprint lang-config"># Is the request for a non-existent file?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
# If so, skip these two RewriteRules
-RewriteRule .? - [S=2]
+RewriteRule ".?" "-" [S=2]
-RewriteRule (.*\.gif) images.php?$1
-RewriteRule (.*\.html) docs.php?$1</pre>
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
<p>This technique is useful because a <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> only applies to the
@@ -674,18 +674,18 @@ use this to make pseudo if-then-else constructs: The last rule of
the then-clause becomes <code>skip=N</code>, where N is the
number of rules in the else-clause:</p>
<pre class="prettyprint lang-config"># Does the file exist?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
-RewriteRule .? - [S=3]
+RewriteRule ".?" "-" [S=3]
# IF the file exists, then:
- RewriteRule (.*\.gif) images.php?$1
- RewriteRule (.*\.html) docs.php?$1
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
# Skip past the "else" stanza.
- RewriteRule .? - [S=1]
+ RewriteRule ".?" "-" [S=1]
# ELSE...
- RewriteRule (.*) 404.php?file=$1
+ RewriteRule "(.*)" "404.php?file=$1"
# END</pre>
@@ -702,7 +702,7 @@ sent. This has the same effect as the <code class="directive"><a href="../mod/mo
source code as plain text, if requested in a particular way:</p>
<pre class="prettyprint lang-config"># Serve .pl files as plain text
-RewriteRule \.pl$ - [T=text/plain]</pre>
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
<p>Or, perhaps, if you have a camera that produces jpeg images without
@@ -710,7 +710,7 @@ file extensions, you could force those images to be served with the
correct MIME type by virtue of their file names:</p>
<pre class="prettyprint lang-config"># Files with 'IMG' in the name are jpg images.
-RewriteRule IMG - [T=image/jpg]</pre>
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
<p>Please note that this is a trivial example, and could be better done
diff --git a/docs/manual/rewrite/flags.xml b/docs/manual/rewrite/flags.xml
index b12cad3d3b..b3bccb2584 100644
--- a/docs/manual/rewrite/flags.xml
+++ b/docs/manual/rewrite/flags.xml
@@ -81,7 +81,7 @@ Using the B flag, non-alphanumeric characters in backreferences
will be escaped. For example, consider the rule:</p>
<highlight language="config">
-RewriteRule ^search/(.*)$ /search.php?term=$1
+RewriteRule "^search/(.*)$" "/search.php?term=$1"
</highlight>
<p>Given a search term of 'x &amp; y/z', a browser will encode it as
@@ -180,7 +180,7 @@ browsers that support this feature.</dd>
<highlight language="config">
RewriteEngine On
-RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.com:1440:/]
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]
</highlight>
<p>In the example give, the rule doesn't rewrite the request.
@@ -267,8 +267,8 @@ environment variable is used to exclude those requests from the access
log.</p>
<highlight language="config">
-RewriteRule \.(png|gif|jpg)$ - [E=image:1]
-CustomLog logs/access_log combined env=!image
+RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog logs/access_log combined env=!image
</highlight>
<p>Note that this same effect can be obtained using <directive
@@ -295,7 +295,7 @@ allows more flexibility in assigning a Forbidden status.</p>
downloaded from your server.</p>
<highlight language="config">
-RewriteRule \.exe - [F]
+RewriteRule "\.exe" "-" [F]
</highlight>
<p>This example uses the "-" syntax for the rewrite target, which means
@@ -316,7 +316,7 @@ longer available.</p>
rewrite target when using the [G] flag:</p>
<highlight language="config">
-RewriteRule oldproduct - [G,NC]
+RewriteRule "oldproduct" "-" [G,NC]
</highlight>
<p>When using [G], an [L] is implied - that is, the response is returned
@@ -330,7 +330,7 @@ handler. For example, one might use this to force all files without a
file extension to be parsed by the php handler:</p>
<highlight language="config">
-RewriteRule !\. - [H=application/x-httpd-php]
+RewriteRule "!\." "-" [H=application/x-httpd-php]
</highlight>
<p>
@@ -344,7 +344,7 @@ For example, the following snippet used in per-server context allows
if they are requested with the <code>.phps</code> extension:</p>
<highlight language="config">
-RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
+RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]
</highlight>
<p>The regular expression above - <code>^(/source/.+\.php)s$</code> - will
@@ -397,9 +397,9 @@ is already for <code>index.php</code>, the <directive
module="mod_rewrite">RewriteRule</directive> will be skipped.</p>
<highlight language="config">
-RewriteBase /
-RewriteCond %{REQUEST_URI} !=/index.php
-RewriteRule ^(.*) /index.php?req=$1 [L,PT]
+RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]
</highlight>
</section>
@@ -416,7 +416,7 @@ will replace A with B everywhere in a request, and will continue doing
so until there are no more As to be replaced.
</p>
<highlight language="config">
-RewriteRule (.*)A(.*) $1B$2 [N]
+RewriteRule "(.*)A(.*)" "$1B$2" [N]
</highlight>
<p>You can think of this as a <code>while</code> loop: While this
pattern still matches (i.e., while the URI still contains an
@@ -428,9 +428,9 @@ protect against unintended looping. An alternative maximum number of
iterations can be specified by adding to the N flag. </p>
<highlight language="config">
# Be willing to replace 1 character in each pass of the loop
-RewriteRule (.+)[&gt;&lt;;]$ $1 [N=32000]
+RewriteRule "(.+)[&gt;&lt;;]$" "$1" [N=32000]
# ... or, give up if after 10 loops
-RewriteRule (.+)[&gt;&lt;;]$ $1 [N=10]
+RewriteRule "(.+)[&gt;&lt;;]$" "$1" [N=10]
</highlight>
</section>
@@ -447,7 +447,7 @@ to your dedicated image server. The match is case-insensitive, so that
example.</p>
<highlight language="config">
-RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
+RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]
</highlight>
</section>
@@ -458,7 +458,7 @@ equivalent. Using the [NE] flag prevents that from happening.
</p>
<highlight language="config">
-RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]
+RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]
</highlight>
<p>
@@ -501,7 +501,7 @@ example, if you wanted all image requests to be handled by a back-end
image server, you might do something like the following:</p>
<highlight language="config">
-RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]
+RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]
</highlight>
<p>Use of the [P] flag implies [L] - that is, the request is immediately
@@ -566,7 +566,7 @@ use the [PT] flag to ensure that the
<highlight language="config">
Alias "/icons" "/usr/local/apache/icons"
-RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]
</highlight>
<p>
@@ -597,7 +597,7 @@ Using the [QSA] flag causes the query strings to be combined.
<p>Consider the following rule:</p>
<highlight language="config">
-RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
+RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]
</highlight>
<p>With the [QSA] flag, a request for <code>/pages/123?one=two</code> will be
@@ -677,13 +677,13 @@ actual file.</p>
<highlight language="config">
# Is the request for a non-existent file?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
# If so, skip these two RewriteRules
-RewriteRule .? - [S=2]
+RewriteRule ".?" "-" [S=2]
-RewriteRule (.*\.gif) images.php?$1
-RewriteRule (.*\.html) docs.php?$1
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"
</highlight>
<p>This technique is useful because a <directive
@@ -697,18 +697,18 @@ the then-clause becomes <code>skip=N</code>, where N is the
number of rules in the else-clause:</p>
<highlight language="config">
# Does the file exist?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
# Create an if-then-else construct by skipping 3 lines if we meant to go to the &quot;else&quot; stanza.
-RewriteRule .? - [S=3]
+RewriteRule ".?" "-" [S=3]
# IF the file exists, then:
- RewriteRule (.*\.gif) images.php?$1
- RewriteRule (.*\.html) docs.php?$1
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
# Skip past the &quot;else&quot; stanza.
- RewriteRule .? - [S=1]
+ RewriteRule ".?" "-" [S=1]
# ELSE...
- RewriteRule (.*) 404.php?file=$1
+ RewriteRule "(.*)" "404.php?file=$1"
# END
</highlight>
@@ -729,7 +729,7 @@ source code as plain text, if requested in a particular way:</p>
<highlight language="config">
# Serve .pl files as plain text
-RewriteRule \.pl$ - [T=text/plain]
+RewriteRule "\.pl$" "-" [T=text/plain]
</highlight>
<p>Or, perhaps, if you have a camera that produces jpeg images without
@@ -738,7 +738,7 @@ correct MIME type by virtue of their file names:</p>
<highlight language="config">
# Files with 'IMG' in the name are jpg images.
-RewriteRule IMG - [T=image/jpg]
+RewriteRule "IMG" "-" [T=image/jpg]
</highlight>
<p>Please note that this is a trivial example, and could be better done
diff --git a/docs/manual/rewrite/flags.xml.fr b/docs/manual/rewrite/flags.xml.fr
index b7a5457047..6144a16c7c 100644
--- a/docs/manual/rewrite/flags.xml.fr
+++ b/docs/manual/rewrite/flags.xml.fr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1585159:1673908 (outdated) -->
+<!-- English Revision: 1585159:1673932 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
diff --git a/docs/manual/rewrite/index.xml b/docs/manual/rewrite/index.xml
index 548d88cc1b..181e05df96 100644
--- a/docs/manual/rewrite/index.xml
+++ b/docs/manual/rewrite/index.xml
@@ -87,5 +87,3 @@ wiki</a></seealso>
</manualpage>
-
-
diff --git a/docs/manual/rewrite/intro.html.en b/docs/manual/rewrite/intro.html.en
index 915d8e17ad..6a293058d3 100644
--- a/docs/manual/rewrite/intro.html.en
+++ b/docs/manual/rewrite/intro.html.en
@@ -141,21 +141,21 @@ the expression.</p>
<em>CondPattern</em>, back-references are internally created
which can be used with the strings <code>$N</code> and
<code>%N</code> (see below). These are available for creating
- the <em>Substitution</em> parameter of a
+ the <em>Substitution</em> parameter of a
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> or
- the <em>TestString</em> parameter of a
+ the <em>TestString</em> parameter of a
<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</p>
- <p> Captures in the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> patterns are (counterintuitively) available to
- all preceding
+ <p> Captures in the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> patterns are (counterintuitively) available to
+ all preceding
<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> directives,
because the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
expression is evaluated before the individual conditions.</p>
- <p>Figure 1 shows to which
- locations the back-references are transferred for expansion as
- well as illustrating the flow of the RewriteRule, RewriteCond
- matching. In the next chapters, we will be exploring how to use
- these back-references, so do not fret if it seems a bit alien
+ <p>Figure 1 shows to which
+ locations the back-references are transferred for expansion as
+ well as illustrating the flow of the RewriteRule, RewriteCond
+ matching. In the next chapters, we will be exploring how to use
+ these back-references, so do not fret if it seems a bit alien
to you at first.
</p>
@@ -177,12 +177,12 @@ of three arguments separated by spaces. The arguments are</p>
<li><var>[flags]</var>: options affecting the rewritten request.</li>
</ol>
-<p>The <var>Pattern</var> is a <a href="#regex">regular expression</a>.
-It is initially (for the first rewrite rule or until a substitution occurs)
-matched against the URL-path of the incoming request (the part after the
-hostname but before any question mark indicating the beginning of a query
-string) or, in per-directory context, against the request's path relative
-to the directory for which the rule is defined. Once a substitution has
+<p>The <var>Pattern</var> is a <a href="#regex">regular expression</a>.
+It is initially (for the first rewrite rule or until a substitution occurs)
+matched against the URL-path of the incoming request (the part after the
+hostname but before any question mark indicating the beginning of a query
+string) or, in per-directory context, against the request's path relative
+to the directory for which the rule is defined. Once a substitution has
occurred, the rules that follow are matched against the substituted
value.
</p>
@@ -198,7 +198,7 @@ value.
<dl>
<dt>A full filesystem path to a resource</dt>
<dd>
-<pre class="prettyprint lang-config">RewriteRule ^/games /usr/local/games/web</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web"</pre>
<p>This maps a request to an arbitrary location on your filesystem, much
like the <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> directive.</p>
@@ -206,7 +206,7 @@ like the <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a>
<dt>A web-path to a resource</dt>
<dd>
-<pre class="prettyprint lang-config">RewriteRule ^/foo$ /bar</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/foo$" "/bar"</pre>
<p>If <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> is set
to <code>/usr/local/apache2/htdocs</code>, then this directive would
@@ -216,7 +216,7 @@ path <code>/usr/local/apache2/htdocs/bar</code>.</p>
<dt>An absolute URL</dt>
<dd>
-<pre class="prettyprint lang-config">RewriteRule ^/product/view$ http://site2.example.com/seeproduct.html [R]</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre>
<p>This tells the client to make a new request for the specified URL.</p>
</dd>
@@ -225,7 +225,7 @@ path <code>/usr/local/apache2/htdocs/bar</code>.</p>
<p>The <var>Substitution</var> can also
contain <em>back-references</em> to parts of the incoming URL-path
matched by the <var>Pattern</var>. Consider the following:</p>
-<pre class="prettyprint lang-config">RewriteRule ^/product/(.*)/view$ /var/web/productdb/$1</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre>
<p>The variable <code>$1</code> will be replaced with whatever text
was matched by the expression inside the parenthesis in
@@ -247,7 +247,7 @@ application of one or more flags to the end of the rule. For example, the
matching behavior of a rule can be made case-insensitive by the
application of the <code>[NC]</code> flag:
</p>
-<pre class="prettyprint lang-config">RewriteRule ^puppy.html smalldog.html [NC]</pre>
+<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre>
<p>For more details on the available flags, their meanings, and
@@ -272,8 +272,8 @@ argument is a list of flags that modify how the match is evaluated.</p>
<p>For example, to send all requests from a particular IP range to a
different server, you could use:</p>
-<pre class="prettyprint lang-config">RewriteCond %{REMOTE_ADDR} ^10\.2\.
-RewriteRule (.*) http://intranet.example.com$1</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
<p>When more than
@@ -283,9 +283,9 @@ the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">Rewrit
applied. For example, to deny requests that contain the word "hack" in
their query string, unless they also contain a cookie containing
the word "go", you could use:</p>
-<pre class="prettyprint lang-config">RewriteCond %{QUERY_STRING} hack
-RewriteCond %{HTTP_COOKIE} !go
-RewriteRule . - [F]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]</pre>
<p>Notice that the exclamation mark specifies a negative match, so the rule is only applied if the cookie does not contain "go".</p>
@@ -296,8 +296,8 @@ the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">Rewrit
variables <code>%1</code>, <code>%2</code>, etc. For example, this
will direct the request to a different directory depending on the
hostname used to access the site:</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_HOST} (.*)
-RewriteRule ^/(.*) /sites/%1/$1</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
<p>If the request was for <code>http://example.com/foo/bar</code>,
then <code>%1</code> would contain <code>example.com</code>
diff --git a/docs/manual/rewrite/intro.xml b/docs/manual/rewrite/intro.xml
index 798bd00e93..52cdb3dcc9 100644
--- a/docs/manual/rewrite/intro.xml
+++ b/docs/manual/rewrite/intro.xml
@@ -145,22 +145,22 @@ the expression.</p>
<em>CondPattern</em>, back-references are internally created
which can be used with the strings <code>$N</code> and
<code>%N</code> (see below). These are available for creating
- the <em>Substitution</em> parameter of a
+ the <em>Substitution</em> parameter of a
<directive module="mod_rewrite">RewriteRule</directive> or
- the <em>TestString</em> parameter of a
+ the <em>TestString</em> parameter of a
<directive module="mod_rewrite">RewriteCond</directive>.</p>
<p> Captures in the <directive module="mod_rewrite"
- >RewriteRule</directive> patterns are (counterintuitively) available to
- all preceding
+ >RewriteRule</directive> patterns are (counterintuitively) available to
+ all preceding
<directive module="mod_rewrite">RewriteCond</directive> directives,
because the <directive module="mod_rewrite">RewriteRule</directive>
expression is evaluated before the individual conditions.</p>
- <p>Figure 1 shows to which
- locations the back-references are transferred for expansion as
- well as illustrating the flow of the RewriteRule, RewriteCond
- matching. In the next chapters, we will be exploring how to use
- these back-references, so do not fret if it seems a bit alien
+ <p>Figure 1 shows to which
+ locations the back-references are transferred for expansion as
+ well as illustrating the flow of the RewriteRule, RewriteCond
+ matching. In the next chapters, we will be exploring how to use
+ these back-references, so do not fret if it seems a bit alien
to you at first.
</p>
@@ -183,12 +183,12 @@ of three arguments separated by spaces. The arguments are</p>
<li><var>[flags]</var>: options affecting the rewritten request.</li>
</ol>
-<p>The <var>Pattern</var> is a <a href="#regex">regular expression</a>.
-It is initially (for the first rewrite rule or until a substitution occurs)
-matched against the URL-path of the incoming request (the part after the
-hostname but before any question mark indicating the beginning of a query
-string) or, in per-directory context, against the request's path relative
-to the directory for which the rule is defined. Once a substitution has
+<p>The <var>Pattern</var> is a <a href="#regex">regular expression</a>.
+It is initially (for the first rewrite rule or until a substitution occurs)
+matched against the URL-path of the incoming request (the part after the
+hostname but before any question mark indicating the beginning of a query
+string) or, in per-directory context, against the request's path relative
+to the directory for which the rule is defined. Once a substitution has
occurred, the rules that follow are matched against the substituted
value.
</p>
@@ -206,7 +206,7 @@ value.
<dt>A full filesystem path to a resource</dt>
<dd>
<highlight language="config">
-RewriteRule ^/games /usr/local/games/web
+RewriteRule "^/games" "/usr/local/games/web"
</highlight>
<p>This maps a request to an arbitrary location on your filesystem, much
like the <directive module="mod_alias">Alias</directive> directive.</p>
@@ -215,7 +215,7 @@ like the <directive module="mod_alias">Alias</directive> directive.</p>
<dt>A web-path to a resource</dt>
<dd>
<highlight language="config">
-RewriteRule ^/foo$ /bar
+RewriteRule "^/foo$" "/bar"
</highlight>
<p>If <directive module="core">DocumentRoot</directive> is set
to <code>/usr/local/apache2/htdocs</code>, then this directive would
@@ -226,7 +226,7 @@ path <code>/usr/local/apache2/htdocs/bar</code>.</p>
<dt>An absolute URL</dt>
<dd>
<highlight language="config">
-RewriteRule ^/product/view$ http://site2.example.com/seeproduct.html [R]
+RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]
</highlight>
<p>This tells the client to make a new request for the specified URL.</p>
</dd>
@@ -236,7 +236,7 @@ RewriteRule ^/product/view$ http://site2.example.com/seeproduct.html [R]
contain <em>back-references</em> to parts of the incoming URL-path
matched by the <var>Pattern</var>. Consider the following:</p>
<highlight language="config">
-RewriteRule ^/product/(.*)/view$ /var/web/productdb/$1
+RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"
</highlight>
<p>The variable <code>$1</code> will be replaced with whatever text
was matched by the expression inside the parenthesis in
@@ -260,7 +260,7 @@ matching behavior of a rule can be made case-insensitive by the
application of the <code>[NC]</code> flag:
</p>
<highlight language="config">
-RewriteRule ^puppy.html smalldog.html [NC]
+RewriteRule "^puppy.html" "smalldog.html" [NC]
</highlight>
<p>For more details on the available flags, their meanings, and
@@ -288,8 +288,8 @@ argument is a list of flags that modify how the match is evaluated.</p>
<p>For example, to send all requests from a particular IP range to a
different server, you could use:</p>
<highlight language="config">
-RewriteCond %{REMOTE_ADDR} ^10\.2\.
-RewriteRule (.*) http://intranet.example.com$1
+RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"
</highlight>
<p>When more than
@@ -300,9 +300,9 @@ applied. For example, to deny requests that contain the word "hack" in
their query string, unless they also contain a cookie containing
the word "go", you could use:</p>
<highlight language="config">
-RewriteCond %{QUERY_STRING} hack
-RewriteCond %{HTTP_COOKIE} !go
-RewriteRule . - [F]
+RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]
</highlight>
<p>Notice that the exclamation mark specifies a negative match, so the rule is only applied if the cookie does not contain "go".</p>
@@ -314,8 +314,8 @@ variables <code>%1</code>, <code>%2</code>, etc. For example, this
will direct the request to a different directory depending on the
hostname used to access the site:</p>
<highlight language="config">
-RewriteCond %{HTTP_HOST} (.*)
-RewriteRule ^/(.*) /sites/%1/$1
+RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"
</highlight>
<p>If the request was for <code>http://example.com/foo/bar</code>,
then <code>%1</code> would contain <code>example.com</code>
@@ -354,5 +354,3 @@ the <directive module="mod_rewrite">RewriteRule</directive>. In addition, the <d
</section>
</manualpage>
-
-
diff --git a/docs/manual/rewrite/proxy.html.en b/docs/manual/rewrite/proxy.html.en
index 6c7e08d009..fca4afcf0d 100644
--- a/docs/manual/rewrite/proxy.html.en
+++ b/docs/manual/rewrite/proxy.html.en
@@ -57,8 +57,8 @@ A number of recipes are provided that describe common scenarios.</p>
follows:</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteBase /products/
-RewriteRule ^widget/(.*)$ http://product.example.com/widget/$1 [P]
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
@@ -67,9 +67,9 @@ ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
from one server to another, and you're not sure if all the content
has been migrated yet.</p>
-<pre class="prettyprint lang-config">RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^/(.*) http://old.example.com/$1 [P]
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
ProxyPassReverse "/" "http://old.example.com/"</pre>
</dd>
diff --git a/docs/manual/rewrite/proxy.xml b/docs/manual/rewrite/proxy.xml
index 448a5e68c5..8a255e891d 100644
--- a/docs/manual/rewrite/proxy.xml
+++ b/docs/manual/rewrite/proxy.xml
@@ -67,8 +67,8 @@ A number of recipes are provided that describe common scenarios.</p>
<highlight language="config">
RewriteEngine on
-RewriteBase /products/
-RewriteRule ^widget/(.*)$ http://product.example.com/widget/$1 [P]
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"
</highlight>
@@ -78,9 +78,9 @@ ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"
has been migrated yet.</p>
<highlight language="config">
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^/(.*) http://old.example.com/$1 [P]
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
ProxyPassReverse "/" "http://old.example.com/"
</highlight>
</dd>
diff --git a/docs/manual/rewrite/remapping.html.en b/docs/manual/rewrite/remapping.html.en
index debd3cdadb..db22af1778 100644
--- a/docs/manual/rewrite/remapping.html.en
+++ b/docs/manual/rewrite/remapping.html.en
@@ -75,7 +75,7 @@ configuration.</div>
following rule:</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteRule ^<strong>/foo</strong>\.html$ <strong>/bar</strong>.html [PT]</pre>
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
</dd>
</dl>
@@ -105,7 +105,7 @@ RewriteRule ^<strong>/foo</strong>\.html$ <strong>/bar</strong>.html [PT]</p
change of the browsers and thus the users view:</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteRule ^<strong>/foo</strong>\.html$ <strong>bar</strong>.html [<strong>R</strong>]</pre>
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
</dd>
@@ -146,7 +146,7 @@ RewriteRule ^<strong>/foo</strong>\.html$ <strong>bar</strong>.html [<stron
<pre class="prettyprint lang-config">#With mod_rewrite
RewriteEngine on
-RewriteRule ^/docs/(.+) http://new.example.com/docs/$1 [R,L]</pre>
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
<pre class="prettyprint lang-config">#With RedirectMatch
@@ -186,8 +186,8 @@ Redirect "/docs/" "http://new.example.com/docs/"</pre>
<code>/~quux/foo.cgi</code>.</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo\.html$ foo.cgi [H=<strong>cgi-script</strong>]</pre>
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
</dd>
</dl>
@@ -220,11 +220,11 @@ RewriteRule ^foo\.html$ foo.cgi [H=<strong>cgi-script</strong>]</pre>
# when and only when document.php exists
&lt;Directory "/var/www/htdocs"&gt;
RewriteEngine on
- RewriteBase /var/www/htdocs
+ RewriteBase "/var/www/htdocs"
- RewriteCond $1.php -f
- RewriteCond $1.html !-f
- RewriteRule ^(.*).html$ $1.php
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
&lt;/Directory&gt;</pre>
</dd>
@@ -307,16 +307,16 @@ might do the following:</p>
you might use one of the recipes below.</p>
<p>For sites running on a port other than 80:</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteCond %{SERVER_PORT} !^80$
-RewriteRule ^/?(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R,NE]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
<p>And for a site running on port 80</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
<p>
@@ -326,9 +326,9 @@ RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]</pre>
<strong>example.com</strong>, you could use the following
recipe:</p>
-<pre class="prettyprint lang-config">RewriteCond %{HTTP_HOST} !^www\. [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]</pre>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
<p>These rulesets will work either in your main server configuration
@@ -363,17 +363,17 @@ RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]</pre>
# first try to find it in dir1/...
# ...and if found stop and be happy:
-RewriteCond %{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI} -f
-RewriteRule ^(.+) %{DOCUMENT_ROOT}/<strong>dir1</strong>/$1 [L]
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
# second try to find it in dir2/...
# ...and if found stop and be happy:
-RewriteCond %{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI} -f
-RewriteRule ^(.+) %{DOCUMENT_ROOT}/<strong>dir2</strong>/$1 [L]
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
# else go on for other Alias or ScriptAlias directives,
# etc.
-RewriteRule ^ - [PT]</pre>
+RewriteRule "^" "-" [PT]</pre>
</dd>
</dl>
@@ -404,9 +404,9 @@ RewriteRule ^ - [PT]</pre>
<pre class="prettyprint lang-config">HostnameLookups on
RewriteEngine on
-RewriteMap multiplex txt:/path/to/map.mirrors
-RewriteCond %{REMOTE_HOST} ([a-z]+)$ [NC]
-RewriteRule ^/(.*)$ ${multiplex:<strong>%1</strong>|http://www.example.com/}$1 [R,L]</pre>
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
<div class="example"><p><code>
@@ -461,7 +461,7 @@ com http://www.example.com/<br />
we replace <code>/puppies</code> and <code>/canines</code>
by the canonical <code>/dogs</code>.</p>
-<pre class="prettyprint lang-config">RewriteRule ^/(puppies|canines)/(.*) /dogs/$2 [R]</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
</dd>
@@ -501,7 +501,7 @@ using the following ruleset:</p>
</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteRule ^/$ /about/ [<strong>R</strong>]</pre>
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
<p>Note that this can also be handled using the <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> directive:</p>
@@ -545,18 +545,18 @@ complicated than this, you can use a variation of the following rewrite
set to accomplish the same thing:</p>
<pre class="prettyprint lang-config">&lt;Directory "/var/www/my_blog"&gt;
- RewriteBase /my_blog
+ RewriteBase "/my_blog"
- RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-f
- RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-d
- RewriteRule ^ index.php [PT]
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
&lt;/Directory&gt;</pre>
<p>If, on the other hand, you wish to pass the requested URI as a query
string argument to index.php, you can replace that RewriteRule with:</p>
-<pre class="prettyprint lang-config">RewriteRule (.*) index.php?$1 [PT,QSA]</pre>
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
<p>Note that these rulesets can be used in a <code>.htaccess</code>
@@ -582,14 +582,14 @@ of the URL.</dd>
<p> Many of the solutions in this section will all use the same condition,
which leaves the matched value in the %2 backreference. %1 is the beginining
of the query string (up to the key of intererest), and %3 is the remainder. This
-condition is a bit complex for flexibility and to avoid double '&amp;&amp;' in the
+condition is a bit complex for flexibility and to avoid double '&amp;&amp;' in the
substitutions.</p>
<ul>
<li>This solution removes the matching key and value:
<pre class="prettyprint lang-config"># Remove mykey=???
-RewriteCond %{QUERY_STRING} (.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$
-RewriteRule (.*) $1?%1%3</pre>
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
</li>
@@ -597,25 +597,25 @@ RewriteRule (.*) $1?%1%3</pre>
discarding the rest of the original query by appending a '?':
<pre class="prettyprint lang-config"># Copy from query string to PATH_INFO
-RewriteCond %{QUERY_STRING} (.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$
-RewriteRule (.*) $1/products/%2/? [PT]</pre>
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
</li>
<li>This solution checks the captured value in a subsequent condition:
<pre class="prettyprint lang-config"># Capture the value of mykey in the query string
-RewriteCond %{QUERY_STRING} (.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$
-RewriteCond %2 !=not-so-secret-value
-RewriteRule (.*) - [F]</pre>
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
</li>
<li>This solution shows the reverse of the previous ones, copying
path components (perhaps PATH_INFO) from the URL into the query string.
-<pre class="prettyprint lang-config"># The desired URL might be /products/kitchen-sink, and the script expects
+<pre class="prettyprint lang-config"># The desired URL might be /products/kitchen-sink, and the script expects
# /path?products=kitchen-sink.
-RewriteRule ^/?path/([^/]+)/([^/]+) /path?$1=$2 [PT]</pre>
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
</li>
</ul>
diff --git a/docs/manual/rewrite/remapping.xml b/docs/manual/rewrite/remapping.xml
index d392472a1b..9a9866c770 100644
--- a/docs/manual/rewrite/remapping.xml
+++ b/docs/manual/rewrite/remapping.xml
@@ -73,7 +73,7 @@ configuration.</note>
<highlight language="config">
RewriteEngine on
-RewriteRule ^<strong>/foo</strong>\.html$ <strong>/bar</strong>.html [PT]
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]
</highlight>
</dd>
</dl>
@@ -104,7 +104,7 @@ RewriteRule ^<strong>/foo</strong>\.html$ <strong>/bar</strong>.html [PT]
<highlight language="config">
RewriteEngine on
-RewriteRule ^<strong>/foo</strong>\.html$ <strong>bar</strong>.html [<strong>R</strong>]
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]
</highlight>
</dd>
@@ -148,7 +148,7 @@ Redirect "/foo.html" "/bar.html"
<highlight language="config">
#With mod_rewrite
RewriteEngine on
-RewriteRule ^/docs/(.+) http://new.example.com/docs/$1 [R,L]
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]
</highlight>
<highlight language="config">
@@ -191,8 +191,8 @@ Redirect "/docs/" "http://new.example.com/docs/"
<highlight language="config">
RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo\.html$ foo.cgi &nbsp; [H=<strong>cgi-script</strong>]
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]
</highlight>
</dd>
</dl>
@@ -226,11 +226,11 @@ RewriteRule ^foo\.html$ foo.cgi &nbsp; [H=<strong>cgi-script</strong>]
# when and only when document.php exists
&lt;Directory "/var/www/htdocs"&gt;
RewriteEngine on
- RewriteBase /var/www/htdocs
+ RewriteBase "/var/www/htdocs"
- RewriteCond $1.php -f
- RewriteCond $1.html !-f
- RewriteRule ^(.*).html$ $1.php
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
&lt;/Directory&gt;
</highlight>
</dd>
@@ -318,17 +318,17 @@ you might use one of the recipes below.</p>
<p>For sites running on a port other than 80:</p>
<highlight language="config">
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteCond %{SERVER_PORT} !^80$
-RewriteRule ^/?(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R,NE]
+RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]
</highlight>
<p>And for a site running on port 80</p>
<highlight language="config">
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
+RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]
</highlight>
<p>
@@ -339,9 +339,9 @@ RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
recipe:</p>
<highlight language="config">
-RewriteCond %{HTTP_HOST} !^www\. [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]
+RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]
</highlight>
<p>These rulesets will work either in your main server configuration
@@ -378,17 +378,17 @@ RewriteEngine on
# first try to find it in dir1/...
# ...and if found stop and be happy:
-RewriteCond %{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI} -f
-RewriteRule ^(.+) %{DOCUMENT_ROOT}/<strong>dir1</strong>/$1 [L]
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
# second try to find it in dir2/...
# ...and if found stop and be happy:
-RewriteCond %{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI} -f
-RewriteRule ^(.+) %{DOCUMENT_ROOT}/<strong>dir2</strong>/$1 [L]
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
# else go on for other Alias or ScriptAlias directives,
# etc.
-RewriteRule ^ - [PT]
+RewriteRule "^" "-" [PT]
</highlight>
</dd>
</dl>
@@ -420,9 +420,9 @@ RewriteRule ^ - [PT]
<highlight language="config">
HostnameLookups on
RewriteEngine on
-RewriteMap multiplex txt:/path/to/map.mirrors
-RewriteCond %{REMOTE_HOST} ([a-z]+)$ [NC]
-RewriteRule ^/(.*)$ ${multiplex:<strong>%1</strong>|http://www.example.com/}$1 [R,L]
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]
</highlight>
<example>
@@ -478,7 +478,7 @@ com http://www.example.com/<br />
by the canonical <code>/dogs</code>.</p>
<highlight language="config">
-RewriteRule ^/(puppies|canines)/(.*) /dogs/$2 [R]
+RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]
</highlight>
</dd>
@@ -520,7 +520,7 @@ using the following ruleset:</p>
<highlight language="config">
RewriteEngine on
-RewriteRule ^/$ /about/ [<strong>R</strong>]
+RewriteRule "^/$" "/about/" [<strong>R</strong>]
</highlight>
<p>Note that this can also be handled using the <directive
@@ -569,11 +569,11 @@ set to accomplish the same thing:</p>
<highlight language="config">
&lt;Directory "/var/www/my_blog"&gt;
- RewriteBase /my_blog
+ RewriteBase "/my_blog"
- RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-f
- RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-d
- RewriteRule ^ index.php [PT]
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
&lt;/Directory&gt;
</highlight>
@@ -581,7 +581,7 @@ set to accomplish the same thing:</p>
string argument to index.php, you can replace that RewriteRule with:</p>
<highlight language="config">
-RewriteRule (.*) index.php?$1 [PT,QSA]
+RewriteRule "(.*)" "index.php?$1" [PT,QSA]
</highlight>
<p>Note that these rulesets can be used in a <code>.htaccess</code>
@@ -614,8 +614,8 @@ substitutions.</p>
<highlight language="config">
# Remove mykey=???
-RewriteCond %{QUERY_STRING} (.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$
-RewriteRule (.*) $1?%1%3
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$"
+RewriteRule "(.*)" "$1?%1%3"
</highlight>
</li>
@@ -624,8 +624,8 @@ RewriteRule (.*) $1?%1%3
<highlight language="config">
# Copy from query string to PATH_INFO
-RewriteCond %{QUERY_STRING} (.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$
-RewriteRule (.*) $1/products/%2/? [PT]
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]
</highlight>
</li>
@@ -633,9 +633,9 @@ RewriteRule (.*) $1/products/%2/? [PT]
<highlight language="config">
# Capture the value of mykey in the query string
-RewriteCond %{QUERY_STRING} (.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$
-RewriteCond %2 !=not-so-secret-value
-RewriteRule (.*) - [F]
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&amp;))mykey=([^&amp;]*)&amp;?(.*)&amp;?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]
</highlight>
</li>
@@ -644,7 +644,7 @@ RewriteRule (.*) - [F]
<highlight language="config">
# The desired URL might be /products/kitchen-sink, and the script expects
# /path?products=kitchen-sink.
-RewriteRule ^/?path/([^/]+)/([^/]+) /path?$1=$2 [PT]
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]
</highlight>
</li>
</ul>
diff --git a/docs/manual/rewrite/rewritemap.html.en b/docs/manual/rewrite/rewritemap.html.en
index ff5fee698c..c1be7ddc2b 100644
--- a/docs/manual/rewrite/rewritemap.html.en
+++ b/docs/manual/rewrite/rewritemap.html.en
@@ -64,7 +64,8 @@ configuration.</div>
<p>The syntax of the <code>RewriteMap</code> directive is as
follows:</p>
-<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em></pre>
+<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</pre>
<p>The <a id="mapfunc" name="mapfunc"><em>MapName</em></a> is an
@@ -89,17 +90,17 @@ configuration.</div>
<p>For example, you can define a
<code class="directive">RewriteMap</code> as:</p>
- <pre class="prettyprint lang-config">RewriteMap examplemap txt:/path/to/file/map.txt</pre>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
<p>You would then be able to use this map in a
<code class="directive">RewriteRule</code> as follows:</p>
-<pre class="prettyprint lang-config">RewriteRule ^/ex/(.*) ${examplemap:$1}</pre>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
<p>A default value can be specified in the event that nothing is found
in the map:</p>
-<pre class="prettyprint lang-config">RewriteRule ^/ex/(.*) ${examplemap:$1|/not_found.html}</pre>
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
<div class="note"><h3>Per-directory and .htaccess context</h3>
@@ -146,8 +147,8 @@ may be used, and give examples of each.</p>
</p>
<p> <strong>Redirect a URI to an all-lowercase version of itself</strong></p>
- <pre class="prettyprint lang-config">RewriteMap lc int:tolower
-RewriteRule (.*?[A-Z]+.*) ${lc:$1} [R]</pre>
+ <pre class="prettyprint lang-config">RewriteMap lc "int:tolower"
+RewriteRule "(.*?[A-Z]+.*)" "${lc:$1}" [R]</pre>
<div class="note">
@@ -184,8 +185,8 @@ RewriteRule (.*?[A-Z]+.*) ${lc:$1} [R]</pre>
product IDs for easier-to-remember URLs, using the following
recipe:</p>
<p><strong>Product to ID configuration</strong></p>
- <pre class="prettyprint lang-config">RewriteMap product2id txt:/etc/apache2/productmap.txt
-RewriteRule ^/product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]</pre>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
<p>We assume here that the <code>prods.php</code> script knows what
@@ -216,7 +217,7 @@ telephone 328
scope. If you're planning to use this in a <code>.htaccess</code>
file, you'll need to remove the leading slash from the rewrite
pattern in order for it to match anything:
- <pre class="prettyprint lang-config">RewriteRule ^product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]</pre>
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
</div>
@@ -255,10 +256,10 @@ static www1|www2|www3|www4<br />
dynamic www5|www6
</code></p></div>
<p><strong>Configuration directives</strong></p>
- <pre class="prettyprint lang-config">RewriteMap servers rnd:/path/to/file/map.txt
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
-RewriteRule ^/(.*\.(png|gif|jpg)) http://${servers:static}/$1 [NC,P,L]
-RewriteRule ^/(.*) http://${servers:dynamic}/$1 [P,L]</pre>
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
<p>So, when an image is requested and the first of these rules is
@@ -290,7 +291,7 @@ static www1|www1|www2|www3|www4
<p>You may optionally specify a particular dbm type:</p>
- <pre class="prettyprint lang-config">RewriteMap examplemap dbm=sdbm:/etc/apache/mapfile.dbm</pre>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
<p>The type can be sdbm, gdbm, ndbm or db.
@@ -309,7 +310,7 @@ $ httxt2dbm -i mapfile.txt -o mapfile.map
<p>You can then reference the resulting file in your
<code>RewriteMap</code> directive:</p>
-<pre class="prettyprint lang-config">RewriteMap mapname dbm:/etc/apache/mapfile.map</pre>
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
<div class="note">
@@ -364,10 +365,10 @@ by many requests.
<p>A simple example is shown here which will replace all dashes with
underscores in a request URI.</p>
-
+
<p><strong>Rewrite configuration</strong></p>
- <pre class="prettyprint lang-config">RewriteMap d2u prg:/www/bin/dash2under.pl apache:apache<br />
-RewriteRule - ${d2u:%{REQUEST_URI}}</pre>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.programlisting" apache:apache<br />
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
<p><strong>dash2under.pl</strong></p>
diff --git a/docs/manual/rewrite/rewritemap.xml b/docs/manual/rewrite/rewritemap.xml
index 0b33e52690..c4e7df590b 100644
--- a/docs/manual/rewrite/rewritemap.xml
+++ b/docs/manual/rewrite/rewritemap.xml
@@ -87,19 +87,19 @@ RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
<p>For example, you can define a
<directive>RewriteMap</directive> as:</p>
<highlight language="config">
-RewriteMap examplemap txt:/path/to/file/map.txt
+RewriteMap examplemap "txt:/path/to/file/map.txt"
</highlight>
<p>You would then be able to use this map in a
<directive>RewriteRule</directive> as follows:</p>
<highlight language="config">
-RewriteRule ^/ex/(.*) ${examplemap:$1}
+RewriteRule "^/ex/(.*)" "${examplemap:$1}"
</highlight>
<p>A default value can be specified in the event that nothing is found
in the map:</p>
<highlight language="config">
-RewriteRule ^/ex/(.*) ${examplemap:$1|/not_found.html}
+RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"
</highlight>
<note><title>Per-directory and .htaccess context</title>
@@ -147,8 +147,8 @@ may be used, and give examples of each.</p>
<p> <strong>Redirect a URI to an all-lowercase version of itself</strong></p>
<highlight language="config">
-RewriteMap lc int:tolower
-RewriteRule (.*?[A-Z]+.*) ${lc:$1} [R]
+RewriteMap lc "int:tolower"
+RewriteRule "(.*?[A-Z]+.*)" "${lc:$1}" [R]
</highlight>
<note>
@@ -186,8 +186,8 @@ RewriteRule (.*?[A-Z]+.*) ${lc:$1} [R]
recipe:</p>
<p><strong>Product to ID configuration</strong></p>
<highlight language="config">
-RewriteMap product2id txt:/etc/apache2/productmap.txt
-RewriteRule ^/product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]
+RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
</highlight>
<p>We assume here that the <code>prods.php</code> script knows what
@@ -219,7 +219,7 @@ telephone 328
file, you'll need to remove the leading slash from the rewrite
pattern in order for it to match anything:
<highlight language="config">
-RewriteRule ^product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]
+RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
</highlight>
</note>
@@ -258,10 +258,10 @@ dynamic www5|www6
</example>
<p><strong>Configuration directives</strong></p>
<highlight language="config">
-RewriteMap servers rnd:/path/to/file/map.txt
+RewriteMap servers "rnd:/path/to/file/map.txt"
-RewriteRule ^/(.*\.(png|gif|jpg)) http://${servers:static}/$1 [NC,P,L]
-RewriteRule ^/(.*) http://${servers:dynamic}/$1 [P,L]
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]
</highlight>
<p>So, when an image is requested and the first of these rules is
@@ -294,7 +294,7 @@ static www1|www1|www2|www3|www4
<p>You may optionally specify a particular dbm type:</p>
<highlight language="config">
-RewriteMap examplemap dbm=sdbm:/etc/apache/mapfile.dbm
+RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"
</highlight>
<p>The type can be sdbm, gdbm, ndbm or db.
@@ -315,7 +315,7 @@ $ httxt2dbm -i mapfile.txt -o mapfile.map
<code>RewriteMap</code> directive:</p>
<highlight language="config">
-RewriteMap mapname dbm:/etc/apache/mapfile.map
+RewriteMap mapname "dbm:/etc/apache/mapfile.map"
</highlight>
<note>
@@ -374,8 +374,8 @@ by many requests.
<p><strong>Rewrite configuration</strong></p>
<highlight language="config">
-RewriteMap d2u prg:/www/bin/dash2under.pl apache:apache<br />
-RewriteRule - ${d2u:%{REQUEST_URI}}
+RewriteMap d2u "prg:/www/bin/dash2under.programlisting" apache:apache<br />
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"
</highlight>
<p><strong>dash2under.pl</strong></p>
diff --git a/docs/manual/rewrite/tech.html.en b/docs/manual/rewrite/tech.html.en
index b743efb377..e8a90490a6 100644
--- a/docs/manual/rewrite/tech.html.en
+++ b/docs/manual/rewrite/tech.html.en
@@ -77,11 +77,11 @@ and URL matching.</p>
for /foo/bar/baz is being processed, an expression like ^bar/baz$ would
match.</p>
- <p> If a substitution is made in per-directory context, a new internal
- subrequest is issued with the new URL, which restarts processing of the
- request phases. If the substitution is a relative path, the <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> directive
+ <p> If a substitution is made in per-directory context, a new internal
+ subrequest is issued with the new URL, which restarts processing of the
+ request phases. If the substitution is a relative path, the <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> directive
determines the URL-path prefix prepended to the substitution.
- In per-directory context, care must be taken to
+ In per-directory context, care must be taken to
create rules which will eventually (in some future "round" of per-directory
rewrite processing) not perform a substitution to avoid looping.
(See <a href="http://wiki.apache.org/httpd/RewriteLooping">RewriteLooping</a>
@@ -103,23 +103,23 @@ and URL matching.</p>
<tr>
<td>VirtualHost section</td>
- <td>RewriteRule ^/images/(.+)\.jpg /images/$1.gif</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
</tr>
<tr>
<td>.htaccess file in document root</td>
- <td>RewriteRule ^images/(.+)\.jpg images/$1.gif</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
</tr>
<tr>
<td>.htaccess file in images directory</td>
- <td>RewriteRule ^(.+)\.jpg $1.gif</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
</tr>
</table>
<p>For even more insight into how mod_rewrite manipulates URLs in
- different contexts, you should consult the <a href="../mod/mod_rewrite.html#logging">log entries</a> made during
+ different contexts, you should consult the <a href="../mod/mod_rewrite.html#logging">log entries</a> made during
rewriting.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
diff --git a/docs/manual/rewrite/tech.xml b/docs/manual/rewrite/tech.xml
index 83a69f3fc4..e22c7cf8e1 100644
--- a/docs/manual/rewrite/tech.xml
+++ b/docs/manual/rewrite/tech.xml
@@ -76,7 +76,7 @@ and URL matching.</p>
<p>In per-directory context (i.e., within <code>.htaccess</code> files
and <code>Directory</code> blocks), these rules are being applied
after a URL has already been translated to a filename. Because of
- this, the URL-path that mod_rewrite initially compares <directive
+ this, the URL-path that mod_rewrite initially compares <directive
module="mod_rewrite">RewriteRule</directive> directives against
is the full filesystem path to the translated filename with the current
directories path (including a trailing slash) removed from the front.</p>
@@ -85,12 +85,12 @@ and URL matching.</p>
for /foo/bar/baz is being processed, an expression like ^bar/baz$ would
match.</p>
- <p> If a substitution is made in per-directory context, a new internal
- subrequest is issued with the new URL, which restarts processing of the
- request phases. If the substitution is a relative path, the <directive
- module="mod_rewrite">RewriteBase</directive> directive
+ <p> If a substitution is made in per-directory context, a new internal
+ subrequest is issued with the new URL, which restarts processing of the
+ request phases. If the substitution is a relative path, the <directive
+ module="mod_rewrite">RewriteBase</directive> directive
determines the URL-path prefix prepended to the substitution.
- In per-directory context, care must be taken to
+ In per-directory context, care must be taken to
create rules which will eventually (in some future "round" of per-directory
rewrite processing) not perform a substitution to avoid looping.
(See <a href="http://wiki.apache.org/httpd/RewriteLooping">RewriteLooping</a>
@@ -112,24 +112,24 @@ and URL matching.</p>
<tr>
<td>VirtualHost section</td>
- <td>RewriteRule ^/images/(.+)\.jpg /images/$1.gif</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
</tr>
<tr>
<td>.htaccess file in document root</td>
- <td>RewriteRule ^images/(.+)\.jpg images/$1.gif</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
</tr>
<tr>
<td>.htaccess file in images directory</td>
- <td>RewriteRule ^(.+)\.jpg $1.gif</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
</tr>
</table>
<p>For even more insight into how mod_rewrite manipulates URLs in
different contexts, you should consult the <a
- href="../mod/mod_rewrite.html#logging">log entries</a> made during
+ href="../mod/mod_rewrite.html#logging">log entries</a> made during
rewriting.</p>
</section>
@@ -188,4 +188,3 @@ and URL matching.</p>
</manualpage>
-
diff --git a/docs/manual/rewrite/vhosts.html.en b/docs/manual/rewrite/vhosts.html.en
index 1946a98d21..8ad14c9eb0 100644
--- a/docs/manual/rewrite/vhosts.html.en
+++ b/docs/manual/rewrite/vhosts.html.en
@@ -67,10 +67,10 @@ mod_rewrite</a> document.</div>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteMap lowercase int:tolower
+RewriteMap lowercase "int:tolower"
-RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^www\.<strong>([^.]+)</strong>\.example\.com$
-RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+RewriteCond "${lowercase:%{<strong>HTTP_HOST</strong>}}" "^www\.<strong>([^.]+)</strong>\.example\.com$"
+RewriteRule "^(.*)" "/home/<strong>%1</strong>/www$1"</pre>
</dd>
<dt>Discussion</dt>
@@ -137,19 +137,19 @@ CustomLog logs/access_log vcommon
RewriteEngine On
# a ServerName derived from a Host: header may be any case at all
-RewriteMap lowercase int:tolower
+RewriteMap lowercase "int:tolower"
## deal with normal documents first:
# allow Alias /icons/ to work - repeat for other aliases
-RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
# allow CGIs to work
-RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
# do the magic
-RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
## and now deal with CGIs - we have to force a handler
-RewriteCond %{REQUEST_URI} ^/cgi-bin/
-RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]</pre>
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -175,23 +175,23 @@ customer-N.example.com /www/customers/N<br />
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteMap lowercase int:tolower
+RewriteMap lowercase "int:tolower"
# define the map file
-RewriteMap vhost txt:/www/conf/vhost.map
+RewriteMap vhost "txt:/www/conf/vhost.map"
# deal with aliases as above
-RewriteCond %{REQUEST_URI} !^/icons/
-RewriteCond %{REQUEST_URI} !^/cgi-bin/
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
# this does the file-based remap
-RewriteCond ${vhost:%1} ^(/.*)$
-RewriteRule ^/(.*)$ %1/docs/$1
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
-RewriteCond %{REQUEST_URI} ^/cgi-bin/
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
-RewriteCond ${vhost:%1} ^(/.*)$
-RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]</pre>
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
</div></div>
diff --git a/docs/manual/rewrite/vhosts.xml b/docs/manual/rewrite/vhosts.xml
index 8a44a85016..1cea3de087 100644
--- a/docs/manual/rewrite/vhosts.xml
+++ b/docs/manual/rewrite/vhosts.xml
@@ -74,10 +74,10 @@ mod_rewrite</a> document.</note>
<highlight language="config">
RewriteEngine on
-RewriteMap lowercase int:tolower
+RewriteMap lowercase "int:tolower"
-RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^www\.<strong>([^.]+)</strong>\.example\.com$
-RewriteRule ^(.*) /home/<strong>%1</strong>/www$1
+RewriteCond "${lowercase:%{<strong>HTTP_HOST</strong>}}" "^www\.<strong>([^.]+)</strong>\.example\.com$"
+RewriteRule "^(.*)" "/home/<strong>%1</strong>/www$1"
</highlight></dd>
<dt>Discussion</dt>
@@ -146,19 +146,19 @@ CustomLog logs/access_log vcommon
RewriteEngine On
# a ServerName derived from a Host: header may be any case at all
-RewriteMap lowercase int:tolower
+RewriteMap lowercase "int:tolower"
## deal with normal documents first:
# allow Alias /icons/ to work - repeat for other aliases
-RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
# allow CGIs to work
-RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
# do the magic
-RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
## and now deal with CGIs - we have to force a handler
-RewriteCond %{REQUEST_URI} ^/cgi-bin/
-RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]
</highlight>
</section>
@@ -185,23 +185,23 @@ customer-N.example.com /www/customers/N<br />
<highlight language="config">
RewriteEngine on
-RewriteMap lowercase int:tolower
+RewriteMap lowercase "int:tolower"
# define the map file
-RewriteMap vhost txt:/www/conf/vhost.map
+RewriteMap vhost "txt:/www/conf/vhost.map"
# deal with aliases as above
-RewriteCond %{REQUEST_URI} !^/icons/
-RewriteCond %{REQUEST_URI} !^/cgi-bin/
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
# this does the file-based remap
-RewriteCond ${vhost:%1} ^(/.*)$
-RewriteRule ^/(.*)$ %1/docs/$1
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
-RewriteCond %{REQUEST_URI} ^/cgi-bin/
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
-RewriteCond ${vhost:%1} ^(/.*)$
-RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]
</highlight>
</section>
diff --git a/docs/manual/sections.html.en b/docs/manual/sections.html.en
index 06bf546e87..eaec0d3255 100644
--- a/docs/manual/sections.html.en
+++ b/docs/manual/sections.html.en
@@ -451,10 +451,10 @@ are interpreted, it is important to understand how this works.</p>
order.</p>
<p>Later sections override earlier ones, however each module is responsible
- for interpreting what form this override takes. A later configuration section
+ for interpreting what form this override takes. A later configuration section
with directives from a given module might cause a conceptual "merge" of some
- directives, all directives, or a complete replacement of the modules
- configuration with the module defaults and directives explicitly listed in
+ directives, all directives, or a complete replacement of the modules
+ configuration with the module defaults and directives explicitly listed in
the later context.</p>
<div class="note"><h3>Technical Note</h3>
diff --git a/docs/manual/sections.xml b/docs/manual/sections.xml
index b42f06c52f..f8aa84183b 100644
--- a/docs/manual/sections.xml
+++ b/docs/manual/sections.xml
@@ -511,10 +511,10 @@ are interpreted, it is important to understand how this works.</p>
order.</p>
<p>Later sections override earlier ones, however each module is responsible
- for interpreting what form this override takes. A later configuration section
+ for interpreting what form this override takes. A later configuration section
with directives from a given module might cause a conceptual "merge" of some
- directives, all directives, or a complete replacement of the modules
- configuration with the module defaults and directives explicitly listed in
+ directives, all directives, or a complete replacement of the modules
+ configuration with the module defaults and directives explicitly listed in
the later context.</p>
<note><title>Technical Note</title>
diff --git a/docs/manual/sections.xml.fr b/docs/manual/sections.xml.fr
index d2176b68ca..11088af6f8 100644
--- a/docs/manual/sections.xml.fr
+++ b/docs/manual/sections.xml.fr
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1636195:1673908 (outdated) -->
+<!-- English Revision: 1636195:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/sections.xml.ja b/docs/manual/sections.xml.ja
index 8de16a1a57..6fe92fb686 100644
--- a/docs/manual/sections.xml.ja
+++ b/docs/manual/sections.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 420990:1673908 (outdated) -->
+<!-- English Revision: 420990:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/sections.xml.ko b/docs/manual/sections.xml.ko
index bcf0582b4e..9da559f515 100644
--- a/docs/manual/sections.xml.ko
+++ b/docs/manual/sections.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1673908 (outdated) -->
+<!-- English Revision: 105989:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/sections.xml.tr b/docs/manual/sections.xml.tr
index 50c367941b..0622fc0123 100644
--- a/docs/manual/sections.xml.tr
+++ b/docs/manual/sections.xml.tr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 1300910:1673908 (outdated) -->
+<!-- English Revision: 1300910:1673930 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/ssl/ssl_faq.html.en b/docs/manual/ssl/ssl_faq.html.en
index a237fcb680..75d649bded 100644
--- a/docs/manual/ssl/ssl_faq.html.en
+++ b/docs/manual/ssl/ssl_faq.html.en
@@ -177,8 +177,8 @@ relative hyperlinks?</a></li>
scheme). Using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> however, you can
manipulate relative hyperlinks, to achieve the same effect.</p>
<pre class="prettyprint lang-config">RewriteEngine on
-RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L]
-RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L]</pre>
+RewriteRule "^/(.*)_SSL$" "https://%{SERVER_NAME}/$1" [R,L]
+RewriteRule "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1" [R,L]</pre>
<p>This rewrite ruleset lets you use hyperlinks of the form
@@ -606,7 +606,7 @@ error when connecting to my newly installed server?</a></h3>
handshake is finished, but the information is needed in order to
complete the SSL handshake phase. See the next question for how to
circumvent this issue.</p>
-
+
<p>Note that if you have a wildcard SSL certificate, or a
certificate that has multiple hostnames on it using subjectAltName
fields, you can use SSL on name-based virtual hosts without further
diff --git a/docs/manual/ssl/ssl_faq.xml b/docs/manual/ssl/ssl_faq.xml
index c36d496d96..99c6fb3fc2 100644
--- a/docs/manual/ssl/ssl_faq.xml
+++ b/docs/manual/ssl/ssl_faq.xml
@@ -174,8 +174,8 @@ relative hyperlinks?</a></li>
manipulate relative hyperlinks, to achieve the same effect.</p>
<highlight language="config">
RewriteEngine on
-RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L]
-RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L]
+RewriteRule "^/(.*)_SSL$" "https://%{SERVER_NAME}/$1" [R,L]
+RewriteRule "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1" [R,L]
</highlight>
<p>This rewrite ruleset lets you use hyperlinks of the form
@@ -608,7 +608,7 @@ error when connecting to my newly installed server?</title>
handshake is finished, but the information is needed in order to
complete the SSL handshake phase. See the next question for how to
circumvent this issue.</p>
-
+
<p>Note that if you have a wildcard SSL certificate, or a
certificate that has multiple hostnames on it using subjectAltName
fields, you can use SSL on name-based virtual hosts without further
diff --git a/docs/manual/ssl/ssl_howto.html.en b/docs/manual/ssl/ssl_howto.html.en
index c9295283c3..b262f97788 100644
--- a/docs/manual/ssl/ssl_howto.html.en
+++ b/docs/manual/ssl/ssl_howto.html.en
@@ -380,8 +380,8 @@ plain HTTP access for clients on the Intranet.</a></h3>
# Force clients from the Internet to use HTTPS
RewriteEngine on
RewriteCond "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
- RewriteCond "%{HTTPS}" "!=on"
- RewriteRule "." "-" [F]
+ RewriteCond "%{HTTPS}" "!=on"
+ RewriteRule "." "-" [F]
# Allow Network Access and/or Basic Auth
Satisfy any
diff --git a/docs/manual/ssl/ssl_howto.xml b/docs/manual/ssl/ssl_howto.xml
index 7763c757d2..69180c392f 100644
--- a/docs/manual/ssl/ssl_howto.xml
+++ b/docs/manual/ssl/ssl_howto.xml
@@ -397,8 +397,8 @@ SSLCACertificateFile "conf/ssl.crt/company-ca.crt"
# Force clients from the Internet to use HTTPS
RewriteEngine on
RewriteCond "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
- RewriteCond "%{HTTPS}" "!=on"
- RewriteRule "." "-" [F]
+ RewriteCond "%{HTTPS}" "!=on"
+ RewriteRule "." "-" [F]
# Allow Network Access and/or Basic Auth
Satisfy any
diff --git a/docs/manual/suexec.html.en b/docs/manual/suexec.html.en
index a6fee9512e..f4bd7fac94 100644
--- a/docs/manual/suexec.html.en
+++ b/docs/manual/suexec.html.en
@@ -572,7 +572,7 @@ Group webgroup</pre>
option as indicated above, or to syslog if <code>--with-suexec-syslog</code>
is used. If you feel you have configured and
installed the wrapper properly, have a look at the log and the
- error_log for the server to see where you may have gone astray.
+ error_log for the server to see where you may have gone astray.
The output of <code>"suexec -V"</code> will show the options
used to compile suexec, if using a binary distribution.</p>
diff --git a/docs/manual/suexec.xml b/docs/manual/suexec.xml
index b089e3f1fa..83144fbe58 100644
--- a/docs/manual/suexec.xml
+++ b/docs/manual/suexec.xml
@@ -568,7 +568,7 @@ Group webgroup
option as indicated above, or to syslog if <code>--with-suexec-syslog</code>
is used. If you feel you have configured and
installed the wrapper properly, have a look at the log and the
- error_log for the server to see where you may have gone astray.
+ error_log for the server to see where you may have gone astray.
The output of <code>"suexec -V"</code> will show the options
used to compile suexec, if using a binary distribution.</p>
diff --git a/docs/manual/urlmapping.html.en b/docs/manual/urlmapping.html.en
index 8322cfdfa3..62ae748733 100644
--- a/docs/manual/urlmapping.html.en
+++ b/docs/manual/urlmapping.html.en
@@ -69,7 +69,7 @@
<p>If a directory is requested (i.e. a path ending with
<code>/</code>), the file served from that directory is defined by
the <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> directive.
- For example, if <code>DocumentRoot</code> were set as above, and
+ For example, if <code>DocumentRoot</code> were set as above, and
you were to set:</p>
<div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
@@ -259,7 +259,7 @@ content) in a page as it is being served to the client using
<pre class="prettyprint lang-config">Substitute s/internal\.example\.com/www.example.com/i</pre>
-<p>For more sophisticated rewriting of links in HTML and XHTML, the
+<p>For more sophisticated rewriting of links in HTML and XHTML, the
<code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> module is also available. It allows you
to create maps of URLs that need to be rewritten, so that complex
proxying scenarios can be handled.</p>
diff --git a/docs/manual/urlmapping.xml b/docs/manual/urlmapping.xml
index 9753ea2cce..627c90d56f 100644
--- a/docs/manual/urlmapping.xml
+++ b/docs/manual/urlmapping.xml
@@ -89,7 +89,7 @@
<p>If a directory is requested (i.e. a path ending with
<code>/</code>), the file served from that directory is defined by
the <directive module="mod_dir">DirectoryIndex</directive> directive.
- For example, if <code>DocumentRoot</code> were set as above, and
+ For example, if <code>DocumentRoot</code> were set as above, and
you were to set:</p>
<example>DirectoryIndex index.html index.php</example>
@@ -296,7 +296,7 @@ content) in a page as it is being served to the client using
Substitute s/internal\.example\.com/www.example.com/i
</highlight>
-<p>For more sophisticated rewriting of links in HTML and XHTML, the
+<p>For more sophisticated rewriting of links in HTML and XHTML, the
<module>mod_proxy_html</module> module is also available. It allows you
to create maps of URLs that need to be rewritten, so that complex
proxying scenarios can be handled.</p>
diff --git a/docs/manual/urlmapping.xml.fr b/docs/manual/urlmapping.xml.fr
index 1fda9e5b78..88eb68a04e 100644
--- a/docs/manual/urlmapping.xml.fr
+++ b/docs/manual/urlmapping.xml.fr
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1561569:1673908 (outdated) -->
+<!-- English Revision: 1561569:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/urlmapping.xml.ja b/docs/manual/urlmapping.xml.ja
index 7b1068a051..ff6d6b1ad0 100644
--- a/docs/manual/urlmapping.xml.ja
+++ b/docs/manual/urlmapping.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 151408:1673908 (outdated) -->
+<!-- English Revision: 151408:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/urlmapping.xml.ko b/docs/manual/urlmapping.xml.ko
index f70e92a240..b9cb7bfcd8 100644
--- a/docs/manual/urlmapping.xml.ko
+++ b/docs/manual/urlmapping.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 151408:1673908 (outdated) -->
+<!-- English Revision: 151408:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/urlmapping.xml.tr b/docs/manual/urlmapping.xml.tr
index f48a1d4efa..270ced3f7c 100644
--- a/docs/manual/urlmapping.xml.tr
+++ b/docs/manual/urlmapping.xml.tr
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 1310494:1673908 (outdated) -->
+<!-- English Revision: 1310494:1673930 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/vhosts/examples.html.en b/docs/manual/vhosts/examples.html.en
index 542b87874b..86cf5a5ed1 100644
--- a/docs/manual/vhosts/examples.html.en
+++ b/docs/manual/vhosts/examples.html.en
@@ -64,7 +64,7 @@
sites on a single IP address.</a></h2>
<p>Your server has multiple hostnames that resolve to a single address,
- and you want to respond differently for <code>www.example.com</code>
+ and you want to respond differently for <code>www.example.com</code>
and <code>www.example.org</code>.</p>
<div class="note"><h3>Note</h3><p>Creating virtual
@@ -82,7 +82,7 @@ Listen 80
&lt;VirtualHost *:80&gt;
DocumentRoot "/www/example1"
ServerName www.example.com
-
+
# Other directives here
&lt;/VirtualHost&gt;
@@ -112,8 +112,8 @@ Listen 80
<h3>Note</h3>
<p>You may replace <code>*</code> with a specific IP address
- on the system. Such virtual hosts will only be used for
- HTTP requests received on connection to the specified IP
+ on the system. Such virtual hosts will only be used for
+ HTTP requests received on connection to the specified IP
address.</p>
<p>However, it is additionally useful to use <code>*</code>
@@ -148,14 +148,14 @@ DocumentRoot "/www/mainserver"
&lt;VirtualHost 172.20.30.50&gt;
DocumentRoot "/www/example1"
ServerName www.example.com
-
+
# Other directives here ...
&lt;/VirtualHost&gt;
&lt;VirtualHost 172.20.30.50&gt;
DocumentRoot "/www/example2"
ServerName www.example.org
-
+
# Other directives here ...
&lt;/VirtualHost&gt;</pre>
@@ -490,7 +490,7 @@ DocumentRoot "/www/example1"
# primary vhost
DocumentRoot "/www/subdomain"
RewriteEngine On
- RewriteRule . /www/subdomain/index.html
+ RewriteRule "." "/www/subdomain/index.html"
# ...
&lt;/VirtualHost&gt;
@@ -499,7 +499,7 @@ DocumentRoot "/www/example1"
ServerName www.sub1.domain.tld
ServerPath /sub1/
RewriteEngine On
- RewriteRule ^(/sub1/.*) /www/subdomain$1
+ RewriteRule "^(/sub1/.*)" "/www/subdomain$1"
# ...
&lt;/VirtualHost&gt;
@@ -508,7 +508,7 @@ DocumentRoot "/www/example1"
ServerName www.sub2.domain.tld
ServerPath /sub2/
RewriteEngine On
- RewriteRule ^(/sub2/.*) /www/subdomain$1
+ RewriteRule "^(/sub2/.*)" "/www/subdomain$1"
# ...
&lt;/VirtualHost&gt;</pre>
diff --git a/docs/manual/vhosts/examples.xml b/docs/manual/vhosts/examples.xml
index 29ab8a3950..dfeb41d3b6 100644
--- a/docs/manual/vhosts/examples.xml
+++ b/docs/manual/vhosts/examples.xml
@@ -39,7 +39,7 @@
sites on a single IP address.</title>
<p>Your server has multiple hostnames that resolve to a single address,
- and you want to respond differently for <code>www.example.com</code>
+ and you want to respond differently for <code>www.example.com</code>
and <code>www.example.org</code>.</p>
<note><title>Note</title><p>Creating virtual
@@ -58,7 +58,7 @@ Listen 80
&lt;VirtualHost *:80&gt;
DocumentRoot "/www/example1"
ServerName www.example.com
-
+
# Other directives here
&lt;/VirtualHost&gt;
@@ -88,8 +88,8 @@ Listen 80
<title>Note</title>
<p>You may replace <code>*</code> with a specific IP address
- on the system. Such virtual hosts will only be used for
- HTTP requests received on connection to the specified IP
+ on the system. Such virtual hosts will only be used for
+ HTTP requests received on connection to the specified IP
address.</p>
<p>However, it is additionally useful to use <code>*</code>
@@ -125,14 +125,14 @@ DocumentRoot "/www/mainserver"
&lt;VirtualHost 172.20.30.50&gt;
DocumentRoot "/www/example1"
ServerName www.example.com
-
+
# Other directives here ...
&lt;/VirtualHost&gt;
&lt;VirtualHost 172.20.30.50&gt;
DocumentRoot "/www/example2"
ServerName www.example.org
-
+
# Other directives here ...
&lt;/VirtualHost&gt;
</highlight>
@@ -480,7 +480,7 @@ DocumentRoot "/www/example1"
# primary vhost
DocumentRoot "/www/subdomain"
RewriteEngine On
- RewriteRule . /www/subdomain/index.html
+ RewriteRule "." "/www/subdomain/index.html"
# ...
&lt;/VirtualHost&gt;
@@ -489,7 +489,7 @@ DocumentRoot "/www/example1"
ServerName www.sub1.domain.tld
ServerPath /sub1/
RewriteEngine On
- RewriteRule ^(/sub1/.*) /www/subdomain$1
+ RewriteRule "^(/sub1/.*)" "/www/subdomain$1"
# ...
&lt;/VirtualHost&gt;
@@ -498,7 +498,7 @@ DocumentRoot "/www/example1"
ServerName www.sub2.domain.tld
ServerPath /sub2/
RewriteEngine On
- RewriteRule ^(/sub2/.*) /www/subdomain$1
+ RewriteRule "^(/sub2/.*)" "/www/subdomain$1"
# ...
&lt;/VirtualHost&gt;
</highlight>
diff --git a/docs/manual/vhosts/examples.xml.fr b/docs/manual/vhosts/examples.xml.fr
index 23597eb3b4..6289e6fca8 100644
--- a/docs/manual/vhosts/examples.xml.fr
+++ b/docs/manual/vhosts/examples.xml.fr
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1628690:1673917 (outdated) -->
+<!-- English Revision: 1628690:1673930 (outdated) -->
<!-- French translation by Vincent Deffontaines, Alain B. -->
<!-- reviewed by Lucien Gentis -->
diff --git a/docs/manual/vhosts/examples.xml.ja b/docs/manual/vhosts/examples.xml.ja
index d110e96f42..bc4d48ad13 100644
--- a/docs/manual/vhosts/examples.xml.ja
+++ b/docs/manual/vhosts/examples.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 659902:1673917 (outdated) -->
+<!-- English Revision: 659902:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/vhosts/examples.xml.ko b/docs/manual/vhosts/examples.xml.ko
index 2dfb32c001..aff71156ae 100644
--- a/docs/manual/vhosts/examples.xml.ko
+++ b/docs/manual/vhosts/examples.xml.ko
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='EUC-KR' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1673917 (outdated) -->
+<!-- English Revision: 105989:1673930 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/manual/vhosts/examples.xml.tr b/docs/manual/vhosts/examples.xml.tr
index 7d66275b07..625f05aa33 100644
--- a/docs/manual/vhosts/examples.xml.tr
+++ b/docs/manual/vhosts/examples.xml.tr
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1132802:1673917 (outdated) -->
+<!-- English Revision: 1132802:1673930 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
diff --git a/docs/manual/vhosts/mass.html.en b/docs/manual/vhosts/mass.html.en
index 527fe56bc7..1b98c65211 100644
--- a/docs/manual/vhosts/mass.html.en
+++ b/docs/manual/vhosts/mass.html.en
@@ -239,18 +239,18 @@ LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
&lt;VirtualHost 111.22.33.44&gt;
ServerName www.commercial.example.com
-
+
CustomLog logs/access_log.commercial vcommon
-
+
VirtualDocumentRoot "/www/commercial/%0/docs"
VirtualScriptAlias "/www/commercial/%0/cgi-bin"
&lt;/VirtualHost&gt;
&lt;VirtualHost 111.22.33.45&gt;
ServerName www.homepages.example.com
-
+
CustomLog logs/access_log.homepages vcommon
-
+
VirtualDocumentRoot "/www/homepages/%0/docs"
ScriptAlias "/cgi-bin/" "/www/std-cgi/"
&lt;/VirtualHost&gt;</pre>
diff --git a/docs/manual/vhosts/mass.xml b/docs/manual/vhosts/mass.xml
index 9ebe26dfa0..ea52263c2f 100644
--- a/docs/manual/vhosts/mass.xml
+++ b/docs/manual/vhosts/mass.xml
@@ -232,18 +232,18 @@ LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
&lt;VirtualHost 111.22.33.44&gt;
ServerName www.commercial.example.com
-
+
CustomLog logs/access_log.commercial vcommon
-
+
VirtualDocumentRoot "/www/commercial/%0/docs"
VirtualScriptAlias "/www/commercial/%0/cgi-bin"
&lt;/VirtualHost&gt;
&lt;VirtualHost 111.22.33.45&gt;
ServerName www.homepages.example.com
-
+
CustomLog logs/access_log.homepages vcommon
-
+
VirtualDocumentRoot "/www/homepages/%0/docs"
ScriptAlias "/cgi-bin/" "/www/std-cgi/"
&lt;/VirtualHost&gt;
diff --git a/docs/manual/vhosts/name-based.html.en b/docs/manual/vhosts/name-based.html.en
index 86bc837428..3efe852b45 100644
--- a/docs/manual/vhosts/name-based.html.en
+++ b/docs/manual/vhosts/name-based.html.en
@@ -79,12 +79,12 @@
compare the <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> and <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> directives to the server name
present in the request.</p>
- <p>If you omit the <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
+ <p>If you omit the <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
directive from any name-based virtual host, the server will default
to a fully qualified domain name (FQDN) derived from the system hostname.
This implicitly set server name can lead to counter-intuitive virtual host
matching and is discouraged.</p>
-
+
<h3><a name="defaultvhost" id="defaultvhost">The default name-based vhost for an IP and port combination </a></h3>
<p> If no matching ServerName or ServerAlias is found in the set of
virtual hosts containing the most specific matching IP address and port
@@ -119,9 +119,9 @@
<div class="note"><h3>ServerName inheritance</h3>
<p> It is best to always explicitly list a <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> in every name-based virtual host.</p>
- <p>If a <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> doesn't specify
- a <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, a server name will be
- inherited from the base server configuration. If no server name was
+ <p>If a <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> doesn't specify
+ a <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, a server name will be
+ inherited from the base server configuration. If no server name was
specified globally, one is detected at startup through reverse DNS resolution
of the first listening address. In either case, this inherited server name
will influence name-based virtual host resolution, so it is best to always
@@ -137,7 +137,7 @@
<pre class="prettyprint lang-config">&lt;VirtualHost *:80&gt;
# This first-listed virtual host is also the default for *:80
ServerName www.example.com
- ServerAlias example.com
+ ServerAlias example.com
DocumentRoot "/www/domain"
&lt;/VirtualHost&gt;
@@ -169,12 +169,12 @@
first have your DNS server properly configured to map those names to an IP
address associated with your server.</p>
- <p>Name-based virtual hosts for the best-matching set of <code class="directive"><a href="../mod/core.html#virtualhost">&lt;virtualhost&gt;</a></code>s are processed
+ <p>Name-based virtual hosts for the best-matching set of <code class="directive"><a href="../mod/core.html#virtualhost">&lt;virtualhost&gt;</a></code>s are processed
in the order they appear in the configuration. The first matching <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> or <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> is used, with no different precedence for wildcards
(nor for ServerName vs. ServerAlias). </p>
<p>The complete list of names in the <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>
- directive are treated just like a (non wildcard)
+ directive are treated just like a (non wildcard)
<code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>.</p>
<p>Finally, you can fine-tune the configuration of the virtual hosts
diff --git a/docs/manual/vhosts/name-based.xml b/docs/manual/vhosts/name-based.xml
index 91e2b5ed11..b6651b734b 100644
--- a/docs/manual/vhosts/name-based.xml
+++ b/docs/manual/vhosts/name-based.xml
@@ -76,12 +76,12 @@
module="core">ServerAlias</directive> directives to the server name
present in the request.</p>
- <p>If you omit the <directive module="core">ServerName</directive>
+ <p>If you omit the <directive module="core">ServerName</directive>
directive from any name-based virtual host, the server will default
to a fully qualified domain name (FQDN) derived from the system hostname.
This implicitly set server name can lead to counter-intuitive virtual host
matching and is discouraged.</p>
-
+
<section id="defaultvhost"><title>The default name-based vhost for an IP and port combination </title>
<p> If no matching ServerName or ServerAlias is found in the set of
virtual hosts containing the most specific matching IP address and port
@@ -131,9 +131,9 @@
<note><title>ServerName inheritance</title>
<p> It is best to always explicitly list a <directive module="core"
>ServerName</directive> in every name-based virtual host.</p>
- <p>If a <directive module="core">VirtualHost</directive> doesn't specify
- a <directive module="core">ServerName</directive>, a server name will be
- inherited from the base server configuration. If no server name was
+ <p>If a <directive module="core">VirtualHost</directive> doesn't specify
+ a <directive module="core">ServerName</directive>, a server name will be
+ inherited from the base server configuration. If no server name was
specified globally, one is detected at startup through reverse DNS resolution
of the first listening address. In either case, this inherited server name
will influence name-based virtual host resolution, so it is best to always
@@ -150,7 +150,7 @@
&lt;VirtualHost *:80&gt;
# This first-listed virtual host is also the default for *:80
ServerName www.example.com
- ServerAlias example.com
+ ServerAlias example.com
DocumentRoot "/www/domain"
&lt;/VirtualHost&gt;
@@ -188,7 +188,7 @@
address associated with your server.</p>
<p>Name-based virtual hosts for the best-matching set of <directive
- type="section" module="core">virtualhost</directive>s are processed
+ type="section" module="core">virtualhost</directive>s are processed
in the order they appear in the configuration. The first matching <directive
module="core">ServerName</directive> or <directive module="core"
>ServerAlias</directive> is used, with no different precedence for wildcards
@@ -196,7 +196,7 @@
<p>The complete list of names in the <directive module="core"
>VirtualHost</directive>
- directive are treated just like a (non wildcard)
+ directive are treated just like a (non wildcard)
<directive module="core">ServerAlias</directive>.</p>
<p>Finally, you can fine-tune the configuration of the virtual hosts