httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From William A Rowe Jr <>
Subject Re: [RFC] <IfDirective>?
Date Wed, 22 Feb 2017 13:43:32 GMT
On Wed, Feb 22, 2017 at 1:04 AM, Nick Kew <> wrote:
> On Tue, 2017-02-21 at 21:58 +0000, Joe Orton wrote:
>> Any reason <IfDirective> is a bad idea, so we can do that more cleanly
>> (... in a couple of decades time)?
> One reason it might be a very bad idea: user confusion!
> I'm thinking of the track record of <IfModule> here.
> Our support fora are full of users who have seen it in
> default/shipped config and docs, and treat it as some
> magic incantation they need.  They end up with a problem
> "why doesn't Foo work?", which they bring to our fora
> after many hours of tearing their hair.  The usual answer:
> Get rid of all the <IfModule> crap, to stop suppressing
> the error message you need!

That speaks to our docs/conf/* tree, right? Not the existence
of the <IfModule > directive ... I'm guessing you don't support
eliminating that feature in the future?

I was more concerned about our support for <IfVersion >...
I'd really like to see mod_version go away in and force
the availability of that feature so that .conf authors are assured
of it's presence moving forwards.

An issue is that this is needed to let users devs toggle specific
tests based on patch level. Right now, testing requires a backport,
which doesn't vary by the httpd version, and only rarely varies
by <IfModule >.  This proposal makes introducing the tests
upon adding a feature to trunk painless; the test is accessible
from the moment the directive is backported.

If you want to propose an "<IfModule > considered harmful"
caution in the docs (which we can borrow or point to for the
<IfDirective > docs) ... that could be helpful. It often indicates
that the user's conf was not thought out, and that it is subject
to unexpected behavior changes if a module is loaded or
commented out. That doesn't mean these serve no purpose.

View raw message