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. |