https://issues.apache.org/bugzilla/show_bug.cgi?id=53196

          Priority: P2
            Bug ID: 53196
          Assignee: docs@httpd.apache.org
           Summary: Rewrite examples forget to encode the query string?
          Severity: normal
    Classification: Unclassified
                OS: Linux
          Reporter: alan.christopher.jenk...@gmail.com
          Hardware: PC
            Status: NEW
           Version: 2.4.1
         Component: Documentation
           Product: Apache httpd-2

httpd.apache.org/docs/2.4/rewrite/remapping.html#fallback-resource

"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:

RewriteRule (.*) index.php?$1 [PT,QSA]"

should be:

RewriteRule (.*) index.php?${encode:$1} [PT,QSA]

since RewriteRule matches against the *decoded* url path 
(http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriterule).


That's the context I encountered the bug in.  I think it applies to most of the
other remapping examples that use $1.

http://httpd.apache.org/docs/2.4/rewrite/remapping.html#backward-compatibility
http://httpd.apache.org/docs/2.4/rewrite/remapping.html#canonicalhost
http://httpd.apache.org/docs/2.4/rewrite/remapping.html#archive-access-multiplexer
http://httpd.apache.org/docs/2.4/rewrite/remapping.html#canonicalurl

Note that that this doesn't apply to rewrite rules which map to full filesystem
paths - i.e.

http://httpd.apache.org/docs/2.4/rewrite/remapping.html#multipledirs>

.

No idea what you're supposed to do with substitutions in Redirect directives;
it's not documented as supporting the ${encode:$1} syntax.  Alias is fine
though (same reason as above).

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to