On Fri, Aug 6, 2010 at 12:46 AM, Alvaro Lopez Ortega <[email protected]>wrote:
> On 06/08/2010, at 05:21, C. Mundi wrote: > > > So... The nonfinal forbid trumps the default allow in the case of > > a.php...is that because of the order? Or because default is weaker > > than patterns? > > The rule list is evaluated from top to bottom. If a rule matches the > request there are two possible outcomes, depending on whether or not it's a > final rule: > > - Final Rule: The content of the rule is applied, and the evaluation > finishes. > - Non-Final Rule: The content of the rule is applies, and the evaluation > continues until a final rule is matched or the final (default) rule is > reached. > > The 'Leave unset' option of the encoders means that, whenever a rule is > applied, it will not change the status of the encoding status. > > Another example using the previous rule list: /abc.php. It matches the > first rule, so GZip is forbidden; since it is no-final the evaluation > continues. It also matches the second rule, but since Gzip support got > already forbidden nothing is changed. When it hits the last rule, the same > thing happens: GZip is already forbidden, so the value is not overwritten. > > > Aha! That's what was missing. So once an attribute "A" is set (to any value other than "leave unchanged") by a non-final rule, subsequent rules are not allowed to change the value of "A" for that request. Got it. In other words, for a given request, any attribute A is written exactly zero or one times, regardless of how many rules mention A. Makes perfect sense. Thanks.
_______________________________________________ Cherokee mailing list [email protected] http://lists.octality.com/listinfo/cherokee
