removes the normal limited protection against URL-based attacks
provided by the proxy.</p>
- <p>The optional <var>interpolate</var> keyword (available in
- httpd 2.2.9 and later), in combination with
- <code class="directive">ProxyPassInterpolateEnv</code> causes the ProxyPass
- to interpolate environment variables, using the syntax
- <var>${VARNAME}</var>. Note that many of the standard CGI-derived
- environment variables will not exist when this interpolation happens,
- so you may still have to resort to <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- for complex rules.</p>
-
<p>When used inside a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section, the first argument is omitted and the local
directory is obtained from the <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. The same will occur inside a
<code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> section,
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the
<code>[P]</code> flag.</p>
+ <p>The optional <var>interpolate</var> keyword (available in
+ httpd 2.2.9 and later), in combination with
+ <code class="directive">ProxyPassInterpolateEnv</code> causes the ProxyPass
+ to interpolate environment variables, using the syntax
+ <var>${VARNAME}</var>. Note that many of the standard CGI-derived
+ environment variables will not exist when this interpolation happens,
+ so you may still have to resort to <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ for complex rules. Also note that interpolation is not supported
+ within the scheme portion of a URL. Dynamic determination of the
+ scheme can be accomplished with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> as in the
+ following example.</p>
+
+ <pre class="prettyprint lang-config">
+RewriteEngine On
+
+RewriteCond %{HTTPS} =off
+RewriteRule . - [E=protocol:http]
+RewriteCond %{HTTPS} =on
+RewriteRule . - [E=protocol:https]
+
+RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
+ProxyPassReverse /mirror/foo/ http://backend.example.com/
+ProxyPassReverse /mirror/foo/ https://backend.example.com/
+ </pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
httpd 2.2.9 and later), used together with
<code class="directive">ProxyPassInterpolateEnv</code>, enables interpolation
of environment variables specified using the format <var>${VARNAME}</var>.
- </p>
+ Note that interpolation is not supported within the scheme portion of a
+ URL.</p>
<p>When used inside a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section, the first argument is omitted and the local
directory is obtained from the <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. The same occurs inside a <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> section, but will probably not work as