You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by sf...@apache.org on 2010/12/30 13:34:20 UTC

svn commit: r1053872 - in /httpd/httpd/trunk: CHANGES docs/manual/mod/mod_rewrite.html.en docs/manual/mod/mod_rewrite.xml modules/mappers/mod_rewrite.c server/util_script.c

Author: sf
Date: Thu Dec 30 12:34:19 2010
New Revision: 1053872

URL: http://svn.apache.org/viewvc?rev=1053872&view=rev
Log:
Make the REQUEST_SCHEME variable available to scripts and mod_rewrite

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/docs/manual/mod/mod_rewrite.html.en
    httpd/httpd/trunk/docs/manual/mod/mod_rewrite.xml
    httpd/httpd/trunk/modules/mappers/mod_rewrite.c
    httpd/httpd/trunk/server/util_script.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1053872&r1=1053871&r2=1053872&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Thu Dec 30 12:34:19 2010
@@ -2,6 +2,9 @@
 
 Changes with Apache 2.3.11
 
+  *) core, mod_rewrite: Make the REQUEST_SCHEME variable available to
+     scripts and mod_rewrite. [Stefan Fritsch]
+
   *) mod_rewrite: Allow to use arbitrary boolean expressions (ap_expr) in
      RewriteCond. [Stefan Fritsch]
 

Modified: httpd/httpd/trunk/docs/manual/mod/mod_rewrite.html.en
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_rewrite.html.en?rev=1053872&r1=1053871&r2=1053872&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_rewrite.html.en (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_rewrite.html.en Thu Dec 30 12:34:19 2010
@@ -263,6 +263,7 @@ RewriteRule ^index\.html$  newsite.html
                  REQUEST_FILENAME<br />
                  IS_SUBREQ<br />
                  HTTPS<br />
+                 REQUEST_SCHEME<br />
               </td>
             </tr>
           </table>
@@ -325,6 +326,12 @@ RewriteRule ^index\.html$  newsite.html
                   can be safely used regardless of whether or not
                   <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is loaded).</dd>
 
+                  <dt><code>REQUEST_SCHEME</code></dt>
+
+                  <dd>Will contain the scheme of the request (ususally
+                  "http" or "https"). This value can be influenced with
+                  <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</dd>
+
                 </dl>
 </div>
         </li>

Modified: httpd/httpd/trunk/docs/manual/mod/mod_rewrite.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_rewrite.xml?rev=1053872&r1=1053871&r2=1053872&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_rewrite.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_rewrite.xml Thu Dec 30 12:34:19 2010
@@ -436,6 +436,7 @@ RewriteRule ^index\.html$  newsite.html
                  REQUEST_FILENAME<br />
                  IS_SUBREQ<br />
                  HTTPS<br />
+                 REQUEST_SCHEME<br />
               </td>
             </tr>
           </table>
@@ -498,6 +499,12 @@ RewriteRule ^index\.html$  newsite.html
                   can be safely used regardless of whether or not
                   <module>mod_ssl</module> is loaded).</dd>
 
+                  <dt><code>REQUEST_SCHEME</code></dt>
+
+                  <dd>Will contain the scheme of the request (ususally
+                  "http" or "https"). This value can be influenced with
+                  <directive module="core">ServerName</directive>.</dd>
+
                 </dl>
 </note>
         </li>

Modified: httpd/httpd/trunk/modules/mappers/mod_rewrite.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mappers/mod_rewrite.c?rev=1053872&r1=1053871&r2=1053872&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/mappers/mod_rewrite.c (original)
+++ httpd/httpd/trunk/modules/mappers/mod_rewrite.c Thu Dec 30 12:34:19 2010
@@ -2089,9 +2089,12 @@ static char *lookup_variable(char *var, 
             if (*var == 'H' && !strcmp(var, "HTTP_FORWARDED")) {
                 result = lookup_header("Forwarded", ctx);
             }
-            else if (!strcmp(var, "REQUEST_METHOD")) {
+            else if (var[8] == 'M' && !strcmp(var, "REQUEST_METHOD")) {
                 result = r->method;
             }
+            else if (!strcmp(var, "REQUEST_SCHEME")) {
+                result = ap_http_scheme(r);
+            }
             break;
 
         case 15:

Modified: httpd/httpd/trunk/server/util_script.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_script.c?rev=1053872&r1=1053871&r2=1053872&view=diff
==============================================================================
--- httpd/httpd/trunk/server/util_script.c (original)
+++ httpd/httpd/trunk/server/util_script.c Thu Dec 30 12:34:19 2010
@@ -337,6 +337,7 @@ AP_DECLARE(void) ap_add_cgi_vars(request
     apr_table_setn(e, "GATEWAY_INTERFACE", "CGI/1.1");
     apr_table_setn(e, "SERVER_PROTOCOL", r->protocol);
     apr_table_setn(e, "REQUEST_METHOD", r->method);
+    apr_table_setn(e, "REQUEST_SCHEME", ap_http_scheme(r));
     apr_table_setn(e, "QUERY_STRING", r->args ? r->args : "");
     apr_table_setn(e, "REQUEST_URI", original_uri(r));