--- Joshua Slive <[EMAIL PROTECTED]> wrote: > Comments VERY welcome.
Looks good. I just have a few comments: 1) The first argument to this directive is always from. The subsequent arguments can take three different forms. If Allow from all is specified, then all hosts are allowed access. To allow only particular hosts or groups of hosts to access the server, the host can be specified in any of the following formats:" For the Allow from all part, how about an additional qualifier: ... If Allow from all is specified, then all hosts are allowed access except those that are specifically denied through the Deny directive (see also the Order directive for more information about this interaction). ... Or something like that. =-) 2) In Allow/Deny, is a leading/trailing period required for partial matches? I don't remember. 3) SetEnvIf User-Agent ^KnockKnock/2.0 let_me_in <Directory /docroot> Order Deny,Allow Deny from all Allow from env=let_me_in </Directory> In this case browsers with the user-agent string KnockKnock/2.0 will be allowed access, and all others will be denied. Just to be picky, doesn't the SetEnvIf regex used here actually allow any user-agent string BEGINNING with KnockKnock/2.0 (since there's no trailing $ on the regex)? I think that actually is the behavior you want, so don't change the SetEnvIf... just stick a "beginning" in the description there somewhere. 4) Deny,Allow the Deny directives are evaluated before the Allow directives. (The initial state is OK.) Allow,Deny the Allow directives are evaluated before the Deny directives. (The initial state is FORBIDDEN.)" Changing "The initial state is FOO" in these two descriptions might make it more clear what's going on... it's currently worded in kind of a programmer-friendly way. Maybe make it say "The default behavior is to FOO clients neither specifically allowed nor denied." 5) See my previous email about the short-circuiting thing. 6) Order Allow,Deny Allow from apache.org Deny from foo.apache.org Note that if the Order in the last example is changed to Deny,Allow, then all hosts will be allowed access since the default state will be OK, and the Allow from apache.org will be evaluated last and will override the Deny from foo.apache.org. This part tripped me up... it's a perfectly valid and correct example, it just wasn't 100% obvious. How about this: Order Allow,Deny Allow from apache.org Deny from foo.apache.org If the Order is changed to Deny,Allow, however, all clients will end up being allowed access. That's because with Deny,Allow, the default is to allow, and because the Allow from apache.org will be evaluated last and will override the Deny from foo.apache.org (regardless of their actual order in the configuration file). It's not much of a change... I don't even know if it helps any. What do you think? --Cliff __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Thousands of Stores. Millions of Products. http://shopping.yahoo.com/