I've been told different things, so I was hopefully someone here could help. Please, I'm not concerned with what the rules actually do, I'm more interested in if there's a benefit by concatenating the conditions or not.
Msg#: 4519705 posted 10:19 pm on Nov 16, 2012 (gmt 0)
Is the underlying structure "either all 5 members of group A are empty OR all 3 members of group B are empty"?
The [OR] operator only applies to pairs of adjoining lines. Or sets of adjoining lines if you string them together.
It's a pretty horrendous-looking rule no matter how you slice it ;) I hope you don't have to invoke it too often. Otherwise you might want to take some entirely different approach like detouring to a php script where you have benefit of grouping parentheses.
So it's no longer "If any of group A [OR] any of group B is non-empty"; it's "If any one of these eight items are non-empty". The result is exactly the same because what you're saying is a+b+c+d+e != "". Since you can't have a negative string, it's the same thing as a != "" OR b != "" OR c != "" et cetera.
Yes, I realize that in my previous post I misread the punctuation, making it "all A OR all B are empty" rather than "any of A or any of B are non-empty". Slight, ahem, difference.
Concatenation works in this specific case because everything on the list has to be empty. 0 + 0 + 0 + ... + 0 + 0 = 0, vs. 0 + 0 + 0 + ... + 0 + 0 + non-zero = non-zero.
Incidentally: everyone got so wrapped up in the conditions that we never made it to the Rule itself. I think it's funny that the original ^(.*)$ - [F] was changed to .* - [F,NS,L] getting rid of one minor error --an unneeded capture with anchors- and replacing it with a different one --a slightly iffy set of flags. L with F is definitely redundant; NS is sometimes appropriate but shouldn't be thrown around like confetti. Could a subrequest ever come in through a proxy? Not necessarily a law-abiding subrequest: Is it physically possible?