README
changeset 26 7b28fb383da2
parent 18 d4ce82194b64
child 27 bf206815c2ab
equal deleted inserted replaced
18:d4ce82194b64 26:7b28fb383da2
     3 =====
     3 =====
     4 
     4 
     5 What is volta?
     5 What is volta?
     6 --------------
     6 --------------
     7 
     7 
     8 Volta is a high performance, low resource URI rewriter for use with the
     8 Volta is a high-performance, low-resource URI rewriter for use with the
     9 Squid caching proxy server (http://www.squid-cache.org/.)  With it, you
     9 Squid caching proxy server (http://www.squid-cache.org/.)  With it, you
    10 can dynamically alter URI requests that pass through Squid based on
    10 can dynamically alter URI requests that pass through Squid based on
    11 various criteria.
    11 various criteria.
    12 
    12 
    13 It uses a state machine to parse URIs and rules, and a constant database
    13 It uses a state machine to parse URIs and rules, and a constant database
    76 '#' character, so you can keep the ascii version of your rules well
    76 '#' character, so you can keep the ascii version of your rules well
    77 documented and in version control.
    77 documented and in version control.
    78 
    78 
    79 When compiling the ruleset into the database format, volta detects
    79 When compiling the ruleset into the database format, volta detects
    80 malformed rules and stops if there are any problems, leaving your
    80 malformed rules and stops if there are any problems, leaving your
    81 original database intact.  You can change the ruleset at any time while
    81 original database intact. You can change the ruleset and recompile the
    82 volta is running, and the new rules will take affect within about 10
    82 database at any time while volta is running, and the new rules will take
    83 seconds.  No need to restart squid!
    83 affect within about 10 seconds. No need to restart squid!
    84 
    84 
    85 There are two types of rules -- positive matches, and negative matches.
    85 There are two types of rules -- positive matches, and negative matches.
    86 Positive matches cause the rewrite, negative matches allow the original
    86 Positive matches cause the rewrite, negative matches allow the original
    87 request to pass.  Rule order is consistent, top-down, first match wins.
    87 request to pass.  Rule order is consistent, top-down, first match wins.
    88 Fields are separated by any amount of whitespace (spaces or tabs.)
    88 Fields are separated by any amount of whitespace (spaces or tabs.)
   109 	  a future release.
   109 	  a future release.
   110 
   110 
   111 
   111 
   112     Third field: The redirect code and url to rewrite to.
   112     Third field: The redirect code and url to rewrite to.
   113 
   113 
   114       Any pieces of a url that are omitted are automatically replaced
   114       Any pieces of a url that are omitted are automatically replaced with
   115       with the original request's element -- the exception is a hostname,
   115       the original request's element -- the exception is a hostname, which
   116       which is required.  If you omit a redirect code, the URL rewrite is
   116       is required. If you omit a redirect code, the URL rewrite is
   117       transparent to the client.  You can attach a 301: or 302: prefix to
   117       transparent to the client. You can attach a 301: or 302: prefix to
   118       cause a permanent or temporary code to be respectively sent, instead.
   118       cause a permanent or temporary (respectively) redirect response to be
       
   119       sent, instead.
   119 
   120 
   120 
   121 
   121 ### Negative matches:
   122 ### Negative matches:
   122 
   123 
   123     First field: the hostname to match.
   124     First field: the hostname to match.
   166 an archival page:
   167 an archival page:
   167 
   168 
   168 	martini.nu /blog/2011 -
   169 	martini.nu /blog/2011 -
   169 	martini.nu /blog 301:martini.nu/content-archived.html
   170 	martini.nu /blog 301:martini.nu/content-archived.html
   170 
   171 
   171 
       
   172 Turn off rewriting for specific network segment or IP address:
       
   173 
       
   174 	Squid has this ability built in -- see the 'url_rewrite_access' setting.
       
   175