You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1997/01/21 10:56:39 UTC

ANNOUNCE: mod_rewrite 2.4.0

Here is a copy of the official announcement. 

I hope some of you will test it also and give feedback. I don't know if we
should include it into 1.2b5, but because I want 2.4.X in the final Apache 1.2
RELEASE it would be a good decision. But please review the changes first!
There are certainly some still unknown bugs due to the recently introduced
features. If it is reviews ok then commit it to the repository.

=============================================================================
                             ANNOUNCING
                       Ralf S. Engelschall's
                       _                            _ _       
   _ __ ___   ___   __| |    _ __ _____      ___ __(_) |_ ___ 
  | '_ ` _ \ / _ \ / _` |   | '__/ _ \ \ /\ / / '__| | __/ _ \
  | | | | | | (_) | (_| |   | | |  __/\ V  V /| |  | | ||  __/
  |_| |_| |_|\___/ \__,_|___|_|  \___| \_/\_/ |_|  |_|\__\___|
                       |_____|                                

                   The Apache URL Rewriting Module
           <URL:http://www.engelschall.com/sw/mod_rewrite/>

                      Version 2.4.0 (21-01-1997)

  Summary
  =======

  This module uses a rule-based rewriting engine (based on a
  regular-expression parser) to rewrite requested URLs on the fly. 
  
  It supports an unlimited number of additional rule conditions (which can
  operate on a lot of variables, even on HTTP headers) for granular
  matching and even external database lookups (either via plain text
  tables, DBM hash files or even external processes) for advanced URL
  substitution.
  
  It operates on the full URLs (including the PATH_INFO part) both in
  per-server context (httpd.conf) and per-dir context (.htaccess) and even
  can generate QUERY_STRING parts on result.   The rewriting result finally
  can lead to internal subprocessing, external request redirection or even
  to internal proxy throughput.

  New To Version 2.4
  ==================

  o under Apache 1.2 mod_rewrite now can return any HTTP response code in the
    range of 300-400 on redirects.  For instance this can be used to send back
    "permanent moved" responses, etc.  This feature gets controlled by
    appending "=<CODE>" to the "R" flag for RewriteRule, i.e. the following
    rules are now valid:
        RewriteRule /oldurl /newurl [R=permanent]
        RewriteRule /oldurl /newurl [R=303]

  o because the 410/GONE HTTP reponse code is useful but not really a redirect
    response, there is now an additional RewriteRule flag named "G|gone" to
    force the current URL to be gone.

  o added new functionality: subrequest look-aheads!
    First there are now two new tests for RewriteCond:
      "-U" to check if the path is a valid URI and accessible via
           all the server's currently-configured access controls
           for that path
      "-F" to check if the path is a valid file and accessible
           via all the server's currently-configured access
           controls for that path
    Second there are three new variable lookups to RewriteCond:
      "LA-U:xxx" performs a sub-request to look ahead for 
           the current URL and lookup variable xxx 
      "LA-F:xxx" performs a sub-request to look ahead for 
           the current URL and lookup variable xxx 
      "IS_SUBREQ" which returns "true" in a subrequest or 
           "false" in the main request

  o now %{ENV:xx} lookup xx first in the internal Apache structure
    r->notes and in r->subprocess_env and then via getenv(). This provides you
    with the ability to lookup more information.

  o added a new RewriteRule flag: env|E=VAR:VAL
    where $n gets interpolated in VAL. You can use this to parse out stuff
    from the URL and safe or remember it in some env-variable which can be
    used inside CGI or XSSI.

  o now mod_rewrite uses fcntl() or flock() based locking for
    both the rewrite logfile and the RewriteMap program communication.

  o the documentation was updated to the recent changes and fixed
    at a few locations.

  o successfully tested mod_rewrite with Apache 1.1.1 and Apache 1.2b4.
=============================================================================
    
                                        Ralf S. Engelschall
                                        rse@engelschall.com
                                        http://www.engelschall.com/