Now: Tutorial for Web and Software Design > PHP > Apache > PHP Content
> A Day in the Life of #Apache [Bookmark it]
A Day in the Life of #Apache

A Day in the Life of #Apache

The difficulty comes when you attempt to mix these two syntaxes in the same listing. Thus, we come to the example that we started with:



    Options +Indexes Includes MultiViews

So, by the rules above, the Indexes option is added to whatever was already in place, by virtue of the + notation. However, when we get to the Includes option, since there's no + or - sign, the list is cleared, and the remaining options (Includes and Multiviews) are set as the new list. Thus, although by casual inspection it seems that we should end up with all three options turned on, only the last two are in fact turned on.

That's all well and good, except that it is completely unexpected by the user. And, to further complicate things, this isn't necessarily consistent. For example, if you do:

    Options Includes +Indexes Multiviews

it turns out that Indexes is in fact enabled. This seems to contradict the long explanation I just went through.

The real answer to this problem is that you should never ever mix the +/- and bareword syntaxes. The results are too unpredictable unless you actually delve into the code and figure out what it's doing. But even when you do that, it's not clear what you should do about it.

If, for example, someone used the following syntax:

    Options Indexes

    Options Includes +ExecCGI

What do you think they meant?

Yeah, I don't know either. Better to just yell at them for using invalid syntax, and force them to go fix it.

There's one small problem with that approach, and that's that a number of third-party distributions of Apache, like several Linux distrubutions, ship default configuration files using syntax like this, and they expect it to work. Making it break would make a lot of people very unhappy. However, that might just be a necessary tradeoff.

Just in case you missed the goal of either the presentation I gave at ApacheCon (and again at OSCON), or of this series of articles, I want to take this opportunity to state it clearly. It's not just to complain. If it was that, it would be little more than petty whining and a waste of your time.

The purpose is to point out areas where you, the interested contributor, can focus your efforts, if you're looking for a place where you can plug in. Every one of the issues I addressed has a solution, and some of them are fairly simple.

The other purpose is (as stated in the initial slide), to let the core group of developers know what is irritating their users. You'll be happy to know that they received this very warmly, and that a number of the problems have already been fixed since the talk was presented. It's not the traditional way to submit bug reports, but it was very effective.

Rich Bowen is a member of the Apache Software Foundation, working primarily on the documentation for the Apache Web Server. DrBacchus, Rich's handle on IRC, can be found on the web at www.drbacchus.com/journal.


Return to the Apache DevCenter

Prev  [1] [2] 

[Bookmark][Print] [Close][To Top]
  • Prev Article-PHP:

  • Next Article-PHP:
  • Related Materias
    Important Notice for Apach
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    A Day in the Life of #Apac
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial