Apache HTTP Server Version 2.0
This document refers to the 2.0 version of Apache httpd, which is no longer maintained. Upgrade, and refer to the current version of httpd instead, documented at:
You may follow this link to go to the current version of this document.
In order to assist folks upgrading, we maintain a document
describing information critical to existing Apache users. These
are intended to be brief notes, and you should be able to find
more information in either the New Features document, or in
libtoolsystem for configuring the build processes. Using this system is similar to, but not the same as, using the APACI system in Apache 1.3.
preforkMPM. Other MPMs will have different directives to control process creation and request processing.
<Proxy>block rather than a
PATH_INFO(trailing path information after the true filename) has changed for some modules. Modules that were previously implemented as a handler but are now implemented as a filter may no longer accept requests with
PATH_INFO. Filters such as INCLUDES or PHP are implemented on top of the core handler, and therefore reject requests with
PATH_INFO. You can use the
AcceptPathInfodirective to force the core handler to accept requests with
PATH_INFOand thereby restore the ability to use
PATH_INFOin server-side includes.
CacheNegotiatedDocsdirective now takes the argument
off. Existing instances of
CacheNegotiatedDocsshould be replaced with
ErrorDocumentdirective no longer uses a quote at the beginning of the argument to indicate a text message. Instead, you should enclose the message in double quotes. For example, existing instances of
ErrorDocument 403 "Some Message
ErrorDocument 403 "Some Message"
ResourceConfigdirectives no longer exist. Existing instances of these directives can be replaced with the
Includedirective which has equivalent functionality. If you were making use of the default values of these directives without including them in the configuration files, you may need to add
Include conf/srm.confto your
httpd.conf. In order to assure that Apache reads the configuration files in the same order as was implied by the older directives, the
Includedirectives should be placed at the end of
httpd.conf, with the one for
srm.confpreceding the one for
Portdirectives no longer exist. Equivalent functionality is provided with the more flexible
Portdirective in Apache-1.3 was setting the port number to be used in self-referential URL's. The Apache-2.0 equivalent is the new
ServerNamesyntax: it has been changed to allow specifying both the hostname and the port number for self-referential URL's in one directive.
ServerTypedirective no longer exists. The method used to serve requests is now determined by the selection of MPM. There is currently no MPM designed to be launched by inetd.
mod_log_referermodules which provided the
RefererIgnoredirectives have been removed. Agent and referer logs are still available using the
ClearModuleListdirectives no longer exist. These directives were used to ensure that modules could be enabled in the correct order. The new Apache 2.0 API allows modules to explicitly specify their ordering, eliminating the need for these directives.
FancyIndexingdirective has been removed. The same functionality is available through the
FancyIndexingoption to the
mod_negotiationhas become more strict in its default file matching. It will select only from negotiable files. The old behavior can be restored using the
The functionality of the
ErrorHeader directive was
put together with the
directive, since it was a misnomer. Use
Header always set foo bar
instead to get the desired behaviour.
mod_auth_digest, which was experimental in Apache 1.3, is now a standard module.
mod_mmap_staticmodule, which was experimental in Apache 1.3, has been replaced with
srcdirectory. Instead, the sources are logically organized under the main distribution directory, and installations of the compiled server should be directed to a separate directory.