]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
The return of the htdocs for Apache 1.3 sans history.
authorJustin Erenkrantz <jerenkrantz@apache.org>
Wed, 5 Jan 2005 23:08:27 +0000 (23:08 +0000)
committerJustin Erenkrantz <jerenkrantz@apache.org>
Wed, 5 Jan 2005 23:08:27 +0000 (23:08 +0000)
Imported from tip of the httpd-docs-1.3 CVS repository.  (just the htdocs dir)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@124296 13f79535-47bb-0310-9956-ffa450edef68

333 files changed:
htdocs/README.rus [new file with mode: 0644]
htdocs/apache_pb.gif [new file with mode: 0644]
htdocs/index.html.ca [new file with mode: 0644]
htdocs/index.html.cz [new file with mode: 0644]
htdocs/index.html.de [new file with mode: 0644]
htdocs/index.html.dk [new file with mode: 0644]
htdocs/index.html.ee [new file with mode: 0644]
htdocs/index.html.el [new file with mode: 0644]
htdocs/index.html.en [new file with mode: 0644]
htdocs/index.html.es [new file with mode: 0644]
htdocs/index.html.fr [new file with mode: 0644]
htdocs/index.html.he.iso8859-8 [new file with mode: 0644]
htdocs/index.html.hu [new file with mode: 0644]
htdocs/index.html.it [new file with mode: 0644]
htdocs/index.html.ja.jis [new file with mode: 0644]
htdocs/index.html.kr.iso-kr [new file with mode: 0644]
htdocs/index.html.lb.utf8 [new file with mode: 0644]
htdocs/index.html.nl [new file with mode: 0644]
htdocs/index.html.nn [new file with mode: 0644]
htdocs/index.html.no [new file with mode: 0644]
htdocs/index.html.po.iso-pl [new file with mode: 0644]
htdocs/index.html.pt [new file with mode: 0644]
htdocs/index.html.pt-br [new file with mode: 0644]
htdocs/index.html.ru.cp-1251 [new file with mode: 0644]
htdocs/index.html.ru.cp866 [new file with mode: 0644]
htdocs/index.html.ru.iso-ru [new file with mode: 0644]
htdocs/index.html.ru.koi8-r [new file with mode: 0644]
htdocs/index.html.ru.ucs2 [new file with mode: 0644]
htdocs/index.html.ru.ucs4 [new file with mode: 0644]
htdocs/index.html.ru.utf8 [new file with mode: 0644]
htdocs/index.html.se [new file with mode: 0644]
htdocs/index.html.zh-tw.big5 [new file with mode: 0644]
htdocs/manual/LICENSE [new file with mode: 0644]
htdocs/manual/bind.html.en [new file with mode: 0644]
htdocs/manual/bind.html.fr [new file with mode: 0644]
htdocs/manual/bind.html.html [new file with mode: 0644]
htdocs/manual/bind.html.ja.jis [new file with mode: 0644]
htdocs/manual/configuring.html.en [new file with mode: 0644]
htdocs/manual/configuring.html.fr [new file with mode: 0644]
htdocs/manual/configuring.html.html [new file with mode: 0644]
htdocs/manual/configuring.html.ja.jis [new file with mode: 0644]
htdocs/manual/content-negotiation.html.en [new file with mode: 0644]
htdocs/manual/content-negotiation.html.html [new file with mode: 0644]
htdocs/manual/content-negotiation.html.ja.jis [new file with mode: 0644]
htdocs/manual/custom-error.html.en [new file with mode: 0644]
htdocs/manual/custom-error.html.fr [new file with mode: 0644]
htdocs/manual/custom-error.html.html [new file with mode: 0644]
htdocs/manual/custom-error.html.ja.jis [new file with mode: 0644]
htdocs/manual/cygwin.html [new file with mode: 0644]
htdocs/manual/dns-caveats.html.en [new file with mode: 0644]
htdocs/manual/dns-caveats.html.fr [new file with mode: 0644]
htdocs/manual/dns-caveats.html.html [new file with mode: 0644]
htdocs/manual/dns-caveats.html.ja.jis [new file with mode: 0644]
htdocs/manual/dso.html [new file with mode: 0644]
htdocs/manual/ebcdic.html [new file with mode: 0644]
htdocs/manual/env.html.en [new file with mode: 0644]
htdocs/manual/env.html.html [new file with mode: 0644]
htdocs/manual/env.html.ja.jis [new file with mode: 0644]
htdocs/manual/expand.pl [new file with mode: 0755]
htdocs/manual/footer.html [new file with mode: 0644]
htdocs/manual/handler.html.en [new file with mode: 0644]
htdocs/manual/handler.html.html [new file with mode: 0644]
htdocs/manual/handler.html.ja.jis [new file with mode: 0644]
htdocs/manual/header.html [new file with mode: 0644]
htdocs/manual/howto/auth.html [new file with mode: 0644]
htdocs/manual/howto/cgi.html.en [new file with mode: 0644]
htdocs/manual/howto/cgi.html.html [new file with mode: 0644]
htdocs/manual/howto/cgi.html.ja.jis [new file with mode: 0644]
htdocs/manual/howto/footer.html [new file with mode: 0644]
htdocs/manual/howto/header.html [new file with mode: 0644]
htdocs/manual/howto/htaccess.html [new file with mode: 0755]
htdocs/manual/howto/ssi.html.en [new file with mode: 0644]
htdocs/manual/howto/ssi.html.html [new file with mode: 0644]
htdocs/manual/howto/ssi.html.ja.jis [new file with mode: 0644]
htdocs/manual/images/apache_header.gif [new file with mode: 0644]
htdocs/manual/images/custom_errordocs.gif [new file with mode: 0644]
htdocs/manual/images/home.gif [new file with mode: 0644]
htdocs/manual/images/index.gif [new file with mode: 0644]
htdocs/manual/images/mod_rewrite_fig1.fig [new file with mode: 0644]
htdocs/manual/images/mod_rewrite_fig1.gif [new file with mode: 0644]
htdocs/manual/images/mod_rewrite_fig2.fig [new file with mode: 0644]
htdocs/manual/images/mod_rewrite_fig2.gif [new file with mode: 0644]
htdocs/manual/images/pixel.gif [new file with mode: 0644]
htdocs/manual/images/sub.gif [new file with mode: 0644]
htdocs/manual/index.html.en [new file with mode: 0644]
htdocs/manual/index.html.fr [new file with mode: 0644]
htdocs/manual/index.html.html [new file with mode: 0644]
htdocs/manual/index.html.ja.jis [new file with mode: 0644]
htdocs/manual/install-tpf.html [new file with mode: 0644]
htdocs/manual/install-ztpf.html [new file with mode: 0644]
htdocs/manual/install.html.en [new file with mode: 0644]
htdocs/manual/install.html.es [new file with mode: 0644]
htdocs/manual/install.html.fr [new file with mode: 0644]
htdocs/manual/install.html.html [new file with mode: 0644]
htdocs/manual/install.html.ja.jis [new file with mode: 0644]
htdocs/manual/invoking.html.en [new file with mode: 0644]
htdocs/manual/invoking.html.fr [new file with mode: 0644]
htdocs/manual/invoking.html.html [new file with mode: 0644]
htdocs/manual/invoking.html.ja.jis [new file with mode: 0644]
htdocs/manual/keepalive.html.en [new file with mode: 0644]
htdocs/manual/keepalive.html.html [new file with mode: 0644]
htdocs/manual/keepalive.html.ja.jis [new file with mode: 0644]
htdocs/manual/location.html.en [new file with mode: 0644]
htdocs/manual/location.html.html [new file with mode: 0644]
htdocs/manual/location.html.ja.jis [new file with mode: 0644]
htdocs/manual/logs.html [new file with mode: 0644]
htdocs/manual/man-template.html [new file with mode: 0644]
htdocs/manual/misc/API.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-A.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-B.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-C.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-D.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-E.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-F.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-G.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-H.html [new file with mode: 0644]
htdocs/manual/misc/FAQ-I.html [new file with mode: 0644]
htdocs/manual/misc/FAQ.html [new file with mode: 0644]
htdocs/manual/misc/HTTP_Features.tsv [new file with mode: 0644]
htdocs/manual/misc/client_block_api.html [new file with mode: 0644]
htdocs/manual/misc/compat_notes.html [new file with mode: 0644]
htdocs/manual/misc/custom_errordocs.html [new file with mode: 0644]
htdocs/manual/misc/descriptors.html [new file with mode: 0644]
htdocs/manual/misc/fin_wait_2.html [new file with mode: 0644]
htdocs/manual/misc/footer.html [new file with mode: 0644]
htdocs/manual/misc/header.html [new file with mode: 0644]
htdocs/manual/misc/howto.html [new file with mode: 0644]
htdocs/manual/misc/index.html [new file with mode: 0644]
htdocs/manual/misc/known_client_problems.html [new file with mode: 0644]
htdocs/manual/misc/nopgp.html [new file with mode: 0644]
htdocs/manual/misc/perf-bsd44.html [new file with mode: 0644]
htdocs/manual/misc/perf-dec.html [new file with mode: 0644]
htdocs/manual/misc/perf-hp.html [new file with mode: 0644]
htdocs/manual/misc/perf-tuning.html [new file with mode: 0644]
htdocs/manual/misc/perf.html [new file with mode: 0644]
htdocs/manual/misc/rewriteguide.html [new file with mode: 0644]
htdocs/manual/misc/security_tips.html [new file with mode: 0644]
htdocs/manual/misc/tutorials.html [new file with mode: 0644]
htdocs/manual/misc/vif-info.html [new file with mode: 0644]
htdocs/manual/misc/windoz_keepalive.html [new file with mode: 0644]
htdocs/manual/mod/core.html.en [new file with mode: 0644]
htdocs/manual/mod/core.html.fr [new file with mode: 0644]
htdocs/manual/mod/core.html.html [new file with mode: 0644]
htdocs/manual/mod/core.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/directive-dict.html.en [new file with mode: 0644]
htdocs/manual/mod/directive-dict.html.fr [new file with mode: 0644]
htdocs/manual/mod/directive-dict.html.html [new file with mode: 0644]
htdocs/manual/mod/directive-dict.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/directives.html.de [new file with mode: 0644]
htdocs/manual/mod/directives.html.en [new file with mode: 0644]
htdocs/manual/mod/directives.html.fr [new file with mode: 0644]
htdocs/manual/mod/directives.html.html [new file with mode: 0644]
htdocs/manual/mod/directives.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/footer.html [new file with mode: 0644]
htdocs/manual/mod/header.html [new file with mode: 0644]
htdocs/manual/mod/index-bytype.html.en [new file with mode: 0644]
htdocs/manual/mod/index-bytype.html.fr [new file with mode: 0644]
htdocs/manual/mod/index-bytype.html.html [new file with mode: 0644]
htdocs/manual/mod/index-bytype.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/index.html.en [new file with mode: 0644]
htdocs/manual/mod/index.html.fr [new file with mode: 0644]
htdocs/manual/mod/index.html.html [new file with mode: 0644]
htdocs/manual/mod/index.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_access.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_access.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_access.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_actions.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_actions.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_actions.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_alias.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_alias.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_alias.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_asis.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_asis.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_asis.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_auth.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_auth.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_auth.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_auth_anon.html [new file with mode: 0644]
htdocs/manual/mod/mod_auth_db.html [new file with mode: 0644]
htdocs/manual/mod/mod_auth_dbm.html [new file with mode: 0644]
htdocs/manual/mod/mod_auth_digest.html [new file with mode: 0644]
htdocs/manual/mod/mod_autoindex.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_autoindex.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_autoindex.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_browser.html [new file with mode: 0644]
htdocs/manual/mod/mod_cern_meta.html [new file with mode: 0644]
htdocs/manual/mod/mod_cgi.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_cgi.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_cgi.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_cookies.html [new file with mode: 0644]
htdocs/manual/mod/mod_digest.html [new file with mode: 0644]
htdocs/manual/mod/mod_dir.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_dir.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_dir.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_dld.html [new file with mode: 0644]
htdocs/manual/mod/mod_env.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_env.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_env.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_example.html [new file with mode: 0644]
htdocs/manual/mod/mod_expires.html [new file with mode: 0644]
htdocs/manual/mod/mod_headers.html [new file with mode: 0644]
htdocs/manual/mod/mod_imap.html [new file with mode: 0644]
htdocs/manual/mod/mod_include.html [new file with mode: 0644]
htdocs/manual/mod/mod_info.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_info.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_info.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_isapi.html [new file with mode: 0644]
htdocs/manual/mod/mod_log_agent.html [new file with mode: 0644]
htdocs/manual/mod/mod_log_common.html [new file with mode: 0644]
htdocs/manual/mod/mod_log_config.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_log_config.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_log_config.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_log_forensic.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_log_forensic.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_log_referer.html [new file with mode: 0644]
htdocs/manual/mod/mod_mime.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_mime.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_mime.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_mime_magic.html [new file with mode: 0644]
htdocs/manual/mod/mod_mmap_static.html [new file with mode: 0644]
htdocs/manual/mod/mod_negotiation.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_negotiation.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_negotiation.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_proxy.html [new file with mode: 0644]
htdocs/manual/mod/mod_rewrite.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_rewrite.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_rewrite.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_setenvif.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_setenvif.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_setenvif.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_so.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_so.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_so.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_speling.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_speling.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_speling.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_status.html [new file with mode: 0644]
htdocs/manual/mod/mod_unique_id.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_unique_id.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_unique_id.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_userdir.html.en [new file with mode: 0644]
htdocs/manual/mod/mod_userdir.html.html [new file with mode: 0644]
htdocs/manual/mod/mod_userdir.html.ja.jis [new file with mode: 0644]
htdocs/manual/mod/mod_usertrack.html [new file with mode: 0644]
htdocs/manual/mod/mod_vhost_alias.html [new file with mode: 0644]
htdocs/manual/mod/module-dict.html.en [new file with mode: 0644]
htdocs/manual/mod/module-dict.html.html [new file with mode: 0644]
htdocs/manual/mod/module-dict.html.ja.jis [new file with mode: 0644]
htdocs/manual/mpeix.html [new file with mode: 0644]
htdocs/manual/multilogs.html [new file with mode: 0644]
htdocs/manual/netware.html [new file with mode: 0644]
htdocs/manual/new_features_1_0.html [new file with mode: 0644]
htdocs/manual/new_features_1_1.html [new file with mode: 0644]
htdocs/manual/new_features_1_2.html [new file with mode: 0644]
htdocs/manual/new_features_1_3.html.en [new file with mode: 0644]
htdocs/manual/new_features_1_3.html.html [new file with mode: 0644]
htdocs/manual/new_features_1_3.html.ja.jis [new file with mode: 0644]
htdocs/manual/process-model.html.en [new file with mode: 0644]
htdocs/manual/process-model.html.html [new file with mode: 0644]
htdocs/manual/process-model.html.ja.jis [new file with mode: 0644]
htdocs/manual/programs/ab.html [new file with mode: 0644]
htdocs/manual/programs/apachectl.html.en [new file with mode: 0644]
htdocs/manual/programs/apachectl.html.html [new file with mode: 0644]
htdocs/manual/programs/apachectl.html.ja.jis [new file with mode: 0644]
htdocs/manual/programs/apxs.html [new file with mode: 0644]
htdocs/manual/programs/dbmmanage.html [new file with mode: 0644]
htdocs/manual/programs/footer.html [new file with mode: 0644]
htdocs/manual/programs/header.html [new file with mode: 0644]
htdocs/manual/programs/htdigest.html [new file with mode: 0644]
htdocs/manual/programs/htpasswd.html.en [new file with mode: 0644]
htdocs/manual/programs/htpasswd.html.html [new file with mode: 0644]
htdocs/manual/programs/htpasswd.html.ja.jis [new file with mode: 0644]
htdocs/manual/programs/httpd.html.en [new file with mode: 0644]
htdocs/manual/programs/httpd.html.html [new file with mode: 0644]
htdocs/manual/programs/httpd.html.ja.jis [new file with mode: 0644]
htdocs/manual/programs/index.html.en [new file with mode: 0644]
htdocs/manual/programs/index.html.html [new file with mode: 0644]
htdocs/manual/programs/index.html.ja.jis [new file with mode: 0644]
htdocs/manual/programs/logresolve.html [new file with mode: 0644]
htdocs/manual/programs/other.html [new file with mode: 0644]
htdocs/manual/programs/rotatelogs.html [new file with mode: 0644]
htdocs/manual/programs/suexec.html.en [new file with mode: 0644]
htdocs/manual/programs/suexec.html.html [new file with mode: 0644]
htdocs/manual/programs/suexec.html.ja.jis [new file with mode: 0644]
htdocs/manual/readme-tpf.html [new file with mode: 0644]
htdocs/manual/sections.html.en [new file with mode: 0644]
htdocs/manual/sections.html.html [new file with mode: 0644]
htdocs/manual/sections.html.ja.jis [new file with mode: 0644]
htdocs/manual/server-wide.html.en [new file with mode: 0644]
htdocs/manual/server-wide.html.fr [new file with mode: 0644]
htdocs/manual/server-wide.html.html [new file with mode: 0644]
htdocs/manual/server-wide.html.ja.jis [new file with mode: 0644]
htdocs/manual/sitemap.html [new file with mode: 0644]
htdocs/manual/sourcereorg.html [new file with mode: 0644]
htdocs/manual/stopping.html.en [new file with mode: 0644]
htdocs/manual/stopping.html.fr [new file with mode: 0644]
htdocs/manual/stopping.html.html [new file with mode: 0644]
htdocs/manual/suexec.html.en [new file with mode: 0644]
htdocs/manual/suexec.html.html [new file with mode: 0644]
htdocs/manual/suexec.html.ja.jis [new file with mode: 0644]
htdocs/manual/suexec_1_2.html [new file with mode: 0644]
htdocs/manual/unixware.html [new file with mode: 0644]
htdocs/manual/upgrading_to_1_3.html [new file with mode: 0644]
htdocs/manual/urlmapping.html [new file with mode: 0644]
htdocs/manual/vhosts/details.html [new file with mode: 0644]
htdocs/manual/vhosts/details_1_2.html [new file with mode: 0644]
htdocs/manual/vhosts/examples.html [new file with mode: 0644]
htdocs/manual/vhosts/fd-limits.html.en [new file with mode: 0644]
htdocs/manual/vhosts/fd-limits.html.html [new file with mode: 0644]
htdocs/manual/vhosts/fd-limits.html.ja.jis [new file with mode: 0644]
htdocs/manual/vhosts/footer.html [new file with mode: 0644]
htdocs/manual/vhosts/header.html [new file with mode: 0644]
htdocs/manual/vhosts/host.html [new file with mode: 0644]
htdocs/manual/vhosts/index.html.en [new file with mode: 0644]
htdocs/manual/vhosts/index.html.html [new file with mode: 0644]
htdocs/manual/vhosts/index.html.ja.jis [new file with mode: 0644]
htdocs/manual/vhosts/ip-based.html [new file with mode: 0644]
htdocs/manual/vhosts/mass.html [new file with mode: 0644]
htdocs/manual/vhosts/name-based.html.en [new file with mode: 0644]
htdocs/manual/vhosts/name-based.html.html [new file with mode: 0644]
htdocs/manual/vhosts/name-based.html.ja.jis [new file with mode: 0644]
htdocs/manual/vhosts/vhosts-in-depth.html [new file with mode: 0644]
htdocs/manual/vhosts/virtual-host.html [new file with mode: 0644]
htdocs/manual/win_compiling.html.en [new file with mode: 0644]
htdocs/manual/win_compiling.html.html [new file with mode: 0644]
htdocs/manual/win_compiling.html.ja.jis [new file with mode: 0644]
htdocs/manual/win_service.html.en [new file with mode: 0644]
htdocs/manual/win_service.html.html [new file with mode: 0644]
htdocs/manual/win_service.html.ja.jis [new file with mode: 0644]
htdocs/manual/windows.html.en [new file with mode: 0644]
htdocs/manual/windows.html.html [new file with mode: 0644]
htdocs/manual/windows.html.ja.jis [new file with mode: 0644]

diff --git a/htdocs/README.rus b/htdocs/README.rus
new file mode 100644 (file)
index 0000000..b33f256
--- /dev/null
@@ -0,0 +1,18 @@
+Apache test page, russian translation by Pavel Polischouk <pavelp@iil.intel.com>
+Different russian encodings provided:
+
+ Name             iconv's codepage
+
++index.html.dos  - CP-866 aka ibm866; used by DOS and OS/2. 
+*index.html.iso  - ISO-8859-5
+*index.html.koi  - KOI8-R; used by UNIX flavours and Mac.
+ index.html.ucs2 - UCS-2 aka UNICODE aka UNICODEBIG aka UTF-16
+ index.html.ucs4 - UCS-4
+*index.html.utf8 - UTF-8
+*index.html.win  - CP-1251 aka windows-1251 aka MS-CYRILLIC; used by Windows
+
+* - supported by Netscape 4.72. 
++ - Netscape is supposed to support this encoding, but fails to 
+read this page on Linux. Should be OK on systems like DOS and OS/2 where this
+encoding is the default.
+Does anyone need the UCS-2 and UCS-4?
\ No newline at end of file
diff --git a/htdocs/apache_pb.gif b/htdocs/apache_pb.gif
new file mode 100644 (file)
index 0000000..3a1c139
Binary files /dev/null and b/htdocs/apache_pb.gif differ
diff --git a/htdocs/index.html.ca b/htdocs/index.html.ca
new file mode 100644 (file)
index 0000000..002cec2
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>P&agrave;gina de prova de l'instal&middot;laci&oacute; d'Apache</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Funciona&nbsp;!  El servidor web Apache est&agrave; instal&middot;lat
+   en aquest lloc &nbsp;!
+  </h1>
+  <p>
+  Si veu aquesta p&agrave;gina, es que els propietaris d'aquest domini
+  acaben d'instal&middot;lar satisfact&ograve;riament el
+  <a href="http://www.apache.org/foundation/preFAQ.html">servidor web Apache</a>.
+  Ara han d'afegir contingut en aquest directori i substituir aquesta p&agrave;gina, 
+  o b&egrave; dirigir aquest servidor cap al contingut real.
+  </p>
+  <hr>
+  <blockquote>
+   Si est&agrave; veien aquesta p&agrave;gina i no es la que esperava, posis en
+   contacte  amb
+   <strong>l'administrador web d'aquest lloc.</strong>
+   (Provi d'enviar un correu electr&ograve;nic a <samp>&lt;Webmaster@<em>domain</em>&gt;</samp>.)
+   Encara que aquest lloc est&agrave; utilitzant el programari Apache, es gaireb&eacute; segur
+   que no t&egrave; res a veure amb el Grup Apache, per tant 
+   no envi&iuml; cap correu electr&ograve;nic als autors d'Apache referent a aquest lloc o al seu contingut.
+   Si es que ho fa, el seu missatge ser&agrave; <strong><big>ignorat</big></strong>.
+  </blockquote>
+  <hr>
+  <p>
+  La
+  <a href="manual/">documentaci&oacute;</a>
+  d'Apache ha estat inclosa en aquesta distribuci&oacute;.
+  </p>
+  <p>
+  L'administrador de web pot utilitzar lliurement la imatge d'aqu&iacute; sota
+  en el servidor web equipat amb el programari Apache.
+  Gr&agrave;cies per utilitzar Apache&nbsp;!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.cz b/htdocs/index.html.cz
new file mode 100644 (file)
index 0000000..edadd7b
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
+  <title>Testovací stránka instalace web serveru Apache</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Funguje to! Na tomto serveru bì¾í Apache!
+  </h1>
+  <p>
+  Pokud vidíte tuto zprávu, správce tohoto poèítaèe právì úspì¹nì
+  nainstaloval Apache web server.
+  Teï je¹tì musí doplnit obsah a nahradit tuto standardní uvítací
+  stránku, nebo pøesmìrovat server na skuteènou domovskou stránku.
+  </p>
+  <hr>
+  <blockquote>
+   Pokud vidíte tuto zprávu místo oèekávané domovské stránky, 
+   <strong>kontaktujte, prosím, správce pøíslu¹ného web
+   serveru.</strong> (Zkuste poslat e-mail na adresu
+   <samp>&lt;Webmaster@<em>domain</em>&gt;</samp>.) 
+   Pøesto¾e tento server pou¾ívá program Apache, témìø jistì nemá nic
+   spoleèného s Apache Group, proto prosím neposílejte e-maily o tomto
+   serveru nebo jeho obsahu autorùm Apache. Pokud to udìláte, budeme
+   va¹e zprávy <strong><big>ignorovat</big></strong>.
+  </blockquote>
+  <hr>
+  <p>
+  Zde najdete
+  <a
+   href="manual/"
+  >dokumentaci</a>
+  Apache (anglicky) obsa¾enou v této distribuci.
+  </p>
+  <p>
+  Následující logo mù¾e být pou¾ito bez omezení na web serveru s
+  programem Apache. Dìkujeme za pou¾ití Apache!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.de b/htdocs/index.html.de
new file mode 100644 (file)
index 0000000..7d2d4e8
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Testseite fuer die Apache-Installation auf dieser Web Site</title>
+  <!-- Translated Wed Aug 18 11:04:02 GMT 1999 - Martin.Kraemer@Fujitsu-Siemens.com -->
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Es klappt! Der Apache Web-Server ist auf dieser Web-Site installiert!
+  </h1>
+  <p>
+   Wenn Sie diese Seite sehen, dann bedeutet das, dass die
+   Eigent&uuml;mer dieser Dom&auml;ne soeben einen neuen
+   <a href="http://www.apache.org/foundation/preFAQ.html">Apache Web-Server</a>
+   erfolgreich installiert haben. Jetzt muss noch der
+   richtige Web-Inhalt zugef&uuml;gt und diese Platzhalter-Seite
+   ersetzt werden (oder der Web-Server f&uuml;r den Zugriff auf den
+   richtigen Inhalt umkonfiguriert werden).
+  </P>
+  <hr>
+  <blockquote>
+   Wenn Sie diese Seite an Stelle einer anderen erwarteten Web-Site
+   sehen sollten, dann <strong>nehmen Sie bitte Kontakt mit dem
+   Eigent&uuml;mer dieser Site auf</strong> (Versuchen Sie, eine EMail
+   an <samp>&lt;Webmaster@<em>dom&auml;nenname</em>&gt;</samp>
+   zu senden)!<br>
+   <p>
+   Obwohl der Eigent&uuml;mer dieser Dom&auml;ne die Apache
+   Web-Server Software verwendet, hat diese Web-Site ziemlich sicher
+   keinerlei Verbindung mit der <em>Apache Software Foundation</em>
+   (die diese Software kostenlos vertreibt). Es besteht also
+   <big><strong>keinerlei Veranlassung</strong></big>, eine EMail an
+   die Entwickler der Software zu senden. Sollten Sie das dennoch
+   tun, wird Ihre Mail stillschweigend
+   <strong><big>ignoriert</big></strong>.
+  </blockquote>
+  <hr>
+  <p>
+   Die englische <a
+   href="manual/">Online-Dokumentation</a> f&uuml;r die
+   Apache Web-Server Software ist Bestandteil dieser
+   Software-Distribution.
+  </p>
+  <p>
+   Dem <i>WebMaster</i> dieser Web-Site steht es frei, das
+   untenstehende "Powered by Apache"-Logo auf einem Apache-basierten
+   Web-Server zu verwenden.<br>
+   Vielen Dank, dass Sie Apache gew&auml;hlt haben!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="Powered by Apache!">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.dk b/htdocs/index.html.dk
new file mode 100644 (file)
index 0000000..2732772
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Pr&oslash;veside for Apache installationen</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Det virkede!  Apache Webserveren er installeret p&aring; denne maskine!
+  </h1>
+  <p>
+  Hvis du kan se denne side, s&aring; har dem som ejer dette dom&aelig;ne lige
+  installeret <a href="http://www.apache.org/foundation/preFAQ.html">Apache Webserveren</a>.
+  Du m&aring; nu placere web sider i dette directory og fjerne denne side, eller
+  konfigurere serveren til at anvende et andet directory.
+  </p>
+  <hr>
+  <blockquote>
+   Hvis du ser denne side istedet for en anden forventet side, <strong>kontakt
+   venligst administratoren for den server du pr&oslash;ver at kontakte.</strong>
+   (Pr&oslash;v at sende mail til <samp>&lt;Webmaster@<em>domain</em>&gt;</samp>.)
+   Apachegruppen har ikke noget at g&oslash;re med denne site, s&aring; det vil ikke
+   hj&aelig;lpe at sende mail to Apache udviklerne ang&aring;ende denne site.  
+  </blockquote>
+  <hr>
+  <p>
+  Apache-
+  <a
+   href="manual/"
+  >documentationen</a>
+  er inkluderet med denne distribution.
+  </p>
+  <p>
+  Webmasteren af denne site m&aring; gerne bruge den f&oslash;lgende grafik
+  p&aring; en Apache-drevet webserver.  Mange tak for at bruge Apache!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.ee b/htdocs/index.html.ee
new file mode 100644 (file)
index 0000000..7208921
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Apache veebiserveri installatsiooni testlehek&uuml;lg</title>
+  <!-- Original translation: Ahti Heinla, ahti@ahti.bluemoon.ee, Thu Aug 19 12:57:48 GMT 1999 -->
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Kujuta pilti, k&auml;ima l&auml;ks!  Apache veebiserver on installeeritud!
+  </h1>
+  <p>
+  Kui Sa n&auml;ed seda lehek&uuml;lge, siis selle domeeni omanikud on
+  edukalt hakkama saanud <a href="http://www.apache.org/foundation/preFAQ.html">Apache veebiserveri</a>
+  installeerimisega. J&auml;rgmiseks peaks nad selle lehek&uuml;lje asendama
+  misiganes materjaliga, mida nad oma veebisaidis n&auml;idata tahavad,
+  v&otilde;i siis juhatama veebiserverile k&auml;tte tegeliku materjali
+  asukoha.
+  </p>
+  <hr>
+  <blockquote>
+   Kui Sa ootasid siin lehek&uuml;ljel n&auml;ha hoopis midagi muud,
+   siis palun <strong>v&otilde;ta &uuml;hendust selle veebisaidi
+   administraatoriga.</strong> (V&otilde;id n&auml;iteks kirjutada aadressil
+   <samp>&lt;Webmaster@<em>domain</em>&gt;</samp>.) Kuigi see veebisait
+   kasutab Apache tarkvara, pole ta peaaegu kindlasti mitte Apache Group'iga
+   mingil muul moel seotud. Seega, palun &auml;ra kirjuta selle saidi
+   asjus Apache autoritele. Kui sa seda teed, siis sinu kirja
+   <strong><big>ignoreeritakse</big></strong>.
+  </blockquote>
+  <hr>
+  <p>
+  Ka Apache
+  <a
+   href="manual/"
+  >dokumentatsioon</a>
+  on selles distributsioonis olemas.
+  </p>
+  <p>
+  Kohalik veebmeister v&otilde;ib vabalt kasutada allpool olevat
+  pilti oma Apache veebiserveril. Ait&auml;h Apachet kasutamast!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.el b/htdocs/index.html.el
new file mode 100644 (file)
index 0000000..b194dc5
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EL">
+<html>
+ <head>
+  <title>ÄïêéìáóôéêÞ Óåëßäá ãéá ôçí ÅãêáôÜóôáóç ôïõ Apache</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+
+
+<p>
+ÅÜí ìðïñåßôå íá äåßôå áõôÞ ôç óåëßäá, ôüôå ç åãêáôÜóôáóç ôïõ ëïãéóìéêïý ôïõ <a href="http://www.apache.org/foundation/preFAQ.html">ÅîõðçñåôçôÞ WWW Apache</a> óå áõôü ôï óýóôçìá Þôáí åðéôõ÷Þò. Ìðïñåßôå ôþñá íá ðñïóèÝóåôå ðåñéå÷üìåíï óå áõôü ôïí êáôÜëïãï êáé íá áíôéêáôáóôÞóåôå áõôÞ ôç óåëßäá.
+
+<p><hr width="50%" size="8">
+
+<h2 align="CENTER">ÂëÝðåôå áõôÞ ôç óåëßäá áíôß ãéá ôï äéêôõáêü ôüðï ðïõ ðåñéìÝíáôå;</h2>
+
+<p>
+ÁõôÞ ç óåëßäá âñßóêåôáé åäþ ãéáôß ï äéá÷åéñéóôÞò áõôïý ôïõ äéêôõáêïý ôüðïõ ôñïðïðïßçóå ôéò ñõèìßóåéò óôïí åîõðçñåôçôÞ Apache. Ðáñáêáëþ <strong>åðéêïéíùíÞóôå ìå ôïí õðåýèõíï ãéá ôç äéá÷åßñéóç ôïõ ðáñüíôïò åîõðçñåôçôÞ.</strong> Ôï ºäñõìá Ëïãéóìéêïý Apache (The Apache Software Foundation) Ýãñáøå ôï ëïãéóìéêü ôïõ åîõðçñåôçôÞ WWW ôï ïðïßï ÷ñçóéìïðïéåß ï äéá÷åéñéóôÞò áõôïý ôïõ äéêôõáêïý ôüðïõ. Ôï ºäñõìá üìùò äåí Ý÷åé êáìéÜ áñìïäéüôçôá ó÷åôéêÞ ìå ôç äéá÷åßñéóç áõôïý ôïõ äéêôõáêïý ôüðïõ êáé äåí ìðïñåß íá âïçèÞóåé óôçí åðßëõóç èåìÜôùí ðïõ Ý÷ïõí ó÷Ýóç ìå ôéò ñõèìßóåéò ôïõ.
+
+<p><hr width="50%" size="8">
+
+
+<p>
+Ç <a href="manual/">ôåêìçñßùóç</a> ôïõ Apache Ý÷åé óõìðåñéëçöèåß óå áõôÞ ôç äéáíïìÞ.
+
+<p>
+Åßóôå åëåýèåñïò/ç íá ÷ñçóéìïðïéÞóåôå ôçí ðáñáêÜôù åéêüíá óå Ýíáí åîõðçñåôçôÞ ôïõ WWW ðïõ âáóßæåôáé óå Apache.  Åõ÷áñéóôïýìå ðïõ ÷ñçóéìïðïéåßôå ôïí Apache!
+
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>
+</body>
+</html>
diff --git a/htdocs/index.html.en b/htdocs/index.html.en
new file mode 100644 (file)
index 0000000..dc4c518
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Test Page for Apache Installation</title>
+</head>
+<!-- Background white, links blue (unvisited), navy (visited), red
+(active) -->
+<body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+vlink="#000080" alink="#FF0000">
+<p>If you can see this, it means that the installation of the <a
+href="http://www.apache.org/foundation/preFAQ.html">Apache web
+server</a> software on this system was successful. You may now add
+content to this directory and replace this page.</p>
+
+<hr width="50%" size="8" />
+<h2 align="center">Seeing this instead of the website you
+expected?</h2>
+
+<p>This page is here because the site administrator has changed the
+configuration of this web server. Please <strong>contact the person
+responsible for maintaining this server with questions.</strong>
+The Apache Software Foundation, which wrote the web server software
+this site administrator is using, has nothing to do with
+maintaining this site and cannot help resolve configuration
+issues.</p>
+
+<hr width="50%" size="8" />
+<p>The Apache <a href="manual/">documentation</a> has been included
+with this distribution.</p>
+
+<p>You are free to use the image below on an Apache-powered web
+server. Thanks for using Apache!</p>
+
+<div align="center"><img src="apache_pb.gif" alt="" /></div>
+</body>
+</html>
+
diff --git a/htdocs/index.html.es b/htdocs/index.html.es
new file mode 100644 (file)
index 0000000..b67fbb3
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//ES">
+<html>
+ <head>
+  <title>Pag&iacute;na para probar la instalaci&oacute;n de Apache</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   &iexcl;Funcion&oacute;!  &iexcl;El Servidor de Red Apache ha sido instalado en ese sitio!
+  </h1>
+  <p>
+  Si usted puede ver esta pag&iacute;na, entonces los due&ntilde;os de esta
+  maqu&iacute;na han instalado el
+  <a href="http://www.apache.org/foundation/preFAQ.html"
+  >Servidor de Red Apache</a> con ex&iacute;to.  Ahora deben
+  a&ntilde;adir contenido a este directorio
+  y reemplazar esta pag&iacute;na, &oacute; apuntar este servidor al contenido real.
+  </p>
+  <hr>
+  <blockquote>
+   Si usted esta leyendo esta pag&iacute;na y no es lo que esperaba, por favor
+   <strong>contacte el administrador de este sitio.</strong>
+   (Trate de enviar correo electr&oacute;nico a <samp>&lt;Webmaster@<em>domain</em>&gt;</samp>.)
+   Aunque este sitio esta utilizando el programa Apache es casi seguro
+   que no tiene ninguna conexi&oacute;n con el Apache Group, por eso favor de
+   no enviar correo sobre este sitio o su contenido a los autores de
+   Apache.  Si lo hace, su mensaje sera
+   <strong><big>ignorado</big></strong>.
+  </blockquote>
+  <hr>
+  <p>
+  La
+  <a
+   href="manual/index.html"
+  >documentaci&oacute;n</a>
+  de Apache ha sido incluida en esta distribuci&oacute;n.
+  </p>
+  <p>
+  El administrador del sitio esta invitado a usar la siguiente
+  imagen para indicar que su sitio es servido por Apache.
+  &iexcl;Gracias por usar Apache!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.fr b/htdocs/index.html.fr
new file mode 100644 (file)
index 0000000..f8949b2
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <title>Page de test de l'installation d'Apache</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red
+(active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+
+
+<p>Si vous lisez cette page, c'est que les propriétaires de ce
+domaine viennent d'installer le
+serveur web Apache
+avec succès. Ils doivent maintenant ajouter du contenu à ce
+répertoire et remplacer cette page, ou bien faire pointer le serveur
+vers l'endroit où se trouve le contenu réel du site.</p>
+
+<hr width="50%" size="8">
+
+<h2 align="CENTER">Vous voyez cette page au lieu du site attendu&nbsp;?</h2>
+
+<p>Vous voyez cette page parce que l'administrateur du site a modifié
+la configuration de ce serveur Web. Veuillez contacter
+<strong>l'administrateur du site concerné</strong>. La Fondation
+Apache (Apache Software Foundation), qui produit le logiciel Apache
+utilisé par ce site, n'a rien à voir avec la maintenance de ce
+site et ne peut intervenir sur sa configuration.</p>
+
+<hr width="50%" size="8">
+
+<p>La <a href="manual/">documentation</a> Apache est incluse dans cette
+distribution.</p>
+
+<p>Le webmaster de ce site peut librement utiliser l'image ci-dessous sur un
+site web utilisant le logiciel Apache. Merci d'avoir choisi Apache&nbsp;!</p>
+
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>
+
+</body>
+</html>
diff --git a/htdocs/index.html.he.iso8859-8 b/htdocs/index.html.he.iso8859-8
new file mode 100644 (file)
index 0000000..b3ca155
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>                      
+ <head>                                                             
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-8">
+   <title>Apache-ä úøù úð÷úäì ïåéñð óã</title>                              
+ </head>                                                                 
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+  bgcolor="#FFFFFF"                                                             
+  text="#000000"                                                                
+  link="#0000FF"                                                                
+  vlink="#000080"                                                               
+  alink="#FF0000"                                                               
+ >                                                                              
+
+<div align="CENTER">
+                                                        <p>
+                        
+                                                   <br> äæä ãåîòä úà äàåø äúà íà
+<br>Apache èðøèðéàä úøù ìù äð÷úääù øîåà äæ
+                                                              <br>!!!äçìöäá äøáò
+                                        <br> êìù íéöá÷ä úà óéñåäì ìåëé äúà åéùëò
+                                             <br>.äæä óãä úà óéìçäìå úàæä äöéçîì
+       
+                                                                         
+<p><hr width="50%" size="8">                                                    
+                                                                                
+                      <h2 align="CENTER">?úéôéöù øúàä íå÷îá úàæ äàåø</h2>        
+                                                                             <p>
+                                   <br> äæä øúàä ìò éàøçàä éë ,ïàë àöîð äæä ãåîòä
+                                   <br>.äæä èðøèðéàä úøù ìù äéöøåâéôðå÷ä úà äðéù
+                       <br>.<strong>úåìàù íò úøùä éàøçà íò øù÷ øåöéì</strong> àð
+                                      <br>úà äøöé øùà Apache Software Foundation
+                                   <br>úøùä ú÷åæçú ìò úéàøçà äðéà ,äæä úøùä úðëåú
+                                 <br>äéöøåâéôðå÷ úåéòá ïåøúôá òééñì äìåëé äðéàå
+                                                                          .ïäùìë
+
+<p><hr width="50%" size="8">                                                    
+
+                                                                             <p>
+              <br> êåúá íéòöîð <a href="manual/index.html">äéöèðîå÷åãä éëîñî</a>
+                                                               .úøùä úðëåú úìéáç
+                                                                                
+                                                                                
+                                                                             <p>
+                                     <br>ãåîòä úéúçúá àöîðä ìîñá ùîúùäì éàùø äúà
+                                              <br>.Apache é''ò ìòôåîù úøùä ìò ÷ø
+                                                                                
+                                                      !!!Apache-á ùåîéùä ìò äãåú
+                                                                                
+           </div>                                                                     
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>                      
+</body>                                                                         
+</html>                                                                         
diff --git a/htdocs/index.html.hu b/htdocs/index.html.hu
new file mode 100644 (file)
index 0000000..d92e7a2
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Ezen a web oldalon az Apache-webszerver van telepítve!</title>
+  <!-- Translated Wed Jan  7 09:22:01 2004 - Lacza Vilmos at siemens dot com -->
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red
+ (active) -->
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+  <h1 align="center">Tal&aacute;lt! Ezen a web oldalon az
+  Apache-webszerver van telep&iacute;tve!</h1>
+  <p>
+    Ha &Ouml;n ezt az oldalt l&aacute;tja, az azt jelenti, hogy
+    ennek a domain-nek a tulajdonosa &eacute;ppen egy &uacute;j
+    Apache webszervert telep&iacute;tett sikeresen.  Most
+    m&eacute;g ezt a lapot a val&oacute;s web tartalommal ki kell
+    eg&eacute;sz&iacute;teni &eacute;s a lapot
+    &aacute;talak&iacute;tani (vagy a webszervert a val&oacute;s
+    tartalmak el&eacute;r&eacute;s&eacute;hez &aacute;t kell
+    konfigur&aacute;lni).
+  </p>
+  <hr />
+  <blockquote>
+   <p>
+    Ha &Ouml;n ezt a lapot egy m&aacute;sik v&aacute;rt weblap
+    helyett l&aacute;tn&aacute;, <strong>vegye fel a kapcsolatot
+    ennek a lapnak a tulajdonos&aacute;val!</strong>
+    (K&iacute;s&eacute;relje meg e-mail &uuml;zenet
+    k&uuml;ld&eacute;s&eacute;t a
+    <samp>&lt;webmaster@<em>domain-n&eacute;v</em>&gt;</samp>
+    c&iacute;mre).<br />
+   </p>
+   <p>
+     Annak ellen&eacute;re, hogy ennek a domain-nek a tulajdonosa
+     az Apache webszerver szoftvert haszn&aacute;lja, ennek az
+     oldalnak semminem&uuml; kapcsolata nincs az <em>Apache
+     Software Foundation</em> szervezettel (amely ezt a szoftvert
+     ingyenesen terjeszti). <strong>Ebb&otilde;l kifoly&oacute;lag
+     nem &aacute;ll fenn semmilyen indok e-mail &uuml;zenet
+     k&uuml;ld&eacute;s&eacute;re a szoftver fejleszt&otilde;inek
+     c&iacute;mezve.</strong> Ha &Ouml;n m&eacute;gis ezt
+     tenn&eacute;, az &Ouml;n e-mail <strong><big>&uuml;zenete
+     t&ouml;r&ouml;lve lesz</big></strong>.
+   </p>
+  </blockquote>
+  <hr />
+  <p>
+   Az Apache-webszerver szoftver angol nyelv&ucirc; <a
+   href="manual/">online dokument&aacute;ci&oacute;ja</a>
+   r&eacute;sze ennek a szoftvercsomagnak.
+  </p>
+  <p>
+   Ezen weblap webmester&eacute;nek joga van az alul
+   elhelyezked&otilde; "Powered by Apache"-log&oacute;t Apache
+   szoftveren alapul&oacute; webszerveren haszn&aacute;lni.
+   <br />
+   K&ouml;sz&ouml;net, hogy &Ouml;n az Apache szoftvert
+   v&aacute;lasztotta!
+  </p>
+  <div align="center">
+   <img src="apache_pb.gif" alt="Powered by the Apache HTTP Server!">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.it b/htdocs/index.html.it
new file mode 100644 (file)
index 0000000..b183155
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <title>Pagina di prova dell'installazione di un sito Web con Apache</title>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+
+<center>
+<h1>
+Funziona! Il Server Web Apache &egrave; stato installato su questo sito Web!</h1></center>
+Se riuscite a vedere questa pagina, allora vuol dire che coloro che gestiscono
+questo dominio hanno appena installato il software <a href="http://httpd.apache.org/">Web&nbsp;Server
+Apache</a> correttamente. Ora &egrave; necessario aggiungere il vostro materiale
+in questa directory e sostituire questa pagina di prova, oppure configurare
+il server per far riferimento al vostro materiale se collocato altrove.
+<p>
+<hr>
+<blockquote>Se state vedendo questa pagina invece del sito che pensavate,
+vi preghiamo di <b>contattare l'amministratore del sito in questione.</b>
+(Provate ad inviare un email a <tt>&lt;Webmaster@<i>domain</i>&gt;</tt>.)&nbsp;
+Nonostante questo sito stia utilizzando il software Apache, questo non
+vi garantisce nessun tipo di contatto diretto al Gruppo Apache, quindi
+vi preghiamo di non inviare email riguardanti questo sito o il materiale
+in esso contenuto agli autori di Apache. Ogni messaggio del genere verr&agrave;
+<b><font size="+1">ignorato</font></b>.</blockquote>
+
+<hr>
+<br>La <a href="manual/">documentazione</a> relativa di Apache
+&egrave; inclusa nella distribuzione.
+<p>Il Webmaster di questo sito &egrave; libero di utilizzare l'immagine qui sotto
+su qualsiasi Web server potenziato con Apache. Grazie per aver scelto Apache!
+<center>
+<p><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.ja.jis b/htdocs/index.html.ja.jis
new file mode 100644 (file)
index 0000000..78e1937
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+    <title>Apache \e$B%$%s%9%H!<%k;~$N%F%9%H%Z!<%8\e(B</title>
+  </head>
+  <!-- English revision: 1.10 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+
+    <p>\e$B$b$7$3$N%Z!<%8$,FI$a$?$N$G$"$l$P!"\e(B<a href="http://www.apache.org/foundation/preFAQ.html"
+    >Apache\e$B%&%'%V%5!<%P\e(B</a>\e$B$N%$%s%9%H!<%k$,$3$N7W;;5!$GL5;v$K=*N;$7$?$3$H$r0UL#$7$^$9!#\e(B
+    \e$B$"$J$?$O!"$3$N%G%#%l%/%H%j$KJ8=q$r2C$($?$j!"$3$N%Z!<%8$rCV$-$+$($k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <hr width="50%" size="8" />
+    <h2 align="center">\e$B$"$J$?$NM=A[$KH?$7$F!"$3$N%Z!<%8$,8+$($F$$$k$G$7$g$&$+\e(B?</h2>
+
+    <p>\e$B$3$N%Z!<%8$O!"%5%$%H4IM}<T$,$3$N\e(B web \e$B%5!<%P$N@_Dj$rJQ99$7$?$?$a$K8+$($F$$$^$9!#\e(B
+    <strong>\e$B$3$N%5!<%P$r4IM}$9$k@UG$$r;}$C$F$$$kJ}$KO"Mm$r$H$C$F\e(B</strong>\e$B$/$@$5$$!#\e(B
+    \e$B$3$N%5%$%H4IM}<T$,MxMQ$7$F$$$k\e(B web \e$B%5!<%P$r3+H/$7$?\e(B The Apache Software Foundation
+    \e$B$O!"$3$N%5%$%H$N\e(B web \e$B%5!<%P$N4IM}$H$O4X78$,$J$/!"\e(B
+    \e$B%5!<%P$N@_Dj$K4X$9$kLdBj$r2r7h$9$k$3$H$O$G$-$^$;$s!#\e(B
+    </p>
+
+    <hr width="50%" size="8" />
+    <p>Apache \e$B$K4X$9$k\e(B<a href="manual/index.html">\e$BJ8=q\e(B</a>\e$B$O!"$3$N\e(B web
+    \e$B%5!<%PG[I[J*$NCf$K4^$^$l$F$$$^$9!#\e(B</p>
+
+    <p>\e$B0J2<$N2hA|$O!"\e(BApache \e$B$rMxMQ$7$F$$$k\e(B web \e$B%5!<%P$G<+M3$K;H$&$3$H$,$G$-$^$9!#\e(B
+    Apache \e$B$r$4MxMQ$$$?$@$-!"$"$j$,$H$&$4$6$$$^$9\e(B!</p>
+
+    <div align="center"><img src="apache_pb.gif" alt="" /></div>
+  </body>
+</html>
diff --git a/htdocs/index.html.kr.iso-kr b/htdocs/index.html.kr.iso-kr
new file mode 100644 (file)
index 0000000..f9c8b5d
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//KR">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=eucKR">
+  <title>¾ÆÆÄÄ¡ ¼³Ä¡¸¦ À§ÇÑ Å×½ºÆ®ÆäÀÌÁö</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+
+
+<p>
+ÇöÀçÈ­¸éÀÌ Àß º¸À̽Ŵٸé ÀÌ ½Ã½ºÅÛ¿¡ <a href="http://www.apache.org/foundation/preFAQ.html">Apache À¥¼­¹ö</a>  ¼ÒÇÁÆ®¿þ¾îÀÇ ¼³Ä¡°¡ ¼º°øÀûÀ¸·Î ³¡³µ´Ù´Â°É ÀǹÌÇÕ´Ï´Ù. ¿©·¯ºÐÀº ¾Æ¸¶ °ð ÀÌ ÆäÀÌÁö¸¦ Áö¿ì°í µð·ºÅ丮¿¡ »õ·Î¿î ³»¿ëÀ» Ãß°¡ÇÒ °ÍÀÔ´Ï´Ù.
+
+<p><hr width="50%" size="8">
+
+<h2 align="CENTER">¿©·¯ºÐÀÌ ¿¹»óÇÑ À¥½ÎÀÌÆ® ´ë½Å ÀÌ È­¸éÀÌ º¸ÀԴϱî?</h2>
+
+<p>
+½ÎÀÌÆ® °ü¸®ÀÚ°¡  À¥ ¼­¹öÀÇ ¼³Á¤ÆÄÀÏÀ» º¯°æÇ߱⠶§¹®¿¡ ÀÌ ÆäÀÌÁö°¡ º¸À̴ °Í ÀÔ´Ï´Ù.  
+<strong>Áú¹®»çÇ×Àº °¢ ¼­¹ö°ü¸® Ã¥ÀÓÀÚ¿¡°Ô ¹®ÀÇÇϽñ⠹ٶø´Ï´Ù.</strong> Apache Software FoundationÀº Çö ½ÎÀÌÆ®ÀÇ °ü¸®ÀÚ°¡ »ç¿ëÁßÀΠÀ¥¼­¹ö¸¦ ¸¸µç ´Üü
+ÀÏ »Ó ½ÎÀÌÆ®ÀÇ °ü¸®¹æ¹ýÀ̳ª ¼³Á¤¹®Á¦¿¡ °üÇÑ µµ¿òÀ» µå¸± ¼ö ¾ø½À´Ï´Ù.
+
+<p><hr width="50%" size="8">
+
+
+<p>
+¾ÆÆÄÄ¡ <a href="manual/index.html">¹®¼­</a>´Â ÀÌ ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. 
+
+<p>
+¾Æ·¡¿¡ Àִ Apache À̹ÌÁö¸¦ »ç¿ëÇϴ°Ǡ¿©·¯ºÐÀÇ ÀÚÀ¯ÀÔ´Ï´Ù. ¾ÆÆÄÄ¡¸¦ »ç¿ëÇØ Áּż­ °¨»çÇÕ´Ï´Ù!
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>
+</body>
+</html>
diff --git a/htdocs/index.html.lb.utf8 b/htdocs/index.html.lb.utf8
new file mode 100644 (file)
index 0000000..58b9597
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <!-- Originally translated by Jean-Luc Widlowski, jean-luc.widlowski@jrc.it Thu Aug 19 13:00:18 GMT 1999 -->
+   <title>Test Page for Apache Installation on Web Site</title>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+
+<center>
+<h1>
+Et huet geklappt! Den Apache Web Server as op d&euml;ser 'Web Site' installeiert!</h1></center>
+Wann Dir die heiten Sait gesit, dann hun d'Proprietairen vun d&euml;ser 'domain'
+elo just d'<a href="http://www.apache.org/foundation/preFAQ.html">Apache Web server</a> software
+mat succ&eacute;s installeiert. Sie mussen allerdengs nach des Decksait
+remplaceieren oder awer de Server op eng aner Sait mat dem richtigen contenu
+em-dirigeieren.
+<br>
+<hr>
+<blockquote>Wann Dir die heiten Sait anstell vun der site die Dir erw&acirc;rt
+hut gesitt, da contacteiert wannechglift den <b>administrator vun dem betraffener
+site.</b> (Versicht &eacute;n email no <tt>&lt;Webmaster@<i>domain</i>&gt;
+</tt><font face="Times New Roman,Times">ze
+schecken.) Obwuel den heiten site </font>Apache software benotzt, as et
+ball secher datt keng Verbindung mat der Apache Group existeiert, also scheckt
+wannechglift keng email iwert desen site oder sein contenu zu den Apache
+Autoren. Falls Dir d&euml;st awer macht, get &auml;ren message&nbsp;
+<b><font size="+2">ignoreiert.</font></b></blockquote>
+
+<hr>
+<p>D'Apache <a href="manual/">documentation</a> ass d&euml;ser Ausgab
+beigef&uuml;cht.
+<p>Dem Webmaster vun dem heitenen site steht et zou dest Bild ob engem
+Apache-powered Web server ze presenteieren. Merci dat Dir Apache benotzt!
+<center><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.nl b/htdocs/index.html.nl
new file mode 100644 (file)
index 0000000..88267d9
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Test Pagina voor de Apache Installatie op deze Web Site</title>
+  <!-- Translated Tue Aug 17 20:57:17 GMT 1999 - dirkx@webweaving.org -->
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Alles Werkt! De Apache Web Server is geinstalleerd op deze Web Site
+  </h1>
+  <p>
+  Mocht u deze pagina zien, dan betekent dat, dat de eigenaren van dit
+  domein zojuist een nieuwe <a href="http://httpd.apache.org/">Apache Web
+  Server</a> hebben geinstalleerd. Nu moet men nog de echte inhoud gaan
+  toevoegen, en moet men deze pagina gaan vervangen door de echte web
+  site. 
+  </p>
+  <hr>
+  <blockquote>
+   Mocht u deze pagina zien, in plaats van de pagina of web site die u 
+   verwachtte, neem dan <strong>contact op met de beheerder van
+   deze site</strong>. Bijvoorbeeld door een berichtje te sturen naar
+   <samp>&lt;Webmaster@<em>dit-domain</em>&gt;</samp>.
+   <p>
+   Alhoewel deze web site gebruik maakt van de Apache Software is er 
+   verder geen enkele relatie tussen de beheerders van deze web site en
+   de Apache Groep (die de web software geschreven heeft). Het heeft dus
+   <big><strong>absoluut</strong></big>
+   geen zin de web software auteurs een emailtje te sturen. Mocht u dat
+   toch doen, dan wordt uw bericht gewoon <strong><big>genegeerd</big></strong>.
+  </blockquote>
+  <hr>
+  <p>
+  De 
+  <a href="manual/index.html" >handleiding</a> voor de apache web
+  server software maakt deel uit van deze distributie.
+  </p>
+  <p>
+  Als beheerder of <i>webmaster</i> is het u toegestaan het onderstaande 
+  plaatje vrijelijk te gebruiken op uw 'Apache Powered' web site. Bedankt
+  voor het kiezen voor, en gebruiken van, Apache!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="Klein 'Powered by Apache' Logotje">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.nn b/htdocs/index.html.nn
new file mode 100644 (file)
index 0000000..67db957
--- /dev/null
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+ <HEAD>
+  <TITLE>Testside Apache-installasjon</TITLE>
+ </HEAD>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <BODY
+  BGCOLOR="#FFFFFF"
+  TEXT="#000000"
+  LINK="#0000FF"
+  VLINK="#000080"
+  ALINK="#FF0000"
+ >
+  <H1 ALIGN="CENTER">
+   Det gjekk bra! Apache er no installert på denne maskina!
+  </H1>
+  <P>
+  Dersom du kan sjå denne sida, har den eller dei som driv denne nettstaden
+  installert <A href="http://www.apache.org/foundation/preFAQ.html">Apache vevtenar</a>.
+  No må denne testsida erstattast med verkeleg innhald.
+  </P>
+  <HR>
+  <BLOCKQUOTE>
+  Dersom du hadde venta å sjå ei anna side enn denne, bør du
+  <strong>ta kontakt med den som er ansvarleg for denne nettstaden</strong>
+   (Prøv å sende e-post til <SAMP>&lt;webmaster@<EM>domene</EM>&gt;</SAMP>.)
+   Sjølv om denne nettstaden vert kjørt på Apache, har den ingen annan
+   tilknytning til Apache-gruppa, som har utvikla programvaren.
+   Ver snill og ikkje send e-post om denne nettstaden eller
+   innhaldet du finn her til utviklarane i Apache-gruppa. 
+   I så tilfelle vil førespurnaden <strong><BIG>ignorerast</BIG></strong>.
+  </BLOCKQUOTE>   
+  <HR>
+  <P>
+  <A
+   HREF="manual/index.html"
+  >Dokumentasjon</A>
+  for Apache er inkludert i denne pakka.
+  </P>
+  <P>
+  Logoen under kan brukast på kva som helst av maskiner som køyrer Apache.
+  Takk for at du nyttar Apache!
+  </P>
+  <DIV ALIGN="CENTER">
+   <IMG SRC="apache_pb.gif" ALT="">
+  </DIV>
+ </BODY>
+</HTML>
diff --git a/htdocs/index.html.no b/htdocs/index.html.no
new file mode 100644 (file)
index 0000000..0432f84
--- /dev/null
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Testside Apache-installasjon</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Det gikk bra! Apache er nå installert på denne maskinen!
+  </h1>
+  <p>
+  Hvis du kan se denne siden har den eller de som driver dette nettstedet
+  installert <a href="http://www.apache.org/foundation/preFAQ.html">Apache Web server</a>.
+  Nå må denne testsiden erstattes med virkelig innhold.
+  </p>
+  <hr>
+  <blockquote>
+  Hvis du hadde ventet å se en annen side enn denne bør du  
+  <strong>ta kontakt med den som har ansvaret for nettstedet.</strong>
+   (Prøv å sende e-post til <samp>&lt;webmaster@<em>domene</em>&gt;</samp>.)
+   Selv om dette nettstedet kjøres på Apache, har det ingen annen 
+   tilknytning til Apache-gruppen som har utviklet programvaren.
+   Vennligst ikke send post angående dette nettstedet eller dets
+   innhold til Apache-gruppens programmerere. I så fall vil din henvendelse
+   bli <strong><big>ignorert</big></strong>.  
+  </blockquote>   
+  <hr>
+  <p>
+  <a
+   href="manual/index.html"
+  >Dokumentasjon</a>
+  for Apache er inkludert i denne pakken.
+  </p>
+  <p>
+  Logoen under kan benyttes på en hvilken som helst maskin som kjører Apache.
+  Takk for at du benytter Apache!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.po.iso-pl b/htdocs/index.html.po.iso-pl
new file mode 100644 (file)
index 0000000..471a695
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Strona testowa instalacji serwera Apache</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
+  <!-- translated by Bart Grzybicki, bgrzybicki@morliny.pl - http://www.bgrzybicki.morliny.pl on 19th of December 2000 -->
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+
+
+<p>
+Je¿eli strona ta jest widoczna, oznacza to poprawn± instalacjê serwera <a href="http://www.apache.org/foundation/preFAQ.html">Apache</a>.  Mo¿na ju¿ zamieniæ zawarto¶æ tej witryny.
+
+<p><hr width="50%" size="8">
+
+<h2 align="CENTER">Czy zamiast spodziewanej witryny WWW widoczna jest ta?</h2>
+
+<p>
+Strona ta jest widoczna, poniewa¿ administrator serwera WWW zmieni³ jego konfiguracjê.  
+Proszê <strong>skontaktowaæ siê z osob± odpowiedzialn± za zarz±dzanie tym serwerem.</strong> Apache Software Foundation, producent oprogramowania serwerowego Apache, nie administruje t± witryn± i nie jest w stanie pomóc w sprawach zwi±zanych z jej konfiguracj±.
+
+<p><hr width="50%" size="8">
+
+
+<p>
+Do niniejszej dystrybucji serwera Apache do³±czono anglojêzyczn± <a href="manual/index.html">dokumentacjê</a>.
+
+<p>
+Poni¿sze logo, "Powered by Apache", mo¿na stosowaæ bez ograniczeñ. Dziêkujemy za wybranie Apache'a!
+
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>
+</body>
+</html>
diff --git a/htdocs/index.html.pt b/htdocs/index.html.pt
new file mode 100644 (file)
index 0000000..671042b
--- /dev/null
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Página de teste da instalação do Apache Web Server</title>
+<!-- original translation for portuguese by Hugo Ramos, ramos@pop3r.com, Sat Jan 29 05:30:00 GMT 2000 -->
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+
+
+<p> Se est&aacute; a ver esta p&aacute;gina significa que a instala&ccedil;&atilde;o 
+  do <a href="http://www.apache.org/foundation/preFAQ.html">Apache Web Server</a> foi efectuada 
+  com sucesso. Pode agora adicionar conte&uacute;do a esta directoria e substituir 
+  esta p&aacute;gina. 
+<p><hr width="50%" size="8">
+
+<h2 align="CENTER">Est&aacute; a ver esta p&aacute;gina em vez do website que 
+  esperava?</h2>
+
+<p> Esta p&aacute;gina est&aacute; neste momento activa porque o administrador 
+  deste site alterou a configura&ccedil;&atilde;o do web server. Por favor <strong>contacte 
+  a pessoa respons&aacute;vel pela manuten&ccedil;&atilde;o deste servidor.</strong> 
+  A Funda&ccedil;&atilde;o Apache Software (Apache Software Foundation), apesar 
+  de ter produzido o web server que o administrador deste site est&aacute; a usar, 
+  n&atilde;o tem qualquer tipo de responsabilidade pela manuten&ccedil;&atilde;o 
+  deste nem pode ajudar a resolver problemas de configura&ccedil;&atilde;o. 
+<p><hr width="50%" size="8">
+
+
+<p> A <a href="manual/index.html">documenta&ccedil;&atilde;o</a> foi inclu&iacute;da 
+  juntamente com esta distribui&ccedil;&atilde;o. 
+<p> A imagem abaixo pode ser usada livremente em qualquer site presente num servidor 
+  com o Apache Web Server instalado. Obrigado por usar o Apache Web Server! 
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>
+</body>
+</html>
diff --git a/htdocs/index.html.pt-br b/htdocs/index.html.pt-br
new file mode 100644 (file)
index 0000000..009e2a1
--- /dev/null
@@ -0,0 +1,46 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <meta name="GENERATOR" content="Mozilla/4.73 [en] (X11; I; Linux 2.2.15-4mdk i586) [Netscape]">
+   <title>P&aacute;gina teste para a instala&ccedil;&atilde;o do Apache no
+Web Site</title>
+<!-- original translation Ricardo Oliva, rfoliva@writeme.com, Thu Dec 07
+19:51:00 PST 2000 -->
+<!-- Background white, links blue (unvisited), navy (visited), red
+   (active) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+
+<center>
+<h1>
+Funcionou! O Apache Web Server foi instalado corretamente neste Web Site!</h1></center>
+Se voc&ecirc; est&aacute; vendo esta p&aacute;gina, isso quer dizer que o software
+Apache
+Web server foi instalado com sucesso. Agora, basta adicionar o conte&uacute;do
+ao diret&oacute;rio raiz e substituir esta p&aacute;gina temporaria, ou apontar o servidor
+para o seu conte&uacute;do real.
+<br>
+<hr>
+<blockquote>
+<center>
+<h3>
+<b>Est&aacute; vendo esta p&aacute;gina em vez do site que esperava?</b></h3></center>
+Esta p&aacute;gina est&aacute; sendo carregada, pois o administrador modificou as
+configura&ccedil;&otilde;es
+deste servidor. Por favor, <b>contacte o administrador do site para esclarecimentos.</b>
+(Tente enviar um e-mail para <tt>&lt;Webmaster@dominio></tt>.) A Apache
+Server Foundation, que desenvolveu o software (web server) utilizado pelo
+administrador, n&atilde;o tem nenhuma responsabilidade sobre a manuten&ccedil;&atilde;o desta
+p&aacute;gina e n&atilde;o poder&aacute; ajudar a resolu&ccedil;&atilde;o de problemas de
+configura&ccedil;&atilde;o.</blockquote>
+
+<hr>
+<p>O Apache <a href="manual/index.html">documentation</a> foi inclu&iacute;do
+com esta distribui&ccedil;&atilde;o.
+<p>O Webmaster deste site &eacute; livre para utilizar a imagem abaixo num web
+server utilizando o Apache. Obrigado por utilizar o Apache!
+<center><img SRC="apache_pb.gif" ALT="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.ru.cp-1251 b/htdocs/index.html.ru.cp-1251
new file mode 100644 (file)
index 0000000..82ad768
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
+   <meta name="GENERATOR" content="Mozilla/4.72 [koi8-r] (X11; U; Linux 2.2.12-20smp i686) [Netscape]">
+   <title>Òåñòîâàÿ ñòðàíèöà óñòàíîâêè Apache</title>
+<!-- Áåëûé ôîí, ññûëêè: ñèíèå (íåïîñåù¸ííûå), ò¸ìíî-ôèîëåòîâûå (ïîñåù¸ííûå), êðàñíûå (ïîñåù¸ííûå) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+Åñëè Âû ýòî âèäèòå, ýòî çíà÷èò, ÷òî óñòàíîâêà
+ÏΠ<a href="http://www.apache.org/foundation/preFAQ.html">âåá-ñåðâåðà Apache</a> íà ýòîé
+ñèñòåìå çàâåðøèëàñü óñïåøíî. Âû ìîæåòå òåïåðü äîáàâëÿòü ñîäåðæèìîå â ýòó
+äèðåêòîðèþ è çàìåíèòü ýòó ñòðàíèöó.
+<p>
+<hr width="50%" size="8">
+<center>
+<h2>
+Âû âèäèòå ýòî âìåñòî îæèäàåìîé ñòðàíèöû?</h2></center>
+Ýòà ñòðàíèöà íàõîäèòñÿ çäåñü ïîòîìó, ÷òî àäìèíèñòðàòîð ñèñòåìû èçìåíèë
+êîíôèãóðàöèþ ýòîãî âåá-ñåðâåðà. Ïîæàëóéñòà, <b>ñâÿæèòåñü ñ ëèöîì, îòâåòñâåííûì
+çà ïîääåðæêó ýòîãî ñåðâåðà äëÿ âûÿñíåíèÿ âàøèõ âîïðîñîâ.</b> Apache Software
+Foundation, àâòîð ÏΠâåá-ñåðâåðà, êîòîðûì ïîëüçóåòñÿ àäìèíèñòðàòîð ýòîé
+ñèñòåìû, íå ñâÿçàí ñ ïîääåðæêîé ýòîé ñèñòåìû è íå ìîæåò ïîìî÷ü&nbsp;Âàì
+ðàçðåøèòü ïðîáëåìû êîíôèãóðàöèè.
+<p>
+<hr width="50%" size="8">
+<p><a href="manual/index.html">Äîêóìåíòàöèÿ</a> ïî âåá-ñåðâåðó Apache ïðèëàãàåòñÿ
+ê êîìïëåêòó ÏÎ.
+<p>Âû ìîæåòå ñâîáîäíî èñïîëüçîâàòü ïèêòîãðàììó, íàõîäÿùóþñÿ íèæå, íà âåá-ñåðâåðå,
+èñïîëüçóþùèì ÏΠApache. Ñïàñèáî çà èñïîëüçîâàíèå Apache!
+<center><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.ru.cp866 b/htdocs/index.html.ru.cp866
new file mode 100644 (file)
index 0000000..f3335d6
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=ibm866">
+   <meta name="GENERATOR" content="Mozilla/4.72 [koi8-r] (X11; U; Linux 2.2.12-20smp i686) [Netscape]">
+   <title>\92¥á⮢ ï áâà ­¨æ  ãáâ ­®¢ª¨ Apache</title>
+<!-- \81¥«ë© ä®­, áá뫪¨: á¨­¨¥ (­¥¯®á¥éñ­­ë¥), âñ¬­®-䨮«¥â®¢ë¥ (¯®á¥éñ­­ë¥), ªà á­ë¥ (¯®á¥éñ­­ë¥) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+\85᫨ \82ë íâ® ¢¨¤¨â¥, íâ® §­ ç¨â, çâ® ãáâ ­®¢ª 
+\8f\8e <a href="http://www.apache.org/foundation/preFAQ.html">¢¥¡-á¥à¢¥à  Apache</a> ­  í⮩
+á¨á⥬¥ § ¢¥à訫 áì ãᯥ譮. \82ë ¬®¦¥â¥ â¥¯¥àì ¤®¡ ¢«ïâì á®¤¥à¦¨¬®¥ ¢ íâã
+¤¨à¥ªâ®à¨î ¨ § ¬¥­¨âì íâã áâà ­¨æã.
+<p>
+<hr width="50%" size="8">
+<center>
+<h2>
+\82ë ¢¨¤¨â¥ íâ® ¢¬¥áâ® ®¦¨¤ ¥¬®© áâà ­¨æë?</h2></center>
+\9dâ  áâà ­¨æ  ­ å®¤¨âáï §¤¥áì ¯®â®¬ã, çâ®  ¤¬¨­¨áâà â®à á¨á⥬련§¬¥­¨«
+ª®­ä¨£ãà æ¨î í⮣® ¢¥¡-á¥à¢¥à . \8f®¦ «ã©áâ , <b>á¢ï¦¨â¥áì á «¨æ®¬, ®â¢¥âᢥ­­ë¬
+§  ¯®¤¤¥à¦ªã í⮣® á¥à¢¥à  ¤«ï ¢ëïá­¥­¨ï ¢ è¨å ¢®¯à®á®¢.</b> Apache Software
+Foundation,  ¢â®à \8f\8e ¢¥¡-á¥à¢¥à , ª®â®à묠¯®«ì§ã¥âáï  ¤¬¨­¨áâà â®à í⮩
+á¨á⥬ë, ­¥ á¢ï§ ­ á ¯®¤¤¥à¦ª®© í⮩ á¨á⥬련 ­¥ ¬®¦¥â ¯®¬®çì&nbsp;\82 ¬
+à §à¥è¨â젯஡«¥¬ë ª®­ä¨£ãà æ¨¨.
+<p>
+<hr width="50%" size="8">
+<p><a href="manual/index.html">\84®ªã¬¥­â æ¨ï</a> ¯® ¢¥¡-á¥à¢¥àã Apache ¯à¨« £ ¥âáï
+ª ª®¬¯«¥ªâã \8f\8e.
+<p>\82ë ¬®¦¥â¥ á¢®¡®¤­® ¨á¯®«ì§®¢ âì ¯¨ªâ®£à ¬¬ã, ­ å®¤ïéãîáï ­¨¦¥, ­  ¢¥¡-á¥à¢¥à¥,
+¨á¯®«ì§ãî騬 \8f\8e Apache. \91¯ á¨¡® §  ¨á¯®«ì§®¢ ­¨¥ Apache!
+<center><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.ru.iso-ru b/htdocs/index.html.ru.iso-ru
new file mode 100644 (file)
index 0000000..4c758fe
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-5">
+   <meta name="GENERATOR" content="Mozilla/4.72 [koi8-r] (X11; U; Linux 2.2.12-20smp i686) [Netscape]">
+   <title>ÂÕáâÞÒÐï áâàÐÝØæÐ ãáâÐÝÞÒÚØ Apache</title>
+<!-- ±ÕÛëÙ äÞÝ, ááëÛÚØ: áØÝØÕ (ÝÕßÞáÕéñÝÝëÕ), âñÜÝÞ-äØÞÛÕâÞÒëÕ (ßÞáÕéñÝÝëÕ), ÚàÐáÝëÕ (ßÞáÕéñÝÝëÕ) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+µáÛØ ²ë íâÞ ÒØÔØâÕ, íâÞ ×ÝÐçØâ, çâÞ ãáâÐÝÞÒÚÐ
+¿¾ <a href="http://www.apache.org/foundation/preFAQ.html">ÒÕÑ-áÕàÒÕàРApache</a> ÝРíâÞÙ
+áØáâÕÜÕ ×ÐÒÕàèØÛÐáì ãáßÕèÝÞ. ²ë ÜÞÖÕâÕ âÕßÕàì ÔÞÑÐÒÛïâì áÞÔÕàÖØÜÞÕ Ò íâã
+ÔØàÕÚâÞàØî Ø ×ÐÜÕÝØâì íâã áâàÐÝØæã.
+<p>
+<hr width="50%" size="8">
+<center>
+<h2>
+²ë ÒØÔØâÕ íâÞ ÒÜÕáâÞ ÞÖØÔÐÕÜÞÙ áâàÐÝØæë?</h2></center>
+ÍâРáâàÐÝØæÐ ÝÐåÞÔØâáï ×ÔÕáì ßÞâÞÜã, çâÞ ÐÔÜØÝØáâàÐâÞà áØáâÕÜë Ø×ÜÕÝØÛ
+ÚÞÝäØÓãàÐæØî íâÞÓÞ ÒÕÑ-áÕàÒÕàÐ. ¿ÞÖÐÛãÙáâÐ, <b>áÒïÖØâÕáì á ÛØæÞÜ, ÞâÒÕâáÒÕÝÝëÜ
+×РßÞÔÔÕàÖÚã íâÞÓÞ áÕàÒÕàРÔÛï ÒëïáÝÕÝØï ÒÐèØå ÒÞßàÞáÞÒ.</b> Apache Software
+Foundation, ÐÒâÞà ¿¾ ÒÕÑ-áÕàÒÕàÐ, ÚÞâÞàëÜ ßÞÛì×ãÕâáï ÐÔÜØÝØáâàÐâÞà íâÞÙ
+áØáâÕÜë, ÝÕ áÒï×ÐÝ á ßÞÔÔÕàÖÚÞÙ íâÞÙ áØáâÕÜë Ø ÝÕ ÜÞÖÕâ ßÞÜÞçì&nbsp;²ÐÜ
+àÐ×àÕèØâì ßàÞÑÛÕÜë ÚÞÝäØÓãàÐæØØ.
+<p>
+<hr width="50%" size="8">
+<p><a href="manual/index.html">´ÞÚãÜÕÝâÐæØï</a> ßÞ ÒÕÑ-áÕàÒÕàã Apache ßàØÛÐÓÐÕâáï
+Ú ÚÞÜßÛÕÚâã ¿¾.
+<p>²ë ÜÞÖÕâÕ áÒÞÑÞÔÝÞ ØáßÞÛì×ÞÒÐâì ßØÚâÞÓàÐÜÜã, ÝÐåÞÔïéãîáï ÝØÖÕ, ÝРÒÕÑ-áÕàÒÕàÕ,
+ØáßÞÛì×ãîéØÜ ¿¾ Apache. ÁßÐáØÑÞ ×РØáßÞÛì×ÞÒÐÝØÕ Apache!
+<center><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.ru.koi8-r b/htdocs/index.html.ru.koi8-r
new file mode 100644 (file)
index 0000000..3447294
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+   <meta name="GENERATOR" content="Mozilla/4.72 [koi8-r] (X11; U; Linux 2.2.12-20smp i686) [Netscape]">
+   <title>ôÅÓÔÏ×ÁÑ ÓÔÒÁÎÉÃÁ ÕÓÔÁÎÏ×ËÉ Apache</title>
+<!-- âÅÌÙÊ ÆÏÎ, ÓÓÙÌËÉ: ÓÉÎÉÅ (ÎÅÐÏÓÅÝ£ÎÎÙÅ), Ô£ÍÎÏ-ÆÉÏÌÅÔÏ×ÙÅ (ÐÏÓÅÝ£ÎÎÙÅ), ËÒÁÓÎÙÅ (ÐÏÓÅÝ£ÎÎÙÅ) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+åÓÌÉ ÷Ù ÜÔÏ ×ÉÄÉÔÅ, ÜÔÏ ÚÎÁÞÉÔ, ÞÔÏ ÕÓÔÁÎÏ×ËÁ
+ðï <a href="http://www.apache.org/foundation/preFAQ.html">×ÅÂ-ÓÅÒ×ÅÒÁ Apache</a> ÎÁ ÜÔÏÊ
+ÓÉÓÔÅÍÅ ÚÁ×ÅÒÛÉÌÁÓØ ÕÓÐÅÛÎÏ. ÷Ù ÍÏÖÅÔÅ ÔÅÐÅÒØ ÄÏÂÁ×ÌÑÔØ ÓÏÄÅÒÖÉÍÏÅ × ÜÔÕ
+ÄÉÒÅËÔÏÒÉÀ É ÚÁÍÅÎÉÔØ ÜÔÕ ÓÔÒÁÎÉÃÕ.
+<p>
+<hr width="50%" size="8">
+<center>
+<h2>
+÷Ù ×ÉÄÉÔÅ ÜÔÏ ×ÍÅÓÔÏ ÏÖÉÄÁÅÍÏÊ ÓÔÒÁÎÉÃÙ?</h2></center>
+üÔÁ ÓÔÒÁÎÉÃÁ ÎÁÈÏÄÉÔÓÑ ÚÄÅÓØ ÐÏÔÏÍÕ, ÞÔÏ ÁÄÍÉÎÉÓÔÒÁÔÏÒ ÓÉÓÔÅÍÙ ÉÚÍÅÎÉÌ
+ËÏÎÆÉÇÕÒÁÃÉÀ ÜÔÏÇÏ ×ÅÂ-ÓÅÒ×ÅÒÁ. ðÏÖÁÌÕÊÓÔÁ, <b>Ó×ÑÖÉÔÅÓØ Ó ÌÉÃÏÍ, ÏÔ×ÅÔÓ×ÅÎÎÙÍ
+ÚÁ ÐÏÄÄÅÒÖËÕ ÜÔÏÇÏ ÓÅÒ×ÅÒÁ ÄÌÑ ×ÙÑÓÎÅÎÉÑ ×ÁÛÉÈ ×ÏÐÒÏÓÏ×.</b> Apache Software
+Foundation, Á×ÔÏÒ ðï ×ÅÂ-ÓÅÒ×ÅÒÁ, ËÏÔÏÒÙÍ ÐÏÌØÚÕÅÔÓÑ ÁÄÍÉÎÉÓÔÒÁÔÏÒ ÜÔÏÊ
+ÓÉÓÔÅÍÙ, ÎÅ Ó×ÑÚÁΠӠÐÏÄÄÅÒÖËÏÊ ÜÔÏÊ ÓÉÓÔÅÍÙ É ÎÅ ÍÏÖÅÔ ÐÏÍÏÞØ&nbsp;÷ÁÍ
+ÒÁÚÒÅÛÉÔØ ÐÒÏÂÌÅÍÙ ËÏÎÆÉÇÕÒÁÃÉÉ.
+<p>
+<hr width="50%" size="8">
+<p><a href="manual/index.html">äÏËÕÍÅÎÔÁÃÉÑ</a> ÐÏ ×ÅÂ-ÓÅÒ×ÅÒÕ Apache ÐÒÉÌÁÇÁÅÔÓÑ
+Ë ËÏÍÐÌÅËÔÕ ðï.
+<p>÷Ù ÍÏÖÅÔÅ Ó×ÏÂÏÄÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÉËÔÏÇÒÁÍÍÕ, ÎÁÈÏÄÑÝÕÀÓÑ ÎÉÖÅ, ÎÁ ×ÅÂ-ÓÅÒ×ÅÒÅ,
+ÉÓÐÏÌØÚÕÀÝÉÍ ðï Apache. óÐÁÓÉÂÏ ÚÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Apache!
+<center><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.ru.ucs2 b/htdocs/index.html.ru.ucs2
new file mode 100644 (file)
index 0000000..4d22a70
Binary files /dev/null and b/htdocs/index.html.ru.ucs2 differ
diff --git a/htdocs/index.html.ru.ucs4 b/htdocs/index.html.ru.ucs4
new file mode 100644 (file)
index 0000000..8db773e
Binary files /dev/null and b/htdocs/index.html.ru.ucs4 differ
diff --git a/htdocs/index.html.ru.utf8 b/htdocs/index.html.ru.utf8
new file mode 100644 (file)
index 0000000..9889df4
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   <meta name="GENERATOR" content="Mozilla/4.72 [koi8-r] (X11; U; Linux 2.2.12-20smp i686) [Netscape]">
+   <title>Тестовая страница установки Apache</title>
+<!-- Белый фон, ссылки: синие (непосещённые), тёмно-фиолетовые (посещённые), красные (посещённые) -->
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#FF0000">
+Если Вы это видите, это значит, что установка
+ПО <a href="http://www.apache.org/foundation/preFAQ.html">веб-сервера Apache</a> на этой
+системе завершилась успешно. Вы можете теперь добавлять содержимое в эту
+директорию и заменить эту страницу.
+<p>
+<hr width="50%" size="8">
+<center>
+<h2>
+Вы видите это вместо ожидаемой страницы?</h2></center>
+Эта страница находится здесь потому, что администратор системы изменил
+конфигурацию этого веб-сервера. Пожалуйста, <b>свяжитесь с лицом, ответсвенным
+за поддержку этого сервера для выяснения ваших вопросов.</b> Apache Software
+Foundation, автор ПО веб-сервера, которым пользуется администратор этой
+системы, не связан с поддержкой этой системы и не может помочь&nbsp;Вам
+разрешить проблемы конфигурации.
+<p>
+<hr width="50%" size="8">
+<p><a href="manual/index.html">Документация</a> по веб-серверу Apache прилагается
+к комплекту ПО.
+<p>Вы можете свободно использовать пиктограмму, находящуюся ниже, на веб-сервере,
+использующим ПО Apache. Спасибо за использование Apache!
+<center><img src="apache_pb.gif" alt="" ></center>
+
+</body>
+</html>
diff --git a/htdocs/index.html.se b/htdocs/index.html.se
new file mode 100644 (file)
index 0000000..532b3a4
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Testsida f&ouml;r Apache-installationen</title>
+ </head>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+  <h1 align="CENTER">
+   Det fungerade! Apache &auml;r installerad p&aring; denna maskin!
+  </h1>
+  <p>
+  Om du kan se denna sida s&aring; har &auml;garen till denna maskin installerat
+  webbserverprogramvaran <a href="http://www.apache.org/foundation/preFAQ.html">Apache</a>.<br>
+  Denne m&aring;ste nu placera webbsidor i detta bibliotek och &auml;ndra p&aring; denna sida, eller
+  peka servern mot ett annat bibliotek.
+  </p>
+  <hr>
+  <blockquote>
+   Om du f&ouml;rv&auml;ntat dig att se n&aring;got helt annat h&auml;r &auml;n denna sida, <strong>kontakta
+   v&auml;nligen administrat&ouml;ren f&ouml;r den webbserver du f&ouml;rs&ouml;ker komma i kontakt med.</strong>
+   (F&ouml;rs&ouml;k att skicka ett brev till <samp>&lt;webmaster@<em>domain</em>&gt;</samp>.)
+   Apache Software Foundation har inget med denna webbplats att g&ouml;ra, s&aring; det &auml;r ingen id&eacute;
+   att skicka mail till f&ouml;rfattarna av Apache r&ouml;rande denna webbplats.
+  </blockquote>
+  <hr>
+  <p>
+  Apache-<a href="manual/index.html">dokumentationen</a> &auml;r inkluderad i denna distribution.
+  </p>
+  <p>
+  Administrat&ouml;ren av denna webbplats f&aring;r g&auml;rna anv&auml;nda f&ouml;ljande bild till en webbplats som anv&auml;nder Apache.<br>
+  Tack f&ouml;r att ni anv&auml;nder Apache!
+  </p>
+  <div align="CENTER">
+   <img src="apache_pb.gif" alt="">
+  </div>
+ </body>
+</html>
diff --git a/htdocs/index.html.zh-tw.big5 b/htdocs/index.html.zh-tw.big5
new file mode 100644 (file)
index 0000000..78a3a55
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>¦w¸Ë Apache ªº´ú¸Õºô­¶</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active)-->
+ <body
+  bgcolor="#FFFFFF"
+  text="#000000"
+  link="#0000FF"
+  vlink="#000080"
+  alink="#FF0000"
+ >
+
+
+<p>
+¦pªG§A¥i¥H¬Ý¨£¦¹­¶¡A³oªí¥Ü§Aªº 
+<a href="http://www.apache.org/foundation/preFAQ.html">Apache Web Server</a>
+¤w¸g¦w¸Ë¦¨¥\¡C
+§A¥i¥H¼W¥[¤º®e¨ì³o­Ó¥Ø¿ý¡A©Î§â³o­Óºô­¶´«±¼¡C<p>
+
+<p><hr width="50%" size="8">
+
+<h2 align="CENTER">¨S¦³¬Ý¨ì§A·Q¬Ýªººô¯¸¶Ü ?</h2>
+
+<p>
+³o­Óºô­¶¤§©Ò¥H·|¦b³oùØ¡A¨º¬O¦]¬°ºô¯¸ºÞ²zªÌ¤w¸g§ó§ï³o­Óºô¯¸ªº³]©w¡C
+­Y¦³°ÝÃD, ½Ð»P <strong>ºûÅ@³o­Ó¦øªA¾¹ªº¤H­ûÁpµ¸</strong>¡C
+Apache ³nÅé°òª÷·|¡A¤]´N¬O¶}µo³o®M³nÅ骺³æ¦ì¡A»P¦¹ºô¯¸¨ÃµL¥ô¦óÃö«Y¡A
+¦Ó¥B¤]µLªkÀ°§A¸Ñ¨M³]©w¤Wªº°ÝÃD¡C
+
+<p><hr width="50%" size="8">
+
+<p>
+Apache ªº
+<a href="manual/index.html">¤å¥ó</a>
+¤w¸g¥]§t¦b¸Óª©¥»¤¤¡C
+
+<p>
+§A¥i¥H¦b¨Ï¥Î Apache ªººô¯¸¦øªA¾¹¤W¡A¦Û¥Ñªº¨Ï¥Î¤U­±¤§¹Ï¥Ü¡A
+·PÁ±z¨Ï¥Î Apache¡I
+<br><br>
+<div align="CENTER"><img src="apache_pb.gif" alt=""></div>
+
+</body>
+</html>
diff --git a/htdocs/manual/LICENSE b/htdocs/manual/LICENSE
new file mode 100644 (file)
index 0000000..57bc88a
--- /dev/null
@@ -0,0 +1,202 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/htdocs/manual/bind.html.en b/htdocs/manual/bind.html.en
new file mode 100644 (file)
index 0000000..8ea715b
--- /dev/null
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Setting which addresses and ports Apache uses</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Setting which addresses and ports Apache
+    uses</h1>
+    <hr />
+    When Apache starts, it connects to some port and address on the
+    local machine and waits for incoming requests. By default, it
+    listens to all addresses on the machine, and to the port as
+    specified by the <tt>Port</tt> directive in the server
+    configuration. However, it can be told to listen to more the
+    one port, or to listen to only selected addresses, or a
+    combination. This is often combined with the Virtual Host
+    feature which determines how Apache responds to different IP
+    addresses, hostnames and ports. 
+
+    <p>There are two directives used to restrict or specify which
+    addresses and ports Apache listens to.</p>
+
+    <ul>
+      <li><a href="#bindaddress">BindAddress</a> is used to
+      restrict the server to listening to a single address, and can
+      be used to permit multiple Apache servers on the same machine
+      listening to different IP addresses.</li>
+
+      <li><a href="#listen">Listen</a> can be used to make a single
+      Apache server listen to more than one address and/or
+      port.</li>
+    </ul>
+
+    <h3><a id="bindaddress" name="bindaddress">BindAddress</a></h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BindAddress <em>[ * |
+    IP-address | hostname ]</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>BindAddress
+    *</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core 
+
+    <p>Makes the server bind to just the specified address. If the
+    argument is * (an asterisk), the server binds to all interfaces
+    currently marked as up on the server. The port bound to is set
+    with the <tt>Port</tt> directive. Only one BindAddress should
+    be used.</p>
+
+    <h3><a id="listen" name="listen">Listen</a></h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Listen <em>[ port |
+    IP-address:port ]</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>none</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core 
+
+    <p><tt>Listen</tt> can be used instead of <tt>BindAddress</tt>
+    and <tt>Port</tt>. It tells the server to accept incoming
+    requests (to listen) on the specified port or address-and-port
+    combination. If the first format is used, with a port number
+    only, the server listens on the given port on all interfaces
+    marked as up, instead of the port given by the <tt>Port</tt>
+    directive. If an IP address is given as well as a port, the
+    server will listen on the given port and interface.</p>
+
+    <p>Multiple Listen directives may be used to specify a number
+    of addresses and ports to listen to. The server will respond to
+    requests from any of the listed addresses and ports.</p>
+
+    <p>For example, to make the server accept connections on both
+    port 80 and port 8000, use:</p>
+<pre>
+   Listen 80
+   Listen 8000
+</pre>
+    To make the server accept connections on two specified
+    interfaces and port numbers, use 
+<pre>
+   Listen 192.170.2.1:80
+   Listen 192.170.2.5:8000
+</pre>
+
+    <h2>How this works with Virtual Hosts</h2>
+    <tt>BindAddress</tt> and <tt>Listen</tt> do not implement
+    Virtual Hosts. They tell the main Apache daemon process what
+    addresses and ports to bind and listen on. If no
+    &lt;VirtualHost&gt; directives are used, the server will behave
+    the same for all accepted requests. However,
+    &lt;VirtualHost&gt; can be used to specify a different behavior
+    for one or more of the addresses and ports. To implement a
+    VirtualHost, the server must: 
+
+    <ul>
+      <li>Be told to <tt>Listen</tt> to the desired address and
+      port</li>
+
+      <li>Have a &lt;VirtualHost&gt; section created for the
+      specified address and port to set the behavior of this
+      virtual host</li>
+    </ul>
+    Note that if the &lt;VirtualHost&gt; is set for an address and
+    port that the server is not listening to, it cannot be
+    accessed. 
+
+    <h2>See also</h2>
+    See also the documentation on <a href="vhosts/">Virtual
+    Hosts</a>, <a href="mod/core.html#bindaddress">BindAddress
+    directive</a>, <a href="mod/core.html#port">Port directive</a>,
+    <a href="dns-caveats.html">DNS Issues</a> and <a
+    href="mod/core.html#virtualhost">&lt;VirtualHost&gt;
+    section</a>. <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/bind.html.fr b/htdocs/manual/bind.html.fr
new file mode 100644 (file)
index 0000000..8e9bd21
--- /dev/null
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.15 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>D&eacute;finir quelles adresses et quels ports Apache
+    utilise</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">D&eacute;finir quelles adresses et quels
+    ports Apache utilise</h1>
+    <hr />
+    Quand Apache d&eacute;marre, il se connecte &agrave; des ports
+    et adresses donn&eacute;s de la machine et attend les
+    requ&ecirc;tes. Par d&eacute;faut il &eacute;coute sur toutes
+    les adresses de la machines, et sur le port d&eacute;fini par
+    la directive <tt>Port</tt> du fichier de configuration.
+    Cependant, on peut lui indiquer d'&eacute;couter sur d'autres
+    ports, ou d'&eacute;couter &agrave; partir de certaines
+    adresses seulement, ou une combinaison de ces
+    param&egrave;tres. Ceci est g&eacute;n&eacute;ralement
+    combin&eacute; avec la fonction d'h&ocirc;te virtuel qui
+    d&eacute;finit comment r&eacute;pond aux diff&eacute;rentes
+    adresses IP, nom d'h&ocirc;te et de ports. 
+
+    <p>Il existe deux directives pour resteindre ou
+    sp&eacute;cifier sur quels adresses et ports Apache doit
+    &eacute;couter.</p>
+
+    <ul>
+      <li><a href="#bindaddress">BindAddress</a> est employ&eacute;
+      pour resteindre le serveur &agrave; n'&eacute;couter qu'une
+      seule adresse, et peut permettre plusieurs serveurs Apache
+      sur la m&ecirc;me machine d'&eacute;couter diff&eacute;rentes
+      adresses IP.</li>
+
+      <li><a href="#listen">Listen</a> peut &ecirc;tre
+      employ&eacute; pour permettre &agrave; un serveur Apache
+      d'&eacute;couter plusieurs adresses et ports.</li>
+    </ul>
+
+    <h3><a id="bindaddress" name="bindaddress">BindAddress</a></h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntaxe :</strong></a> BindAddress <em>[ * |
+    IP-address | hostname ]</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>BindAddress *</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration du
+    serveur<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Statut :</strong></a> base 
+
+    <p>Cette directive force le serveur &agrave; n'&eacute;couter
+    que d'une adresse sp&eacute;cifique. Si l'argument est *, le
+    serveur &eacute;coute sur toutes les adresses. Le port
+    d'&eacute;coute est d&eacute;fini par la directive
+    <tt>Port</tt> directive. Il ne doit y avoir qu'au plus une
+    seule directive <tt>BindAddress</tt>.</p>
+
+    <h3><a id="listen" name="listen">Listen</a></h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntaxe :</strong></a> Listen <em>[ port |
+    IP-address:port ]</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>aucun</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration du
+    serveur<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Statut :</strong></a> base 
+
+    <p><tt>Listen</tt> peut &ecirc;tre utilis&eacute; &agrave; la
+    place de <tt>BindAddress</tt> et <tt>Port</tt>. Il indique au
+    serveur d'accepter des requ&ecirc;tes venant d'un port
+    sp&eacute;cifique ou d'une combinaison d'adresse et de port. Si
+    le premier format est employ&eacute;, avec uniquement un
+    num&eacute;ro de port, le serveur &eacute;coute sur ce port,
+    &agrave; la place du port sp&eacute;cifi&eacute; dans la
+    directive <tt>Port</tt>, sur l'ensemble des interfaces
+    r&eacute;seau. Si une adresse est donn&eacute;e en plus du
+    port, le serveur n'&eacute;coutera que sur le port de
+    l'interface sp&eacute;cifi&eacute;e.</p>
+
+    <p>Plusieurs directives <tt>Listen</tt> peuvent &ecirc;tre
+    utilis&eacute;es pour sp&eacute;cifier un ensemble d'adresses
+    et de ports d'&eacute;coute. Le serveur r&eacute;pondra aux
+    requ&ecirc;tes provenant de n'importe quels de ces adresses et
+    ports.</p>
+
+    <p>Par exemple pour autoriser les requ&ecirc;tes sur les ports
+    80 et 8000, il suffit d'&eacute;crire :</p>
+<pre>
+   Listen 80
+   Listen 8000
+</pre>
+    Pour que le serveur acccepte des requ&ecirc;tes provenant de
+    deux adresses et ports sp&eacute;cifiques, &eacute;crivez : 
+<pre>
+   Listen 192.170.2.1:80
+   Listen 192.170.2.5:8000
+</pre>
+
+    <h2>Comment cela fonctionne avec les h&ocirc;tes virtuels</h2>
+    <tt>BindAddress</tt> et <tt>Listen</tt> n'impl&eacute;mentent
+    pas les h&ocirc;tes virtuels. Ils indiquent au serveur
+    principal sur quelles adresses et ports &eacute;couter. Si
+    aucune directive <tt>&lt;VirtualHost&gt;</tt> n'est
+    employ&eacute;e, le serveur se comportera de la m&ecirc;me
+    mani&egrave;re pour toutes les requ&ecirc;tes.
+    <tt>&lt;VirtualHost&gt;</tt> peut &ecirc;tre employ&eacute;
+    pour d&eacute;finir un comportement diff&eacute;rent pour un ou
+    plusieurs de ces ports et adresses. Pour impl&eacute;menter un
+    h&ocirc;te virtuel, le serveur doit conna&icirc;tre quels ports
+    et quelles adresses employer. Une section
+    <tt>&lt;VirtualHost&gt;</tt> doit &ecirc;tre
+    cr&eacute;&eacute;e pour une adresse et un port
+    sp&eacute;cifique afin de d&eacute;finir le comportement de cet
+    h&ocirc;te virtuel. Il faut noter que si un h&ocirc;te virtuel
+    est configur&eacute; pour une adresse ou un port sur lequel le
+    serveur n'&eacute;coute pas, il est inaccessible. 
+
+    <h2>Voir &eacute;galement</h2>
+    Voir &eacute;galement la documentation sur les <a
+    href="vhosts/">h&ocirc;tes virtuels</a>, la <a
+    href="mod/core.html#bindaddress">directive BindAddress</a>, la
+    <a href="mod/core.html#port">directive Port</a>, les <a
+    href="dns-caveats.html">questions sur le DNS</a> et la <a
+    href="mod/core.html#virtualhost">section
+    &lt;VirtualHost&gt;</a>. <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/bind.html.html b/htdocs/manual/bind.html.html
new file mode 100644 (file)
index 0000000..2ba9299
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="bind.html.en" -->
+
diff --git a/htdocs/manual/bind.html.ja.jis b/htdocs/manual/bind.html.ja.jis
new file mode 100644 (file)
index 0000000..67f7bae
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B$,;HMQ$9$k%"%I%l%9$H%]!<%H$N@_Dj\e(B</title>
+
+  </head>
+  <!-- English revision: 1.17 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B$,;HMQ$9$k%"%I%l%9$H%]!<%H$N@_Dj\e(B</h1>
+
+    <hr />
+    Apache \e$B$O5/F0;~$K!"%m!<%+%k$J%^%7%s$N$"$k%]!<%H$*$h$S%"%I%l%9\e(B
+    \e$B$KBP$7$F@\B3$7!"%j%/%(%9%H$,Mh$k$N$rBT$A$^$9!#\e(B
+    \e$B%G%U%)%k%H$G$O!"%^%7%s>e$N$9$Y$F$N%"%I%l%9!"$*$h$S%5!<%P@_Dj%U%!%$%k$N\e(B
+    <tt>Port</tt> \e$B%G%#%l%/%F%#%V$G@_Dj$5$l$?%]!<%H$KBP$7$F\e(B listen \e$B$7$^$9!#\e(B
+    \e$B$7$+$7!"J#?t$N%]!<%H$r\e(B listen \e$B$9$k!";XDj$5$l$?%"%I%l%9$K8B$C$F\e(B
+    listen \e$B$9$k!"$"$k$$$O$=$l$i$rAH$_9g$o$;$F@_Dj$9$k$3$H$b2DG=$G$9!#\e(B
+    \e$B$3$l$O!"0[$J$k\e(B IP \e$B%"%I%l%9!"%[%9%HL>!"%]!<%H$KBP$9$k\e(B Apache
+    \e$B$N1~EzJ}K!$r7hDj$9$k%P!<%A%c%k%[%9%H5!G=$HAH$_9g$o$;$F;H$o$l$^$9!#\e(B
+
+    <p>Apache \e$B$,\e(B listen \e$B$9$k%"%I%l%9$*$h$S%]!<%H$r8BDj$9$k$?$a$K;H$o$l$k\e(B
+    \e$B%G%#%l%/%F%#%V$,Fs$D$"$j$^$9!#\e(B</p>
+
+    <ul>
+      <li><a href="#bindaddress">BindAddress</a>
+      \e$B$O!"%5!<%P$,C10l$N%"%I%l%9$r\e(B listen \e$B$9$k$h$&$K8BDj$7$^$9!#\e(B
+      \e$B0[$J$k\e(B IP \e$B%"%I%l%9$r\e(B listen \e$B$5$;$?J#?t$N\e(B Apache
+      \e$B$rF10l%^%7%s>e$GF0:n$5$;$k$3$H$,$G$-$k$h$&$K$9$k$?$a$K;HMQ$G$-$^$9!#\e(B</li>
+
+      <li><a href="#listen">Listen</a> \e$B$OC10l$N\e(B Apache
+      \e$B%5!<%P$,J#?t$N%"%I%l%9\e(B/\e$B%]!<%H$r\e(B listen \e$B$9$k$?$a$K;H$o$l$^$9!#\e(B
+      </li>
+    </ul>
+
+    <h3><a id="bindaddress" name="bindaddress">BindAddress</a></h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> BindAddress <em>[ * |
+    IP \e$B%"%I%l%9\e(B | \e$B%[%9%HL>\e(B ]</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a><code>BindAddress
+    *</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>\e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a>\e$B%3%"\e(B
+
+    <p>\e$B%5!<%P$r!"FCDj$N%"%I%l%9$@$1$K%P%$%s%I$7$^$9!#\e(B
+    \e$B0z?t$,\e(B * (\e$B%"%9%?%j%9%/\e(B) \e$B$N>l9g$O!"8=:_%5!<%P>e$GM-8z$J$9$Y$F$N\e(B
+    \e$B%$%s%?%U%'!<%9$K%P%$%s%I$7$^$9!#%]!<%H$O\e(B <tt>Port</tt>
+    \e$B%G%#%l%/%F%#%V$G$N@_Dj$,;H$o$l$^$9!#\e(BBindAddress \e$B$O0l$D$@$1;H$($^$9!#\e(B
+    </p>
+
+    <h3><a id="listen" name="listen">Listen</a></h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a>Listen <em>[\e$B%]!<%H\e(B |
+    IP \e$B%"%I%l%9\e(B:\e$B%]!<%H\e(B ]</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>none</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>\e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a>\e$B%3%"\e(B
+
+    <p><tt>Listen</tt> \e$B%G%#%l%/%F%#%V$O\e(B <tt>BindAddress</tt> \e$B$*$h$S\e(B
+    <tt>Port</tt> \e$B%G%#%l%/%F%#%V$NBe$o$j$H$7$F;H$&$3$H$b$G$-$^$9!#\e(B
+    \e$B$3$l$K$h$jFCDj$N%]!<%H$^$?$O%"%I%l%9$H%]!<%H$NAH9g$o$;$KBP$7$F$N\e(B
+    \e$B%j%/%(%9%H$r%5!<%P$,<u$1IU$1$k\e(B (listen \e$B$9$k\e(B) \e$B$h$&$K$7$^$9!#\e(B
+    \e$B%]!<%HHV9f$@$1$N!":G=i$N=q<0$r;H$C$?>l9g!"\e(B<tt>Port</tt>
+    \e$B%G%#%l%/%F%#%V$G@_Dj$5$l$?%]!<%H$G$O$J$/%5!<%P>e$GM-8z$J$9$Y$F$N\e(B
+    \e$B%$%s%?%U%'!<%9$KBP$7$F!"$3$3$G@_Dj$5$l$?%]!<%H$r\e(B listen \e$B$7$^$9!#\e(B
+    \e$B%]!<%H$H6&$K\e(B IP \e$B%"%I%l%9$r;XDj$7$?>l9g$O!";XDj$5$l$?%]!<%H$H\e(B
+    \e$B%$%s%?%U%'!<%9$KBP$7$F\e(B listen \e$B$7$^$9!#\e(B</p>
+
+    <p>\e$BJ#?t$N\e(B Listen \e$B%G%#%l%/%F%#%V$K$h$j!"\e(Blisten \e$B$9$k%"%I%l%9$H%]!<%H$r\e(B
+    \e$B$$$/$D$b;XDj$9$k$3$H$b=PMh$^$9!#\e(B
+    \e$B%j%9%H$5$l$?%"%I%l%9$H%]!<%H$9$Y$F$KBP$7$F1~Ez$7$^$9!#\e(B</p>
+
+    <p>\e$B$?$H$($P!"%]!<%H\e(B 80 \e$B$H\e(B 8000 \e$B$NN>J}$KBP$7$F$N@\B3$r<u$1IU$1$k$K$O\e(B</p>
+<pre>
+   Listen 80
+   Listen 8000
+</pre>
+    \e$B$H$7$^$9!#\e(B
+    \e$BFs$D$N;XDj$5$l$?%$%s%?%U%'!<%9$H%]!<%HHV9f$KBP$7$F$N@\B3$r<u$1IU$1$k$K$O\e(B
+<pre>
+   Listen 192.170.2.1:80
+   Listen 192.170.2.5:8000
+</pre>
+    \e$B$H$7$^$9!#\e(B
+
+    <h2>\e$B%P!<%A%c%k%[%9%H$KBP$7$F$I$&F/$/$N$+\e(B</h2>
+
+    <tt>BindAddress</tt> \e$B$H\e(B <tt>Listen</tt> \e$B$O%P!<%A%c%k%[%9%H$r9T$J$&\e(B
+    \e$B$o$1$G$O$"$j$^$;$s!#$=$l$i$O%a%$%s$N\e(B Apache \e$B%G!<%b%s%W%m%;%9$,$I$N%"%I%l%9\e(B
+    \e$B$r%P%$%s%I$7!"$I$N%]!<%H$r\e(B listen \e$B$9$k$N$+$H$$$&$3$H$r;XDj$7$^$9!#\e(B
+    &lt;VirtualHost&gt;
+    \e$B%G%#%l%/%F%#%V$,A4$/;H$o$l$J$$>l9g$O!"<u$1IU$1$?%j%/%(%9%H$9$Y$F$KBP$7$F\e(B
+    \e$BF1$8F0:n$r$7$^$9!#$7$+$7!"\e(B&lt;VirtualHost&gt; \e$B$r;H$C$F0l$D$"$k$$$OJ#?t$N\e(B
+    \e$B%"%I%l%9$*$h$S%]!<%H$KBP$7$F0[$J$kF0:n$r$5$;$k$3$H$b=PMh$^$9!#\e(B
+    \e$B%P!<%A%c%k%[%9%H$r9T$J$&$K$O!"%5!<%P$K$O<!$N$3$H$,I,MW$G$9!#\e(B
+
+    <ul>
+      <li>\e$BL\E*$N%"%I%l%9$H%]!<%H$r\e(B <tt>Listen</tt> \e$B$9$k$h$&$K;X<($5$l$F$$$k\e(B</li>
+
+      <li>\e$B;XDj$5$l$?%]!<%H$H%"%I%l%9$KBP$7$F!"\e(B
+      \e$B%P!<%A%c%k%[%9%H$N?6$kIq$$$r@_Dj$9$k$?$a$K\e(B
+      &lt;VirtualHost&gt; \e$B%;%/%7%g%s$,:n$i$l$F$$$k\e(B</li>
+    </ul>
+
+    \e$B%5!<%P$G\e(B listen \e$B$7$F$$$J$$%"%I%l%9$*$h$S%]!<%H$r\e(B &lt;VirtualHost&gt;
+    \e$B$G;XDj$7$?>l9g!"%"%/%;%9$G$-$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+
+    <h2>\e$B4XO"9`L\\e(B</h2>
+    <a href="vhosts/">\e$B%P!<%A%c%k%[%9%H\e(B</a>\e$B!"\e(B<a
+     href="mod/core.html#bindaddress">BindAddress
+     \e$B%G%#%l%/%F%#%V\e(B</a>\e$B!"\e(B<a href="mod/core.html#port">Port
+     \e$B%G%#%l%/%F%#%V\e(B</a>\e$B!"\e(B<a href="dns-caveats.html">DNS
+     \e$B$NLdBj\e(B</a>\e$B!"$*$h$S\e(B<a href="mod/core.html#virtualhost">&lt;VirtualHost&gt;
+     \e$B%;%/%7%g%s\e(B</a>\e$B$NJ8=q$b;2>H$7$F$/$@$5$$!#\e(B
+     <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/configuring.html.en b/htdocs/manual/configuring.html.en
new file mode 100644 (file)
index 0000000..fa3f276
--- /dev/null
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Configuration Files</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Configuration Files</h1>
+
+    <ul>
+      <li><a href="#main">Main Configuration Files</a></li>
+
+      <li><a href="#syntax">Syntax of the Configuration
+      Files</a></li>
+
+      <li><a href="#modules">Modules</a></li>
+
+      <li><a href="#scope">Scope of Directives</a></li>
+
+      <li><a href="#htaccess">.htaccess Files</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="main" name="main">Main Configuration Files</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_mime.html">mod_mime</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/core.html#accessconfig">AccessConfig</a><br />
+         <a
+        href="mod/core.html#ifdefine">&lt;IfDefine&gt;</a><br />
+         <a href="mod/core.html#include">Include</a><br />
+         <a
+        href="mod/core.html#resourceconfig">ResourceConfig</a><br />
+         <a
+        href="mod/mod_mime.html#typesconfig">TypesConfig</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache is configured by placing <a
+    href="mod/directives.html">directives</a> in plain text
+    configuration files. The main configuration file is usually
+    called <code>httpd.conf</code>. The location of this file is
+    set at compile-time, but may be overridden with the
+    <code>-f</code> command line flag. Some sites also have
+    <code>srm.conf</code> and <code>access.conf</code> files for <a
+    href="http://httpd.apache.org/info/three-config-files.html">historical
+    reasons</a>. In addition, other configuration files may be
+    added using the <code><a
+    href="mod/core.html#include">Include</a></code> directive. Any
+    directive may be placed in any of these configuration files.
+    Changes to the main configuration files are only recognized by
+    Apache when it is started or restarted.</p>
+
+    <p>New with Apache 1.3.13 is a feature where if any
+    configuration file is actually a directory, Apache will enter
+    that directory and parse any files (and subdirectories) found
+    there as configuration files. One possible use for this would
+    be to add VirtualHosts by creating small configuration files
+    for each host, and placing them in such a configuration
+    directory. Thus, you can add or remove VirtualHosts without
+    editing any files at all, simply adding or deleting them. This
+    makes automating such processes much easier.</p>
+
+    <p>The server also reads a file containing mime document types;
+    the filename is set by the <a
+    href="mod/mod_mime.html#typesconfig">TypesConfig</a> directive,
+    and is <code>mime.types</code> by default.</p>
+    <hr />
+
+    <h2><a id="syntax" name="syntax">Syntax of the Configuration
+    Files</a></h2>
+
+    <p>Apache configuration files contain one directive per line.
+    The back-slash "\" may be used as the last character on a line
+    to indicate that the directive continues onto the next line.
+    There must be no other characters or white space between the
+    back-slash and the end of the line.</p>
+
+    <p>Directives in the configuration files are case-insensitive,
+    but arguments to directives are often case sensitive. Lines
+    which begin with the hash character "#" are considered
+    comments, and are ignored. Comments may <strong>not</strong> be
+    included on a line after a configuration directive. Blank lines
+    and white space occurring before a directive are ignored, so
+    you may indent directives for clarity.</p>
+
+    <p>You can check your configuration files for syntax errors
+    without starting the server by using <code>apachectl
+    configtest</code> or the <code>-t</code> command line
+    option.</p>
+    <hr />
+
+    <h2><a id="modules" name="modules">Modules</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_so.html">mod_so</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/core.html#addmodule">AddModule</a><br />
+         <a
+        href="mod/core.html#clearmodulelist">ClearModuleList</a><br />
+         <a
+        href="mod/core.html#ifmodule">&lt;IfModule&gt;</a><br />
+         <a href="mod/mod_so.html#loadmodule">LoadModule</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache is a modular server. This implies that only the most
+    basic functionality is included in the core server. Extended
+    features are available through <a
+    href="mod/index-bytype.html">modules</a> which can be loaded
+    into Apache. By default, a <a
+    href="mod/module-dict.html#Status">base</a> set of modules is
+    included in the server at compile-time. If the server is
+    compiled to use <a href="dso.html">dynamically loaded</a>
+    modules, then modules can be compiled separately and added at
+    any time using the <a
+    href="mod/mod_so.html#loadmodule">LoadModule</a> directive.
+    Otherwise, Apache must be recompiled to add or remove modules.
+    Configuration directives may be included conditional on a
+    presence of a particular module by enclosing them in an <a
+    href="mod/core.html#ifmodule">&lt;IfModule&gt;</a> block.</p>
+
+    <p>To see which modules are currently compiled into the server,
+    you can use the <code>-l</code> command line option.</p>
+    <hr />
+
+    <h2><a id="scope" name="scope">Scope of Directives</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/core.html#directory">&lt;Directory&gt;</a><br />
+         <a
+        href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a><br />
+         <a href="mod/core.html#files">&lt;Files&gt;</a><br />
+         <a
+        href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a><br />
+         <a
+        href="mod/core.html#location">&lt;Location&gt;</a><br />
+         <a
+        href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a><br />
+         <a
+        href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Directives placed in the main configuration files apply to
+    the entire server. If you wish to change the configuration for
+    only a part of the server, you can scope your directives by
+    placing them in <code><a
+    href="mod/core.html#directory">&lt;Directory&gt;</a>, <a
+    href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a>,
+    <a href="mod/core.html#files">&lt;Files&gt;</a>, <a
+    href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a>, <a
+    href="mod/core.html#location">&lt;Location&gt;</a>,</code> and
+    <code><a
+    href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
+    sections. These sections limit the application of the
+    directives which they enclose to particular filesystem
+    locations or URLs. They can also be nested, allowing for very
+    fine grained configuration.</p>
+
+    <p>Apache has the capability to serve many different websites
+    simultaneously. This is called <a href="vhosts/">Virtual
+    Hosting</a>. Directives can also be scoped by placing them
+    inside <code><a
+    href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
+    sections, so that they will only apply to requests for a
+    particular website.</p>
+
+    <p>Although most directives can be placed in any of these
+    sections, some directives do not make sense in some contexts.
+    For example, directives controlling process creation can only
+    be placed in the main server context. To find which directives
+    can be placed in which sections, check the <a
+    href="mod/directive-dict.html#Context">Context</a> of the
+    directive. For further information, we provide details on <a
+    href="sections.html">How Directory, Location and Files sections
+    work</a>.</p>
+    <hr />
+
+    <h2><a id="htaccess" name="htaccess">.htaccess Files</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/core.html#accessfilename">AccessFileName</a><br />
+         <a
+        href="mod/core.html#allowoverride">AllowOverride</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache allows for decentralized management of configuration
+    via special files placed inside the web tree. The special files
+    are usually called <code>.htaccess</code>, but any name can be
+    specified in the <a
+    href="mod/core.html#accessfilename"><code>AccessFileName</code></a>
+    directive. Directives placed in <code>.htaccess</code> files
+    apply to the directory where you place the file, and all
+    sub-directories. The <code>.htaccess</code> files follow the
+    same syntax as the main configuration files. Since
+    <code>.htaccess</code> files are read on every request, changes
+    made in these files take immediate effect.</p>
+
+    <p>To find which directives can be placed in
+    <code>.htaccess</code> files, check the <a
+    href="mod/directive-dict.html#Context">Context</a> of the
+    directive. The server administrator further controls what
+    directives may be placed in <code>.htaccess</code> files by
+    configuring the <a
+    href="mod/core.html#allowoverride"><code>AllowOverride</code></a>
+    directive in the main configuration files.</p>
+
+    <p>For more information on <code>.htaccess</code> files, see
+    Ken Coar's tutorial on <a
+    href="http://apache-server.com/tutorials/ATusing-htaccess.html">
+    Using .htaccess Files with Apache</a>, or the <a
+    href="http://httpd.apache.org/docs/howto/htaccess.html">.htaccess
+    tutorial</a> in the Apache docs.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/configuring.html.fr b/htdocs/manual/configuring.html.fr
new file mode 100644 (file)
index 0000000..8d5a044
--- /dev/null
@@ -0,0 +1,346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <!-- Traduction anglais 1.17 -->
+
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Fichiers de configuration</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Fichiers de configuration</h1>
+
+    <ul>
+      <li><a href="#main">Principaux fichiers de
+      configuration</a></li>
+
+      <li><a href="#syntax">Syntaxe des fichiers de
+      configuration</a></li>
+
+      <li><a href="#modules">Modules</a></li>
+
+      <li><a href="#scope">Port&eacute;e des directives</a></li>
+
+      <li><a href="#htaccess">Fichiers .htaccess</a></li>
+
+      <li><a href="#logs">Fichiers de trace</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="main" name="main">Principaux fichiers de
+    configuration</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Modules li&eacute;s</strong><br />
+         <br />
+         <a href="mod/mod_mime.html">mod_mime</a><br />
+         </td>
+
+        <td valign="top"><strong>Directives
+        li&eacute;es</strong><br />
+         <br />
+         <a
+        href="mod/core.html#accessconfig">AccessConfig</a><br />
+         <a
+        href="mod/core.html#ifdefine">&lt;IfDefine&gt;</a><br />
+         <a href="mod/core.html#include">Include</a><br />
+         <a
+        href="mod/core.html#resourceconfig">ResourceConfig</a><br />
+         <a
+        href="mod/mod_mime.html#typesconfig">TypesConfig</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache se configure en pla&ccedil;ant des <a
+    href="mod/directives.html">directives</a> dans des fichiers
+    textes de configuration. Le fichier de configuration principal
+    est g&eacute;n&eacute;ralement appel&eacute;
+    <code>httpd.conf</code>. L'emplacement de ce fichier est
+    fix&eacute; &agrave; la compilation, mais peut &ecirc;tre
+    red&eacute;fini en utilisant l'option de ligne de commande
+    <code>-f</code>. Certains sites poss&egrave;dent
+    &eacute;galement des fichiers <code>srm.conf</code> et
+    <code>access.conf</code> pour des <a
+    href="http://httpd.apache.org/info/three-config-files.html">raisons
+    historiques</a>. De plus, d'autres fichiers de configuration
+    peuvent &ecirc;tre ajout&eacute;s en utilisant la directive
+    <code><a href="mod/core.html#include">Include</a></code>. Les
+    directives peuvent &ecirc;tre plac&eacute;es dans n'importe
+    quel fichier. Les modifications dans le fichier de
+    configuration principal ne sont prises en compte qu'au
+    d&eacute;marrage ou au red&eacute;marrage d'Apache.</p>
+
+    <p>Une nouveaut&eacute; de la version 1.3.13 d'Apache est la
+    possibilit&eacute; qu'un fichier de configuration soit en fait
+    un r&eacute;pertoire. Dans ce cas, Apache lira tous les
+    fichiers et sous r&eacute;pertoires et les traitera comme
+    fichiers de configuration. Une utilisation possible de cette
+    fonctionnalit&eacute; est de pouvoir ajouter des h&ocirc;tes
+    virtuels en cr&eacute;ant des fichiers de configuration pour
+    chaque h&ocirc;te, et de les placer dans le r&eacute;pertoire
+    de configuration. Ainsi, vous pouvez ajouter ou retirer des
+    h&ocirc;tes virtuels sans avoir &agrave; &eacute;diter de
+    fichiers, mais simplement en ajoutant ou supprimant un fichier.
+    Cel&agrave; permet d'automatiser plus facilement ce genre de
+    traitement.</p>
+
+    <p>Le serveur lit &eacute;galement un fichier d&eacute;crivant
+    les types de contenu MIME; le nom de ce fichier est
+    d&eacute;fini par la directive <a
+    href="mod/mod_mime.html#typesconfig">TypesConfig</a> et est par
+    d&eacute;faut <code>mime.types</code>.</p>
+    <hr />
+
+    <h2><a id="syntax" name="syntax">Syntaxe des fichiers de
+    configuration</a></h2>
+
+    <p>Les fichiers de configurations contiennent au plus une
+    directive par ligne. Le caract&egrave;re "\" peut &ecirc;tre
+    utilis&eacute; &agrave; la fin d'une ligne pour indiquer que la
+    directive se poursuit sur la ligne suivante. Il ne doit pas y
+    avoir d'autres caract&egrave;re ou d'espace entre le
+    caract&egrave;re "\" et la fin de la ligne.</p>
+
+    <p>Dans les fichiers de configuration, l'&eacute;criture des
+    noms des directives n'est pas sensible &agrave; la casse, mais
+    les arguments des directives le sont
+    g&eacute;n&eacute;ralement. Les lignes blanches et les espaces
+    pr&eacute;c&eacute;dant une directive sont ignor&eacute;s. Les
+    commentaires <strong>ne doivent pas</strong> &ecirc;tre inclus
+    sur la m&ecirc;me ligne qu'une directive. Les lignes
+    commen&ccedil;ant par le caract&egrave;re di&egrave;se "#" sont
+    trait&eacute;es comme des commentaires et sont ignor&eacute;s;
+    vous pouvez les utiliser pour indenter les directives et rendre
+    leur lecture plus facile.</p>
+
+    <p>Vous pouvez v&eacute;rifier la syntaxe de vos fichiers de
+    configuration en utilisant soit <code>apachectl
+    configtest</code> soit l'option de ligne de commande
+    <code>-t</code>.</p>
+    <hr />
+
+    <h2><a id="modules" name="modules">Modules</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Modules li&eacute;s</strong><br />
+         <br />
+         <a href="mod/mod_so.html">mod_so</a><br />
+         </td>
+
+        <td valign="top"><strong>Directives
+        li&eacute;es</strong><br />
+         <br />
+         <a href="mod/core.html#addmodule">AddModule</a><br />
+         <a
+        href="mod/core.html#clearmodulelist">ClearModuleList</a><br />
+         <a
+        href="mod/core.html#ifmodule">&lt;IfModule&gt;</a><br />
+         <a href="mod/mod_so.html#loadmodule">LoadModule</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache est un serveur modulaire. Cel&agrave; implique que
+    seules les fonctions de base sont incluses dans le noyau du
+    serveur. Les fonctionnalit&eacute;s plus avanc&eacute;es sont
+    disponibles gr&acirc;ce aux <a
+    href="mod/index-bytype.html">modules</a> qui peuvent &ecirc;tre
+    charg&eacute;s dans Apache. Par d&eacute;faut, un ensemble de
+    modules de <a href="mod/module-dict.html#Status">base</a> sont
+    inclus &agrave; la compilation. Si le serveur est
+    compil&eacute; pour utiliser les modules <a
+    href="dso.html">dynamiquement charg&eacute;s</a>, alors les
+    modules peuvent &ecirc;tre compil&eacute;s
+    s&eacute;par&eacute;ment et ajout&eacute; &agrave; n'importe
+    quel moment en utilisant la directive <a
+    href="mod/mod_so.html#loadmodule">LoadModule</a>. Sinon, Apache
+    doit &ecirc;tre recompil&eacute; pour ajouter ou supprimer des
+    modules. Des directives de configuration peuvent &ecirc;tre
+    incluses de mani&egrave;re conditionnelle en fonction de la
+    pr&eacute;sence d'un module particulier en les entourant par un
+    bloc <a href="mod/core.html#ifmodule">&lt;IfModule&gt;</a>.</p>
+
+    <p>Pour savoir quels modules ont &eacute;t&eacute;
+    compil&eacute;s dans le serveur, vous pouvez utiliser l'option
+    de ligne de commande <code>-l</code>.</p>
+    <hr />
+
+    <h2><a id="scope" name="scope">Port&eacute;e des
+    directives</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        li&eacute;es</strong><br />
+         <br />
+         <a
+        href="mod/core.html#directory">&lt;Directory&gt;</a><br />
+         <a
+        href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a><br />
+         <a href="mod/core.html#files">&lt;Files&gt;</a><br />
+         <a
+        href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a><br />
+         <a
+        href="mod/core.html#location">&lt;Location&gt;</a><br />
+         <a
+        href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a><br />
+         <a
+        href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Les directives plac&eacute;es dans les principaux fichiers
+    de configuration s'appliquent &agrave; l'ensemble du serveur.
+    Si vous souhaitez modifier la configuration pour une partie
+    seulement du serveur, vous pouvez mettre en contexte vos
+    directives en les pla&ccedil;ant dans des sections <code><a
+    href="mod/core.html#directory">&lt;Directory&gt;</a>, <a
+    href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a>,
+    <a href="mod/core.html#files">&lt;Files&gt;</a>, <a
+    href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a>, <a
+    href="mod/core.html#location">&lt;Location&gt;</a>,</code> et
+    <code><a
+    href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
+    . Ces sections limitent la port&eacute;e d'application des
+    directives qu'elles contiennent &agrave; un emplacement des
+    fichiers ou &agrave; certaines URL. Elles peuvent &ecirc;tre
+    imbriqu&eacute;es, permettant ainsi une configuration
+    tr&egrave;s fine.</p>
+
+    <p>Apache a la possibilit&eacute; de servir plusieurs sites web
+    simultan&eacute;ment. Cette possibilit&eacute; est
+    appel&eacute;e <a href="vhosts/">h&eacute;bergement
+    virtuel</a>. Des directives peuvent &eacute;galement &ecirc;tre
+    limit&eacute;es en utilisant des sections <code><a
+    href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
+    afin qu'elles ne s'appliquent qu'&agrave; certains sites
+    web.</p>
+
+    <p>Bien que la plupart des directives peuvent &ecirc;tre
+    plac&eacute;es &agrave; l'int&eacute;rieur de n'importe quelle
+    section, certaines directives n'ont pas de sens dans certains
+    contextes. Par exemple, les directives contr&ocirc;lant la
+    cr&eacute;ation des processus ne peuvent &ecirc;tre
+    plac&eacute;es que dans le contexte pricipal du serveur. Pour
+    savoir quelles directives peuvent &ecirc;tre plac&eacute;es
+    dans quelles sections, v&eacute;rifiez le <a
+    href="mod/directive-dict.html#Context">contexte</a> de la
+    directive. Pour plus d'informations, voir <a
+    href="sections.html">comment les sections Directory, Location
+    et Files fonctionnent</a>.</p>
+    <hr />
+
+    <h2><a id="htaccess" name="htaccess">Fichiers
+    .htaccess</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        li&eacute;es</strong><br />
+         <br />
+         <a
+        href="mod/core.html#accessfilename">AccessFileName</a><br />
+         <a
+        href="mod/core.html#allowoverride">AllowOverride</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache permet une gestion d&eacute;centralis&eacute;e de la
+    configuration par l'utilisation de fichiers sp&eacute;ciaux
+    &agrave; l'int&eacute;rieur de l'arborescence web. Ces fichiers
+    sp&eacute;ciaux sont g&eacute;n&eacute;ralement appel&eacute;s
+    <code>.htaccess</code>, mais n'importe quel nom peut &ecirc;tre
+    d&eacute;fini par la directive <a
+    href="mod/core.html#accessfilename"><code>AccessFileName</code></a>.
+    Les directives plac&eacute;es dans les fichiers
+    <code>.htaccess</code> s'appliquent au r&eacute;pertoire
+    o&ugrave; se trouve le fichier ainsi qu'aux sous
+    r&eacute;pertoires. Les fichiers <code>.htaccess</code>
+    respectent la m&ecirc;me syntaxe que les fichiers principaux de
+    configuration. Comme les fichiers <code>.htaccess</code> sont
+    lus &agrave; chaque requ&ecirc;te, Les modifications
+    effectu&eacute;es dans ces fichiers prennent effet
+    imm&eacute;diatement.</p>
+
+    <p>Pour savoir si une directive peut &ecirc;tre plac&eacute;e
+    dans les fichiers <code>.htaccess</code>, v&eacute;rifiez le <a
+    href="mod/directive-dict.html#Context">contexte</a> de la
+    directive. L'administrateur peut cont&ocirc;ler quelles
+    directives peuvent &ecirc;tre plac&eacute;es dans les fichiers
+    <code>.htaccess</code> en modifiant la directive <a
+    href="mod/core.html#allowoverride"><code>AllowOverride</code></a>
+    du fichier principal de configuration.</p>
+    <hr />
+
+    <h2><a id="logs" name="logs">Fichiers de trace</a></h2>
+
+    <h3>Avertissement sur la s&eacute;curit&eacute;</h3>
+    Toute personne pouvant &eacute;crire dans le r&eacute;pertoire
+    o&ugrave; Apache &eacute;crit un fichier de trace peut avoir
+    acc&egrave;s &agrave; l'uid sous lequel le serveur est
+    lanc&eacute;, g&eacute;n&eacute;ralement root. <em>Ne donnez
+    pas</em> acc&egrave;s en &eacute;criture au r&eacute;pertoire
+    o&ugrave; les fichiers de trace sont stock&eacute;s sans
+    &ecirc;tre clairement conscient des cons&eacute;quences; voir
+    le document <a href="misc/security_tips.html">trucs sur la
+    s&eacute;curit&eacute;</a> pour plus de d&eacute;tails. 
+
+    <h3>Fichier pid</h3>
+
+    <p>Au lancement, Apache &eacute;crit le num&eacute;ro de
+    processus du processus p&egrave;re httpd dans le fichier
+    <code>logs/httpd.pid</code>. Le nom du fichier peut &ecirc;tre
+    chang&eacute; en modifiant la directive <a
+    href="mod/core.html#pidfile">PidFile</a>. Le num&eacute;ro de
+    processus est utilis&eacute; par l'administrateur pour relancer
+    et arr&ecirc;ter le d&eacute;mon. Sur Unix, un signal HUP ou
+    USR1 a pour effet de faire relire par le d&eacute;mon les
+    fichiers de configuration, et un signal TERM le fait terminer
+    de mani&egrave;re douce. Sur Windows, il faut employer l'option
+    -k. Pour plus d'information voir la page <a
+    href="stopping.html">Arr&ecirc;t et red&eacute;marrage</a>.</p>
+
+    <p>Si le processus meurt (ou est tu&eacute;) de mani&egrave;re
+    anormale, il peut alors &ecirc;tre n&eacute;cessaire de tuer
+    les processus fils.</p>
+
+    <h3>Trace des erreurs</h3>
+
+    <p>Le serveur trace les messages d'erreurs dans un fichier, par
+    d&eacute;faut <code>logs/error_log</code> sur Unix ou
+    <code>logs/error.log</code> sur Windows and OS/2. Le nom du
+    fichier peut &ecirc;tre d&eacute;fini en utilisant la directive
+    <a href="mod/core.html#errorlog">ErrorLog</a> D'autres traces
+    peuvent &ecirc;tre d&eacute;finies pour diff&eacute;rents <a
+    href="mod/core.html#virtualhost">h&ocirc;tes virtuels</a>.</p>
+
+    <h3>Trace des requ&ecirc;tes</h3>
+
+    <p>Le serveur trace g&eacute;n&eacute;ralement chaque
+    requ&ecirc;te dans un fichier de transfert, par d&eacute;faut
+    <code>logs/access_log</code> sur Unix ou
+    <code>logs/access.log</code> sur Windows and OS/2. Le nom du
+    fichier peut &ecirc;tre d&eacute;fini en utilisant la directive
+    <a href="mod/mod_log_config.html#customlog">CustomLog</a>.
+    D'autres traces peuvent &ecirc;tre d&eacute;finies pour
+    diff&eacute;rents <a
+    href="mod/core.html#virtualhost">h&ocirc;tes virtuels</a>. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/configuring.html.html b/htdocs/manual/configuring.html.html
new file mode 100644 (file)
index 0000000..1c19de9
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="configuring.html.en" -->
+
diff --git a/htdocs/manual/configuring.html.ja.jis b/htdocs/manual/configuring.html.ja.jis
new file mode 100644 (file)
index 0000000..d83609f
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+
+    <title>\e$B@_Dj%U%!%$%k\e(B</title>
+  </head>
+  <!-- English Revision: 1.12 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">\e$B@_Dj%U%!%$%k\e(B</h1>
+
+    <ul>
+      <li><a href="#main">\e$B%a%$%s$N@_Dj%U%!%$%k\e(B</a></li>
+
+      <li><a href="#syntax">\e$B@_Dj%U%!%$%k$N9=J8\e(B</a></li>
+
+      <li><a href="#modules">\e$B%b%8%e!<%k\e(B</a></li>
+
+      <li><a href="#scope">\e$B%G%#%l%/%F%#%V$NE,MQHO0O\e(B</a></li>
+
+      <li><a href="#htaccess">.htaccess \e$B%U%!%$%k\e(B</a></li>
+
+    </ul>
+    <hr />
+
+    <h2><a id="main" name="main">\e$B%a%$%s$N@_Dj%U%!%$%k\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="mod/mod_mime.html">mod_mime</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a
+        href="mod/core.html#accessconfig">AccessConfig</a><br />
+         <a
+        href="mod/core.html#ifdefine">&lt;IfDefine&gt;</a><br />
+         <a href="mod/core.html#include">Include</a><br />
+         <a
+        href="mod/core.html#resourceconfig">ResourceConfig</a><br />
+         <a
+        href="mod/mod_mime.html#typesconfig">TypesConfig</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache \e$B$O\e(B <a href="mod/directives.html"
+    >\e$B%G%#%l%/%F%#%V\e(B</a> \e$B$r@_Dj%U%!%$%k$KJ?J8$G=q$/$3$H$K$h$j@_Dj$7$^$9!#\e(B
+    \e$B%a%$%s$N@_Dj%U%!%$%k$OIaDL$O\e(B <code>httpd.conf</code> \e$B$H$$$&L>A0$G$9!#\e(B
+    \e$B$3$N%U%!%$%k$N0LCV$O%3%s%Q%$%k;~$K@_Dj$5$l$^$9$,!"%3%^%s%I%i%$%s$N\e(B
+    <code>-f</code> \e$B%U%i%0$K$h$j>e=q$-$G$-$^$9!#%5%$%H$K$h$C$F$O\e(B <a
+    href="http://httpd.apache.org/info/three-config-files.html"
+    >\e$BNr;KE*M}M3\e(B</a> \e$B$K$h$j\e(B <code>srm.conf</code> \e$B$H\e(B <code>access.conf</code>
+    \e$B$,$"$k>l9g$b$"$j$^$9!#$=$N>e!"B>$N@_Dj%U%!%$%k$,\e(B <code><a
+    href="mod/core.html#include">Include</a></code>
+    \e$B%G%#%l%/%F%#%V$K$h$C$FDI2C$5$l$F$$$k$+$b$7$l$^$;$s!#\e(B
+    \e$B$I$N%G%#%l%/%F%#%V$b$3$l$i$N@_Dj%U%!%$%k$N$I$l$K$G$bF~$l$i$l$^$9!#\e(B
+    Apache \e$B$O5/F0;~$+:F5/F0;~$N$_%a%$%s@_Dj%U%!%$%k$NJQ99$rG'<1$7$^$9!#\e(B</p>
+
+
+
+    <p>Apache 1.3.13 \e$B$N?7$7$$5!G=$H$7$F!"@_Dj%U%!%$%k$,<B:]$O%G%#%l%/%H%j$G\e(B
+    \e$B$"$k$H$-$K$O$=$N%G%#%l%/%H%j$G8+$D$+$C$?$9$Y$F$N%U%!%$%k\e(B(\e$B$H%5%V%G%#%l%/%H%j\e(B)
+    \e$B$r2r@O$9$k$H$$$&$b$N$,$"$j$^$9!#MxMQK!$H$7$F$O!"\e(B
+    \e$B%P!<%A%c%k%[%9%H$rDI2C$9$k$H$-$K!"$=$l$>$l$N%[%9%H$KBP$7$F>.$5$J@_Dj\e(B
+    \e$B%U%!%$%k$r:n$j!"@_Dj%G%#%l%/%H%j$KCV$/$H$$$&$b$N$,5s$2$i$l$^$9!#\e(B
+    \e$B$3$&$9$k$H!"C1$K%U%!%$%k$NDI2C!":o=|$r$9$k$3$H$K$h$jA4$/%U%!%$%k$r\e(B
+    \e$BJT=8$9$k$3$H$J$/%P!<%A%c%k%[%9%H$NDI2C!":o=|$,$G$-$^$9!#\e(B
+    \e$B$3$l$O<+F02=$r$:$C$H4JC1$K$7$^$9!#\e(B
+    </p>
+
+    <p>\e$B%5!<%P$O\e(B mime \e$B%I%-%e%a%s%H%?%$%W$r4^$s$G$$$k%U%!%$%k$bFI$_9~$_$^$9!#\e(B
+    \e$B%U%!%$%kL>$O\e(B <a href="mod/mod_mime.html#typesconfig">TypesConfig</a>
+    \e$B$G@_Dj$5$l!"%G%U%)%k%H$G\e(B <code>mime.types</code>\e$B$K$J$C$F$$$^$9!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="syntax" name="syntax">\e$B@_Dj%U%!%$%k$N9=J8\e(B</a></h2>
+
+
+    <p>Apache \e$B$N@_Dj%U%!%$%k$O\e(B 1 \e$B9T$K\e(B 1 \e$B$D$N%G%#%l%/%F%#%V$+$i$J$j$^$9!#\e(B
+    \e$B%P%C%/%9%i%C%7%e\e(B "\" \e$B$O%G%#%l%/%F%#%V$,<!$N9T$K7QB3$7$F$$$k$3$H$r\e(B
+    \e$B<($9$?$a$K9T$N:G8e$NJ8;z$H$7$F;H$o$l$F$$$k$+$b$7$l$^$;$s!#\e(B
+    \e$B9T$N:G8e$H%P%C%/%9%i%C%7%e$N4V$KB>$NJ8;z$d6uGr$,$"$C$F$O$$$1$^$;$s!#\e(B
+    </p>
+
+    <p>\e$B@_Dj%U%!%$%k$N%G%#%l%/%F%#%V$OBgJ8;z>.J8;z$r6hJL$7$^$;$s$,!"\e(B
+    \e$B0z?t$K$O$7$P$7$P6hJL$9$k$b$N$,$"$j$^$9!#%O%C%7%eJ8;z\e(B "#"
+    \e$B$G;O$^$k9T$O%3%a%s%H$H8+$J$5$l$FL5;k$5$l$^$9!#\e(B
+    \e$B@_Dj%G%#%l%/%F%#%V$N8e$N9T$G$O%3%a%s%H$,4^$^$l$F$$$F$O\e(B<strong
+    >\e$B$$$1$^$;$s\e(B</strong>\e$B!#%G%#%l%/%F%#%V$NA0$N6u9T$H6uGr$OL5;k$5$l$^$9$N$G!"\e(B
+    \e$B$o$+$j$d$9$/$9$k$?$a$K%G%#%l%/%F%#%V$r%$%s%G%s%H$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p>\e$B@_Dj%U%!%$%k$N9=J8%(%i!<$O\e(B <code>apachectl configtest</code
+    > \e$B$+%3%^%s%I%i%$%s%*%W%7%g%s\e(B <code>-t</code> \e$B$r;H$C$FD4$Y$i$l$^$9!#\e(B
+    </p>
+
+    <hr />
+
+    <h2><a id="modules" name="modules">\e$B%b%8%e!<%k\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="mod/mod_so.html">mod_so</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a href="mod/core.html#addmodule">AddModule</a><br />
+         <a
+        href="mod/core.html#clearmodulelist">ClearModuleList</a><br />
+         <a
+        href="mod/core.html#ifmodule">&lt;IfModule&gt;</a><br />
+         <a href="mod/mod_so.html#loadmodule">LoadModule</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache \e$B$O%b%8%e!<%k2=$5$l$?%5!<%P$G$9!#\e(B
+    \e$B%3%"%5!<%P$K$O:G$b4pK\E*$J5!G=$@$1$,4^$^$l$F$$$^$9!#3HD%5!G=$O\e(B
+    Apache \e$B$K%m!<%I$5$l$k\e(B<a href="mod/index-bytype.html">\e$B%b%8%e!<%k\e(B</a
+    >\e$B$H$7$FMxMQ2DG=$G$9!#%G%U%)%k%H$G$O%3%s%Q%$%k;~$K%b%8%e!<%k$N\e(B<a
+    href="mod/module-dict.html#status">\e$B4pK\\e(B</a>\e$B%;%C%H$,\e(B
+    \e$B%5!<%P$K4^$^$l$^$9!#%5!<%P$,\e(B<a href="dso.html">\e$BF0E*%m!<%I\e(B</a
+    >\e$B%b%8%e!<%k$r;H$&$h$&$K%3%s%Q%$%k$5$l$F$$$k>l9g$O!"\e(B
+    \e$B%b%8%e!<%k$rJL$K%3%s%Q%$%k$7$F!"$$$D$G$b\e(B <a href="mod/mod_so.html#loadmodule"
+    >LoadModule</a> \e$B%G%#%l%/%F%#%V$r;H$C$FDI2C$G$-$^$9!#\e(B
+    \e$B$=$&$G$J$$>l9g$O!"%b%8%e!<%k$NDI2C$d:o=|$r$9$k$?$a$K$O\e(B Apache
+    \e$B$r:F%3%s%Q%$%k$9$kI,MW$,$"$j$^$9!#@_Dj%G%#%l%/%F%#%V$O\e(B <a
+    href="mod/core.html#ifmodule">&lt;IfModule&gt;</a>
+    \e$B%V%m%C%/$KF~$l$k$3$H$GFCDj$N%b%8%e!<%k$,B8:_$9$k$H$-$@$1\e(B
+    \e$B@_Dj%U%!%$%k$K4^$^$l$k$h$&$K$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+
+    <p>\e$B%3%^%s%I%i%$%s%*%W%7%g%s\e(B <code>-l</code> \e$B$r;H$C$F8=;~E@$G\e(B
+    \e$B$I$N%b%8%e!<%k$,%5!<%P$K%3%s%Q%$%k$5$l$F$$$k$+$rCN$k$3$H$,$G$-$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="scope" name="scope">\e$B%G%#%l%/%F%#%V$NE,MQHO0O\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a
+        href="mod/core.html#directory">&lt;Directory&gt;</a><br />
+         <a
+        href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a><br />
+         <a href="mod/core.html#files">&lt;Files&gt;</a><br />
+         <a
+        href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a><br />
+         <a
+        href="mod/core.html#location">&lt;Location&gt;</a><br />
+         <a
+        href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a><br />
+         <a
+        href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>\e$B%a%$%s@_Dj%U%!%$%k$K$"$k%G%#%l%/%F%#%V$O%5!<%PA4BN$KE,MQ$5$l$^$9!#\e(B
+    \e$B%5!<%P$N0lItJ,$N@_Dj$@$1$rJQ99$7$?$$>l9g$O\e(B <code><a
+    href="mod/core.html#directory">&lt;Directory&gt;</a>,<a
+    href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a>,<a
+    href="mod/core.html#files">&lt;Files&gt;</a>,<a
+    href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a>,<a
+    href="mod/core.html#location">&lt;Location&gt;</a>,<a
+    href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a>
+    </code>
+    \e$B%;%/%7%g%s$NCf$KCV$/$3$H$GE,MQHO0O$r7h$a$i$l$^$9!#\e(B
+    \e$B$3$l$i$N%;%/%7%g%s$O$=$NCf$K$"$k%G%#%l%/%F%#%V$NE,MQHO0O$r\e(B
+    \e$BFCDj$N%U%!%$%k%7%9%F%`$N0LCV$d\e(B URL \e$B$K8BDj$7$^$9!#\e(B
+    \e$BHs>o$K:YN3EY$N@_Dj$r2DG=$K$9$k$?$a$K!"\e(B
+    \e$B%;%/%7%g%s$rF~$l;R$K$9$k$3$H$b$G$-$^$9!#\e(B
+    </p>
+
+    <p>Apache \e$B$OF1;~$KB?$/$N0c$&%&%'%V%5%$%H$r07$&G=NO$,$"$j$^$9!#\e(B
+    \e$B$3$l$O\e(B <a href="vhosts/">\e$B%P!<%A%c%k%[%9%H\e(B</a> \e$B$H8F$P$l$F$$$^$9!#\e(B
+    \e$BFCDj$N%&%'%V%5%$%H$K$N$_E,MQ$5$l$k$h$&$K$9$k$?$a$K!"\e(B
+    \e$B%G%#%l%/%F%#%V$O\e(B <code><a href="mod/core.html#virtualhost"
+    >&lt;VirtualHost&gt;</a></code>
+    \e$B%;%/%7%g%s$NCf$KCV$/$3$H$G$bE,MQHO0O$rJQ$($k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p>\e$B$[$H$s$I$N%G%#%l%/%F%#%V$O$I$N%;%/%7%g%s$K$G$b=q$1$^$9$,!"\e(B
+    \e$BCf$K$O%3%s%F%-%9%H$K$h$C$F$O0UL#$r$J$5$J$$$b$N$b$"$j$^$9!#\e(B
+    \e$BNc$($P!"%W%m%;%9$N:n@.$r@)8f$7$F$$$k%G%#%l%/%F%#%V$O%a%$%s%5!<%P$N\e(B
+    \e$B%3%s%F%-%9%H$K$N$_=q$/$3$H$,$G$-$^$9!#\e(B
+    \e$B$I$N%G%#%l%/%F%#%V$r$I$N%;%/%7%g%s$K=q$/$3$H$,$G$-$k$+$rCN$k$?$a$K$O\e(B
+    \e$B%G%#%l%/%F%#%V$N\e(B <a href="mod/directive-dict.html#context"
+    >\e$B%3%s%F%-%9%H\e(B</a> \e$B$rD4$Y$F$/$@$5$$!#>\$7$$>pJs$O!"\e(B<a href="sections.html"
+    >Directory, Location, Files \e$B%;%/%7%g%s$NF0:nK!\e(B</a>\e$B$K$"$j$^$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="htaccess" name="htaccess">.htaccess \e$B%U%!%$%k\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a
+        href="mod/core.html#accessfilename">AccessFileName</a><br />
+         <a
+        href="mod/core.html#allowoverride">AllowOverride</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Apache \e$B$G$O%&%'%V%D%j!<$NCf$KCV$+$l$?FCJL$J%U%!%$%k$r;H$C$F\e(B
+    \e$BHsCf1{=88"E*$J@_Dj4IM}$r$G$-$^$9!#\e(B
+    \e$B$=$NFCJL$J%U%!%$%k$OIaDL$O\e(B <code>.htaccess</code> \e$B$H$$$&L>A0$G!"\e(B
+    <a href="mod/core.html#accessfilename"><code>AccessFileName</code></a>
+    \e$B%G%#%l%/%F%#%V$G$I$s$JL>A0$G$b;XDj$G$-$^$9!#\e(B
+    <code>.htaccess</code> \e$B%U%!%$%k$K=q$+$l$?%G%#%l%/%F%#%V$O%U%!%$%k$r\e(B
+    \e$BCV$$$?%G%#%l%/%H%j$H$=$NA4$F$N%5%V%G%#%l%/%H%j$KE,MQ$5$l$^$9!#\e(B
+    <code>.htaccess</code> \e$B%U%!%$%k$O$9$Y$F$N%j%/%(%9%H$GFI$_9~$^$l$k$?$a!"\e(B
+    \e$BJQ99$O$9$0$KH?1G$5$l$^$9!#\e(B
+    </p>
+
+
+    <p>\e$B$I$N%G%#%l%/%F%#%V$,\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$K=q$1$k$+$rD4$Y$k$K$O!"%G%#%l%/%F%#%V$N\e(B<a
+    href="mod/directive-dict.html#context">\e$B%3%s%F%-%9%H\e(B</a> \e$B$rD4$Y$F$/$@$5$$!#\e(B
+    \e$B%5!<%P4IM}<T$O$5$i$K%a%$%s@_Dj%U%!%$%k$N\e(B <a
+    href="mod/core.html#allowoverride"><code>AllowOverride</code></a>
+    \e$B$r@_Dj$9$k$3$H$G$I$N%G%#%l%/%F%#%V$r\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$K=q$1$k$h$&$K$9$k$+$r@)8f$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p><code>.htaccess</code> \e$B%U%!%$%k$K4X$9$k>\$7$$>pJs$O\e(B
+    <a href="http://apache-server.com/tutorials/ATusing-htaccess.html"
+    >Using .htaccess Files with Apache</a> \e$B$N\e(B Ken Coar's tutorial 
+    \e$B$+\e(B Apache \e$B$N%I%-%e%a%s%F!<%7%g%s$K$"$k\e(B <a
+    href="http://httpd.apache.org/docs/howto/htaccess.html">.htaccess
+    \e$B%A%e!<%H%j%"%k\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/content-negotiation.html.en b/htdocs/manual/content-negotiation.html.en
new file mode 100644 (file)
index 0000000..689ab49
--- /dev/null
@@ -0,0 +1,667 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Content Negotiation</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Content Negotiation</h1>
+
+    <p>Apache's support for content negotiation has been updated to
+    meet the HTTP/1.1 specification. It can choose the best
+    representation of a resource based on the browser-supplied
+    preferences for media type, languages, character set and
+    encoding. It is also implements a couple of features to give
+    more intelligent handling of requests from browsers which send
+    incomplete negotiation information.</p>
+
+    <p>Content negotiation is provided by the <a
+    href="mod/mod_negotiation.html">mod_negotiation</a> module,
+    which is compiled in by default.</p>
+    <hr />
+
+    <h2>About Content Negotiation</h2>
+
+    <p>A resource may be available in several different
+    representations. For example, it might be available in
+    different languages or different media types, or a combination.
+    One way of selecting the most appropriate choice is to give the
+    user an index page, and let them select. However it is often
+    possible for the server to choose automatically. This works
+    because browsers can send as part of each request information
+    about what representations they prefer. For example, a browser
+    could indicate that it would like to see information in French,
+    if possible, else English will do. Browsers indicate their
+    preferences by headers in the request. To request only French
+    representations, the browser would send</p>
+<pre>
+  Accept-Language: fr
+</pre>
+
+    <p>Note that this preference will only be applied when there is
+    a choice of representations and they vary by language.</p>
+
+    <p>As an example of a more complex request, this browser has
+    been configured to accept French and English, but prefer
+    French, and to accept various media types, preferring HTML over
+    plain text or other text types, and preferring GIF or JPEG over
+    other media types, but also allowing any other media type as a
+    last resort:</p>
+<pre>
+  Accept-Language: fr; q=1.0, en; q=0.5
+  Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6,
+        image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
+</pre>
+    Apache 1.2 supports 'server driven' content negotiation, as
+    defined in the HTTP/1.1 specification. It fully supports the
+    Accept, Accept-Language, Accept-Charset and Accept-Encoding
+    request headers. Apache 1.3.4 also supports 'transparent'
+    content negotiation, which is an experimental negotiation
+    protocol defined in RFC 2295 and RFC 2296. It does not offer
+    support for 'feature negotiation' as defined in these RFCs. 
+
+    <p>A <strong>resource</strong> is a conceptual entity
+    identified by a URI (RFC 2396). An HTTP server like Apache
+    provides access to <strong>representations</strong> of the
+    resource(s) within its namespace, with each representation in
+    the form of a sequence of bytes with a defined media type,
+    character set, encoding, etc. Each resource may be associated
+    with zero, one, or more than one representation at any given
+    time. If multiple representations are available, the resource
+    is referred to as <strong>negotiable</strong> and each of its
+    representations is termed a <strong>variant</strong>. The ways
+    in which the variants for a negotiable resource vary are called
+    the <strong>dimensions</strong> of negotiation.</p>
+
+    <h2>Negotiation in Apache</h2>
+
+    <p>In order to negotiate a resource, the server needs to be
+    given information about each of the variants. This is done in
+    one of two ways:</p>
+
+    <ul>
+      <li>Using a type map (<em>i.e.</em>, a <code>*.var</code>
+      file) which names the files containing the variants
+      explicitly, or</li>
+
+      <li>Using a 'MultiViews' search, where the server does an
+      implicit filename pattern match and chooses from among the
+      results.</li>
+    </ul>
+
+    <h3>Using a type-map file</h3>
+
+    <p>A type map is a document which is associated with the
+    handler named <code>type-map</code> (or, for
+    backwards-compatibility with older Apache configurations, the
+    mime type <code>application/x-type-map</code>). Note that to
+    use this feature, you must have a handler set in the
+    configuration that defines a file suffix as
+    <code>type-map</code>; this is best done with a</p>
+<pre>
+  AddHandler type-map .var
+</pre>
+    in the server configuration file. See the comments in the
+    sample config file for more details. 
+
+    <p>Type map files have an entry for each available variant;
+    these entries consist of contiguous HTTP-format header lines.
+    Entries for different variants are separated by blank lines.
+    Blank lines are illegal within an entry. It is conventional to
+    begin a map file with an entry for the combined entity as a
+    whole (although this is not required, and if present will be
+    ignored). An example map file is shown below. In this example, the
+    file would be named <code>foo.var</code> and would be placed in the
+    same directory with the various variants of the resource
+    <code>foo</code>.</p>
+<pre>
+  URI: foo
+
+  URI: foo.en.html
+  Content-type: text/html
+  Content-language: en
+
+  URI: foo.fr.de.html
+  Content-type: text/html;charset=iso-8859-2
+  Content-language: fr, de
+</pre>
+    If the variants have different source qualities, that may be
+    indicated by the "qs" parameter to the media type, as in this
+    picture (available as jpeg, gif, or ASCII-art): 
+<pre>
+  URI: foo
+
+  URI: foo.jpeg
+  Content-type: image/jpeg; qs=0.8
+
+  URI: foo.gif
+  Content-type: image/gif; qs=0.5
+
+  URI: foo.txt
+  Content-type: text/plain; qs=0.01
+</pre>
+
+    <p>qs values can vary in the range 0.000 to 1.000. Note that
+    any variant with a qs value of 0.000 will never be chosen.
+    Variants with no 'qs' parameter value are given a qs factor of
+    1.0. The qs parameter indicates the relative 'quality' of this
+    variant compared to the other available variants, independent
+    of the client's capabilities. For example, a jpeg file is
+    usually of higher source quality than an ascii file if it is
+    attempting to represent a photograph. However, if the resource
+    being represented is an original ascii art, then an ascii
+    representation would have a higher source quality than a jpeg
+    representation. A qs value is therefore specific to a given
+    variant depending on the nature of the resource it
+    represents.</p>
+
+    <p>The full list of headers recognized is:</p>
+
+    <dl>
+      <dt><code>URI:</code></dt>
+
+      <dd>uri of the file containing the variant (of the given
+      media type, encoded with the given content encoding). These
+      are interpreted as URLs relative to the map file; they must
+      be on the same server (!), and they must refer to files to
+      which the client would be granted access if they were to be
+      requested directly.</dd>
+
+      <dt><code>Content-Type:</code></dt>
+
+      <dd>media type --- charset, level and "qs" parameters may be
+      given. These are often referred to as MIME types; typical
+      media types are <code>image/gif</code>,
+      <code>text/plain</code>, or
+      <code>text/html;&nbsp;level=3</code>.</dd>
+
+      <dt><code>Content-Language:</code></dt>
+
+      <dd>The languages of the variant, specified as an Internet
+      standard language tag from RFC 1766 (<em>e.g.</em>,
+      <code>en</code> for English, <code>kr</code> for Korean,
+      <em>etc.</em>).</dd>
+
+      <dt><code>Content-Encoding:</code></dt>
+
+      <dd>If the file is compressed, or otherwise encoded, rather
+      than containing the actual raw data, this says how that was
+      done. Apache only recognizes encodings that are defined by an
+      <a href="mod/mod_mime.html#addencoding">AddEncoding</a>
+      directive. This normally includes the encodings
+      <code>x-compress</code> for compress'd files, and
+      <code>x-gzip</code> for gzip'd files. The <code>x-</code>
+      prefix is ignored for encoding comparisons.</dd>
+
+      <dt><code>Content-Length:</code></dt>
+
+      <dd>The size of the file. Specifying content lengths in the
+      type-map allows the server to compare file sizes without
+      checking the actual files.</dd>
+
+      <dt><code>Description:</code></dt>
+
+      <dd>A human-readable textual description of the variant. If
+      Apache cannot find any appropriate variant to return, it will
+      return an error response which lists all available variants
+      instead. Such a variant list will include the human-readable
+      variant descriptions.</dd>
+    </dl>
+
+    <h3>Multiviews</h3>
+
+    <p><code>MultiViews</code> is a per-directory option, meaning
+    it can be set with an <code>Options</code> directive within a
+    <code>&lt;Directory&gt;</code>, <code>&lt;Location&gt;</code>
+    or <code>&lt;Files&gt;</code> section in
+    <code>access.conf</code>, or (if <code>AllowOverride</code> is
+    properly set) in <code>.htaccess</code> files. Note that
+    <code>Options All</code> does not set <code>MultiViews</code>;
+    you have to ask for it by name.</p>
+
+    <p>The effect of <code>MultiViews</code> is as follows: if the
+    server receives a request for <code>/some/dir/foo</code>, if
+    <code>/some/dir</code> has <code>MultiViews</code> enabled, and
+    <code>/some/dir/foo</code> does <em>not</em> exist, then the
+    server reads the directory looking for files named foo.*, and
+    effectively fakes up a type map which names all those files,
+    assigning them the same media types and content-encodings it
+    would have if the client had asked for one of them by name. It
+    then chooses the best match to the client's requirements.</p>
+
+    <p><code>MultiViews</code> may also apply to searches for the
+    file named by the <code>DirectoryIndex</code> directive, if the
+    server is trying to index a directory. If the configuration
+    files specify</p>
+<pre>
+  DirectoryIndex index
+</pre>
+    then the server will arbitrate between <code>index.html</code>
+    and <code>index.html3</code> if both are present. If neither
+    are present, and <code>index.cgi</code> is there, the server
+    will run it. 
+
+    <p>If one of the files found when reading the directive is a
+    CGI script, it's not obvious what should happen. The code gives
+    that case special treatment --- if the request was a POST, or a
+    GET with QUERY_ARGS or PATH_INFO, the script is given an
+    extremely high quality rating, and generally invoked; otherwise
+    it is given an extremely low quality rating, which generally
+    causes one of the other views (if any) to be retrieved.</p>
+
+    <h2>The Negotiation Methods</h2>
+    After Apache has obtained a list of the variants for a given
+    resource, either from a type-map file or from the filenames in
+    the directory, it invokes one of two methods to decide on the
+    'best' variant to return, if any. It is not necessary to know
+    any of the details of how negotiation actually takes place in
+    order to use Apache's content negotiation features. However the
+    rest of this document explains the methods used for those
+    interested. 
+
+    <p>There are two negotiation methods:</p>
+
+    <ol>
+      <li><strong>Server driven negotiation with the Apache
+      algorithm</strong> is used in the normal case. The Apache
+      algorithm is explained in more detail below. When this
+      algorithm is used, Apache can sometimes 'fiddle' the quality
+      factor of a particular dimension to achieve a better result.
+      The ways Apache can fiddle quality factors is explained in
+      more detail below.</li>
+
+      <li><strong>Transparent content negotiation</strong> is used
+      when the browser specifically requests this through the
+      mechanism defined in RFC 2295. This negotiation method gives
+      the browser full control over deciding on the 'best' variant,
+      the result is therefore dependent on the specific algorithms
+      used by the browser. As part of the transparent negotiation
+      process, the browser can ask Apache to run the 'remote
+      variant selection algorithm' defined in RFC 2296.</li>
+    </ol>
+
+    <h3>Dimensions of Negotiation</h3>
+
+    <table>
+      <tr valign="top">
+        <th>Dimension</th>
+
+        <th>Notes</th>
+      </tr>
+
+      <tr valign="top">
+        <td>Media Type</td>
+
+        <td>Browser indicates preferences with the Accept header
+        field. Each item can have an associated quality factor.
+        Variant description can also have a quality factor (the
+        "qs" parameter).</td>
+      </tr>
+
+      <tr valign="top">
+        <td>Language</td>
+
+        <td>Browser indicates preferences with the Accept-Language
+        header field. Each item can have a quality factor. Variants
+        can be associated with none, one or more than one
+        language.</td>
+      </tr>
+
+      <tr valign="top">
+        <td>Encoding</td>
+
+        <td>Browser indicates preference with the Accept-Encoding
+        header field. Each item can have a quality factor.</td>
+      </tr>
+
+      <tr valign="top">
+        <td>Charset</td>
+
+        <td>Browser indicates preference with the Accept-Charset
+        header field. Each item can have a quality factor. Variants
+        can indicate a charset as a parameter of the media
+        type.</td>
+      </tr>
+    </table>
+
+    <h3>Apache Negotiation Algorithm</h3>
+
+    <p>Apache can use the following algorithm to select the 'best'
+    variant (if any) to return to the browser. This algorithm is
+    not further configurable. It operates as follows:</p>
+
+    <ol>
+      <li>First, for each dimension of the negotiation, check the
+      appropriate <em>Accept*</em> header field and assign a
+      quality to each variant. If the <em>Accept*</em> header for
+      any dimension implies that this variant is not acceptable,
+      eliminate it. If no variants remain, go to step 4.</li>
+
+      <li>
+        Select the 'best' variant by a process of elimination. Each
+        of the following tests is applied in order. Any variants
+        not selected at each test are eliminated. After each test,
+        if only one variant remains, select it as the best match
+        and proceed to step 3. If more than one variant remains,
+        move on to the next test. 
+
+        <ol>
+          <li>Multiply the quality factor from the Accept header
+          with the quality-of-source factor for this variant's
+          media type, and select the variants with the highest
+          value.</li>
+
+          <li>Select the variants with the highest language quality
+          factor.</li>
+
+          <li>Select the variants with the best language match,
+          using either the order of languages in the
+          Accept-Language header (if present), or else the order of
+          languages in the <code>LanguagePriority</code> directive
+          (if present).</li>
+
+          <li>Select the variants with the highest 'level' media
+          parameter (used to give the version of text/html media
+          types).</li>
+
+          <li>Select variants with the best charset media
+          parameters, as given on the Accept-Charset header line.
+          Charset ISO-8859-1 is acceptable unless explicitly
+          excluded. Variants with a <code>text/*</code> media type
+          but not explicitly associated with a particular charset
+          are assumed to be in ISO-8859-1.</li>
+
+          <li>Select those variants which have associated charset
+          media parameters that are <em>not</em> ISO-8859-1. If
+          there are no such variants, select all variants
+          instead.</li>
+
+          <li>Select the variants with the best encoding. If there
+          are variants with an encoding that is acceptable to the
+          user-agent, select only these variants. Otherwise if
+          there is a mix of encoded and non-encoded variants,
+          select only the unencoded variants. If either all
+          variants are encoded or all variants are not encoded,
+          select all variants.</li>
+
+          <li>Select the variants with the smallest content
+          length.</li>
+
+          <li>Select the first variant of those remaining. This
+          will be either the first listed in the type-map file, or
+          when variants are read from the directory, the one whose
+          file name comes first when sorted using ASCII code
+          order.</li>
+        </ol>
+      </li>
+
+      <li>The algorithm has now selected one 'best' variant, so
+      return it as the response. The HTTP response header Vary is
+      set to indicate the dimensions of negotiation (browsers and
+      caches can use this information when caching the resource).
+      End.</li>
+
+      <li><p>To get here means no variant was selected (because none
+      are acceptable to the browser). Return a 406 status (meaning
+      "No acceptable representation") with a response body
+      consisting of an HTML document listing the available
+      variants. Also set the HTTP Vary header to indicate the
+      dimensions of variance.</p>
+
+      <p>You should be aware that the error message returned by Apache is
+      necessarily rather terse and might confuse some users (even though it
+      lists the available alternatives). If you want to avoid users seeing this
+      error page, you should organize your documents such that a document in a
+      default language (or with a default encoding etc.) is always returned if a
+      document is not available in any of the languages, encodings etc. the
+      browser asked for.</p>
+
+      <p>In particular, if you want a document in a default language to
+      be returned if a document is not available in any of the languages
+      a browser asked for, you should create a document with no language
+      attribute set.  See <a href="#nolanguage">Variants with no
+      Language</a> below for details.</p></li>
+    </ol>
+
+    <h2><a id="better" name="better">Fiddling with Quality
+    Values</a></h2>
+
+    <p>Apache sometimes changes the quality values from what would
+    be expected by a strict interpretation of the Apache
+    negotiation algorithm above. This is to get a better result
+    from the algorithm for browsers which do not send full or
+    accurate information. Some of the most popular browsers send
+    Accept header information which would otherwise result in the
+    selection of the wrong variant in many cases. If a browser
+    sends full and correct information these fiddles will not be
+    applied.</p>
+
+    <h3>Media Types and Wildcards</h3>
+
+    <p>The Accept: request header indicates preferences for media
+    types. It can also include 'wildcard' media types, such as
+    "image/*" or "*/*" where the * matches any string. So a request
+    including:</p>
+<pre>
+  Accept: image/*, */*
+</pre>
+    would indicate that any type starting "image/" is acceptable,
+    as is any other type (so the first "image/*" is redundant).
+    Some browsers routinely send wildcards in addition to explicit
+    types they can handle. For example: 
+<pre>
+  Accept: text/html, text/plain, image/gif, image/jpeg, */*
+</pre>
+    The intention of this is to indicate that the explicitly listed
+    types are preferred, but if a different representation is
+    available, that is ok too. However under the basic algorithm,
+    as given above, the */* wildcard has exactly equal preference
+    to all the other types, so they are not being preferred. The
+    browser should really have sent a request with a lower quality
+    (preference) value for *.*, such as: 
+<pre>
+  Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
+</pre>
+    The explicit types have no quality factor, so they default to a
+    preference of 1.0 (the highest). The wildcard */* is given a
+    low preference of 0.01, so other types will only be returned if
+    no variant matches an explicitly listed type. 
+
+    <p>If the Accept: header contains <em>no</em> q factors at all,
+    Apache sets the q value of "*/*", if present, to 0.01 to
+    emulate the desired behaviour. It also sets the q value of
+    wildcards of the format "type/*" to 0.02 (so these are
+    preferred over matches against "*/*". If any media type on the
+    Accept: header contains a q factor, these special values are
+    <em>not</em> applied, so requests from browsers which send the
+    correct information to start with work as expected.</p>
+
+    <h3><a id="nolanguage" name="nolanguage">Variants with no Language</a></h3>
+
+    <p>If some of the variants for a particular resource have a
+    language attribute, and some do not, those variants with no
+    language are given a very low language quality factor of
+    0.001.</p>
+
+    <p>The reason for setting this language quality factor for variant
+    with no language to a very low value is to allow for a default
+    variant which can be supplied if none of the other variants match
+    the browser's language preferences. This allows you to avoid users
+    seeing a "406" error page if their browser is set to only accept
+    languages which you do not offer for the resource that was
+    requested.</p>
+
+    <p>For example, consider the situation with Multiviews enabled and
+    three variants:</p>
+
+    <ul>
+      <li>foo.en.html, language en</li>
+
+      <li>foo.fr.html, language fr</li>
+
+      <li>foo.html, no language</li>
+    </ul>
+
+    <p>The meaning of a variant with no language is that it is always
+    acceptable to the browser. If the request is for <code>foo</code>
+    and the Accept-Language header includes either en or fr (or both)
+    one of foo.en.html or foo.fr.html will be returned. If the browser
+    does not list either en or fr as acceptable, foo.html will be
+    returned instead.  If the client requests <code>foo.html</code>
+    instead, then no negotiation will occur since the exact match
+    will be returned.  To avoid this problem, it is sometimes helpful
+    to name the "no language" variant <code>foo.html.html</code> to assure
+    that Multiviews and language negotiation will come into play.</p>
+
+    <h2>Extensions to Transparent Content Negotiation</h2>
+    Apache extends the transparent content negotiation protocol
+    (RFC 2295) as follows. A new <code>{encoding ..}</code> element
+    is used in variant lists to label variants which are available
+    with a specific content-encoding only. The implementation of
+    the RVSA/1.0 algorithm (RFC 2296) is extended to recognize
+    encoded variants in the list, and to use them as candidate
+    variants whenever their encodings are acceptable according to
+    the Accept-Encoding request header. The RVSA/1.0 implementation
+    does not round computed quality factors to 5 decimal places
+    before choosing the best variant. 
+
+    <h2>Note on hyperlinks and naming conventions</h2>
+
+    <p>If you are using language negotiation you can choose between
+    different naming conventions, because files can have more than
+    one extension, and the order of the extensions is normally
+    irrelevant (see <a href="mod/mod_mime.html">mod_mime</a>
+    documentation for details).</p>
+
+    <p>A typical file has a MIME-type extension (<em>e.g.</em>,
+    <samp>html</samp>), maybe an encoding extension (<em>e.g.</em>,
+    <samp>gz</samp>), and of course a language extension
+    (<em>e.g.</em>, <samp>en</samp>) when we have different
+    language variants of this file.</p>
+
+    <p>Examples:</p>
+
+    <ul>
+      <li>foo.en.html</li>
+
+      <li>foo.html.en</li>
+
+      <li>foo.en.html.gz</li>
+    </ul>
+
+    <p>Here some more examples of filenames together with valid and
+    invalid hyperlinks:</p>
+
+    <table border="1" cellpadding="8" cellspacing="0">
+      <tr>
+        <th>Filename</th>
+
+        <th>Valid hyperlink</th>
+
+        <th>Invalid hyperlink</th>
+      </tr>
+
+      <tr>
+        <td><em>foo.html.en</em></td>
+
+        <td>foo<br />
+         foo.html</td>
+
+        <td>-</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.en.html</em></td>
+
+        <td>foo</td>
+
+        <td>foo.html</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.html.en.gz</em></td>
+
+        <td>foo<br />
+         foo.html</td>
+
+        <td>foo.gz<br />
+         foo.html.gz</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.en.html.gz</em></td>
+
+        <td>foo</td>
+
+        <td>foo.html<br />
+         foo.html.gz<br />
+         foo.gz</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.gz.html.en</em></td>
+
+        <td>foo<br />
+         foo.gz<br />
+         foo.gz.html</td>
+
+        <td>foo.html</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.html.gz.en</em></td>
+
+        <td>foo<br />
+         foo.html<br />
+         foo.html.gz</td>
+
+        <td>foo.gz</td>
+      </tr>
+    </table>
+
+    <p>Looking at the table above you will notice that it is always
+    possible to use the name without any extensions in a hyperlink
+    (<em>e.g.</em>, <samp>foo</samp>). The advantage is that you
+    can hide the actual type of a document rsp. file and can change
+    it later, <em>e.g.</em>, from <samp>html</samp> to
+    <samp>shtml</samp> or <samp>cgi</samp> without changing any
+    hyperlink references.</p>
+
+    <p>If you want to continue to use a MIME-type in your
+    hyperlinks (<em>e.g.</em> <samp>foo.html</samp>) the language
+    extension (including an encoding extension if there is one)
+    must be on the right hand side of the MIME-type extension
+    (<em>e.g.</em>, <samp>foo.html.en</samp>).</p>
+
+    <h2>Note on Caching</h2>
+
+    <p>When a cache stores a representation, it associates it with
+    the request URL. The next time that URL is requested, the cache
+    can use the stored representation. But, if the resource is
+    negotiable at the server, this might result in only the first
+    requested variant being cached and subsequent cache hits might
+    return the wrong response. To prevent this, Apache normally
+    marks all responses that are returned after content negotiation
+    as non-cacheable by HTTP/1.0 clients. Apache also supports the
+    HTTP/1.1 protocol features to allow caching of negotiated
+    responses.</p>
+
+    <p>For requests which come from a HTTP/1.0 compliant client
+    (either a browser or a cache), the directive
+    <tt>CacheNegotiatedDocs</tt> can be used to allow caching of
+    responses which were subject to negotiation. This directive can
+    be given in the server config or virtual host, and takes no
+    arguments. It has no effect on requests from HTTP/1.1 clients. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/content-negotiation.html.html b/htdocs/manual/content-negotiation.html.html
new file mode 100644 (file)
index 0000000..8d47f79
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="content-negotiation.html.en" -->
+
diff --git a/htdocs/manual/content-negotiation.html.ja.jis b/htdocs/manual/content-negotiation.html.ja.jis
new file mode 100644 (file)
index 0000000..608d39e
--- /dev/null
@@ -0,0 +1,662 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Apache Content Negotiation</title>
+  </head>
+  <!-- English Revision: 1.31 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+    <h1 align="center">\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</h1>
+
+    <p>Apache \e$B$N%3%s%F%s%H%M%4%7%(!<%7%g%s$N%5%]!<%H$O\e(B HTTP/1.1
+    \e$B$N5,3J$K9g$&$h$&$K\e(B
+    \e$B99?7$5$l$^$7$?!#$=$l$K$h$j!"%V%i%&%6$K$h$jDs6!$5$l$?%a%G%#%"%?%$%W!"\e(B
+    \e$B8@8l!"%-%c%i%/%?%;%C%H$H!"%(%s%3!<%G%#%s%0$NM%@h=g0L$rMQ$$$F%j%=!<%9$N\e(B
+    \e$B0lHVNI$$I=8=J}K!$rA*Br$G$-$^$9!#$^$?!"IT40A4$J%M%4%7%(!<%7%g%sMQ$N>pJs$r\e(B
+    \e$BAw$C$F$/$k%V%i%&%6$+$i$N%j%/%(%9%H$r$h$jM%2m$K07$&$?$a$N5!G=$r\e(B
+    \e$B$$$/$D$+<BAu$7$F$$$^$9!#\e(B</p>
+
+    <p>\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s$O\e(B <a
+    href="mod/mod_negotiation.html">mod_negotiation</a>
+    \e$B%b%8%e!<%k$K$h$j\e(B
+    \e$BDs6!$5$l$F$$$F!"%G%U%)%k%H$GAH$_9~$^$l$F$$$^$9!#\e(B</p>
+    <hr />
+
+    <h2>\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s$K$D$$$F\e(B</h2>
+
+    <p>\e$B%j%=!<%9$O!"4v$D$+0[$J$C$?I=8=$GMxMQ$G$-$k>l9g$,$"$j$^$9!#\e(B
+    \e$B$?$H$($P!"0[$J$k8@8l$d0[$J$k%a%G%#%"%?%$%W!"$^$?$O$=$l$i$NAH$_9g$o$;$G\e(B
+    \e$BMxMQ$G$-$k$+$bCN$l$^$;$s!#$b$C$H$bE,$7$?A*Br$r$9$kJ}K!$N0l$D$K$O!"\e(B
+    \e$B%$%s%G%C%/%9%Z!<%8$r%f!<%6$K8+$;$F!"%f!<%6$KA*$s$G$b$i$&J}K!$,$"$j$^$9!#\e(B
+    \e$B$7$+$7!"%5!<%P$,<+F0E*$KA*$V$3$H$,$G$-$k>l9g$,B?$/$"$j$^$9!#\e(B
+    \e$B$3$l$O!"%V%i%&%6$,%j%/%(%9%H>pJsKh$N>pJs$N0lIt$K!"\e(B
+    \e$B$I$NI=8=$rSO9%$9$k$+$rAw$k$3$H$GF0:n$7$F$$$^$9!#\e(B
+    \e$B$?$H$($P%V%i%&%6$O!"2DG=$J$i%U%i%s%98l$G>pJs$r8+$?$$!"\e(B
+    \e$BIT2DG=$J$i$=$NBe$o$j$K1Q8l$G$b$h$$$H!"<+J,$NSO9%$rCN$i$;$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%V%i%&%6$O%j%/%(%9%H$N%X%C%@$G<+J,$NM%@h798~$rCN$i$;$^$9!#\e(B
+    \e$B%U%i%s%98l$NI=8=$@$1$rMW5a$9$k>l9g$O!"%V%i%&%6$O0J2<$rAw$j$^$9!#\e(B</p>
+<pre>
+  Accept-Language: fr
+</pre>
+
+    <p>\e$B$3$NM%@h798~$O!"A*Br2DG=$JI=8=$,B8:_$7$F!"\e(B
+    \e$B8@8l$K$h$C$FMM!9$JI=8=$,$"$k>l9g$K$N$_E,MQ$5$l$k\e(B
+    \e$B$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B$b$C$HJ#;($J%j%/%(%9%H$NNc$r5s$2$^$7$g$&!#\e(B
+    \e$B$3$N%V%i%&%6$O%U%i%s%98l$H1Q8l$r<u$1IU$1$k!"\e(B
+    \e$B$7$+$7%U%i%s%98l$r9%$`!"$=$7$FMM!9$J%a%G%#%"%?%$%W$r<u$1IU$1$k$,!"\e(B
+    \e$B%W%l%$%s%F%-%9%H$dB>$N%?%$%W$h$j$O\e(B HTML \e$B$r9%$`!"\e(B
+    \e$BB>$N%a%G%#%"%?%$%W$h$j$O\e(B GIF \e$B$d\e(B JPEG \e$B$r9%$`!"$7$+$7:G=*<jCJ$H$7$F\e(B
+    \e$BB>$N%a%G%#%"%?%$%W$b<u$1IU$1$k!"$H$$$&$h$&$K@_Dj$5$l$F$$$^$9!#\e(B
+    </p>
+<pre>
+  Accept-Language: fr; q=1.0, en; q=0.5
+  Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6,
+        image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
+</pre>
+
+    <p>Apache 1.2 \e$B$O\e(B HTTP/1.1 \e$B$N5,3J$GDj5A$5$l$F$$$k\e(B 'server driven'
+    \e$B%3%s%F%s%H%M%4%7%(!<%7%g%s$r%5%]!<%H$7$F$$$^$9!#\e(B
+    Accept, Accept-Language, Accept-Charset, Accept-Encoding
+    \e$B%j%/%(%9%H%X%C%@$r40A4$K%5%]!<%H$7$F$$$^$9!#\e(BApache 1.3.4 \e$B$O\e(B
+    RFC 2295 \e$B$H\e(B RFC 2296
+    \e$B$GDj5A$5$l$F$$$k<B83E*$J%M%4%7%(!<%7%g%s%W%m%H%3%k$G$"$k!"\e(B
+    'transparent' \e$B$b%5%]!<%H$7$F$$$^$9!#$=$l$i$N\e(B RFC \e$B$GDj5A$5$l$F$$$k\e(B
+    'feature negotiation' \e$B$O%5%]!<%H$7$F$$$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B%j%=!<%9\e(B</strong>\e$B$H$O\e(B URI
+    \e$B$GFCDj$5$l$k35G0>e$N$b$N$N$3$H$G$9\e(B (RFC 2396)\e$B!#\e(B Apache
+    \e$B$N$h$&$J\e(B HTTP \e$B%5!<%P$O!"$=$NL>A06u4V$NCf$G$N\e(B
+    \e$B%j%=!<%9$N\e(B<strong>\e$BI=8=\e(B</strong>\e$B$X$N%"%/%;%9$rDs6!$7$^$9!#\e(B
+    \e$B$=$l$>$l$NI=8=$ODj5A$5$l$?%a%G%#%"%?%$%W!"J8;z%;%C%H!"\e(B
+    \e$B%(%s%3!<%G%#%s%0Ey$NIUB0$7$?!"%P%$%HNs$N7A<0$G$9!#\e(B
+    \e$B$=$l$>$l$N%j%=!<%9$O$"$k;~E@$G\e(B 0 \e$B8D!"\e(B1 \e$B8D!"$=$l0J>e$NI=8=$H\e(B
+    \e$B4XO"IU$1$i$l$k2DG=@-$,$"$j$^$9!#J#?t$NI=8=$,MxMQ$G$-$k>l9g$O!"\e(B
+    \e$B%j%=!<%9$O\e(B<strong>\e$B%M%4%7%(!<%7%g%s2DG=$G$"$k\e(B</strong>\e$B$H$5$l!"\e(B
+    \e$B8D!9$NI=8=$O\e(B <strong>variant</strong> \e$B$H8F$P$l$^$9!#\e(B
+    \e$B%M%4%7%(!<%7%g%s2DG=$J%j%=!<%9$N\e(B variant \e$B$,0[$J$k!"$=$N>uBV$r;X$7$F!"\e(B
+    \e$B%M%4%7%(!<%7%g%s$N\e(B<strong>\e$B<!85\e(B</strong>\e$B$H8F$S$^$9!#\e(B</p>
+
+    <h2>Apache \e$B$K$*$1$k%M%4%7%(!<%7%g%s\e(B</h2>
+
+    <p>\e$B%j%=!<%9$r%M%4%7%(!<%7%g%s$9$k$?$a$K$O!"%5!<%P$O$=$l$>$l$N\e(B
+    variant \e$B$K$D$$$F$N>pJs$rCN$C$F$*$/I,MW$,$"$j$^$9!#\e(B
+    \e$B$3$l$O0J2<$NFs$D$NJ}K!$N$I$A$i$+$G9T$o$l$^$9!#\e(B</p>
+
+    <ul>
+    <li>\e$B%?%$%W%^%C%W\e(B (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<code>*.var</code> \e$B%U%!%$%k\e(B)
+    \e$B$r;H$&J}K!!#$3$l$O!"\e(Bvariant
+    \e$B$rL@<(E*$K5s$2$F$$$k%U%!%$%k$r;XDj$7$^$9!#\e(B</li>
+
+    <li>'Multiviews' \e$B$r;H$C$F!"\e(B
+    \e$B%5!<%P$,0EL[$NFb$K%U%!%$%kL>$K%Q%?!<%s>H9g$r\e(B
+    \e$B9T$J$C$F$=$N7k2L$+$iA*Br$9$kJ}K!!#\e(B</li>
+    </ul>
+
+    <h3>type-map \e$B%U%!%$%k$r;H$&\e(B</h3>
+
+    <p>\e$B%?%$%W%^%C%W$O\e(B <code>type-map</code> \e$B%O%s%I%i\e(B (\e$B$b$7$/$O!"8E$$\e(B
+    Apache \e$B$N@_Dj$K>e0L8_49$H$J$k$?$a$K0];}$5$l$F$$$k\e(B mime \e$B%?%$%W\e(B
+    <code>application/x-type-map</code>)
+    \e$B$K4XO"IU$1$i$l$?%I%-%e%a%s%H$G$9!#\e(B
+    \e$B$3$N5!G=$r;H$&$?$a$K$O!"$"$k%U%!%$%k$N3HD%;R$r\e(B
+    <code>type-map</code>
+    \e$B$H$7$FDj5A$9$k%O%s%I%i$r@_Dj%U%!%$%k$G@_Dj$9$k\e(B
+    \e$BI,MW$,$"$k$3$H$KCm0U$7$F$/$@$5$$!#$3$l$O\e(B</p>
+<pre>
+  AddHandler type-map .var
+</pre>
+    <p>
+    \e$B$r%5!<%P$N@_Dj$K=q$/$3$H$,0lHVNI$$J}K!$G$9!#\e(B
+    \e$B>\:Y$O%5%s%W%k$N@_Dj%U%!%$%k$N%3%a%s%H$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%?%$%W%^%C%W%U%!%$%k$K$O$=$l$>$l$N\e(B variant
+    \e$B$K$D$$$F$N%(%s%H%j$,$"$j$^$9!#$3$l$i$N%(%s%H%j$OO"B3$7$?\e(B HTTP
+    \e$B$N%X%C%@9T$+$i@.$j$^$9!#JL$N\e(B variant \e$B$N%(%s%H%j$H$O6u9T$G\e(B
+    \e$BJ,$1$i$l$F$$$^$9!#%(%s%H%jCf$K6u9T$,$"$C$F$O$$$1$^$;$s!#\e(B
+    \e$B%^%C%W%U%!%$%k$OA4BN$N%(%s%F%#%F%#$r$/$C$D$1$?7A$G;O$a$k$N$,\e(B
+    \e$B=,47$H$J$C$F$$$^$9\e(B
+    (\e$B$3$l$OMW5a$5$l$F$$$k$o$1$G$O$J$/!"$b$7$"$C$?>l9g$OL5;k$5$l$^$9\e(B)\e$B!#\e(B
+    \e$B$?$H$($P!"%^%C%W%U%!%$%k$O<!$N$h$&$K$J$j$^$9!#$3$NNc$G$O!"\e(B
+    \e$B%U%!%$%k$NL>A0$O\e(B <code>foo.var</code> \e$B$G!"%j%=!<%9\e(B <code>foo</code>
+    \e$B$N$$$m$$$m$J\e(B variant \e$B$,$"$k%G%#%l%/%H%j$KG[CV$5$l$k$3$H$K$J$j$^$9!#\e(B</p>
+<pre>
+  URI: foo
+
+  URI: foo.en.html
+  Content-type: text/html
+  Content-language: en
+
+  URI: foo.fr.de.html
+  Content-type: text/html;charset=iso-8859-2
+  Content-language: fr, de
+</pre>
+
+    <p>variant \e$B$NIJ<A$,0c$&$H$-$O!"$3$N2hA|$N$h$&$K\e(B (JPEG, GIF, ASCII
+    \e$B%"!<%H$,$"$j$^$9\e(B) \e$B%a%G%#%"%?%$%W$N\e(B "qs"
+    \e$B%Q%i%a!<%?$H$7$F;XDj$5$l$^$9!#\e(B</p>
+<pre>
+  URI: foo
+
+  URI: foo.jpeg
+  Content-type: image/jpeg; qs=0.8
+
+  URI: foo.gif
+  Content-type: image/gif; qs=0.5
+
+  URI: foo.txt
+  Content-type: text/plain; qs=0.01
+</pre>
+
+    <p>qs \e$BCM$NHO0O$O\e(B 0.000 \e$B$+$i\e(B 1.000 \e$B$G$9!#\e(Bqs \e$BCM$,\e(B 0.000 \e$B$N\e(B variant
+    \e$B$O7h$7$FA*Br$5$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B'qs' \e$BCM$N$J$$\e(B
+    variant \e$B$O\e(B qs \e$BCM\e(B 1.0 \e$B$r\e(B \e$BM?$($i$l$^$9!#\e(Bqs
+    \e$B%Q%i%a!<%?$O%/%i%$%"%s%H$NG=NO$K4X78L5$/!"B>$N\e(B variant 
+    \e$B$HHf3S$7$?$H$-$N\e(B variant \e$B$NAjBPE*$J!VIJ<A!W$r<($7$^$9!#$?$H$($P!"\e(B
+    \e$B<L??$rI=8=$7$h$&$H$7$F$$$k$H$-$O\e(B JPEG \e$B%U%!%$%k$NJ}$,IaDL$O\e(B
+    ASCII \e$B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#\e(B \e$B$7$+$7!"%j%=!<%9$,85!9\e(B
+    ASCII \e$B%"!<%H$GI=8=$5$l$F$$$k$H$-$O!"\e(Bascii \e$B%U%!%$%k$NJ}$,\e(B
+    JPEG \e$B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#$3$N$h$&$K!"\e(Bqs
+    \e$B$OI=8=$5$l$k%j%=!<%9$N@-<A$K$h$C$F\e(B variant
+    \e$BKh$KFCM-$NCM$r<h$j$^$9!#\e(B</p>
+
+    <p>\e$BG'<1$5$l$k%X%C%@$N40A4$J0lMw$O0J2<$N$h$&$K$J$j$^$9\e(B:</p>
+
+    <dl>
+    <dt><code>URI:</code></dt>
+
+    <dd>(\e$BM?$($i$l$?%a%G%#%"%?%$%W$N$b$N$G!"M?$($i$l$?\e(B content
+    encoding \e$B$G%(%s%3!<%I$5$l$?\e(B) variant \e$B$N%U%!%$%k$N\e(B URI
+    \e$B!#%^%C%W%U%!%$%k$+$i$NAjBP\e(B URL \e$B$H$7$F2r<a$5$l$^$9!#\e(B
+    \e$BF1$8%5!<%P>e$K$"$kI,MW$,$"$j!"\e(B
+    \e$BD>@\MW5a$5$l$?$H$-$K%/%i%$%"%s%H$,%"%/%;%9$r\e(B
+    \e$BG'$a$i$l$F$$$k%U%!%$%k$r;2>H$7$F$$$J$1$l$P$J$j$^$;$s!#\e(B</dd>
+
+    <dt><code>Content-Type:</code></dt>
+
+    <dd>\e$B%a%G%#%"%?%$%W\e(B --- charset, level, "qs"
+    \e$B%Q%i%a!<%?$r;XDj$9$k$3$H$,$G$-$^$9!#$3$l$i$O$7$P$7$P\e(B MIME
+    \e$B%?%$%W$H8F$P$l$^$9!#E57?E*$J%a%G%#%"%?%$%W$O\e(B
+    <code>image/gif</code>, <code>text/plain</code>,
+    <code>text/html;&nbsp;level=3</code> \e$B$G$9!#\e(B</dd>
+
+    <dt><code>Content-Language:</code></dt>
+
+    <dd>RFC 1766 \e$B$N%$%s%?!<%M%C%HI8=`8@8l%?%0$G;XDj$5$l$?!"\e(Bvariant
+    \e$B$N8@8l!#\e(B (<em>\e$B$?$H$($P\e(B</em>\e$B!"1Q8l$O\e(B
+    <code>en</code>\e$B!"\e(B \e$B4Z9q8l$O\e(B <code>kr</code>,
+    <em>\e$BEy\e(B</em>)\e$B!#\e(B</dd>
+
+    <dt><code>Content-Encoding:</code></dt>
+
+    <dd>\e$B@8$N%G!<%?$G$O$J$/!"%U%!%$%k$,05=L$5$l$F$$$?$j!"\e(B
+    \e$B%(%s%3!<%I$5$l$?$j$7$F$$$k$H$-$K!"\e(B
+    \e$B$I$N$h$&$K$=$l$,$J$5$l$F$$$k$+$r;XDj$7$^$9!#\e(B
+    Apache \e$B$O\e(B <a href="mod/mod_mime.html#addencoding">AddEncoding</a>
+    \e$B%G%#%l%/%F%#%V$GDj5A$5$l$?%(%s%3!<%G%#%s%0$N$_$rG'<1$7$^$9!#DL>o$O\e(B
+    compress \e$B$5$l$?%U%!%$%k$N$?$a$N\e(B <code>x-compress</code> \e$B$d\e(B
+    gzip \e$B$5$l$?%U%!%$%k$N$?$a$N\e(B <code>x-gzip</code>
+    \e$B$N$h$&$J%(%s%3!<%G%#%s%0$r4^$_$^$9!#\e(B
+    \e$B%(%s%3!<%G%#%s%0$NHf3S;~$K$O@\F,<-\e(B <code>x-</code>
+    \e$B$OL5;k$5$l$^$9!#\e(B</dd>
+
+    <dt><code>Content-Length:</code></dt>
+
+    <dd>\e$B%U%!%$%k$N%5%$%:!#%?%$%W%^%C%W$G\e(B content length \e$B$r;XDj$9$k$H!"\e(B
+    \e$B%5!<%P$,<B:]$N%U%!%$%k$rD4$Y$:$K\e(B
+    \e$B%U%!%$%k$N%5%$%:$rHf3S$9$k$3$H$,$G$-$^$9!#\e(B</dd>
+
+    <dt><code>Description:</code></dt>
+
+    <dd>\e$B?M4V$,FI$a$k\e(B variant \e$B$r@bL@$7$?J8>O!#\e(BApache \e$B$,E,@Z$J\e(B variant
+    \e$B$r8+$D$1$i$l$J$+$C$?>l9g$O!"$9$Y$F$N2DG=$J\e(B variant
+    \e$B$N0lMw$r5s$2$k%(%i!<1~Ez$rJV$7$^$9!#$=$N\e(B variant
+    \e$B0lMw$O?M4V$,FI$a$k\e(B variant \e$B$N\e(B \e$B@bL@$r4^$_$^$9!#\e(B</dd>
+    </dl>
+
+    <h3>Multiviews</h3>
+
+    <p><code>MultiViews</code> \e$B$O%G%#%l%/%H%jKh$N%*%W%7%g%s$G!"\e(B
+    <code>&lt;Directory&gt;</code>, <code>&lt;Location&gt;</code>,
+    <code>&lt;Files&gt;</code> \e$B$d!"\e(B(<code>AllowOverride</code>
+    \e$B$,E,@Z$JCM$K@_Dj$5$l$F$$$k$H\e(B) <code>.htaccess</code>
+    \e$B%U%!%$%k$G\e(B <code>Options</code>
+    \e$B%G%#%l%/%F%#%V$K$h$C$F@_Dj$9$k$3$H$,$G$-$^$9!#\e(B<code>Options
+    All</code> \e$B$O\e(B <code>MultiViews</code>
+    \e$B$r@_Dj$7$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    \e$BL@<(E*$K$=$NL>A0$r=q$/I,MW$,$"$j$^$9!#\e(B</p>
+
+    <p><code>MultiViews</code> \e$B$N8z2L$O0J2<$N$h$&$K$J$j$^$9\e(B:
+    \e$B%5!<%P$,\e(B <code>/some/dir/foo</code> \e$B$X$N%j%/%(%9%H$r<u$1<h$j!"\e(B
+    <code>/some/dir/foo</code> \e$B$,B8:_\e(B<em>\e$B$7$J$$\e(B</em>\e$B>l9g!"\e(B
+    \e$B%5!<%P$O%G%#%l%/%H%j$rFI$s$G!"\e(B<code>foo.*</code>
+    \e$B$K$"$F$O$^$k$9$Y$F$N%U%!%$%k$rC5$7!"\e(B
+    \e$B;v<B>e$=$l$i$N%U%!%$%k$r%^%C%W$9$k%?%$%W%^%C%W$r:n$j$^$9!#\e(B
+    \e$B$=$N$H$-!"%a%G%#%"%?%$%W$H%3%s%F%s%H%(%s%3!<%G%#%s%0$O!"\e(B
+    \e$B$=$N%U%!%$%kL>$rD>@\;XDj$7$?$H$-$HF1$8$b$N$,3d$jEv$F$i$l$^$9!#\e(B
+    \e$B$=$l$+$i%/%i%$%"%s%H$NMW5a$K$b$C$H$b9g$&$b$N$rA*$S!"\e(B
+    \e$B$=$N%I%-%e%a%s%H$rJV$7$^$9!#\e(B</p>
+
+    <p>\e$B%5!<%P$,%G%#%l%/%H%j$N:w0z$r:n$m$&$H$7$F$$$k$H!"\e(B
+    <code>MultiViews</code> \e$B$O\e(B <code>DirectoryIndex</code>
+    \e$B%G%#%l%/%F%#%V$G;XDj$5$l$?L>A0$NC5:w$K$bE,MQ$5$l$^$9!#\e(B
+    \e$B@_Dj%U%!%$%k$K\e(B</p>
+
+<pre>
+  DirectoryIndex index
+</pre>
+
+    <p>\e$B$,=q$+$l$F$$$F!"\e(B<code>index.html</code> \e$B$H\e(B
+    <code>index.html3</code> \e$B$,N>J}B8:_$7$F$$$k$H!"\e(B
+    \e$B%5!<%P$O$=$NCf$+$iKh2s$I$A$i$+$rE,Ev$KA*$S$^$9!#\e(B
+    \e$B$b$7$=$NN>J}$,B8:_$;$:$K\e(B <code>index.cgi</code>
+    \e$B$,B8:_$7$F$$$k$H!"%5!<%P$O$=$l$r<B9T$7$^$9!#\e(B</p>
+
+    <p>\e$B%G%#%l%/%H%j$rFI$s$G$$$k$H$-$K8+$D$+$C$?%U%!%$%k$K\e(B CGI
+    \e$B%9%/%j%W%H$,$"$C$?>l9g$O!"2?$,5/$3$k$Y$-$+$O<+L@$G$O$"$j$^$;$s!#\e(B
+    \e$B$=$N$h$&$J>l9g$O%3!<%I$OFCJL$J07$$$r$7$F$$$^$9!#%j%/%(%9%H$,\e(B
+    POST \e$B$+\e(B QUERY_ARGS \e$B$d\e(B PATH_INFO \e$B$N$"$k\e(B GET
+    \e$B$N>l9g$O!"%9%/%j%W%H$KHs>o$K9b$$IJ<A$,M?$($i$l!"\e(B
+    \e$BDL>o$=$l$,5/F0$5$l$^$9!#$=$NB>$N%j%/%(%9%H$N$H$-$O!"%9%/%j%W%H$K$O\e(B
+    \e$BHs>o$KDc$$IJ<A$,M?$($i$l!"B>$N$b$N$,\e(B(\e$B$b$7$"$l$P\e(B)\e$B<hF@$5$l$^$9!#\e(B</p>
+
+    <h2>\e$B%M%4%7%(!<%7%g%sJ}K!\e(B</h2>
+
+    <p>Apache \e$B$,%?%$%W%^%C%W%U%!%$%k$+%G%#%l%/%H%j$N%U%!%$%kL>$+$i\e(B
+    \e$B%j%=!<%9$N\e(B variant \e$B$N0lMw$r<hF@$7$?$i!"!V:GA1!W$N\e(B variant
+    \e$B$rA*$V$?$a$K\e(B \e$BFs$D$NJ}K!$N$I$A$i$+$r5/F0$7$^$9!#\e(BApache
+    \e$B$N%3%s%F%s%H%M%4%7%(!<%7%g%s$N5!G=$r;H$&$?$a$K!"\e(B
+    \e$B$I$N$h$&$K%M%4%7%(!<%7%g%s$,9T$J$o$l$k$+$N>\:Y$rCN$kI,MW$O\e(B
+    \e$B$"$j$^$;$s!#\e(B
+    \e$B$7$+$7!"$3$l0J9_$G$O4X?4$N$"$k?M$N$?$a$K$=$NJ}K!$r@bL@$7$^$9!#\e(B</p>
+
+    <p>\e$B%M%4%7%(!<%7%g%sJ}K!$OFs$D$"$j$^$9!#\e(B</p>
+
+    <ol>
+    <li>\e$BDL>o$O\e(B <strong>Apache \e$B$N%"%k%4%j%:%`$rMQ$$$?\e(B Server
+    driven negotiation</strong> \e$B$,;HMQ$5$l$^$9!#\e(BApache
+    \e$B$N%"%k%4%j%:%`$O8e$G>\:Y$K@bL@$5$l$F$$$^$9!#\e(B
+    \e$B$3$N%"%k%4%j%:%`$,;HMQ$5$l$?>l9g!"\e(BApache
+    \e$B$O$h$jNI$$7k2L$K$J$k$h$&$K!"FCDj$N<!85$K$*$$$FIJ<A$NCM$r\e(B
+    \e$B!VJQ$($k!W$3$H$,$G$-$^$9!#\e(BApache
+    \e$B$,IJ<A$NCM$rJQ$($kJ}K!$O8e$G>\:Y$K@bL@$5$l$F$$$^$9!#\e(B</li>
+
+    <li>RFC 2295
+    \e$B$GDj5A$5$l$F$$$k5!9=$rMQ$$$F%V%i%&%6$,FC$K;XDj$7$?>l9g!"\e(B
+    <strong>transparent content negotiation</strong>
+    \e$B$,;HMQ$5$l$^$9!#$3$N%M%4%7%(!<%7%g%sJ}K!$G$O!"%V%i%&%6$,!V:GA1!W$N\e(B
+    variant \e$B$N7hDj$r40A4$K@)8f$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$G$9$+$i!"7k2L$O%V%i%&%6$,;HMQ$7$F$$$k%"%k%4%j%:%`$K0MB8$7$^$9!#\e(B
+    Transparent negotiation \e$B$N=hM}$N2aDx$G!"%V%i%&%6$O\e(B RFC 2296
+    \e$B$GDj5A$5$l$F$$$k\e(B 'remote variant selection algorithm'
+    \e$B$r<B9T$9$k$h$&$KMj$`$3$H$,$G$-$^$9!#\e(B</li>
+    </ol>
+
+    <h3>\e$B%M%4%7%(!<%7%g%s$N<!85\e(B</h3>
+
+    <table>
+      <tr valign="top">
+        <th>Dimension</th>
+
+        <th>Notes</th>
+      </tr>
+
+      <tr valign="top">
+        <td>\e$B%a%G%#%"%?%$%W\e(B</td>
+
+        <td>Accept \e$B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#\e(B
+        \e$B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#\e(B
+        variant \e$B$N@bL@$K$bIJ<A78?t\e(B ("qs"
+        \e$BMWAG\e(B)\e$B$r;}$D$3$H$,$G$-$^$9\e(B</td>
+      </tr>
+
+      <tr valign="top">
+        <td>\e$B8@8l\e(B</td>
+
+        <td>Accept-Language \e$B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#\e(B
+        \e$B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#\e(B
+        variants \e$B$O\e(B 0, 1, \e$B$^$?$O$=$l0J>e$N8@8l$H4XO"$E$1$k$3$H$,$G$-$^$9!#\e(B
+        </td>
+      </tr>
+
+      <tr valign="top">
+        <td>\e$B%(%s%3!<%G%#%s%0\e(B</td>
+
+        <td>Accept-Encoding \e$B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#\e(B
+        \e$B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#\e(B</td>
+      </tr>
+
+      <tr valign="top">
+        <td>\e$B%-%c%i%/%?%;%C%H\e(B</td>
+
+        <td>Accept-Charset \e$B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#\e(B
+        \e$B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#\e(BVariants
+        \e$B$G$b%a%G%#%"%?%$%W$NMWAG$H$7$F%-%c%i%/%?%;%C%H$r<($9$3$H$,=PMh$^$9!#\e(B
+        </td>
+      </tr>
+    </table>
+
+    <h3>Apache \e$B$N%M%4%7%(!<%7%g%s%"%k%4%j%:%`\e(B</h3>
+
+    <p>\e$B%V%i%&%6$KJV$9!V:GE,$J!W\e(Bvariant \e$B$r!J$b$7$"$l$P!KA*Br$9$k$h$&$K\e(B Apache
+    \e$B$O<!$N%"%k%4%j%:%`$r;H$&$3$H$,$G$-$^$9!#$3$N%"%k%4%j%:%`$O\e(B
+    \e$BL$$@@_Dj2DG=$J$b$N$G$O$"$j$^$;$s!#<!$N$h$&$KF0:n$7$^$9\e(B:</p>
+
+    <ol>
+      <li>\e$B$^$:$O$8$a$K!"%M%4%7%(!<%7%g%s$N<!85$=$l$>$l$K$D$$$FE,@Z$J\e(B
+      <em>Accept*</em> \e$B%X%C%@%U%#!<%k%I$r%A%'%C%/$7$F!"\e(Bvariant
+      \e$B$=$l$>$l$KIJ<A$r3d$jEv$F$^$9!#$b$7$"$k<!85$N\e(B <em>Accept*</em>
+      \e$B%X%C%@$G$=$N\e(B variant \e$B$,5vMF$G$-$J$$$H0E<($5$l$F$$$l$P!"$=$l$r:o=|$7$^$9!#\e(B
+      variants \e$B$,0l$D$b;D$C$F$$$J$1$l$P!"%9%F%C%W\e(B 4 \e$B$K9T$-$^$9!#\e(B</li>
+
+      <li>\e$B>C5nK!$G!V:GE,$J!W\e(B variant \e$B$rA*$S$^$9!#\e(B
+      \e$B<!$N%F%9%H$,=gHV$KE,1~$5$l$^$9!#%F%9%H$GA*Br$5$l$J$+$C$?\e(B
+      variant \e$B$O:o=|$5$l$F$$$-$^$9!#%F%9%H8e\e(B variant
+      \e$B$,M#0l;D$C$F$$$l$P!"$=$l$r:GE,$J$b$N$H$7$F%9%F%C%W\e(B 3 \e$B$K?J$_$^$9!#\e(B
+      variant \e$B$,J#?t;D$C$F$$$l$P!"<!$N%F%9%H$K?J$_$^$9!#\e(B
+
+      <ol>
+        <li>variant \e$B$N%a%G%#%"%?%$%W$NIJ<A?tCM$H\e(B Accept
+        \e$B%X%C%@$NIJ<A?tCM$H$N@Q$r7W;;$7$F!":G9bCM$N\e(B variant
+        \e$B$rA*$S$^$9!#\e(B</li>
+
+        <li>\e$B8@8lIJ<A?tCM$,:G9b$N\e(B variant \e$B$rA*$S$^$9!#\e(B</li>
+
+        <li>(\e$B$b$7$"$l$P\e(B) Accept-Language \e$B%X%C%@$N8@8l=g$+!"\e(B
+        (\e$B$b$7$"$l$P\e(B) <code>LanguagePriority</code> 
+        \e$B%G%#%l%/%F%#%V$N8@8l=g$G:GE,$J8@8l$N\e(B variant \e$B$rA*$S$^$9!#\e(B
+        </li>
+
+        <li>\e$B:G9b!V%l%Y%k!W$N%a%G%#%"%Q%i%a!<%?\e(B (text/html
+        \e$B%a%G%#%"%?%$%W$N%P!<%8%g%s$rM?$($k$?$a$K;H$o$l$^$9\e(B)\e$B$r;}$D\e(B
+        variant \e$B$rA*$S$^$9!#\e(B</li>
+
+        <li>Accept-Charset \e$B%X%C%@9T$GM?$($i$l$F$$$k:G9b$NJ8;z%;%C%H\e(B
+        \e$B%a%G%#%"%Q%i%a!<%?$r;}$D\e(B variant \e$B$rA*$S$^$9!#L@<(E*$K=|30\e(B
+        \e$B$5$l$F$$$J$$8B$j!"\e(BISO-8859-1 \e$B$,5vMF$5$l$k$h$&$K$J$C$F$$$^$9!#\e(B
+        <code>text/*</code> \e$B%a%G%#%"%?%$%W$G$"$k$1$l$I$b\e(B
+        \e$BFCDj$NJ8;z%;%C%H$KL@<(E*$K4XO"$E$1$i$l$F$$$k$o$1$G$O$J$$\e(B
+        variant \e$B$O\e(B ISO-8859-1 \e$B$G$"$k$H2>Dj$5$l$^$9!#\e(B</li>
+
+        <li>ISO-8859-1 <em>\e$B$G$O$J$$\e(B</em>\e$BJ8;z%;%C%H%a%G%#%"%Q%i%a!<%?$H\e(B
+        \e$B4XO"$E$1$i$l$F$$$k\e(B variant \e$B$rA*$S$^$9!#$=$N$h$&$J\e(B variant
+        \e$B$,$J$$>l9g$O!"Be$o$j$K$9$Y$F$N\e(B variant \e$B$rA*$S$^$9!#\e(B</li>
+
+        <li>\e$B:GE,$J%(%s%3!<%G%#%s%0$N\e(B variant \e$B$rA*$S$^$9!#$b$7\e(B user-agent
+        \e$B$,5vMF$9$k%(%s%3!<%G%#%s%0$,$"$l$P!"$=$N\e(B variant \e$B$N$_$rA*$S$^$9!#\e(B
+        \e$B$=$&$G$O$J$/!"$b$7%(%s%3!<%I$5$l$?$b$N$H$=$&$G$J$$\e(B
+        variant \e$B$,:.$6$C$FB8:_$7$F$$$?$i%(%s%3!<%I$5$l$F$$$J$$\e(B variant
+        \e$B$N$_$rA*$S$^$9!#\e(B variant \e$B$,$9$Y$F%(%s%3!<%I$5$l$F$$$k$+\e(B variant
+        \e$B$,$I$l$b%(%s%3!<%I$5$l$F$$$J$$$H$$$&>l9g$O!"$9$Y$F$N\e(B variant
+        \e$B$rA*$S$^$9!#\e(B</li>
+
+        <li>\e$BFbMF$N:G$bC;$$\e(B variant \e$B$rA*$S$^$9!#\e(B</li>
+
+        <li>\e$B;D$C$F$$$k\e(B variant \e$B$N:G=i$N$b$N$rA*$S$^$9!#\e(B
+        \e$B%?%$%W%^%C%W%U%!%$%k$N:G=i$K%j%9%H$5$l$F$$$k$+!"\e(B
+        variant \e$B$,%G%#%l%/%H%j$+$i:G=i$KFI$_9~$^$l$k;~$K\e(B ASCII
+        \e$B=g$G%=!<%H$7$F%U%!%$%kL>$,@hF,$K$J$C$?$+!"$N$I$A$i$+$G$9!#\e(B</li>
+      </ol>
+      </li>
+
+      <li>\e$B%"%k%4%j%:%`$r;H$C$F0l$D$N!V:GE,$J!W\e(Bvariant
+      \e$B$rA*$S$^$7$?$N$G!"$=$l$r1~Ez$H$7$FJV$7$^$9!#\e(B
+      \e$B%M%4%7%(!<%7%g%s$N<!85$r;XDj$9$k$?$a$K\e(B HTTP \e$B%l%9%]%s%9%X%C%@\e(B
+      Vary \e$B$,@_Dj$5$l$^$9\e(B (\e$B%j%=!<%9$N%-%c%C%7%e$r$9$k;~$K!"\e(B
+      \e$B%V%i%&%6$d%-%c%C%7%e$O$3$N>pJs$r;H$&$3$H$,$G$-$^$9\e(B)\e$B!#\e(B
+      \e$B0J>e$G=*$o$j!#\e(B</li>
+
+      <li><p>\e$B$3$3$KMh$?$H$$$&$3$H$O!"\e(Bvariant \e$B$,0l$D$bA*Br$5$l$J$+$C$?\e(B
+      (\e$B%V%i%&%6$,5vMF$9$k$b$N$,$J$+$C$?$?$a\e(B) \e$B$H$$$&$3$H$G$9!#\e(B406 \e$B%9%F!<%?%9\e(B
+      ("No Acceptable representation" \e$B$r0UL#$9$k\e(B) \e$B$,!"MxMQ2DG=$J\e(B variant
+      \e$B$N%j%9%H$N$D$$$?\e(B HTML \e$B%I%-%e%a%s%H$H$H$b$KJV$5$l$^$9!#\e(B
+      \e$BJQ2=$N<!85$r<($9\e(B HTTP Vary \e$B%X%C%@$b@_Dj$5$l$^$9!#\e(B</p>
+
+      <p>Apache\e$B$K$h$jJV$5$l$k%(%i!<%a%C%;!<%8$,I,MW0J>e$K4JL@$G!"\e(B
+      (\e$BF1Ey$NFbMF$rDs<($7$F$$$k$1$l$I$b!"\e(B)
+      \e$B%f!<%6$,:.Mp$9$k860x$K$J$k$3$H$KN10U$9$Y$-$G$9!#\e(B
+      \e$B$b$7%f!<%6$,$3$N%(%i!<%Z!<%8$r8+$k$3$H$rHr$1$?$$>l9g$O!"\e(B
+      \e$BI8=`$N8@8l$N\e(B(\e$B$^$?!"I8=`$N%(%s%3!<%G%#%s%0Ey$rE:$($?\e(B)
+      \e$BJ8=q$rCV$$$F$*$/$3$H$G!"$b$7%V%i%&%6$+$iMW5a$5$l$?8@8l$d\e(B
+      \e$B%(%s%3!<%G%#%s%0Ey$,;H$($J$+$C$?>l9g$O>o$K$=$l$,JV$5$l$^$9!#\e(B</p>
+
+      <p>\e$B%V%i%&%6$+$iMW5a$5$l$?8@8l$NJ8=q$,$I$l$bF@$i$l$J$$;~$K\e(B
+      \e$B%G%U%)%k%H8@8l$NJ8=q$rJV$7$?$$>l9g$O!"\e(B
+      \e$B8@8lB0@-%;%C%H$J$7$NJ8=q$r:n@.$7$F$/$@$5$$!#>\:Y$O8e$N\e(B
+      <a href="#nolanguage">Variants with no Language</a>
+      \e$B;2>H!#\e(B</p></li>
+    </ol>
+
+    <h2><a id="better" name="better">\e$BIJ<A$NCM$rJQ$($k\e(B</a></h2>
+    <!-- \e$BLuCm!'\e(Bbetter\e$B$O=$@5M=Dj!)1Q8lHG$KDI=>$9$Y$7\e(B -->
+
+    <p>\e$B>e5-$N\e(B Apache
+    \e$B%M%4%7%(!<%7%g%s%"%k%4%j%:%`$N873J$J2r<a$GF@$i$l$k$G$"$m$&CM$+$i!"\e(B
+    Apache \e$B$OIJ<A?tCM$r;~!9JQ$($^$9!#40A4$G$O$J$$!"\e(B
+    \e$B$"$k$$$O@53N$G$J$$>pJs$rAw$k%V%i%&%68~$1$N%"%k%4%j%:%`$G!"\e(B
+    \e$B$h$j$h$$7k2L$rF@$k$?$a$K9T$o$l$^$9!#$+$J$j%]%T%e%i!<$J%V%i%&%6$G!"\e(B
+    \e$B$b$7$J$$$H4V0c$C$?\e(B variant \e$B$rA*Br$9$k7k2L$K$J$C$F$7$^$&$h$&$J\e(B
+    Accept \e$B%X%C%@>pJs$rAw$k$b$N$b$"$j$^$9!#\e(B
+    \e$B%V%i%&%6$,40A4$G@5$7$$>pJs$rAw$C$F$$$l$P!"\e(B
+    \e$B$3$N?tCMJQ2=$OE,MQ$5$l$^$;$s!#\e(B</p>
+
+    <h3>\e$B%a%G%#%"%?%$%W$H%o%$%k%I%+!<%I\e(B</h3>
+
+    <p>Accept: \e$B%j%/%(%9%H%X%C%@$O%a%G%#%"%?%$%W$NM%@h798~$r;XDj$7$^$9!#\e(B
+    \e$B$3$l$O$^$?!"\e(B"image/*" \e$B$d\e(B "*/*"
+    \e$B$H$$$C$?!V%o%$%k%I%+!<%I!W%a%G%#%"%?%$%W$r4^$`$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$3$G\e(B * \e$B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#$G$9$+$i!"<!$N\e(B:</p>
+<pre>
+  Accept: image/*, */*
+</pre>
+    \e$B$r4^$`%j%/%(%9%H$O!"\e(B"image/" \e$B$G$O$8$^$k%?%$%W$9$Y$F$,5vMF$G$-$k!"\e(B
+    \e$B$=$7$FB>$N$I$s$J%?%$%W$b5vMF$G$-$k\e(B (\e$B$3$N>l9g$O$8$a$N\e(B "image/*"
+    \e$B$O>iD9$K$J$j$^$9\e(B) \e$B$3$H$r<($7$^$9!#\e(B
+    \e$B07$&$3$H$N$G$-$kL@<(E*$J%?%$%W$K2C$($F!"\e(B
+    \e$B%k!<%A%s$N$h$&$K%o%$%k%I%+!<%I$rAw$k%V%i%&%6$b$"$j$^$9!#$?$H$($P\e(B:
+<pre>
+  Accept: text/html, text/plain, image/gif, image/jpeg, */*
+</pre>
+    \e$B$3$&$9$k$3$H$NA@$$$O!"L@<(E*$K%j%9%H$7$F$$$k%?%$%W$,M%@h$5$l$k$1$l$I$b!"\e(B
+    \e$B0[$J$kI=8=$,MxMQ2DG=$G$"$l$P$=$l$G$bNI$$!"$H$$$&$3$H$G$9!#\e(B
+    \e$B$7$+$7$J$,$i4pK\E*$J%"%k%4%j%:%`$G$O!">e$K<($7$?$h$&$K!"\e(B*/*
+    \e$B%o%$%k%I%+!<%I$,B>$N$9$Y$F$N%?%$%W$HA4$/F1Ey$J$N$GM%@h$5$l$^$;$s!#\e(B
+    \e$B%V%i%&%6$O\e(B */* \e$B$K$b$C$HDc$$IJ<A\e(B (\e$BM%@h\e(B) 
+    \e$BCM$rIU$1$F%j%/%(%9%H$rAw$k$Y$-$J$N$G$9!#$?$H$($P\e(B:
+<pre>
+  Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
+</pre>
+    \e$BL@<(E*$J%?%$%W$K$OIJ<A?tCM$,IU$1$i$l$F$$$^$;$s$N$G!"%G%U%)%k%H$N\e(B
+    1.0 (\e$B:G9bCM\e(B) \e$B$NM%@h$K$J$j$^$9!#%o%$%k%I%+!<%I\e(B */* \e$B$ODc$$M%@hEY\e(B
+    0.01 \e$B$rM?$($i$l$F$$$k$N$G!"L@<(E*$K%j%9%H$5$l$F$$$k%?%$%W$K9gCW$9$k\e(B
+    variant \e$B$,$J$$>l9g$K$N$_!"B>$N%?%$%W$,JV$5$l$^$9!#\e(B
+
+    <p>\e$B$b$7\e(B Accept: \e$B%X%C%@$,\e(B q \e$BCM$rA4$/4^$s$G\e(B<em>\e$B$$$J$1$l$P\e(B</em>\e$B!"\e(B
+    \e$BK>$_$N5sF0$r$9$k$?$a$K!"\e(BApache \e$B$O\e(B "*/*" \e$B$,$"$l$P\e(B 0.01 \e$B$N\e(B q
+    \e$BCM$r@_Dj$7$^$9!#$^$?!"\e(B"type/*" \e$B$N7A$N%o%$%k%I%+!<%I$K$O\e(B 0.02 \e$B$N\e(B q
+    \e$BCM$r@_Dj$7$^$9\e(B (\e$B$G$9$+$i$3$l$i$O\e(B "*/*" \e$B$N%^%C%A$h$j$bM%@h$5$l$^$9\e(B)\e$B!#\e(B
+    \e$B$b$7\e(B Accept: \e$B%X%C%@Cf$N%a%G%#%"%?%$%W$N$I$l$+$,\e(B q \e$BCM$r4^$s$G$$$l$P!"\e(B
+    \e$B$3$l$i$NFC<l$JCM$OE,MQ\e(B<em>\e$B$5$l$:\e(B</em>\e$B!"@5$7$$>pJs$rAw$k%V%i%&%6$+$i$N\e(B
+    \e$B%j%/%(%9%H$O4|BTDL$j$KF0:n$7$O$8$a$^$9!#\e(B</p>
+
+    <h3><a id="nolanguage" name="nolanguage">\e$B8@8lB0@-$N$J$$\e(B variant</a></h3>
+
+    <p>\e$B$b$7FCDj$N%j%=!<%9$N\e(B variant \e$B$N$&$A$N$$$/$D$+$,8@8lB0@-$r;}$C$F$$$F\e(B
+    \e$B$$$/$D$+$O;}$C$F$$$J$$>l9g$O!"$=$l$i$N8@8lB0@-$r;}$?$J$$\e(B variant
+    \e$B$K$O\e(B 0.001 \e$B$H$$$&Hs>o$KDc$$IJ<A78?t$,M?$($i$l$^$9\e(B</p>
+
+    <p>\e$B$3$N8@8lB0@-$r;}$?$J$$\e(B variant \e$B$K\e(B 0.001
+    \e$B$H$$$&Hs>o$KDc$$IJ<A78?t$,M?$($i$l$k$H$$$&@_Dj$NM}M3$O\e(B 
+    \e$B%V%i%&%6$N8@8l@_Dj$K9g$&\e(B variant \e$B$,0l$D$b$J$+$C$?$H$-$KI8=`$N\e(B
+    variant \e$B$rE,MQ$9$k$3$H$r2DG=$K$9$k$?$a$G$9!#$3$l$K$h$j!"\e(B
+    \e$B%j%/%(%9%H$5$l$?%j%=!<%9$KBP$7$F!"MQ0U$7$F$$$J$$8@8l$@$1$r\e(B accept
+    \e$B$9$k$h$&$K@_Dj$5$l$?%V%i%&%6$N%f!<%6$,\e(B "406"
+    \e$B%(%i!<%Z!<%8$r8+$k$N$rHr$1$k$3$H$,2DG=$K$J$j$^$9!#\e(B</p>
+    <p>\e$B$?$H$($P\e(B Multiviews \e$B$,M-8z$G\e(B variants
+    \e$B$,;0$D$"$k>u67$r9M$($^$9!#\e(B</p>
+
+    <ul>
+    <li>foo.en.html, language en</li>
+
+    <li>foo.fr.html, language fr</li>
+
+    <li>foo.html, no language</li>
+    </ul>
+
+    <p>\e$B8@8lB0@-$N$J$$\e(B variant \e$B$N0UL#$O>o$K%V%i%&%6$KE,1~$9$k$3$H$G$9!#\e(B
+    \e$B%j%/%(%9%H$,\e(B <code>foo</code> \e$B$G\e(B Accept-Language \e$B%X%C%@$K\e(B en
+    \e$B$^$?$O\e(B fr (\e$B$^$?$O$=$NN>J}\e(B) \e$B$,4^$^$l$k>l9g!"\e(Bfoo.en.html \e$B$+\e(B
+    foo.fr.html \e$B$N$I$A$i$+$,JV$5$l$^$9!#%V%i%&%6$,5vMF$9$k$b$N$H$7$F\e(B
+    en \e$B$H\e(B fr \e$B$N$I$A$i$b5s$2$i$l$F$$$J$$>l9g$OBe$o$j$K\e(B foo.html 
+    \e$B$,JV$5$l$^$9!#%/%i%$%"%s%H$,\e(B <code>foo.html</code>
+    \e$B$r%j%/%(%9%H$7$?>l9g$O40A4$K0lCW$9$k$N$G%M%4%7%(!<%7%g%s$OH/@8$;$:!"\e(B
+    \e$B$=$l<+BN$,JV$5$l$^$9!#$3$NLdBj$rHr$1$k$K$O!"!V8@8l$N$J$$!W\e(B variant
+    \e$B$H$7$F\e(B <code>foo.html.html</code> \e$B$H$$$&L>A0$rIU$1$k$3$H$,\e(B Multiviews
+    \e$B$=$7$F8@8l%M%4%7%(!<%7%g%s$,F0:n$9$k$?$a$NJ]81$H$7$F\e(B
+    \e$BLrN)$D$3$H$,;~!9$"$j$^$9!#\e(B</p>
+
+    <h2>Transparent Content Negotiation \e$B$N3HD%\e(B</h2>
+    Apache \e$B$O\e(B transparent content negotiation \e$B%W%m%H%3%k\e(B (RFC 2295)
+    \e$B$r<!$N$h$&$K3HD%$7$F$$$^$9!#FCDj$N%3%s%F%s%H%(%s%3!<%G%#%s%0\e(B
+    \e$B$N$_$,MxMQ2DG=$G$"$k\e(B variant \e$B$K0u$rIU$1$k$?$a$K!"?7$?$K\e(B
+    <code>{encoding ..}</code> \e$BMWAG$r\e(B variant \e$B%j%9%HCf$K;H$&$3$H$,$G$-$^$9!#\e(B
+    \e$B%j%9%HCf$N%(%s%3!<%I$5$l$?\e(B variant \e$B$rG'<1$G$-$F!"\e(BAccept-Encoding
+    \e$B%j%/%(%9%H%X%C%@$K=>$C$F5vMF$5$l$k%(%s%3!<%I$r$b$C$?\e(B variant
+    \e$B$O!"$I$l$G$b8uJd\e(B variant \e$B$H$7$F;HMQ$G$-$k$h$&$K$9$k$?$a$K!"\e(B
+    RVSA/1.0 \e$B%"%k%4%j%:%`\e(B (RFC 2296) \e$B$N<BAu$,3HD%$5$l$^$7$?!#\e(B
+    RVSA/1.0 \e$B$N<BAu$G$O!":GE,$J\e(B variant \e$B$,8+$D$+$k$^$G!"\e(B
+    \e$B7W;;$7$?IJ<A?tCM$O>.?tE@0J2<\e(B 5 \e$B7e$^$G4]$a$^$;$s!#\e(B
+
+    <h2>\e$B%j%s%/$HL>A0$NJQ49$K4X$9$kCm0UE@\e(B</h2>
+
+    <p>\e$B8@8l%M%4%7%(!<%7%g%s$r;H$C$F$$$k>l9g$O!"%U%!%$%k$,0l$D0J>e$N3HD%;R$r;}$F$F!"\e(B
+    \e$B3HD%;R$N=gHV$K$O4XO"@-$,DL>o$O$J$$\e(B (\e$B>\:Y$O\e(B
+    <a href="mod/mod_mime.html#multipleext">mod_mime</a> \e$B$r;2>H\e(B)
+    \e$B$N$G!"4v$D$+$N0[$J$kL>A0$NJQ49$rA*$Y$k$3$H$K$J$j$^$9!#\e(B</p>
+
+    <p>\e$BE57?E*$J%U%!%$%k$G$O!"\e(BMIME \e$B%?%$%W3HD%;R\e(B (<em>\e$B$?$H$($P\e(B</em>
+    <samp>html</samp>) \e$B$r;}$C$F$$$F!"%(%s%3!<%G%#%s%03HD%;R\e(B
+    (<em>\e$B$?$H$($P\e(B</em> <samp>gz</samp>) \e$B$r;}$C$F$$$k$+$b$7$l$J$$$7!"\e(B
+    \e$B$3$N%U%!%$%k$K0[$J$k8@8l\e(B variant \e$B$rMQ0U$7$F$$$l$P!"$b$A$m$s8@8l3HD%;R\e(B
+    (<em>\e$B$?$H$($P\e(B</em> <samp>en</samp>) \e$B$r;}$C$F$$$k$G$7$g$&!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <ul>
+    <li>foo.en.html</li>
+
+    <li>foo.html.en</li>
+
+    <li>foo.en.html.gz</li>
+    </ul>
+
+    <p>\e$B@5$7$$%j%s%/!"IT@5$J%j%s%/$NN>J}$N%U%!%$%kL>$NNc$r5s$2$^$9\e(B:</p>
+
+    <table border="1" cellpadding="8" cellspacing="0">
+      <tr>
+        <th>\e$B%U%!%$%kL>\e(B</th>
+
+        <th>\e$B@52r$N%j%s%/\e(B</th>
+
+        <th>\e$BIT@52r$N%j%s%/\e(B</th>
+      </tr>
+
+      <tr>
+        <td><em>foo.html.en</em></td>
+
+        <td>foo<br />
+         foo.html</td>
+
+        <td>-</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.en.html</em></td>
+
+        <td>foo</td>
+
+        <td>foo.html</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.html.en.gz</em></td>
+
+        <td>foo<br />
+         foo.html</td>
+
+        <td>foo.gz<br />
+         foo.html.gz</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.en.html.gz</em></td>
+
+        <td>foo</td>
+
+        <td>foo.html<br />
+         foo.html.gz<br />
+         foo.gz</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.gz.html.en</em></td>
+
+        <td>foo<br />
+         foo.gz<br />
+         foo.gz.html</td>
+
+        <td>foo.html</td>
+      </tr>
+
+      <tr>
+        <td><em>foo.html.gz.en</em></td>
+
+        <td>foo<br />
+         foo.html<br />
+         foo.html.gz</td>
+
+        <td>foo.gz</td>
+      </tr>
+    </table>
+
+    <p>\e$B>e$NI=$r8+$F!"3HD%;R$J$7$N%j%s%/\e(B (<em>\e$B$?$H$($P\e(B</em> <samp>foo</samp>) 
+    \e$B$,$$$D$G$b;H$($k$3$H$K5$$,IU$/$G$7$g$&!#$3$NMxE@$O!"\e(B
+    \e$B%I%-%e%a%s%H$H$7$F1~Ez$9$k%U%!%$%k$N<B:]$N%U%!%$%k%?%$%W$r1#JC$7$F!"\e(B
+    \e$B%j%s%/$N;2>H$rJQ99$9$k$3$H$J$/8e$+$i%U%!%$%k$rJQ99$G$-$k!"\e(B
+    <em>\e$B$?$H$($P\e(B</em> <samp>html</samp> \e$B$+$i\e(B <samp>shtml</samp>
+    \e$B$K!"$"$k$$$O\e(B <samp>cgi</samp> \e$B$KJQ99$G$-$kE@$G$9!#\e(B</p>
+
+    <p>\e$B%j%s%/$K\e(B MIME \e$B%?%$%W$r;H$$B3$1$?$$\e(B (<em>\e$B$?$H$($P\e(B</em>
+    <samp>foo.html</samp>)\e$B;~$O!"8@8l3HD%;R$O\e(B
+    (\e$B%(%s%3!<%G%#%s%03HD%;R$b$"$l$P$=$l$b4^$a$F\e(B)
+    MIME \e$B%?%$%W3HD%;R$N1&B&$K$J$1$l$P$J$j$^$;$s\e(B
+    (<em>\e$B$?$H$($P\e(B</em> <samp>foo.html.en</samp>)\e$B!#\e(B</p>
+
+    <h2>\e$B%-%c%C%7%e$K4X$9$kCm0U;v9`\e(B</h2>
+
+    <p>\e$B%-%c%C%7%e$,$"$kI=8=$rJ]B8$7$F$$$k$H$-$O!"%j%/%(%9%H\e(B URL
+    \e$B$H4XO"$E$1$i$l$F$$$^$9!#<!$K$=$N\e(B URL \e$B$,%j%/%(%9%H$5$l$?;~$K!"\e(B
+    \e$B%-%c%C%7%e$OJ]B8$5$l$F$$$kI=8=$r;HMQ$G$-$^$9!#$7$+$7!"%j%=!<%9$,\e(B
+    \e$B%5!<%P$G%M%4%7%(!<%7%g%s2DG=$G$"$l$P!":G=i$N%j%/%(%9%H$G%-%c%C%7%e$5$l$FB3$/\e(B
+    \e$B%-%c%C%7%e%R%C%H$G$O4V0c$C$?1~Ez$rJV$7$F$7$^$&$H$$$&$3$H$K$J$j$+$M$^$;$s!#\e(B
+    \e$B$3$l$rKI$0$?$a$K!"\e(BApache \e$B$O%3%s%F%s%H%M%4%7%(!<%7%g%s$N\e(B
+    \e$B8e$KJV$5$l$?1~Ez$9$Y$F$K!"\e(BHTTP/1.0 \e$B%/%i%$%"%s%H$G$N\e(B
+    non-cacheable \e$B$H%^!<%/$7$^$9!#$^$?!"%M%4%7%(!<%7%g%s$5$l$?1~Ez$N%-%c%C%7%e\e(B
+    \e$B$r2DG=$K$9$k\e(B HTTP/1.1 \e$B%W%m%H%3%k$N5!G=$b\e(B Apache \e$B$O%5%]!<%H$7$^$9!#\e(B</p>
+
+    <p>HTTP/1.0 \e$B=`5r$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$KBP$7$F$O!"\e(B
+    (\e$B%V%i%&%6$G$"$m$&$H%-%c%C%7%e$G$"$m$&$H\e(B) \e$B%M%4%7%(!<%7%g%s\e(B
+    \e$B$r<u$1$?1~Ez$N%-%c%C%7%e$r5v$9$?$a$K!"\e(B<code>CacheNegotiatedDocs</code>
+    \e$B%G%#%l%/%F%#%V$r;HMQ$G$-$^$9!#$3$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B<g%5!<%P@_Dj$d%P!<%A%c%k%[%9%H$GM?$($i$l$F!"0z?t$r$H$j$^$;$s!#\e(B
+    HTTP/1.1 \e$B%/%i%$%"%s%H$+$i$N%j%/%(%9%H$K$O8zNO$r;}$A$^$;$s!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/custom-error.html.en b/htdocs/manual/custom-error.html.en
new file mode 100644 (file)
index 0000000..3cbb570
--- /dev/null
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Custom error responses</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Custom error responses</h1>
+
+    <dl>
+      <dt>Purpose</dt>
+
+      <dd>
+        Additional functionality. Allows webmasters to configure
+        the response of Apache to some error or problem. 
+
+        <p>Customizable responses can be defined to be activated in
+        the event of a server detected error or problem.</p>
+
+        <p>e.g. if a script crashes and produces a "500 Server
+        Error" response, then this response can be replaced with
+        either some friendlier text or by a redirection to another
+        URL (local or external).</p>
+      </dd>
+
+      <dt>Old behavior</dt>
+
+      <dd>NCSA httpd 1.3 would return some boring old error/problem
+      message which would often be meaningless to the user, and
+      would provide no means of logging the symptoms which caused
+      it.<br />
+      </dd>
+
+      <dt>New behavior</dt>
+
+      <dd>
+        The server can be asked to; 
+
+        <ol>
+          <li>Display some other text, instead of the NCSA hard
+          coded messages, or</li>
+
+          <li>redirect to a local URL, or</li>
+
+          <li>redirect to an external URL.</li>
+        </ol>
+
+        <p>Redirecting to another URL can be useful, but only if
+        some information can be passed which can then be used to
+        explain and/or log the error/problem more clearly.</p>
+
+        <p>To achieve this, Apache will define new CGI-like
+        environment variables, <em>e.g.</em></p>
+
+        <blockquote>
+          <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif,
+          image/x-xbitmap, image/jpeg<br />
+           REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
+          A.09.05 9000/712)<br />
+           REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
+           REDIRECT_QUERY_STRING=<br />
+           REDIRECT_REMOTE_ADDR=121.345.78.123<br />
+           REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
+           REDIRECT_SERVER_NAME=crash.bang.edu<br />
+           REDIRECT_SERVER_PORT=80<br />
+           REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
+           REDIRECT_URL=/cgi-bin/buggy.pl<br />
+          </code>
+        </blockquote>
+
+        <p>note the <code>REDIRECT_</code> prefix.</p>
+
+        <p>At least <code>REDIRECT_URL</code> and
+        <code>REDIRECT_QUERY_STRING</code> will be passed to the
+        new URL (assuming it's a cgi-script or a cgi-include). The
+        other variables will exist only if they existed prior to
+        the error/problem. <strong>None</strong> of these will be
+        set if your ErrorDocument is an <em>external</em> redirect
+        (<em>i.e.</em>, anything starting with a scheme name like
+        <code>http:</code>, even if it refers to the same host as
+        the server).</p>
+      </dd>
+
+      <dt>Configuration</dt>
+
+      <dd>
+        Use of "ErrorDocument" is enabled for .htaccess files when
+        the <a href="mod/core.html#allowoverride">"FileInfo"
+        override</a> is allowed. 
+
+        <p>Here are some examples...</p>
+
+        <blockquote>
+          <code>ErrorDocument 500 /cgi-bin/crash-recover<br />
+           ErrorDocument 500 "Sorry, our script crashed. Oh
+          dear<br />
+           ErrorDocument 500 http://xxx/<br />
+           ErrorDocument 404 /Lame_excuses/not_found.html<br />
+           ErrorDocument 401
+          /Subscription/how_to_subscribe.html</code>
+        </blockquote>
+
+        <p>The syntax is,</p>
+
+        <p><code><a
+        href="mod/core.html#errordocument">ErrorDocument</a></code>
+        &lt;3-digit-code&gt; action</p>
+
+        <p>where the action can be,</p>
+
+        <ol>
+          <li>Text to be displayed. Prefix the text with a quote
+          ("). Whatever follows the quote is displayed. <em>Note:
+          the (") prefix isn't displayed.</em></li>
+
+          <li>An external URL to redirect to.</li>
+
+          <li>A local URL to redirect to.</li>
+        </ol>
+      </dd>
+    </dl>
+    <hr />
+
+    <h2>Custom error responses and redirects</h2>
+
+    <dl>
+      <dt>Purpose</dt>
+
+      <dd>Apache's behavior to redirected URLs has been modified so
+      that additional environment variables are available to a
+      script/server-include.</dd>
+
+      <dt>Old behavior</dt>
+
+      <dd>Standard CGI vars were made available to a script which
+      has been redirected to. No indication of where the
+      redirection came from was provided.</dd>
+
+      <dt>New behavior</dt>
+
+      <dd>A new batch of environment variables will be initialized
+      for use by a script which has been redirected to. Each new
+      variable will have the prefix <code>REDIRECT_</code>.
+      <code>REDIRECT_</code> environment variables are created from
+      the CGI environment variables which existed prior to the
+      redirect, they are renamed with a <code>REDIRECT_</code>
+      prefix, <em>i.e.</em>, <code>HTTP_USER_AGENT</code> becomes
+      <code>REDIRECT_HTTP_USER_AGENT</code>. In addition to these
+      new variables, Apache will define <code>REDIRECT_URL</code>
+      and <code>REDIRECT_STATUS</code> to help the script trace its
+      origin. Both the original URL and the URL being redirected to
+      can be logged in the access log.</dd>
+    </dl>
+
+    <p>If the ErrorDocument specifies a local redirect to a CGI
+    script, the script should include a "<samp>Status:</samp>"
+    header field in its output in order to ensure the propagation
+    all the way back to the client of the error condition that
+    caused it to be invoked. For instance, a Perl ErrorDocument
+    script might include the following:</p>
+<pre>
+      :
+    print  "Content-type: text/html\n";
+    printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+      :
+</pre>
+
+    <p>If the script is dedicated to handling a particular error
+    condition, such as <samp>404&nbsp;Not&nbsp;Found</samp>, it can
+    use the specific code and error text instead.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/custom-error.html.fr b/htdocs/manual/custom-error.html.fr
new file mode 100644 (file)
index 0000000..c522b92
--- /dev/null
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.14 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Messages d'erreur personnalis&eacute;s</title>
+  </head>
+
+  <body text="#000000" link="#0000ff" vlink="#000080"
+  bgcolor="#ffffff">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Messages d'erreur personnalis&eacute;s</h1>
+
+    <h3>But</h3>
+
+    <p>Fonctionnalit&eacute; additionnelle. Permet aux
+    administrateurs Web de personnaliser les r&eacute;ponses
+    donn&eacute;es par Apache en cas de probl&egrave;mes. Les
+    r&eacute;ponses personnalis&eacute;es d&eacute;finies peuvent
+    &ecirc;tre activables lorsque le serveur est &agrave;
+    m&ecirc;me de d&eacute;tecter la cause du probl&egrave;me.</p>
+
+    <p>ex. si un script termine en faute, produisant une
+    r&eacute;ponse "500 Server Error", alors cette r&eacute;ponse
+    peut &ecirc;tre remplac&eacute;e soit par un texte quelque peu
+    plus explicatif soit par une redirection vers une autre URL
+    (locale ou externe).</p>
+
+    <h3>Ancien comportement</h3>
+
+    <p>La version 1.3 d'httpd du NCSA r&eacute;pondait souvent avec
+    des messages d'erreur ennuyeux et peu am&egrave;nes qui
+    &eacute;taient sans signification pour l'utilisateur, et ne
+    donnait pas les sympt&ocirc;mes qui pouvaient causer la
+    faute.</p>
+
+    <h3>Nouveau comportement</h3>
+
+    <p>On pourra d&eacute;sormais demander au serveur :</p>
+
+    <ol>
+      <li>D'afficher un autre texte, plut&ocirc;t que les messages
+      standard NCSA, ou</li>
+
+      <li>rediriger l'utilisateur vers une URL locale, ou
+      encore</li>
+
+      <li>rediriger l'utilisateur vers une URL sur un autre
+      serveur.</li>
+    </ol>
+
+    <p>La redirection vers une autre URL peut &ecirc;tre utile,
+    mais seulement si certaines informations peuvent &ecirc;tre
+    pass&eacute;es et qui serviront &agrave; produire un affichage
+    ou un enregistrement du probl&egrave;me plus clair et
+    explicite.</p>
+
+    <p>Pour ce faire, Apache d&eacute;finira de nouvelles variables
+    d'environnement ( &agrave; la mode CGI), ex.</p>
+
+    <blockquote>
+      <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
+      image/jpeg<br />
+       REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
+      A.09.05 9000/712)<br />
+       REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
+       REDIRECT_QUERY_STRING=<br />
+       REDIRECT_REMOTE_ADDR=121.345.78.123<br />
+       REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
+       REDIRECT_SERVER_NAME=crash.bang.edu<br />
+       REDIRECT_SERVER_PORT=80<br />
+       REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
+       REDIRECT_URL=/cgi-bin/buggy.pl</code>
+    </blockquote>
+
+    <p>notez le pr&eacute;fixe <code>REDIRECT_</code>.</p>
+
+    <p>Seront au moins pass&eacute;s &agrave; la nouvelle URL les
+    variables <code>REDIRECT_URL</code> et
+    <code>REDIRECT_QUERY_STRING</code> (en supposant que l'URL de
+    redirection est un script CGI ou un Include CGI). Les autres
+    variables n'existeront que si elles existaient
+    d&eacute;j&agrave; avant l'apparition du probl&egrave;me.
+    <b>Aucune de ces deux variables</b> ne sera initialis&eacute;e
+    si votre Document d'erreur est le r&eacute;sultat d'une
+    redirection <i>externe</i> (c-&agrave;-d. toute adresse
+    commen&ccedil;ant par le nom d'un plan de protocole comme
+    <code>http:</code>, m&ecirc;me si le protocole invoqu&eacute;
+    aboutit sur le m&ecirc;me h&ocirc;te que le serveur &agrave;
+    l'origine de la redirection).</p>
+
+    <h3>Configuration</h3>
+
+    <dl>
+      <dd>L'utilisation des documents "ErrorDocument" est
+      autoris&eacute;e dans les fichiers .htaccess lorsque la
+      surcharge <a
+      href="mod/core.html#allowoverride">"FileInfo"</a> est
+      active.</dd>
+
+      <dd>En voici quelques exemples...</dd>
+    </dl>
+
+    <div style="margin-left: 2em">
+      <blockquote>
+        <code>ErrorDocument 500 /cgi-bin/crash-recover<br />
+         ErrorDocument 500 "D&eacute;sol&eacute;, votre script
+        s'est vautr&eacute;. Fichtre"<br />
+         ErrorDocument 500 http://xxx/<br />
+         ErrorDocument 404 /Lame_excuses/not_found.html<br />
+         ErrorDocument 401
+        /Subscription/how_to_subscribe.html</code>
+      </blockquote>
+
+      <dl>
+        <dd>La syntaxe admise est :</dd>
+
+        <dd><a href="mod/core.html#errordocument"><font
+        face="Courier New" size="2">ErrorDocument</font></a>
+        &lt;code &agrave; trois chiffres&gt; action</dd>
+
+        <dd>dans laquelle l'action peut &ecirc;tre :</dd>
+      </dl>
+    </div>
+
+    <div style="margin-left: 4em">
+      <ol>
+        <li>Le texte devant &ecirc;tre affich&eacute;. Le texte
+        devra &ecirc;tre pr&eacute;fix&eacute; par un guillemet
+        ("). Tout ce qui suit le guillemet sur la ligne est
+        affich&eacute;. <em>Notez : le pr&eacute;fixe (")
+        lui-m&ecirc;me n'est pas affich&eacute;.</em></li>
+
+        <li>Une URL externe de redirection.</li>
+
+        <li>Une URL locale de redirection.</li>
+      </ol>
+    </div>
+    <hr />
+    <br />
+     <br />
+     
+
+    <div style="margin-left: 2em">
+      <h2>Redirections et affichage d'erreurs
+      personnalis&eacute;es</h2>
+
+      <h3>But</h3>
+
+      <dl>
+        <dd>Le comportement d'Apache lorsqu'il redirige des URL a
+        &eacute;t&eacute; modifi&eacute; afin que d'autres
+        variables d'environnement additionnelles puissent
+        &ecirc;tre rendues accessibles par un
+        script/server-include.</dd>
+      </dl>
+
+      <h3>Ancien comportement</h3>
+
+      <dl>
+        <dd>Les variables CGI standard &eacute;taient transmises au
+        script vers lequel &eacute;tait redirig&eacute; le client.
+        Aucune indication n'&eacute;tait transmise quant &agrave;
+        qui redirigeait le message.</dd>
+      </dl>
+
+      <h3>Nouveau comportement</h3>
+
+      <dl>
+        <dd>Un nouvel ensemble de variables d'environnement sera
+        initialis&eacute;, &agrave; l'intention du script vers
+        lequel le client a &eacute;t&eacute; redirig&eacute;.
+        Chaque nouvelle variable de cet ensemble est
+        pr&eacute;fix&eacute;e par <code>REDIRECT_</code>. Les
+        variables d'environnement de type <code>REDIRECT_</code>
+        sont cr&eacute;&eacute;es &agrave; partir des variables
+        d'environnement CGI qui existaient avant que n'intervienne
+        la redirection, en leur rajoutant le pr&eacute;fixe. Par
+        exemple <code>HTTP_USER_AGENT</code> devient
+        <code>REDIRECT_HTTP_USER_AGENT</code>. En plus de ces
+        variables, Apache d&eacute;finit les variables
+        <code>REDIRECT_URL</code> et <code>REDIRECT_STATUS</code>
+        pour aider le script &agrave; identifier l'origine de la
+        redirection. Dans la trace d'acc&egrave;s d&eacute;duite
+        peuvent appara&icirc;tre l'URL initiale ainsi que l'URL
+        vers laquelle est redirig&eacute;e la requ&ecirc;te.</dd>
+      </dl>
+    </div>
+    <hr />
+    <br />
+     <br />
+     
+
+    <p>Si la directive ErrorDocument sp&eacute;cifie une
+    redirection local vers un script CGI, le script devra inclure
+    un champ "<samp>Status:</samp>" dans l'en-t&ecirc;te de sa
+    sortie afin de garantir la retransmiison compl&egrave;te vers
+    le client des conditions d'erreurs qui ont caus&eacute; son
+    invocation. Par exemple un script Perl devrait inclure les
+    lignes suivantes :</p>
+<pre>
+      :
+    print  "Content-type: text/html\n";
+    printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+      :
+</pre>
+
+    <p>Si le script est d&eacute;di&eacute; pour trait&eacute; une
+    condition d'erreur particuli&egrave;re telle que
+    <samp>404&nbsp;Not&nbsp;Found</samp>, il peut utiliser le code
+    sp&eacute;cifique et le message d'erreur &agrave; la place.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/custom-error.html.html b/htdocs/manual/custom-error.html.html
new file mode 100644 (file)
index 0000000..ff8a00c
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="custom-error.html.en" -->
+
diff --git a/htdocs/manual/custom-error.html.ja.jis b/htdocs/manual/custom-error.html.ja.jis
new file mode 100644 (file)
index 0000000..b4610c5
--- /dev/null
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>\e$B%+%9%?%`%(%i!<%l%9%]%s%9\e(B</title>
+
+  </head>
+  <!-- English revision: 1.15 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">\e$B%+%9%?%`%(%i!<%l%9%]%s%9\e(B</h1>
+
+    <dl>
+      <dt>\e$BL\E*\e(B</dt>
+
+      <dd>
+        \e$BDI2C5!G=$NDs6!!#%&%'%V%^%9%?!<$,2?$i$+$N%(%i!<$dLdBj$KBP$9$k\e(B
+        Apache \e$B$NH?1~$r@_Dj$G$-$k$h$&$K$7$^$9!#\e(B
+
+        <p>\e$B%5!<%P$,%(%i!<$dLdBj$rH/8+$7$?>l9g$NH?1~$r!"\e(B
+        \e$B%+%9%?%^%$%:$7$FDj5A$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+        <p>\e$BNc$($P!"%9%/%j%W%H$N<B9T$,<:GT$7$F\e(B "500 Server Error"
+        \e$B$rH/@8$5$;$?$H$7$^$9!#$3$N>l9g$NH?1~$r!"$h$j9%$^$7$$%F%-%9%H$d!"JL$N\e(B
+        URL (\e$BFbIt5Z$S30It\e(B) \e$B$X$N%j%@%$%l%/%7%g%s$KCV$-49$($k$3$H$,$G$-$^$9!#\e(B
+        </p>
+      </dd>
+
+      <dt>\e$B8E$$F0:n\e(B</dt>
+
+      <dd>NCSA httpd 1.3 \e$B$O!"8E$/$FB`6~$J%(%i!<\e(B/\e$BLdBj%a%C%;!<%8$r\e(B
+      \e$BJV$7$F$$$^$7$?!#$=$l$O$7$P$7$P%f!<%6$K$OL50UL#$G$"$j!"\e(B
+      \e$B$^$?$=$l$rH/@8$5$;$?860x$r5-O?$9$kJ}K!$bDs6!$7$F$$$^$;$s$G$7$?!#\e(B
+      <br />
+      </dd>
+
+      <dt>\e$B?7$7$$F0:n\e(B</dt>
+
+      <dd>
+
+
+        <ol>
+          <li>NCSA \e$B$N%O!<%I%3!<%I$5$l$?%a%C%;!<%8$NBe$o$j$K\e(B
+          \e$BB>$N%F%-%9%H$rI=<(\e(B</li>
+
+          <li>\e$B%m!<%+%k$N\e(B URL \e$B$K%j%@%$%l%/%H\e(B</li>
+
+          <li>\e$B30It$N\e(B URL \e$B$K%j%@%$%l%/%H\e(B</li>
+        </ol>
+        \e$B$9$k$h$&$K%5!<%P$r@_Dj$G$-$^$9!#\e(B
+        <p>\e$BJL$N\e(B URL \e$B$K%j%@%$%l%/%H$9$k$3$H$OLr$KN)$A$^$9$,!"\e(B
+        \e$B$=$l$O@bL@$r$7$?$j!"$h$jL@3N$K8m$j\e(B/\e$BLdBj$r5-O?$7$?$j$9$k$?$a$K\e(B
+        \e$B2?$+>pJs$rEA$($i$l$k$H$-$K8B$j$^$9!#\e(B</p>
+
+        <p>\e$B$3$l$r<B8=$9$k$?$a$K!"\e(B Apache \e$B$O?7$7$/\e(B CGI \e$B$N$h$&$J4D6-JQ?t$rDj5A$7$^$9!#\e(B
+        <em>\e$BNc$($P\e(B</em>\e$B0J2<$N$h$&$J$b$N$,$"$j$^$9!#\e(B</p>
+
+        <blockquote>
+          <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif,
+          image/x-xbitmap, image/jpeg<br />
+           REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
+          A.09.05 9000/712)<br />
+           REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
+           REDIRECT_QUERY_STRING=<br />
+           REDIRECT_REMOTE_ADDR=121.345.78.123<br />
+           REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
+           REDIRECT_SERVER_NAME=crash.bang.edu<br />
+           REDIRECT_SERVER_PORT=80<br />
+           REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
+           REDIRECT_URL=/cgi-bin/buggy.pl<br />
+          </code>
+        </blockquote>
+
+        <p>\e$BF,$KIU$/\e(B <code>REDIRECT_</code> \e$B$KCmL\$7$F$/$@$5$$!#\e(B</p>
+
+        <p>\e$B>/$J$/$H$b\e(B <code>REDIRECT_URL</code> \e$B$H\e(B
+        <code>REDIRECT_QUERY_STRING</code> \e$B$O?7$7$$\e(B URL (CGI \e$B%9%/%j%W%H$+\e(B
+        CGI \e$B%$%s%/%k!<%I$G$"$k$H2>Dj$5$l$^$9\e(B) \e$B$KEO$5$l$^$9!#\e(B
+        \e$BB>$NJQ?t$O!"%(%i!<$dLdBj$,5/$-$kA0$KB8:_$7$?>l9g$K$@$1B8:_$7$^$9!#\e(B
+        \e$B$b$7$"$J$?$N@_Dj$7$?\e(B ErrorDocument \e$B$,\e(B <em>\e$B30It\e(B</em>\e$B%j%@%$%l%/%H\e(B
+        (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<code>http:</code> 
+        \e$B$N$h$&$JBN7OL>$+$i;O$^$k$9$Y$F$N$b$N!#$?$H$(F1$8%[%9%H$r;X$7$F$$$F$b\e(B)
+        \e$B$J$i$P!"$3$l$i$O\e(B<strong>\e$B$^$C$?$/\e(B</strong>\e$B@_Dj$5$l$^$;$s!#\e(B
+        </p>
+      </dd>
+
+      <dt>\e$B@_Dj\e(B</dt>
+
+      <dd>
+        <a href="mod/core.html#allowoverride">"FileInfo" \e$B%*!<%P!<%i%$%I\e(B</a>
+        \e$B$,5v2D$5$l$F$$$l$P!"\e(B.htaccess \e$B%U%!%$%k$G\e(B "ErrorDocument"
+        \e$B$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+
+        <p>\e$B$3$3$K!"$$$/$D$+$NNc$r5s$2$^$9!#\e(B</p>
+
+        <blockquote>
+          <code>ErrorDocument 500 /cgi-bin/crash-recover<br />
+           ErrorDocument 500 "Sorry, our script crashed. Oh
+          dear<br />
+           ErrorDocument 500 http://xxx/<br />
+           ErrorDocument 404 /Lame_excuses/not_found.html<br />
+           ErrorDocument 401
+          /Subscription/how_to_subscribe.html</code>
+        </blockquote>
+
+        <p>\e$B9=J8\e(B</p>
+
+        <p><code><a
+        href="mod/core.html#errordocument">ErrorDocument</a></code>
+        &lt;3 \e$B7e%3!<%I\e(B&gt; \e$BF0:n\e(B</p>
+
+        <p>\e$BF0:n$O!"\e(B</p>
+
+        <ol>
+          <li>\e$BI=<($5$l$k$Y$-%F%-%9%H!#%F%-%9%H$K$O0zMQId\e(B (") \e$B$r$D$1$^$9!#\e(B
+          \e$B0zMQId$N8e$KB3$/$b$N$,2?$G$bI=<($5$l$^$9!#\e(B
+          <em>\e$BCm0U\e(B : (") \e$B$OI=<($5$l$^$;$s\e(B</em></li>
+
+          <li>\e$B%j%@%$%l%/%H@h$N30It\e(B URL </li>
+
+          <li>\e$B%j%@%$%l%/%H@h$N%m!<%+%k\e(B URL </li>
+        </ol>
+      </dd>
+    </dl>
+    <hr />
+
+    <h2>\e$B%+%9%?%`%(%i!<%l%9%]%s%9$H%j%@%$%l%/%H\e(B</h2>
+
+    <dl>
+      <dt>\e$BL\E*\e(B </dt>
+
+      <dd>\e$B%9%/%j%W%H\e(B/SSI \e$B$KDI2C$N4D6-JQ?t$,MxMQ2DG=$K$J$k$h$&$K!"\e(B
+      \e$B%j%@%$%l%/%H$5$l$?\e(B URL \e$B$KBP$9$k\e(B Apache \e$B$NF0:n$,JQ99$5$l$^$7$?!#\e(B
+      </dd>
+
+      <dt>\e$B8E$$F0:n\e(B</dt>
+
+      <dd>\e$B%j%@%$%l%/%H$5$l$?%9%/%j%W%H$OI8=`$N\e(B CGI
+      \e$B4D6-JQ?t$rMxMQ2DG=$G$7$?!#$7$+$7!"$I$3$+$i%j%@%$%l%/%H\e(B
+      \e$B$5$l$?$+$N>pJs$ODs6!$5$l$F$$$^$;$s$G$7$?!#\e(B</dd>
+
+      <dt>\e$B?7$7$$F0:n\e(B </dt>
+
+      <dd>\e$B%j%@%$%l%/%H$5$l$?@h$N%9%/%j%W%H$,;HMQ2DG=$J$h$&$K!"\e(B
+      \e$B?7$7$$$?$/$5$s$N4D6-JQ?t$,=i4|2=$5$l$^$9!#?7$7$$JQ?t$O!"$=$l$>$l\e(B
+      <code>REDIRECT_</code> \e$B$G;O$^$j$^$9!#\e(B
+      <code>REDIRECT_</code> \e$B$G;O$^$k4D6-JQ?t$O%j%@%$%l%/%H$5$l$kA0$KB8:_$7$F$$$?\e(B
+      CGI \e$B4D6-JQ?t$NF,$K\e(B <code>REDIRECT_</code> \e$B$rIU$1$F:n@.$5$l$^$9!#\e(B
+      <em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<code>HTTP_USER_AGENT</code> \e$B$O\e(B 
+      <code>REDIRECT_HTTP_USER_AGENT</code> \e$B$K$J$j$^$9!#\e(B
+      \e$B$3$l$i$N?7$7$$JQ?t$K2C$($F!"\e(BApache \e$B$O!"\e(B
+      \e$B%9%/%j%W%H$,%j%@%$%l%/%H85$N%H%l!<%9$r=u$1$k$?$a$K\e(B
+      <code>REDIRECT_URL</code> \e$B$H\e(B <code>REDIRECT_STATUS</code>
+      \e$B$rDj5A$7$^$9!#%"%/%;%9%m%0$K$O85$N\e(B URL \e$B$H%j%@%$%l%/%H$5$l$?\e(B URL
+      \e$B$NN>J}$,5-O?$5$l$^$9!#\e(B</dd>
+    </dl>
+
+    <p>ErrorDocument \e$B$,\e(B CGI \e$B%9%/%j%W%H$X$N%m!<%+%k%j%@%$%l%/%H$r\e(B
+    \e$B;XDj$7$F$$$k>l9g$O!"$=$l$r5/F0$9$k$3$H$K$J$C$?%(%i!<$N>uBV$r\e(B
+    \e$B%/%i%$%"%s%H$^$G3N<B$KEA$($k$?$a$K\e(B <samp>"Status:" </samp>
+    \e$B%X%C%@$r4^$`$Y$-$G$9!#Nc$($P!"\e(BErrorDocument \e$BMQ$N\e(B Perl
+    \e$B%9%/%j%W%H$O0J2<$N$h$&$J$b$N$r4^$`$+$b$7$l$^$;$s!#\e(B
+    </p>
+<pre>
+      :
+    print  "Content-type: text/html\n";
+    printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+      :
+</pre>
+
+    <p>\e$B%9%/%j%W%H$,\e(B <samp>404 Not Found</samp> \e$B$N$h$&$J\e(B
+    \e$BFCDj$N%(%i!<%3%s%G%#%7%g%s$r07$&$?$a$@$1$K;H$o$l$k>l9g$O!"\e(B
+    \e$BBe$o$j$KFCDj$N%3!<%I$H%(%i!<%F%-%9%H$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/cygwin.html b/htdocs/manual/cygwin.html
new file mode 100644 (file)
index 0000000..ff0bda4
--- /dev/null
@@ -0,0 +1,567 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Using Apache with Cygwin</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER"><a id="help" name="help">Using Apache with
+    Cygwin</a></h1>
+
+    <p>This document explains how to install, configure and run
+    Apache 1.3 under the <a href="http://www.cygwin.com">Cygwin</a>
+    layer for Microsoft Windows. Cygwin is a POSIX.1 emulation
+    layer for 32-bit Microsoft Windows operating systems.</p>
+
+    <p>The Apache Group does not guarantee that this software will
+    work as documented, or even at all. If you find any bugs,
+    please document them on our <a
+    href="http://httpd.apache.org/bug_report.html">bug reporting
+    page.</a></p>
+
+    <p>Latest development news, pre-compiled distribution binaries,
+    and third-party modules as DLLs, may be found at <a
+    href="http://apache.dev.wapme.net/">http://apache.dev.wapme.net/</a>.
+    Contributions are highly welcome (please see <a
+    href="http://apache.dev.wapme.net/TODO.cygwin">TODO</a> list);
+    please submit your code or suggestions to the bug report page,
+    or join the dev@httpd.apache.org mailing list.</p>
+
+    <p>The <a href="windows.html">Win32 port</a> of Apache is built
+    on its own, custom code within Apache to assure
+    interoperability with Windows operating systems. While it is
+    considered release quality, it is slower and less thoroughly
+    tested than the Unix ports. The Cygwin alternative uses the
+    well tested Unix code by using the Cygwin portability layer for
+    POSIX.1 emulation. The Cygwin port may suffer from gaps in
+    security or reliability due to the interaction of the Cygwin
+    compatibility layer with the native Windows API.</p>
+
+    <p>The <a href="windows.html">Win32 port</a> will be more
+    familiar to most Windows users. The Cygwin port (including the
+    build environment) will be more familiar to Unix admins and
+    developers. Due to these two different code bases, the security
+    and reliability of the two ports are unrelated to each other.
+    The Win32 port should be considered the more secure of the two
+    at this time. The Win32 port is recommended for most Windows
+    users, however the Cygwin port offers an extra layer of
+    compatibility for Unix developers.</p>
+
+    <p>Apache still performs best, and is most reliable, on Unix
+    platforms. First benchmarks have shown that the same Apache
+    setup on Cygwin performs about 30% slower than the
+    corresponding native Windows version.</p>
+
+    <p>Most of this document assumes that you have a working Cygwin
+    installation and want to compile Apache yourself from the
+    original distribution sources.</p>
+    <hr />
+
+    <ul>
+      <li><a href="#hist">History of Apache for Cygwin</a></li>
+
+      <li><a href="#diff">Differences from Apache for Windows
+      (native)</a></li>
+
+      <li><a href="#req">Requirements</a></li>
+
+      <li><a href="#down">Downloading Apache for Cygwin</a></li>
+
+      <li><a href="#inst">Configuring and Installing Apache for
+      Cygwin</a></li>
+
+               <li><a href="#winsock">Using Win32 native socket implementation
+               instead</a></li>
+
+      <li><a href="#run">Running Apache for Cygwin</a></li>
+
+      <li><a href="#serv">Running Apache for Cygwin as a
+      Service</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="hist" name="hist">History of Apache for
+    Cygwin</a></h2>
+
+    <p>Cygwin support for Apache began with Apache 1.2.6 and Cygwin
+    b18.</p>
+
+    <p>Due to licensing issues there has not been an official
+    binary distribution until Red Hat Inc. (who merged with Cygnus
+    Solutions Inc.) changed their Cygwin license to ensure compiled
+    executables do not fall under GPL license if the distributed
+    software is considered as open source.</p>
+
+    <p>Cygwin is supported in the official source distributions
+    from Apache 1.3.20 and later. Pre-compiled binaries for the
+    Cygwin platform (without the <code>cygwin1.dll</code>) will be
+    supplied at <a
+    href="http://httpd.apache.org/">http://httpd.apache.org/</a>
+    for each released version.</p>
+
+    <h2><a id="diff" name="diff">Differences from Apache for
+    Windows (native)</a></h2>
+
+    <p>Both versions, Apache for Windows and Apache for Cygwin, are
+    designed to run on the same operating systems, the Windows NT
+    and Windows 2000 family. But there are considerable differences
+    between the two flavors.</p>
+
+    <p>While Apache for Windows is a native Windows port, Apache
+    for Cygwin relies on the Cygwin POSIX.1 emulation layer
+    provided by the <code>cygwin1.dll</code> dynamic library to
+    create a Unix compatible environment. Therefore we consider
+    Apache for Cygwin closer to the Unix side then to the Windows
+    side, even while it runs on Windows.</p>
+
+    <p>Most significant differences are the amount of changes to
+    the source code needed to compile and run Apache on the Cygwin
+    platform. While the native Windows port needs major changes and
+    platform specific additions, the Cygwin based port changes are
+    very small and most of the Unix source code can be used without
+    major changes on the Cygwin platform.</p>
+
+    <p><strong>When to use Apache for Cygwin and/or Apache versus
+    Windows?</strong><br />
+     Apache for Cygwin is intended to be most useful if you want a
+    seamless transition from Unix systems to Windows systems for
+    your HTTP services.</p>
+
+    <p>If you are using Windows NT or Windows 2000 for development
+    and office purposes, but your productive HTTP server
+    environments are Unix based systems, you may use Apache for
+    Cygwin to develop on Windows and simply copy whole Apache
+    configurations (<em>i.e.,</em> <code>httpd.conf</code>) and
+    Perl (<code>mod_perl</code>), PHP (<code>mod_php</code>) or
+    Python (<code>mod_snake</code>) applications to your productive
+    Unix systems.</p>
+
+    <p><strong>What about modules (<code>mod_foo</code>) for Apache
+    for Cygwin?</strong><br />
+     Apache for Cygwin can be built with most of the available
+    Apache modules with no or minimal changes. Many popular modules
+    have been compiled and tested with Apache for Cygwin, including
+    <code>mod_dav</code>, <code>mod_ssl</code>,
+    <code>mod_php</code>, <code>mod_perl</code>,
+    <code>mod_gzip</code>, and <code>mod_jserv</code>.</p>
+
+    <p>While there are developers who directly support the Windows
+    native port of Apache, very few module developers do. That is
+    why it is can be difficult to make a Unix-based Apache
+    installation with third-party modules work the same way on the
+    Windows side using the native port. Apache for Cygwin makes
+    this much easier.</p>
+
+    <p><strong>What are the differences in the configuration
+    files?</strong><br />
+     While the Apache for Windows port uses Windows native path
+    names to refer files and directories, like</p>
+<pre>
+  # httpd.conf (for Windows)
+  DocumentRoot "c:/apache/htdocs"
+</pre>
+    Apache for Cygwin can use unmodified POSIX style path names
+    like 
+<pre>
+  # httpd.conf (for Cygwin)
+  DocumentRoot "/usr/local/apache/htdocs"
+</pre>
+
+    <p><strong>What about performance?</strong><br />
+     Apache for Cygwin is not as high-performance as Apache for
+    Windows on the same hardware.</p>
+
+    <p>This is to be expected, because Cygwin emulates a Unix
+    environment on a "foreign" operating system, while Apache for
+    Windows uses Windows code in its own native environment. First
+    benchmark results have shown that Apache for Cygwin is about
+    30% slower than native Apache for Windows counterpart.</p>
+
+    <h2><a id="req" name="req">Requirements</a></h2>
+
+    <p>This Apache 1.3 port for Cygwin is designed to run on
+    Windows NT 4.0 and Windows 2000, <strong>NOT</strong> on
+    Windows 95 or 98. Windows NT 4.0 and Windows 2000 have both
+    been successfully tested and approved. In all cases TCP/IP
+    networking must be installed.</p>
+
+    <p>Cygwin 1.x is required to compile and run this version.
+    Cygwin 1.3.9 and 1.3.10 have been tested and approved on both
+    supported OSes. We suggest using Cygwin 1.3.9-2 and higher.</p> 
+
+    <p><strong>Note:</strong>If you want to compile shared DLL
+    modules using <a
+    href="programs/apxs.html"><code>apxs</code></a> you will need 
+        Cygwin 1.3.9-2 or higher version, which includes a version of 
+        <code>ld.exe</code> with <code>--auto-import</code> support.
+        </p>
+
+
+    <h2><a id="down" name="down">Downloading Apache for
+    Cygwin</a></h2>
+
+    <p>The Cygwin platform is supported out of the box by Apache
+    1.3.20 and later. This means there is no extra download
+    required for the Cygwin platform. The latest version of Apache
+    can be found on the Apache httpd web site at <a
+    href="http://httpd.apache.org/">http://httpd.apache.org/</a>.
+    The site lists the current release, any more recent development
+    versions, and information on any mirror sites.</p>
+
+        <p><strong>What about Cygwin Net Distribution binaries?</strong><br />
+    Apache for Cygwin is also available as pre-compiled binary 
+        package for the Cygwin Net Distribution available at 
+        <a href="http://www.cygwin.com/">http://www.cygwin.com/</a> and it's 
+        <a href="http://www.cygwin.com/setup.exe"><code>setup.exe</code></a>
+        installation process.</p>
+
+
+    <h2><a id="inst" name="inst">Configuring and Installing Apache
+    for Cygwin</a></h2>
+
+    <p>Apache on Cygwin is configured and compiled the same way as
+    on most Unix systems. Refer to the general <a
+    href="configuring.html">configuration</a> and <a
+    href="install.html">installation</a> documents for details.</p>
+
+    <p>There are three ways to configure and build Apache for
+    Cygwin, depending on how additional Apache modules should be
+    used:</p>
+
+    <ul>
+      <li>
+        <strong>Static linked version</strong> 
+
+        <p>To build a static linked version of <code>httpd</code>
+        including additional modules, use the following commands in
+        the shell:</p>
+<pre>
+  $ cd apache_1.3.x
+  $ ./configure [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>]
+  $ make
+</pre>
+
+        <p>This will produce the required extra libraries or object
+        files for <i>module</i> and link everything to
+        <code>src/httpd.exe</code>.</p>
+      </li>
+
+      <li>
+        <strong>Shared core, DLL linked version ('one-for-all'
+        version)</strong> 
+
+        <p>To build a DLL version of <code>httpd</code> including
+        additional modules, use the following commands:</p>
+<pre>
+  $ cd apache_1.3.x
+  $ ./configure --enable-rule=SHARED_CORE \
+       [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>]
+  $ make
+  $ make install
+</pre>
+
+        <p>This will produce the required extra libraries or object
+        files that hold all static linked code. Then
+        <code>dllwrap</code> and <code>dlltool</code> will export
+        all of those (including any additional module code) to the
+        shared <code>cyghttpd.dll</code> and create the
+        <code>libhttpd.a</code> import library which is required
+        for linking <code>httpd.exe</code>.</p>
+
+        <p><strong>Note:</strong> After <code>make install</code>
+        is performed you will find the resulting core DLL module
+        <code>cyghttpd.dll</code> within
+        <code>/usr/local/apache/libexec</code>. This is due to the
+        installation process. Please move the file to Apache's
+        <code>bin</code> directory, i.e.</p>
+<pre>
+  $ mv /usr/local/apache/libexec/cyghttpd.dll /usr/local/apache/bin
+</pre>
+        <p>or to an other place inside your <code>$PATH</code>, i.e.
+                 <code>/usr/bin</code> is used in the Cygwin Net Distribution
+                 layout. The core DLL module <code>cyghttpd.dll</code> is the
+        <i>only</i> file that should reside in
+        <code>/usr/local/apache/bin</code> directory. All other
+        shared DLL modules <code>mod_foo.dll</code> should be
+        located in <code>/usr/local/apache/libexec</code>.</p>
+      </li>
+
+      <li>
+        <strong>Shared DLL modules linked version</strong> 
+
+        <p>This method is <strong>ONLY</strong> supported using a 
+                 version of <code>ld.exe</code> which supports the 
+                 <code>--auto-import</code> option. Please see the 
+                 <a href="#req">requirements</a> section for more 
+                 information.</p>
+
+        <p>To build a dynamic loadable DLL version of
+        <code>httpd</code> which can load DLL modules on the fly
+        (at runtime), proceed as follows:</p>
+
+        <ul>
+          <li>
+            <p>First build Apache's shared core as follows:</p>
+<pre>
+  $ cd apache_1.3.x
+  $ ./configure --enable-rule=SHARED_CORE --enable-module=so \
+       [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>] \
+       [--enable-shared=<i>module</i>]
+  $ make
+</pre>
+
+            <p>You will notice that there is a warning message
+            shown which lets you know that the shared core DLL
+            library <code>src/cyghttpd.dll</code> is missing while
+            trying to link the shared DLL modules
+            <code>mod_foo.dll</code>.</p>
+
+            <p>Unfortunately, during Apache's build process, the shared
+            modules are linked before the shared core import
+            library <code>src/cyghttpd.dll</code> has been made.
+            The shared modules depend on this import library, so
+            they cannot link for the first time you run
+            <code>make</code>.</p>
+          </li>
+
+          <li>
+            Re-run <code>make</code> to build the shared module
+            DLLs and install the whole package to the installation
+            directory: 
+<pre>
+  $ make
+  $ make install
+</pre>
+
+            <p>All shared modules are placed into
+            <code>libexec</code>, including the shared core DLL
+            <code>cyghttpd.dll</code>. When Apache's
+            <code>/bin/httpd</code> is started, it has to dynamically
+            link <code>cyghttpd.dll</code> during runtime; that is
+            why you have to place the shared core DLL
+            <code>cyghttpd.dll</code> to the same directory where
+            <code>httpd.exe</code> resides, i.e.
+            <code>/usr/local/apache/bin</code> or an other place
+                               in your <code>$PATH</code>.</p>
+          </li>
+
+          <li>
+            Add configuration directives to
+            <code>conf/httpd.conf</code> to load and activate
+            shared DLL modules at runtime: 
+<pre>
+  # httpd.conf
+  [...]
+  LoadModule foo_module   libexec/mod_foo.dll
+  AddModule mod_foo.c
+  [...]
+</pre>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <strong>Using <code>apxs</code> to create shared DLL modules</strong> 
+
+        <p>To make the extending <code>httpd</code> with shared DLL
+        modules easier, you can use <a
+        href="programs/apxs.html"><code>apxs</code></a>.</p>
+
+        <p>Make sure you have configured
+        <code>$CFG_LDFLAGS_SHLIB</code> within <code>apxs</code> to
+        include the <code>--shared</code> directive and the path to
+        the shared code DLL <code>cyghttpd.dll</code>.</p>
+
+        <p>After performing <code>make install</code> you will
+        probably have the following lines within your
+        <code>apxs</code>:</p>
+<pre>
+  # apxs
+  [...]
+  my $CFG_LD_SHLIB      = q(dllwrap --export-all --output-def libhttpd.def --implib libhttpd.a --driver-name gcc);          # substituted via Makefile.tmpl
+  my $CFG_LDFLAGS_SHLIB = q(-g); # substituted via Makefile.tmpl 
+  my $CFG_LIBS_SHLIB    = q();        # substituted via Makefile.tmpl 
+  [...]
+</pre>
+        Change these to reflect the new compile options needed for
+        shared DLL modules as follows: 
+<pre>
+  # apxs
+  [...]
+  my $CFG_LD_SHLIB      = q(gcc);          # substituted via Makefile.tmpl
+  my $CFG_LDFLAGS_SHLIB = q(-g --shared); # substituted via Makefile.tmpl 
+  my $CFG_LIBS_SHLIB    = q(<i>/path/to/cyghttpd.dll</i>);        # substituted via Makefile.tmpl 
+  [...]
+</pre>
+
+        <p>Now you should be able to create a shared DLL module
+        from a <code>mod_foo.c</code> source file with:</p>
+<pre>
+  $ apxs -c mod_foo.c -o mod_foo.dll
+</pre>
+        Place the resulting DLL in Apache's <code>libexec</code>
+        directory, so the <code>dlopen()</code> function within the
+        compiled in <code>mod_so.c</code> module can find and load
+        it at runtime.
+      </li>
+    </ul>
+        
+    
+        <h2><a id="winsock" name="winsock">Using Win32 native socket 
+        implementation instead</a></h2>
+
+    <p>Apache for Cygwin supports an option to use the Win32 native 
+        socket calls instead of Cygwin's POSIX wrappers internally. To
+        use the Win32 native socket calls configure Apache for Cygwin
+        with the <code>CYGWIN_WINSOCK</code> configuration rule flag
+        as follows:</p>
+<pre>
+  $ cd apache_1.3.x
+  $ ./configure --enable-rule=CYGWIN_WINSOCK [...]
+  $ make
+</pre>
+    <p>Using Win32 native socket calls is intended for performance
+        reasons and as a hybrid way to interact with the underlying 
+        native socket implementation.</p> 
+
+
+
+    <h2><a id="run" name="run">Running Apache for Cygwin</a></h2>
+
+    <p>Apache on Cygwin can be started and stopped in the same
+    manner as on Unix systems. You may also use the <a
+    href="programs/apachectl.html"><code>apachectl</code></a> tool
+    for starting and stopping Apache.</p>
+
+    <ul>
+      <li>
+        <strong>Starting Apache</strong> 
+
+        <p>If installed with the default Apache directory layout,
+        you can start <code>httpd</code> as follows:</p>
+<pre>
+  $ /usr/local/apache/bin/httpd
+</pre>
+
+        <p>An explicit background indicator (<code>&amp;</code>) is
+        not required. The parent process is automatically detached
+        from the current terminal. Check the global
+        <code>error_log</code> to see if Apache started cleanly
+        without any major problems.</p>
+      </li>
+
+      <li>
+        <strong>Stopping Apache</strong> 
+
+        <p>To stop Apache send at least a <code>SIGTERM</code>
+        signal to the parent <code>httpd</code> process:</p>
+<pre>
+  $ kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+      </li>
+
+      <li>
+        <strong>Gracefully Restarting Apache</strong> 
+
+        <p>In order to update configuration directives and reload
+        the <code>httpd.conf</code> configuration file, send a
+        <code>SIGHUP</code> to the parent <code>httpd</code>
+        process:</p>
+<pre>
+  $ kill -HUP `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+      </li>
+    </ul>
+
+    <h2><a id="serv" name="serv">Running Apache for Cygwin as a
+    Service</a></h2>
+
+    <p>Apache on Cygwin can be invoked as a Windows NT or Windows
+    2000 service. Cygwin has its own <code>cygrunsrv.exe</code>
+    facility to define, remove, start, and stop services as
+    follows:</p>
+
+    <ul>
+      <li>
+        <strong>Installing Apache as a new Service</strong> 
+
+        <p>Use the following statement to install
+        <code>httpd.exe</code> as a new service:</p>
+<pre>
+  $ cygrunsrv -I <i>service_name</i>-p /usr/local/apache/bin/httpd.exe [-a <i>arguments</i>] \
+      [-e <i>VAR=VALUE</i>] [-t auto|manual] [-u <i>user</i>] [-w <i>passwd</i>]
+</pre>
+
+        <p>Where <code>-a</code> is used to pass command line
+        arguments (such as <code>-DFOO</code> defines) to
+        <code>httpd.exe</code>, and <code>-e</code> is used to pass
+        environment variables. If necessary you may use the
+        <code>-t</code> options to set the autostart configuration
+        for the service. If you want the new service to run under a
+        different userid, you will have to supply the
+        <code>-u</code> and <code>-w</code> options.</p>
+      </li>
+
+      <li>
+        <strong>Starting Apache as a Service</strong> 
+
+        <p>After the new service is installed it can be started
+        using the following command:</p>
+<pre>
+  $ cygrunsrv -S <i>service_name</i>
+</pre>
+
+        <p>Check your process table and global
+        <code>error_log</code> file to ensure Apache has started
+        without any major problems.</p>
+      </li>
+
+      <li>
+        <strong>Stopping an Apache Service</strong> 
+
+        <p>A running Apache service may be stopped using the
+        following command:</p>
+<pre>
+  $ cygrunsrv -E <i>service_name</i>
+</pre>
+
+        <p>This will stop all running <code>httpd.exe</code>
+        processes and shutdown the HTTP service for the
+        machine.</p>
+      </li>
+
+      <li>
+        <strong>Removing an Apache Service</strong> 
+
+        <p>An installed Apache service may be removed from Windows
+        NT or Windows 2000 using the following command:</p>
+<pre>
+  $ cygrunsrv -R <i>service_name</i>
+</pre>
+
+        <p>This will remove your previously defined and installed
+        service from the machine.</p>
+      </li>
+    </ul>
+
+    <p>Please refer to the <code>man</code> page for
+    <code>cygrunsrv</code> and the Cygwin mailing list for further
+    details of how services are invoked.</p>
+
+    <p>Any additional contributions to this document and the Cygwin
+    support for Apache are highly welcome. Please send them to
+    Stipe Tolj <a
+    href="mailto:tolj&#64;wapme-systems.de">&lt;tolj&#64;wapme-systems.de&gt;</a>.</p>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/dns-caveats.html.en b/htdocs/manual/dns-caveats.html.en
new file mode 100644 (file)
index 0000000..dd0be45
--- /dev/null
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Issues Regarding DNS and Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Issues Regarding DNS and Apache</h1>
+
+    <p>This page could be summarized with the statement: <em>don't
+    require Apache to use DNS for any parsing of the configuration
+    files</em>. If Apache has to use DNS to parse the configuration
+    files then your server may be subject to reliability problems
+    (it might not boot), or denial and theft of service attacks
+    (including users able to steal hits from other users).</p>
+
+    <h3>A Simple Example</h3>
+    Consider this configuration snippet: 
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.abc.dom&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>In order for Apache to function properly it absolutely needs
+    to have two pieces of information about each virtual host: the
+    <a href="mod/core.html#servername"><code>ServerName</code></a>
+    and at least one IP address that the server responds to. This
+    example does not include the IP address, so Apache must use DNS
+    to find the address of <code>www.abc.dom</code>. If for some
+    reason DNS is not available at the time your server is parsing
+    its config file, then this virtual host <strong>will not be
+    configured</strong>. It won't be able to respond to any hits to
+    this virtual host (prior to Apache version 1.2 the server would
+    not even boot).</p>
+
+    <p>Suppose that <code>www.abc.dom</code> has address 10.0.0.1.
+    Then consider this configuration snippet:</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost 10.0.0.1&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>Now Apache needs to use reverse DNS to find the
+    <code>ServerName</code> for this virtualhost. If that reverse
+    lookup fails then it will partially disable the virtualhost
+    (prior to Apache version 1.2 the server would not even boot).
+    If the virtual host is name-based then it will effectively be
+    totally disabled, but if it is IP-based then it will mostly
+    work. However if Apache should ever have to generate a full URL
+    for the server which includes the server name then it will fail
+    to generate a valid URL.</p>
+
+    <p>Here is a snippet that avoids both of these problems.</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost 10.0.0.1&gt;
+    ServerName www.abc.dom
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <h3>Denial of Service</h3>
+
+    <p>There are (at least) two forms that denial of service can
+    come in. If you are running a version of Apache prior to
+    version 1.2 then your server will not even boot if one of the
+    two DNS lookups mentioned above fails for any of your virtual
+    hosts. In some cases this DNS lookup may not even be under your
+    control. For example, if <code>abc.dom</code> is one of your
+    customers and they control their own DNS then they can force
+    your (pre-1.2) server to fail while booting simply by deleting
+    the <code>www.abc.dom</code> record.</p>
+
+    <p>Another form is far more insidious. Consider this
+    configuration snippet:</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.abc.dom&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.def.dom&gt;
+    ServerAdmin webguy@def.dom
+    DocumentRoot /www/def
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>Suppose that you've assigned 10.0.0.1 to
+    <code>www.abc.dom</code> and 10.0.0.2 to
+    <code>www.def.dom</code>. Furthermore, suppose that
+    <code>def.com</code> has control of their own DNS. With this
+    config you have put <code>def.com</code> into a position where
+    they can steal all traffic destined to <code>abc.com</code>. To
+    do so, all they have to do is set <code>www.def.dom</code> to
+    10.0.0.1. Since they control their own DNS you can't stop them
+    from pointing the <code>www.def.com</code> record wherever they
+    wish.</p>
+
+    <p>Requests coming in to 10.0.0.1 (including all those where
+    users typed in URLs of the form
+    <code>http://www.abc.dom/whatever</code>) will all be served by
+    the <code>def.com</code> virtual host. To better understand why
+    this happens requires a more in-depth discussion of how Apache
+    matches up incoming requests with the virtual host that will
+    serve it. A rough document describing this <a
+    href="vhosts/details.html">is available</a>.</p>
+
+    <h3>The "main server" Address</h3>
+
+    <p>The addition of <a href="vhosts/name-based.html">name-based
+    virtual host support</a> in Apache 1.1 requires Apache to know
+    the IP address(es) of the host that httpd is running on. To get
+    this address it uses either the global <code>ServerName</code>
+    (if present) or calls the C function <code>gethostname</code>
+    (which should return the same as typing "hostname" at the
+    command prompt). Then it performs a DNS lookup on this address.
+    At present there is no way to avoid this lookup.</p>
+
+    <p>If you fear that this lookup might fail because your DNS
+    server is down then you can insert the hostname in
+    <code>/etc/hosts</code> (where you probably already have it so
+    that the machine can boot properly). Then ensure that your
+    machine is configured to use <code>/etc/hosts</code> in the
+    event that DNS fails. Depending on what OS you are using this
+    might be accomplished by editing <code>/etc/resolv.conf</code>,
+    or maybe <code>/etc/nsswitch.conf</code>.</p>
+
+    <p>If your server doesn't have to perform DNS for any other
+    reason then you might be able to get away with running Apache
+    with the <code>HOSTRESORDER</code> environment variable set to
+    "local". This all depends on what OS and resolver libraries you
+    are using. It also affects CGIs unless you use <a
+    href="mod/mod_env.html"><code>mod_env</code></a> to control the
+    environment. It's best to consult the man pages or FAQs for
+    your OS.</p>
+
+    <h3><a id="tips" name="tips">Tips to Avoid these
+    problems</a></h3>
+
+    <ul>
+      <li>use IP addresses in <code>&lt;VirtualHost&gt;</code></li>
+
+      <li>use IP addresses in <code>Listen</code></li>
+
+      <li>use IP addresses in <code>BindAddress</code></li>
+
+      <li>ensure all virtual hosts have an explicit
+      <code>ServerName</code></li>
+
+      <li>create a <code>&lt;VirtualHost _default_:*&gt;</code>
+      server that has no pages to serve</li>
+    </ul>
+
+    <h3>Appendix: Future Directions</h3>
+
+    <p>The situation regarding DNS is highly undesirable. For
+    Apache 1.2 we've attempted to make the server at least continue
+    booting in the event of failed DNS, but it might not be the
+    best we can do. In any event requiring the use of explicit IP
+    addresses in configuration files is highly undesirable in
+    today's Internet where renumbering is a necessity.</p>
+
+    <p>A possible work around to the theft of service attack
+    described above would be to perform a reverse DNS lookup on the
+    IP address returned by the forward lookup and compare the two
+    names. In the event of a mismatch the virtualhost would be
+    disabled. This would require reverse DNS to be configured
+    properly (which is something that most admins are familiar with
+    because of the common use of "double-reverse" DNS lookups by
+    FTP servers and TCP wrappers).</p>
+
+    <p>In any event it doesn't seem possible to reliably boot a
+    virtual-hosted web server when DNS has failed unless IP
+    addresses are used. Partial solutions such as disabling
+    portions of the configuration might be worse than not booting
+    at all depending on what the webserver is supposed to
+    accomplish.</p>
+
+    <p>As HTTP/1.1 is deployed and browsers and proxies start
+    issuing the <code>Host</code> header it will become possible to
+    avoid the use of IP-based virtual hosts entirely. In this event
+    a webserver has no requirement to do DNS lookups during
+    configuration. But as of March 1997 these features have not
+    been deployed widely enough to be put into use on critical
+    webservers. <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/dns-caveats.html.fr b/htdocs/manual/dns-caveats.html.fr
new file mode 100644 (file)
index 0000000..2def7c5
--- /dev/null
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.4 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Apache et le DNS</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache et le DNS</h1>
+
+    <p>Cette page aurait pu &ecirc;tre r&eacute;sum&eacute;e par la
+    phrase : <i>ne demandez pas &agrave; Apache d'utiliser le DNS
+    pour la lecture des fichiers de configuration</i>. Si Apache
+    doit utiliser le DNS pour r&eacute;cup&eacute;rer ses fichiers
+    de configuration, alors votre serveur peut &ecirc;tre sujet
+    &agrave; des probl&egrave;mes de fiabilit&eacute; (il peut tout
+    simplement ne pas d&eacute;marrer), ou s'ouvrir &agrave; des
+    attaques et des vols d'information (y compris des utilisateurs
+    qui pourraient "voler" des hits d'autres utilisateurs).</p>
+
+    <h3>Un exemple simple</h3>
+    Consid&eacute;rez ce court extrait de code de configuration : 
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.abc.dom&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>Pour qu'Apache fonctionne correctement, il a absolument
+    besoin d'au moins deux informations pour chaque h&ocirc;te
+    virtuel : le <a
+    href="mod/core.html#servername"><code>ServerName</code></a> et
+    au moins une adresse IP &agrave; laquelle ce serveur doit
+    r&eacute;pondre. Cet exemple ne fait pas appara&icirc;tre
+    d'adresse IP ; Apache doit donc utiliser le DNS pour trouver
+    l'adresse correspondant &agrave; <code>www.abc.dom</code>. Si
+    pour telle ou telle raison, le service de noms de domaines
+    n'est pas accessible au moment ou le serveur interpr&egrave;te
+    ses fichiers de configuration, alors cet h&ocirc;te virtuel
+    <b>ne pourra pas &ecirc;tre configur&eacute;</b>. Il ne pourra
+    donc pas r&eacute;pondre aux requ&ecirc;tes &eacute;mises vers
+    cet h&ocirc;te virtuel (les versions d'Apache
+    ant&eacute;rieures &agrave; la 1.2 n'auraient m&ecirc;me pas pu
+    d&eacute;marrer).</p>
+
+    <p>Supposons que le doamine <code>www.abc.dom</code> ait pour
+    adresse 10.0.0.1. Consid&eacute;rez alors ce nouvel extrait de
+    code de configuration :</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost 10.0.0.1&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>Apache doit alors effectuer une r&eacute;solution DNS
+    inverse pour trouver le nom <code>ServerName</code> pour cet
+    h&ocirc;te virtuel. Si cette r&eacute;solution &eacute;choue,
+    alors il devra partiellement d&eacute;sactiver cet h&ocirc;te
+    virtuel (les versions d'Apache ant&eacute;rieures &agrave; la
+    1.2 n'auraient m&ecirc;me pas d&eacute;marr&eacute;). Si
+    l'h&ocirc;te virtuel est bas&eacute; sur un nom de domaine
+    alors il sera totalement inhib&eacute;, si par contre il se
+    base sur une adresse IP, alors il tournera probablement.
+    Cependant, si Apache devait g&eacute;n&eacute;rer une URL
+    compl&egrave;te pour ce serveur, incluant le nom de domaine,
+    l'URL produite ne pourrait &ecirc;tre correctement
+    constitu&eacute;e.</p>
+
+    <p>Voici un extrait qui &eacute;limine ces deux
+    probl&egrave;mes.</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost 10.0.0.1&gt;
+    ServerName www.abc.dom
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <h3>Refus de service</h3>
+
+    <p>Il existe (au moins) deux situations o&ugrave; Apache refuse
+    de fournir le service. Si vous ex&eacute;cutez une version
+    ant&eacute;rieure &agrave; la version 1.2 d'Apache, votre
+    serveur ne d&eacute;marrera m&ecirc;me pas si l'une des deux
+    r&eacute;solutions DNS mentionn&eacute;es ci-avant
+    &eacute;choue pour au moins un h&ocirc;te virtuel. Dans
+    certains cas, cette r&eacute;solution peut ne m&ecirc;me pas
+    &ecirc;tre sous votre contr&ocirc;le. Par exemple, si
+    <code>abc.dom</code> est l'un de vos clients, lequel
+    contr&ocirc;le son propre serveur DNS, ce dernier peut forcer
+    votre serveur Apache (en version ant&eacute;rieure &agrave;
+    1.2) &agrave; s'arr&ecirc;ter au d&eacute;marrage en supprimant
+    simplement l'enregistrement du nom
+    <code>www.abc.dom</code>.</p>
+
+    <p>Une autre situation est beaucoup plus pernicieuse.
+    Consid&eacute;rez cet extrait de code de configuration :</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.abc.dom&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.def.dom&gt;
+    ServerAdmin webguy@def.dom
+    DocumentRoot /www/def
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>Supposez que vous avez assign&eacute; 10.0.0.1 au domaine
+    <code>www.abc.dom</code> et 10.0.0.2 au domaine
+    <code>www.def.dom</code>. De plus, supposez que
+    <code>def.com</code> contr&ocirc;le son propre service DNS.
+    Avec la pr&eacute;c&eacute;dente configuration, vous permettez
+    &agrave; <code>def.com</code> de "voler" tout le trafic
+    destin&eacute; &agrave; <code>abc.com</code>. Tout ce qu'ils
+    auraient &agrave; faire pour y parvenir est d'assigner
+    <code>www.def.dom</code> &agrave; l'adresse 10.0.0.1. Dans la
+    mesure o&ugrave; ils contr&ocirc;lent leur propre DNS, vous ne
+    pouvez les emp&ecirc;cher de pi&eacute;ger leur enregistrement
+    de <code>www.def.com</code>.</p>
+
+    <p>Les requ&ecirc;tes arrivant pour 10.0.0.1 (y compris toutes
+    celles o&ugrave; les utilisateurs auront tap&eacute; une URL de
+    la forme <code>http://www.abc.dom/qqchose</code>) seront toutes
+    servies par l'h&ocirc;te virtuel <code>def.com</code>. Mieux
+    comprendre comment cela est possible demande une discussion
+    plus d&eacute;taill&eacute;e sur la mani&egrave;re dont Apache
+    traite des requ&ecirc;tes arrivant pour des h&ocirc;tes
+    virtuels. Un premier document descrivant ceci est <a
+    href="vhosts/details.html">disponible</a>.</p>
+
+    <h3>L'adresse du "serveur principal"</h3>
+
+    <p>L'addition du <a href="vhosts/name-based.html">support
+    d'h&ocirc;tes virtuels bas&eacute;s sur les noms</a> dans
+    Apache 1.1 n&eacute;cessite qu'Apache connaisse les adresses IP
+    de l'h&ocirc;te sur lequel est ex&eacute;cut&eacute; httpd.
+    Pour obtenir cette adresse, il utilise soit le
+    <code>ServerName</code> global (si d&eacute;fini) ou appelle la
+    fonction C <code>gethostname</code> (qui renvoie une
+    information similaire &agrave; celle donn&eacute;e par la
+    commande interactive "hostname"). Puis il proc&egrave;de
+    &agrave; une r&eacute;solution DNS pour cette adresse.
+    Jusqu'&agrave; pr&eacute;sent, il n'y a aucun moyen
+    d'&eacute;viter cette r&eacute;solution.</p>
+
+    <p>Si vous craignez que cette r&eacute;solution &eacute;choue
+    parceque votre serveur DNS est arr&ecirc;t&eacute;, alors vous
+    popuvez ajouter le nom d'h&ocirc;te dans le fichier
+    <code>/etc/hosts</code> (o&ugrave; il devrait normalement
+    d&eacute;j&agrave; figurer, ne serait-ce que pour assurer un
+    d&eacute;marrage correct de la machine). Vous devrez en outre
+    vous assurer que votre machine est configur&eacute;e pour
+    exploiter le fichier <code>/etc/hosts</code> en cas
+    d'&eacute;chec d'une r&eacute;solution dynamique. Suivant l'OS
+    que vous utilisez, ceci peut &ecirc;tre fait en &eacute;ditant
+    le code <code>/etc/resolv.conf</code>, ou peut &ecirc;tre
+    <code>/etc/nsswitch.conf</code>.</p>
+
+    <p>Si votre machine n'a pas de r&eacute;solution DNS &agrave;
+    effectuer pour toute autre raison (par exemple parce qu'elle
+    est isol&eacute;e), alors vous pourrez n&eacute;anmoins faire
+    tourner Apache en initialisant la variable d'environnement
+    <code>HOSTRESORDER</code> &agrave; "local". Tout ceci
+    d&eacute;pend de l'OS et des librairies de r&eacute;solveur que
+    vous utilisez. Les CGI sont &eacute;galement affect&eacute;s
+    sauf si vous utilisez la fonctionnalit&eacute; <a
+    href="mod/mod_env.html"><code>mod_env</code></a> pour
+    contr&ocirc;ler l'environnement. Il est prudent de consulter
+    les pages de manuel ou les FAQ sp&eacute;cifiques &agrave;
+    votre OS.</p>
+
+    <h3><a id="tips" name="tips">Astuces pour &eacute;viter ces
+    probl&egrave;mes</a></h3>
+
+    <ul>
+      <li>utilisez des adresses IP dans les sections
+      <code>&lt;VirtualHost&gt;</code></li>
+
+      <li>utilisez des adresses IP dans la clause
+      <code>Listen</code></li>
+
+      <li>utilisez des adresses IP dans la clause
+      <code>BindAddress</code></li>
+
+      <li>assurez vous que tous les h&ocirc;tes virtuels on un
+      <code>ServerName</code></li>
+
+      <li>cr&eacute;ez un serveur <code>&lt;VirtualHost
+      _default_:*&gt;</code> qui ne sert aucune page.</li>
+    </ul>
+
+    <h3>Annexe: Directions futures</h3>
+
+    <p>Cette situation vis-&agrave;-vis du DNS est largement
+    insatisfaisante. Pour Apache 1.2, nous avons travaill&eacute;
+    pour que le serveur puisse continuer &agrave; d&eacute;marrer
+    dans le cas de l'&eacute;chec d'une r&eacute;solution DNS, mais
+    il est possible que nous puissions en faire plus. Toute
+    &eacute;criture n&eacute;cessitant l'usage d'adresses IP
+    explicites dans le fichier de configuration n'est pas
+    souhaitable dans le contexte Internet actuel o&ugrave; la <a
+    href="http://www.ietf.org/html.charters/pier-charter.html">rotation
+    d'adresses</a> est une n&eacute;cessit&eacute;.</p>
+
+    <p>Une parade au vol de service serait d'effectuer une
+    r&eacute;solution DNS inverse sur l'adresse IP renvoy&eacute;e
+    par la r&eacute;solution directe, et comparer les deux noms. En
+    cas de non concordance, cet h&ocirc;te virtuel serait
+    d&eacute;sactiv&eacute;. Ceci impliquerait que la
+    r&eacute;solution DNS inverse soit correctement
+    configur&eacute;e (ce qui reste assez connu des administrateurs
+    du fait de l'usage commun de la r&eacute;solution inverse
+    double par les serveurs FTP et les transposeurs TCP).</p>
+
+    <p>Dans tous les cas, il ne semble pas possible de garantir la
+    fiabilit&eacute; du d&eacute;marrage d'un serveur web
+    g&eacute;rant des h&ocirc;tes virtuels lorsque la
+    r&eacute;solution DNS a &eacute;chou&eacute;, sauf si la
+    d&eacute;finition de ces h&ocirc;tes utilise des adresses IP
+    explicites. Une solution partielle consistant &agrave; ignorer
+    certaines portions du fichier de configuration serait encore
+    pire que ne pas d&eacute;marrer du tout, dans certains cas
+    d'exploitation.</p>
+
+    <p>Par l'extension de l'usage de HTTP/1.1, les navigateurs et
+    proxies fournissent de plus en plus souvent l'en-t&ecirc;te
+    <code>Host</code>, et il deviendra possible d'&eacute;viter
+    totalement la d&eacute;finition d'h&ocirc;tes virtuels
+    bas&eacute;s sur des adresses IP. Dans ce cas, un serveur Web
+    n'aura plus de r&eacute;solution DNS &agrave; effectuer pendant
+    la configuration. Mais &agrave; la date de Mars 1997, ces
+    fonctionnalit&eacute;s n'ont pas &eacute;t&eacute; suffisament
+    largement d&eacute;ploy&eacute;es pour pouvoir &ecirc;tre
+    exploit&eacute;es par des serveurs en situation critique. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/dns-caveats.html.html b/htdocs/manual/dns-caveats.html.html
new file mode 100644 (file)
index 0000000..0fd2b2a
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="dns-caveats.html.en" -->
+
diff --git a/htdocs/manual/dns-caveats.html.ja.jis b/htdocs/manual/dns-caveats.html.ja.jis
new file mode 100644 (file)
index 0000000..bca7830
--- /dev/null
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>DNS\e$B$H\e(BApache\e$B$K$D$$$F$NLdBj\e(B</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English Revision: 1.14 -->
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">DNS \e$B$H\e(B Apache \e$B$K$^$D$o$kCm0U;v9`\e(B</h1>
+
+    <p>\e$BK\J8=q$NFbMF$O<!$N0l8@$K?T$-$^$9!#\e(BApache
+    \e$B$,@_Dj%U%!%$%k$rFI$_9~$`$H$-$K\e(B <em>DNS
+    \e$B$r;HMQ$9$kI,MW$,$J$$$h$&$K$7$F2<$5$$\e(B</em>\e$B!#\e(BApache
+    \e$B$,@_Dj%U%!%$%k$rFI$_9~$`$H$-$K\e(B DNS
+    \e$B$r;HMQ$9$kI,MW$,$"$k>l9g!"?.Mj@-$NLdBj\e(B(\e$B5/F0$7$J$$$+$b$7$l$^$;$s\e(B)
+    \e$B$d%5!<%S%95qH]!"EpMQ%"%?%C%/\e(B(\e$BB>$N%f!<%6$+$i%R%C%H$rEp$`$3$H$r4^$_$^$9\e(B)
+    \e$B$NLdBj$KD>LL$9$k$+$b$7$l$^$;$s!#\e(B</p>
+
+    <h3>\e$B4JC1$JNc\e(B</h3>
+    \e$B$3$N@_DjNc$r9M$($F$_$^$9\e(B:
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.abc.dom&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>Apache \e$B$,@5>o$K5!G=$9$k$K$O!"%P!<%A%c%k%[%9%H$4$H$KI,$:Fs$D$N\e(B
+    \e$B>pJs$,I,MW$K$J$j$^$9!#$=$l$O!"\e(B
+    <a href="mod/core.html#servername"><code>ServerName</code></a>
+    \e$B$H!"$=$N%5!<%P$,1~Ez$9$k$?$a$N\e(B IP \e$B%"%I%l%9\e(B(\e$B:GDc0l$D\e(B) \e$B$G$9!#\e(B
+    \e$B$3$NNc$G$O\e(B IP \e$B%"%I%l%9$r4^$s$G$$$^$;$s$N$G!"\e(BApache \e$B$O\e(B DNS
+    \e$B$r;HMQ$7$F\e(B <code>www.abc.dom</code> \e$B$r8+$D$1$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B@_Dj%U%!%$%k$rFI$_9~$s$G$$$k$H$-$K2?$i$+$NM}M3$G\e(B DNS
+    \e$B$,MxMQ$G$-$J$+$C$?>l9g!"\e(B
+    \e$B%P!<%A%c%k%[%9%H$O\e(B<strong>\e$B@_Dj$5$l$^$;$s\e(B</strong>\e$B!#\e(B
+    \e$B$=$7$F!"$=$N%P!<%A%c%k%[%9%H$KBP$9$k%R%C%H$K$O1~Ez$,$J$5$l$^$;$s\e(B
+    (Apache 1.2 \e$B0JA0$G$O5/F0$9$i$7$^$;$s\e(B)\e$B!#\e(B</p>
+
+    <p><code>www.abc.dom</code> \e$B$N%"%I%l%9$,\e(B 10.0.0.1
+    \e$B$@$H$7$^$9!#$G$O!"<!$N@_Dj$K$D$$$F9M$($F$_$^$7$g$&!#\e(B</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost 10.0.0.1&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>\e$B8=:_\e(B Apache \e$B$O\e(B DNS \e$B5U0z$-$r;HMQ$7$F$3$N%P!<%A%c%k%[%9%H$N\e(B
+    <code>ServerName</code> \e$B$r8+$D$1$^$9!#\e(B
+    \e$B$=$N5U0z$-$,<:GT$7$?>l9g$OItJ,E*$K%P!<%A%c%k%[%9%H$rL58z$K$7$^$9\e(B
+    (Apache 1.2 \e$B$h$jA0$G$O5/F0$9$i$7$^$;$s\e(B)\e$B!#\e(B
+    \e$B%P!<%A%c%k%[%9%H$,L>A0%Y!<%9$G$"$l$P40A4$KL58z$K$J$j$^$9$,!"\e(B
+    IP \e$B%Y!<%9$G$"$l$P35$MF0:n$7$^$9!#$7$+$7$J$,$i!"%5!<%PL>$r4^$`40A4$J\e(B
+    URL \e$B$r@8@.$7$J$1$l$P$J$i$J$$>l9g$O!"@5$7$$\e(B URL \e$B$N@8@.$,$G$-$^$;$s!#\e(B
+    </p>
+
+    <p>\e$B<!$NNc$O>e5-$NLdBj$r2r7h$7$F$$$^$9!#\e(B</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost 10.0.0.1&gt;
+    ServerName www.abc.dom
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <h3>\e$B%5!<%S%95qH]\e(B</h3>
+
+    <p>\e$B%5!<%S%95qH]$,5/$3$k>l9g!"\e(B(\e$B>/$J$/$H$b\e(B) \e$BFs$D$N%1!<%9$,$"$j$^$9!#\e(B
+    Apache 1.2 \e$B$h$jA0$r<B9T$7$F$$$k>l9g!"%P!<%A%c%k%[%9%H$N$?$a$N\e(B
+    \e$B>e5-$NFs$D$N\e(B DNS \e$B8!:w$N$&$A0l$D$G$b<:GT$9$l$P5/F0$9$i$7$^$;$s!#\e(B
+    \e$B$^$?$3$N\e(B DNS \e$B8!:w$,<+J,$N@)8f2<$K$9$i$J$$>l9g$b$"$j$($^$9!#\e(B
+    \e$BNc$($P!"\e(B<code>abc.dom</code> \e$B$,8\5R$N%5!<%P$N0l$D$G!"\e(B
+    DNS \e$B$O8\5R<+?H$G4IM}$7$F$$$k>l9g!"8\5R$OC1$K\e(B
+    <code>www.abc.dom</code> \e$B%l%3!<%I$r:o=|$9$k$@$1$G!"\e(B
+    (1.2 \e$B$h$jA0$N\e(B) \e$B%5!<%P$r5/F0ITG=$K$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$b$&0l$D$N%1!<%9$O!"$h$j5$IU$-$K$/$$$b$N$G$9!#\e(B
+    \e$B<!$N@_Dj$K$D$$$F9M$($F$_$^$7$g$&!#\e(B</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.abc.dom&gt;
+    ServerAdmin webgirl@abc.dom
+    DocumentRoot /www/abc
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost www.def.dom&gt;
+    ServerAdmin webguy@def.dom
+    DocumentRoot /www/def
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+
+    <p>10.0.0.1 \e$B$r\e(B <code>www.abc.dom</code> \e$B$K!"\e(B10.0.0.2 \e$B$r\e(B
+    <code>www.def.dom</code> \e$B$K3d$jEv$F$F$$$k$H$7$^$9!#$^$?!"\e(B
+    <code>def.com</code> \e$B$O8\5R<+?H$N\e(B DNS
+    \e$B$N@)8f2<$K$"$k$H$7$^$9!#$3$N@_Dj$G!"\e(B<code>abc.com</code>
+    \e$B$K8~$1$i$l$?%H%i%U%#%C%/$9$Y$F$rC%$&$3$H$,$G$-$k0LCV$K\e(B
+    <code>def.com</code> \e$B$r@_CV$G$-$F$$$^$9!#8e$OC1$K\e(B
+    <code>www.def.dom</code> \e$B$,\e(B 10.0.0.1
+    \e$B$r;2>H$9$k$h$&$K@_Dj$9$k$@$1$G$9!#\e(BDNS
+    \e$B$O8\5RB&$G%3%s%H%m!<%k$5$l$F$$$k$N$G!"\e(B<code>www.def.com</code>
+    \e$B%l%3!<%I$,9%$-$J>l=j$r;X$9$h$&$K@_Dj$9$k$N$r;_$a$k$3$H$,$G$-$^$;$s!#\e(B
+    </p>
+
+    <p>10.0.0.1 \e$B$KBP$9$k%j%/%(%9%H\e(B
+    (<code>http://www.abc.dom/whatever</code> \e$B7A<0$N\e(B URL 
+    \e$B$rF~NO$7$?%f!<%6$+$i$N$b$N$9$Y$F$r4^$_$^$9\e(B) 
+    \e$B$O!"\e(B<code>def.dom</code> \e$B%P!<%A%c%k%[%9%H$G1~Ez$5$l$^$9!#\e(B
+    \e$B$3$N$h$&$J$3$H$,2?8N5/$3$k$+$b$C$H$h$/CN$k$?$a$K$O!"\e(B
+    \e$B1~Ez$NI,MW$J%P!<%A%c%k%[%9%H$X$N%j%/%(%9%H$KBP$7$F!"\e(B
+    Apache \e$B$,$I$N$h$&$K@09g@-$r3NJ]$9$k$+$K$D$$$F!"\e(B
+    \e$B?<$$5DO@$,I,MW$K$J$j$^$9!#$*$*$^$+$J@bL@$O\e(B<a
+    href="vhosts/details.html">\e$B$3$A$i\e(B</a>\e$B$K5-=R$5$l$F$$$^$9!#\e(B</p>
+
+    <h3>\e$B!V<gMW$J%5!<%P!W$N%"%I%l%9\e(B</h3>
+
+    <p>Apache 1.1 \e$B$GDI2C$5$l$?\e(B<a href="vhosts/name-based.html">
+    \e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$N%5%]!<%H\e(B</a>\e$B$K$h$j!"\e(Bhttpd
+    \e$B$,F0:n$7$F$$$k%[%9%H$N\e(B IP \e$B%"%I%l%9$r!"\e(BApache 
+    \e$B$,CN$C$F$$$kI,MW$,$"$j$^$9!#$3$N%"%I%l%9$rF@$k$?$a$K!"\e(B
+    (\e$B$b$7$"$l$P\e(B)\e$B%0%m!<%P%k$N\e(B <code>ServerName</code> \e$B$d\e(B C \e$B$N\e(B
+    <code>gethostname</code> \e$B%U%!%s%/%7%g%s%3!<%k\e(B
+    (\e$B$3$l$O%3%^%s%I%W%m%s%W%H$G\e(B "hostname"
+    \e$B$HBG$A9~$`$N$HF1$87k2L$rJV$7$^$9!#\e(B) \e$B$r;HMQ$7$^$9!#\e(B
+    \e$B$=$l$+$i$3$N%"%I%l%9$N\e(B DNS \e$B8!:w$r9T$J$$$^$9!#\e(B
+    \e$B8=;~E@$G$O!"$3$N8!:w$N2sHrJ}K!$O2?$b$"$j$^$;$s!#\e(B</p>
+
+    <p>DNS \e$B%5!<%P$N%@%&%s$,860x$G$3$N%k%C%/%"%C%W$,<:GT$9$k$N$r62$l$k>l9g!"\e(B
+    <code>/etc/hosts</code> \e$B$K\e(B hostname \e$B$rA^F~$9$k$3$H$,$G$-$^$9!#\e(B
+    (\e$B%^%7%s$,@5>o$K5/F0$G$-$k$h$&$K!"$3$l$O$*$=$i$/4{$KB8:_$7$^$9!#\e(B)
+    \e$B$=$l$+$i!"\e(BDNS \e$B$,<:GT$7$?$H$-$K3N<B$K\e(B <code>/etc/hosts</code>
+    \e$B$r;HMQ$9$k$h$&$K@_Dj$7$^$9!#$I$s$J\e(B OS \e$B$r;H$C$F$$$k$+$K$h$j$^$9$,!"\e(B
+    <code>/etc/resolv.conf</code> \e$B$d\e(B <code>/etc/nsswitch.conf</code>
+    \e$B$rJT=8$9$k$3$H$K$h$C$F40@.$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$b$7%5!<%P$,B>$NM}M3$K$h$j\e(B DNS \e$B$r<B9T$9$kI,MW$,2?$b$J$1$l$P!"\e(B
+    Apache \e$B$r\e(B <code>HOSTRESORDER</code> \e$B4D6-JQ?t$r\e(B "local" \e$B$K@_Dj$7$F\e(B
+    \e$B<B9T$9$k$3$H$GLdBj$rHr$1$k$3$H$,$G$-$k$+$b$7$l$^$;$s!#$3$l$O;HMQ$7$F$$$k\e(B
+    OS \e$B$H%j%>%k%P%i%$%V%i%j$K0MB8$7$^$9!#\e(B
+    \e$B$3$l$O\e(B <a href="mod/mod_env.html"><code>mod_env</code></a>
+    \e$B$r;H$C$F4D6-JQ?t$r@)8f$7$F$$$J$$8B$j!"\e(BCGI \e$B$K$b1F6A$7$^$9!#\e(B
+    OS \e$B$N\e(B man \e$B%Z!<%8$d\e(B FAQ \e$B$r;2>H$9$k$h$&$K$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <h3><a id="tips" name="tips">\e$B$3$l$i$NLdBj$rHr$1$kHk7m\e(B</a></h3>
+
+
+    <ul>
+      <li><code>&lt;VirtualHost&gt;</code> \e$BCf$K\e(B IP \e$B%"%I%l%9$r;H$&\e(B</li>
+
+      <li><code>Listen</code> \e$BCf$K\e(B IP \e$B%"%I%l%9$r;H$&\e(B</li>
+
+      <li><code>BindAddress</code> \e$BCf$K\e(B IP \e$B%"%I%l%9$r;H$&\e(B</li>
+
+      <li>\e$B$9$Y$F$N%P!<%A%c%k%[%9%H$KBP$7L@<(E*$J\e(B <code>ServerName</code>
+      \e$B$r3N<B$KM?$($k\e(B
+      </li>
+
+      <li>\e$B1~Ez$9$k%Z!<%8$N$J$$\e(B <code>&lt;VirtualHost _default_:*&gt;</code>
+      \e$B%5!<%P$r:n@.$9$k\e(B</li>
+    </ul>
+
+    <h3>\e$BIUO?!'\e(B \e$B>-MhE*$JJ}8~@-\e(B</h3>
+
+    <p>DNS \e$B$K4X$7$F!"8=>u$OA4$/59$7$/$"$j$^$;$s!#\e(BApache 1.2 \e$B$G!"\e(B DNS 
+    \e$B$N%$%Y%s%H$,<:GT$7$F$b>/$J$/$H$b5/F0%W%m%;%9$,B3$/$h$&$K$7$^$7$?$,!"\e(B 
+    \e$B$3$l$,:G9b$N2r7hJ}K!$G$O$J$$$G$7$g$&!#%"%I%l%9$N:F3d$jEv$F$,\e(B
+    \e$BI,MWIT2DHr\e(B \e$B$H$J$C$F$$$k:#F|$N%$%s%?!<%M%C%H$K$*$$$F$O!"\e(B
+    \e$B@_Dj%U%!%$%k$NCf$GL@<(E*$J\e(B IP \e$B%"%I%l%9$rMW5a$9$k;EMM$O!"\e(B
+    \e$BA4$/59$7$/$"$j$^$;$s!#\e(B
+    </p>
+
+    <p>\e$B>e$G@bL@$7$?%5!<%S%9EpMQ967b$KBP$7$F2DG=$JBP:v$O!"\e(B
+    DNS \e$B$N@50z$-$K$h$jJV$5$l$?\e(B IP \e$B%"%I%l%9$+$i\e(B DNS \e$B$N5U0z$-$r<B9T$7!"\e(B
+    \e$B$=$NFs$D$NL>A0$rHf3S$9$k$3$H$G$9!#0lCW$7$J$$>l9g%P!<%A%c%k%[%9%H$OL58z$K$5$l$^$9!#\e(B
+    \e$B$3$l$K$O!"\e(BDNS \e$B$N5U0z$-$,E,@Z$K@_Dj$5$l$F$$$kI,MW$,$"$j$^$9!#\e(B(DNS
+    \e$B$N!VFs=E$N5U0z$-!W$O\e(B FTP \e$B%5!<%P$d\e(B TCP
+    \e$B%i%C%Q!<$K$h$j0lHLE*$K;H$o$l$F$$$k$?$a!"\e(B
+    \e$B$[$H$s$I$N4IM}<T$K$OFk@w$_$N$"$k$b$N$G$7$g$&\e(B)\e$B!#\e(B
+    </p>
+
+    <p>IP \e$B%"%I%l%9$,;HMQ$5$l$F$$$J$/$F\e(B DNS \e$B$,<:GT$7$?>l9g$O!"\e(B
+    \e$B$I$&$7$F$b%P!<%A%c%k%[%9%H%&%'%V%5!<%P$r?.Mj@-$r3NJ]$7$F\e(B
+    \e$B5/F0$5$;$k$3$H$OIT2DG=$N$h$&$G$9!#@_Dj$N0lIt$rL58z$K$9$k$H$$$&$h$&$J\e(B
+    \e$BItJ,E*$J2r7h$O!"%5!<%P$NL\E*$K$b$h$j$^$9$,\e(B
+    \e$B5/F0$7$J$$$h$j$b0-$$$+$b$7$l$^$;$s!#\e(B</p>
+
+    <p>HTTP/1.1 \e$B$,3+H/$5$l!"%V%i%&%6$d%W%m%-%7$,\e(B <code>Host</code>
+    \e$B%X%C%@$rH/9T$9$k$h$&$K$J$C$?$N$G!"\e(BIP \e$B%Y!<%9$N%P!<%A%c%k%[%9%H$r\e(B
+    \e$BA4$/;HMQ$7$J$/$F$b:Q$`$h$&$K$J$k$+$b$7$l$^$;$s!#\e(B
+    \e$B$3$N>l9g!"%&%'%V%5!<%P$O@_DjCf$K\e(B DNS \e$B;2>H$r$7$J$/$F$b:Q$_$^$9!#\e(B
+    \e$B$7$+$7\e(B 1997 \e$BG/\e(B 3 \e$B7n;~E@$N>u67$G$O!"\e(B
+    \e$B>&MQ%l%Y%k$N%&%'%V%5!<%P$G;HMQ$G$-$k$[$I$K$O!"\e(B
+    \e$B$3$l$i$N5!G=$O9-$/3+H/$,?J$s$G$$$^$;$s!#\e(B
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/dso.html b/htdocs/manual/dso.html
new file mode 100644 (file)
index 0000000..ec7f538
--- /dev/null
@@ -0,0 +1,513 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache 1.3 Dynamic Shared Object (DSO) support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <blockquote>
+      <!--#include virtual="header.html" -->
+
+      <div align="CENTER">
+        <h1>Apache 1.3<br />
+         Dynamic Shared Object (DSO)<br />
+         Support</h1>
+
+        <address>
+          Originally written by<br />
+           Ralf S. Engelschall &lt;rse@apache.org&gt;, April 1998
+        </address>
+      </div>
+
+      <h3>Background</h3>
+
+      <p>On modern Unix derivatives there exists a nifty mechanism
+      usually called dynamic linking/loading of <em>Dynamic Shared
+      Objects</em> (DSO) which provides a way to build a piece of
+      program code in a special format for loading it at run-time
+      into the address space of an executable program.</p>
+
+      <p>This loading can usually be done in two ways:
+      Automatically by a system program called <code>ld.so</code>
+      when an executable program is started or manually from within
+      the executing program via a programmatic system interface to
+      the Unix loader through the system calls
+      <code>dlopen()/dlsym()</code>.</p>
+
+      <p>In the first way the DSO's are usually called <em>shared
+      libraries</em> or <em>DSO libraries</em> and named
+      <code>libfoo.so</code> or <code>libfoo.so.1.2</code>. They
+      reside in a system directory (usually <code>/usr/lib</code>)
+      and the link to the executable program is established at
+      build-time by specifying <code>-lfoo</code> to the linker
+      command. This hard-codes library references into the
+      executable program file so that at start-time the Unix loader
+      is able to locate <code>libfoo.so</code> in
+      <code>/usr/lib</code>, in paths hard-coded via linker-options
+      like <code>-R</code> or in paths configured via the
+      environment variable <code>LD_LIBRARY_PATH</code>. It then
+      resolves any (yet unresolved) symbols in the executable
+      program which are available in the DSO.</p>
+
+      <p>Symbols in the executable program are usually not
+      referenced by the DSO (because it's a reusable library of
+      general code) and hence no further resolving has to be done.
+      The executable program has no need to do anything on its own
+      to use the symbols from the DSO because the complete
+      resolving is done by the Unix loader. (In fact, the code to
+      invoke <code>ld.so</code> is part of the run-time startup
+      code which is linked into every executable program which has
+      been bound non-static). The advantage of dynamic loading of
+      common library code is obvious: the library code needs to be
+      stored only once, in a system library like
+      <code>libc.so</code>, saving disk space for every
+      program.</p>
+
+      <p>In the second way the DSO's are usually called <em>shared
+      objects</em> or <em>DSO files</em> and can be named with an
+      arbitrary extension (although the canonical name is
+      <code>foo.so</code>). These files usually stay inside a
+      program-specific directory and there is no automatically
+      established link to the executable program where they are
+      used. Instead the executable program manually loads the DSO
+      at run-time into its address space via <code>dlopen()</code>.
+      At this time no resolving of symbols from the DSO for the
+      executable program is done. But instead the Unix loader
+      automatically resolves any (yet unresolved) symbols in the
+      DSO from the set of symbols exported by the executable
+      program and its already loaded DSO libraries (especially all
+      symbols from the ubiquitous <code>libc.so</code>). This way
+      the DSO gets knowledge of the executable program's symbol set
+      as if it had been statically linked with it in the first
+      place.</p>
+
+      <p>Finally, to take advantage of the DSO's API the executable
+      program has to resolve particular symbols from the DSO via
+      <code>dlsym()</code> for later use inside dispatch tables
+      <em>etc.</em> In other words: The executable program has to
+      manually resolve every symbol it needs to be able to use it.
+      The advantage of such a mechanism is that optional program
+      parts need not be loaded (and thus do not spend memory) until
+      they are needed by the program in question. When required,
+      these program parts can be loaded dynamically to extend the
+      base program's functionality.</p>
+
+      <p>Although this DSO mechanism sounds straightforward there
+      is at least one difficult step here: The resolving of symbols
+      from the executable program for the DSO when using a DSO to
+      extend a program (the second way). Why? Because "reverse
+      resolving" DSO symbols from the executable program's symbol
+      set is against the library design (where the library has no
+      knowledge about the programs it is used by) and is neither
+      available under all platforms nor standardized. In practice
+      the executable program's global symbols are often not
+      re-exported and thus not available for use in a DSO. Finding
+      a way to force the linker to export all global symbols is the
+      main problem one has to solve when using DSO for extending a
+      program at run-time.</p>
+
+      <p>Windows and NetWare provide similar facilities, although
+      they are implemented somewhat differently than the
+      description of Unix DSO throughout this document. In
+      particular, DSO modules (DLL's and NLM's, respectively) are
+      built quite differently than their Unix cousins. This
+      document does not attempt to explore the topic of building
+      DSO modules on these platforms. The description of mod_so and
+      its configuration, however, are similar.</p>
+
+      <h3>Practical Usage</h3>
+
+      <p>The shared library approach is the typical one, because it
+      is what the DSO mechanism was designed for, hence it is used
+      for nearly all types of libraries the operating system
+      provides. On the other hand using shared objects for
+      extending a program is not used by a lot of programs.</p>
+
+      <p>As of 1998 there are only a few software packages
+      available which use the DSO mechanism to actually extend
+      their functionality at run-time: Perl 5 (via its XS mechanism
+      and the DynaLoader module), Netscape Server, <em>etc.</em>
+      Starting with version 1.3, Apache joined the crew, because
+      Apache already uses a module concept to extend its
+      functionality and internally uses a dispatch-list-based
+      approach to link external modules into the Apache core
+      functionality. So, Apache is really predestined for using DSO
+      to load its modules at run-time.</p>
+
+      <p>As of Apache 1.3, the configuration system supports two
+      optional features for taking advantage of the modular DSO
+      approach: compilation of the Apache core program into a DSO
+      library for shared usage and compilation of the Apache
+      modules into DSO files for explicit loading at run-time.</p>
+
+      <h3>Implementation</h3>
+
+      <p>The DSO support for loading individual Apache modules is
+      based on a module named <a
+      href="mod/mod_so.html"><code>mod_so.c</code></a> which has to
+      be statically compiled into the Apache core. It is the only
+      module besides <code>http_core.c</code> which cannot be put
+      into a DSO itself (bootstrapping!). Practically all other
+      distributed Apache modules can then be placed into a DSO
+      by individually enabling the DSO build for them via
+      <code>configure</code>'s <code>--enable-shared</code> option
+      (see top-level <code>INSTALL</code> file) or by changing the
+      <code>AddModule</code> command in your
+      <code>src/Configuration</code> into a
+      <code>SharedModule</code> command (see
+      <code>src/INSTALL</code> file). After a module is compiled
+      into a DSO named <code>mod_foo.so</code> you can use <a
+      href="mod/mod_so.html"><code>mod_so</code></a>'s <a
+      href="mod/mod_so.html#loadmodule"><code>LoadModule</code></a>
+      command in your <code>httpd.conf</code> file to load this
+      module at server startup or restart.</p>
+
+      <p>To simplify this creation of DSO files for Apache modules
+      (especially for third-party modules) a new support program
+      named <a href="programs/apxs.html">apxs</a> (<em>APache
+      eXtenSion</em>) is available. It can be used to build DSO
+      based modules <em>outside of</em> the Apache source tree. The
+      idea is simple: When installing Apache the
+      <code>configure</code>'s <code>make install</code> procedure
+      installs the Apache C header files and puts the
+      platform-dependent compiler and linker flags for building DSO
+      files into the <code>apxs</code> program. This way the user
+      can use <code>apxs</code> to compile his Apache module
+      sources without the Apache distribution source tree and
+      without having to fiddle with the platform-dependent compiler
+      and linker flags for DSO support.</p>
+
+      <p>To place the complete Apache core program into a DSO
+      library (only required on some of the supported platforms to
+      force the linker to export the apache core symbols -- a
+      prerequisite for the DSO modularization) the rule
+      <code>SHARED_CORE</code> has to be enabled via
+      <code>configure</code>'s
+      <code>--enable-rule=SHARED_CORE</code> option (see top-level
+      <code>INSTALL</code> file) or by changing the
+      <code>Rule</code> command in your <code>Configuration</code>
+      file to <code>Rule SHARED_CORE=yes</code> (see
+      <code>src/INSTALL</code> file). The Apache core code is then
+      placed into a DSO library named <code>libhttpd.so</code>.
+      Because one cannot link a DSO against static libraries on all
+      platforms, an additional executable program named
+      <code>libhttpd.ep</code> is created which both binds this
+      static code and provides a stub for the <code>main()</code>
+      function. Finally the <code>httpd</code> executable program
+      itself is replaced by a bootstrapping code which
+      automatically makes sure the Unix loader is able to load and
+      start <code>libhttpd.ep</code> by providing the
+      <code>LD_LIBRARY_PATH</code> to <code>libhttpd.so</code>.</p>
+
+      <h3>Supported Platforms</h3>
+
+      <p>Apache's <code>src/Configure</code> script currently has
+      only limited but adequate built-in knowledge on how to
+      compile DSO files, because as already mentioned this is
+      heavily platform-dependent. Nevertheless all major Unix
+      platforms are supported. The definitive current state (May
+      1999) is this:</p>
+
+      <ul>
+        <li>
+          Out-of-the-box supported platforms:<br />
+           (actually tested versions in parenthesis) 
+<pre>
+o  FreeBSD            (2.1.5, 2.2.x, 3.x, 4.x)
+o  OpenBSD            (2.x)
+o  NetBSD             (1.3.1)
+o  BSDI               (3.x, 4.x)
+o  Linux              (Debian/1.3.1, RedHat/4.2)
+o  Solaris            (2.4, 2.5, 2.6, 2.7)
+o  SunOS              (4.1.3)
+o  Digital UNIX       (4.0)
+o  IRIX               (5.3, 6.2)
+o  HP/UX              (10.20)
+o  UnixWare           (2.01, 2.1.2)
+o  SCO                (5.0.4)
+o  AIX                (3.2, 4.1.5, 4.2, 4.3)
+o  ReliantUNIX/SINIX  (5.43)
+o  SVR4               (-)
+o  Mac OS X Server    (1.0)
+o  Mac OS             (10.0 preview 1)
+o  OpenStep/Mach      (4.2)
+o  DGUX               (??)
+o  NetWare            (5.1)
+o  Windows            (95, 98, NT 4.0, 2000)
+</pre>
+        </li>
+
+        <li>
+          Explicitly unsupported platforms: 
+<pre>
+o  Ultrix             (no dlopen-style interface under this platform)
+</pre>
+        </li>
+      </ul>
+
+      <h3>Usage Summary</h3>
+
+      <p>To give you an overview of the DSO features of Apache 1.3,
+      here is a short and concise summary:</p>
+
+      <ol>
+        <li>
+          Placing the Apache core code (all the stuff which usually
+          forms the <code>httpd</code> binary) into a DSO
+          <code>libhttpd.so</code>, an executable program
+          <code>libhttpd.ep</code> and a bootstrapping executable
+          program <code>httpd</code> (Notice: this is only required
+          on some of the supported platforms to force the linker to
+          export the Apache core symbols, which in turn is a
+          prerequisite for the DSO modularization): 
+
+          <ul>
+            <li>
+              Build and install via <code>configure</code>
+              (preferred): 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+$ ./configure --prefix=/path/to/install
+              --enable-rule=SHARED_CORE ...
+$ make install
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+
+            <li>
+              Build and install manually: 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+- Edit src/Configuration:
+  &lt;&lt; Rule SHARED_CORE=default
+  &gt;&gt; Rule SHARED_CORE=yes
+  &lt;&lt; EXTRA_CFLAGS= 
+  &gt;&gt; EXTRA_CFLAGS= -DSHARED_CORE_DIR=\"/path/to/install/libexec\"
+$ make 
+$ cp src/libhttpd.so* /path/to/install/libexec/
+$ cp src/libhttpd.ep  /path/to/install/libexec/
+$ cp src/httpd        /path/to/install/bin/
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+          </ul>
+        </li>
+
+        <li>
+          Build and install a <em>distributed</em> Apache module,
+          say <code>mod_foo.c</code>, into its own DSO
+          <code>mod_foo.so</code>: 
+
+          <ul>
+            <li>
+              Build and install via <code>configure</code>
+              (preferred): 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+$ ./configure --prefix=/path/to/install
+        --enable-shared=foo
+$ make install
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+
+            <li>
+              Build and install manually: 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+- Edit src/Configuration:
+  &lt;&lt; AddModule    modules/xxxx/mod_foo.o
+  &gt;&gt; SharedModule modules/xxxx/mod_foo.so
+$ make
+$ cp src/xxxx/mod_foo.so /path/to/install/libexec
+- Edit /path/to/install/etc/httpd.conf
+  &gt;&gt; LoadModule foo_module /path/to/install/libexec/mod_foo.so
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+          </ul>
+        </li>
+
+        <li>
+          Build and install a <em>third-party</em> Apache module,
+          say <code>mod_foo.c</code>, into its own DSO
+          <code>mod_foo.so</code> 
+
+          <ul>
+            <li>
+              Build and install via <code>configure</code>
+              (preferred): 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+$ ./configure --add-module=/path/to/3rdparty/mod_foo.c 
+        --enable-shared=foo
+$ make install
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+
+            <li>
+              Build and install manually: 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+$ cp /path/to/3rdparty/mod_foo.c /path/to/apache-1.3/src/modules/extra/
+- Edit src/Configuration:
+  &gt;&gt; SharedModule modules/extra/mod_foo.so
+$ make
+$ cp src/xxxx/mod_foo.so /path/to/install/libexec
+- Edit /path/to/install/etc/httpd.conf
+  &gt;&gt; LoadModule foo_module /path/to/install/libexec/mod_foo.so
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+          </ul>
+        </li>
+
+        <li>
+          Build and install a <em>third-party</em> Apache module,
+          say <code>mod_foo.c</code>, into its own DSO
+          <code>mod_foo.so</code> <em>outside of</em> the Apache
+          source tree: 
+
+          <ul>
+            <li>
+              Build and install via <a
+              href="programs/apxs.html">apxs</a>: 
+
+              <table bgcolor="#f0f0f0" cellpadding="10">
+                <tr>
+                  <td>
+<pre>
+$ cd /path/to/3rdparty
+$ apxs -c mod_foo.c
+$ apxs -i -a -n foo mod_foo.so
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </li>
+          </ul>
+        </li>
+      </ol>
+
+      <h3>Advantages &amp; Disadvantages</h3>
+
+      <p>The above DSO based features of Apache 1.3 have the
+      following advantages:</p>
+
+      <ul>
+        <li>The server package is more flexible at run-time because
+        the actual server process can be assembled at run-time via
+        <a
+        href="mod/mod_so.html#loadmodule"><code>LoadModule</code></a>
+        <code>httpd.conf</code> configuration commands instead of
+        <code>Configuration</code> <code>AddModule</code> commands
+        at build-time. For instance this way one is able to run
+        different server instances (standard &amp; SSL version,
+        minimalistic &amp; powered up version [mod_perl, PHP3],
+        <em>etc.</em>) with only one Apache installation.</li>
+
+        <li>The server package can be easily extended with
+        third-party modules even after installation. This is at
+        least a great benefit for vendor package maintainers who
+        can create a Apache core package and additional packages
+        containing extensions like PHP3, mod_perl, mod_fastcgi,
+        <em>etc.</em></li>
+
+        <li>Easier Apache module prototyping because with the
+        DSO/<code>apxs</code> pair you can both work outside the
+        Apache source tree and only need an <code>apxs -i</code>
+        command followed by an <code>apachectl restart</code> to
+        bring a new version of your currently developed module into
+        the running Apache server.</li>
+      </ul>
+
+      <p>DSO has the following disadvantages:</p>
+
+      <ul>
+        <li>The DSO mechanism cannot be used on every platform
+        because not all operating systems support dynamic loading
+        of code into the address space of a program.</li>
+
+        <li>The server is approximately 20% slower at startup time
+        because of the symbol resolving overhead the Unix loader
+        now has to do.</li>
+
+        <li>The server is approximately 5% slower at execution time
+        under some platforms because position independent code
+        (PIC) sometimes needs complicated assembler tricks for
+        relative addressing which are not necessarily as fast as
+        absolute addressing.</li>
+
+        <li>Because DSO modules cannot be linked against other
+        DSO-based libraries (<code>ld -lfoo</code>) on all
+        platforms (for instance a.out-based platforms usually don't
+        provide this functionality while ELF-based platforms do)
+        you cannot use the DSO mechanism for all types of modules.
+        Or in other words, modules compiled as DSO files are
+        restricted to only use symbols from the Apache core, from
+        the C library (<code>libc</code>) and all other dynamic or
+        static libraries used by the Apache core, or from static
+        library archives (<code>libfoo.a</code>) containing
+        position independent code. The only chances to use other
+        code is to either make sure the Apache core itself already
+        contains a reference to it, loading the code yourself via
+        <code>dlopen()</code> or enabling the
+        <code>SHARED_CHAIN</code> rule while building Apache when
+        your platform supports linking DSO files against DSO
+        libraries.</li>
+
+        <li>Under some platforms (many SVR4 systems) there is no
+        way to force the linker to export all global symbols for
+        use in DSO's when linking the Apache httpd executable
+        program. But without the visibility of the Apache core
+        symbols no standard Apache module could be used as a DSO.
+        The only chance here is to use the <code>SHARED_CORE</code>
+        feature because this way the global symbols are forced to
+        be exported. As a consequence the Apache
+        <code>src/Configure</code> script automatically enforces
+        <code>SHARED_CORE</code> on these platforms when DSO
+        features are used in the <code>Configuration</code> file or
+        on the configure command line.</li>
+      </ul>
+      <!--#include virtual="footer.html" -->
+    </blockquote>
+  </body>
+</html>
+
diff --git a/htdocs/manual/ebcdic.html b/htdocs/manual/ebcdic.html
new file mode 100644 (file)
index 0000000..7318f9f
--- /dev/null
@@ -0,0 +1,364 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>The Apache EBCDIC Port</title>
+  </head>
+  <!-- background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Overview of the Apache EBCDIC Port</h1>
+
+    <p>As of Version 1.3, the Apache HTTP Server includes a port to
+    (non-ASCII) mainframe machines which use the EBCDIC character
+    set as their native codeset.<br />
+     (Initially, that support covered only the Fujitsu-Siemens
+    family of mainframes running the <a
+    href="http://www.fujitsu-siemens.com/rl/products/software/bs2000bc.html">
+    BS2000/OSD operating system</a>, a mainframe OS which features
+    a SVR4-derived POSIX subsystem. Later, the two IBM mainframe
+    operating systems TPF and OS/390 were added).</p>
+    <hr />
+
+    <h2 align="center"><a id="ebcdic" name="ebcdic">EBCDIC-related
+    conversion functions</a></h2>
+    The EBCDIC related directives <a
+    href="mod/core.html#ebcdicconvert">EBCDICConvert</a>, <a
+    href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>,
+    and <a href="mod/core.html#ebcdickludge">EBCDICKludge</a> are
+    available <b>only if the platform's character set is EBCDIC</b>
+    (This is currently only the case on Fujitsu-Siemens' BS2000/OSD
+    and IBM's OS/390 and TPF operating systems). EBCDIC stands for
+    <em>Extended Binary-Coded-Decimal Interchange Code</em> and is
+    the codeset used on mainframe machines, in contrast to ASCII
+    which is ubiquitous on almost all micro computers today. ASCII
+    (or its extension <em>latin1</em>) is the basis for the HTTP
+    transfer protocol, therefore all EBCDIC-based platforms need a
+    way to configure the code set conversion rules required between
+    the EBCDIC based mainframe host and the HTTP socket
+    protocol.<br />
+     
+
+    <p>On an EBCDIC based system, HTML files and other text files
+    are usually saved encoded in the native EBCDIC code set, while
+    image files and other binary data are stored with identical
+    encoding as on ASCII based machines. When the Apache server
+    accesses documents, it must therefore make a distinction
+    between text files (to be converted to/from ASCII, depending on
+    the transfer direction) and binary files (to be delivered
+    unconverted). Such a distinction can be made based on the
+    assigned MIME type, or based on the file extension
+    (<em>i.e.</em>, files sharing a common file suffix).</p>
+
+    <p>By default, the configuration is symmetric for input and
+    output (<em>i.e.</em>, when a PUT request is executed for a
+    document which was returned by a previous GET request, then the
+    resulting uploaded copy should be identical to the original
+    file). However, the conversion directives allow for specifying
+    different conversions for input and output.</p>
+
+    <p>The directives <a
+    href="mod/core.html#ebcdicconvert">EBCDICConvert</a> and <a
+    href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>
+    are used to assign the conversion setting (On or Off) based on
+    file extensions or MIME types. Each configuration setting can
+    be defined for input only (<em>e.g.</em>, PUT method), output
+    only (<em>e.g.</em>, GET method), or both input and output. By
+    default, the conversion setting is applied for input and
+    output.</p>
+
+    <p>Note that after modifying the conversion settings for a
+    group of files, it is not sufficient to restart the server. The
+    reason for this is the fact that a cached copy of a document
+    (in a browser or proxy cache) will not get revalidated by
+    contents, but only by date. Since the modification time of the
+    document did not change, browsers will assume they can reuse
+    the cached copy.<br />
+     To recover from this situation, you must either clear all
+    cached copies (browser and proxy cache!), or update the
+    modification time of the documents (using the
+    <code>touch</code> command on the server).</p>
+
+    <p>Note also that server-parsed documents (CGI scripts, .shtml
+    files, and other interpreted files like PHP scripts etc.) are
+    not subject to any input conversion and must therefore be
+    stored in EBCDIC form on the server side.</p>
+
+    <p>In absense of any <a
+    href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>
+    directive, and if no matching <a
+    href="mod/core.html#ebcdicconvert">EBCDICConvert</a> was found,
+    Apache falls back to an internal heuristic which assumes that
+    all documents with MIME types starting with
+    <samp>"text/"</samp>, <samp>"message/"</samp> or
+    <samp>"multipart/"</samp> as well as the MIME type
+    <samp>"application/x-www-form-urlencoded"</samp> are text
+    documents stored in EBCDIC, whereas all other documents are
+    binary files.</p>
+
+    <p>In order to provide backward compatibility with older
+    versions of apache, the <a
+    href="mod/core.html#ebcdickludge">EBCDICKludge</a> directive
+    allows for a less powerful mechanism to control the conversion
+    of documents to and from EBCDIC.</p>
+
+    <p><strong>Note</strong>:</p>
+
+    <blockquote>
+      The EBCDICKludge directive is deprecated, since its
+      functionality is superseded by the more powerful <a
+      href="mod/core.html#ebcdicconvert">EBCDICConvert</a> and <a
+      href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>
+      directives.
+    </blockquote>
+    <br />
+     <br />
+     
+
+    <p>The directives are applied in the following order:</p>
+
+    <ol>
+      <li>First, the configured <a
+      href="mod/core.html#ebcdicconvert">EBCDICConvert</a>
+      directives in the current context are evaluated in
+      configuration file order. As soon as a matching file
+      extension is found, the search stops and the configured
+      conversion is applied.<br />
+       EBCDICConvert settings inherited from parent directories are
+      tested after the more specific (deeper) directory
+      levels.</li>
+
+      <li>If the <a
+      href="mod/core.html#ebcdickludge">EBCDICKludge</a> is in
+      effect, the next step tests for a MIME type of the format
+      <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp>. If
+      the document has such a type, then the
+      <samp>"<b>x-ascii-</b>"</samp> substring is removed and the
+      conversion set to <samp>Off</samp>.</li>
+
+      <li>In the next step, the configured <a
+      href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>
+      directives are evaluated in configuration file order. If the
+      document has a matching MIME type, the search stops and the
+      configured conversion is applied.<br />
+       EBCDICConvertByType settings inherited from parent
+      directories are tested after the more specific (deeper)
+      directory levels.<br />
+       If no <a
+      href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>
+      directive at all exists in the current context, the server
+      falls back to the simple heuristics which assume that MIME
+      types starting with "text/", "message/" or "multipart/" (plus
+      the special type "application/x-www-form-urlencoded" used in
+      simple POST requests) imply a conversion, while all the rest
+      is delivered unconverted (<em>i.e.</em>, binary).</li>
+    </ol>
+    <br />
+     <br />
+     
+    <hr />
+
+    <h2 align="center"><a id="tech" name="tech">Technical
+    Details</a></h2>
+
+    <p>Since all Apache input and output is based upon the BUFF
+    data type and its methods, the easiest solution was to add the
+    actual conversion to the BUFF handling routines. The conversion
+    must be settable at any time, so BUFF flags were added which
+    define whether a BUFF object has currently enabled conversion
+    or not. Two such flags exist: one for data read from the client
+    (ASCII to EBCDIC conversion) and one for data returned to the
+    client (EBCDIC to ASCII conversion).</p>
+
+    <p>During sending of the header, Apache determines (based on
+    the returned MIME type for the request) whether conversion
+    should be used or the document returned unconverted. It uses
+    this decision to initialize the BUFF flag when the response
+    output begins. Modules should therefore determine the MIME type
+    for the current request before initiating the response by
+    calling ap_send_http_headers().</p>
+
+    <p>The BUFF flag is modified at several points in the HTTP
+    protocol:</p>
+
+    <ul>
+      <li><strong>set</strong> (In and Out) before a request is
+      received (because the request and the request header lines
+      are always in ASCII format)</li>
+
+      <li><strong>set/unset</strong> (for Input data) when the
+      request body is received - depending on the content type of
+      the request body (because the request body may contain ASCII
+      text or a binary file)</li>
+
+      <li><strong>set</strong> (for returned Output) before a
+      response header is sent (because the response header lines
+      are always in ASCII format)</li>
+
+      <li><strong>set/unset</strong> (for returned Output) when the
+      response body is sent - depending on the content type of the
+      response body (because the response body may contain text or
+      a binary file)</li>
+    </ul>
+    Additional transparent transitions may occur for
+    extracting/inserting the HTTP/1.1 chunking information
+    from/into the input/output body data stream, and for generating
+    <em>multipart</em> headers for <em>range</em> requests. (See
+    RFC2616 and src/main/http_protocol.c for details.) 
+    <hr />
+
+    <h2 align="center"><a id="port" name="port">Porting
+    Notes</a></h2>
+
+    <ol>
+      <li>
+        The relevant changes in the source are #ifdef'ed into two
+        categories: 
+
+        <dl>
+          <dt><code><strong>#ifdef
+          CHARSET_EBCDIC</strong></code></dt>
+
+          <dd>Code which is needed for any EBCDIC based machine.
+          This includes character translations, differences in
+          contiguity of the two character sets, flags which
+          indicate which part of the HTTP protocol has to be
+          converted and which part doesn't <em>etc.</em></dd>
+
+          <dt><code><strong>#ifdef _OSD_POSIX | TPF |
+          OS390</strong></code></dt>
+
+          <dd>Code which is needed for the Fujitsu-Siemens
+          BS2000/OSD | IBM TPF | IBM OS390 mainframe platforms
+          only. This deals with include file differences and socket
+          and fork implementation topics which are only required on
+          the respective platform.<br />
+          </dd>
+        </dl>
+      </li>
+
+      <li>The possibility to translate between ASCII and EBCDIC at
+      the socket level (on BS2000 POSIX, there is a socket option
+      which supports this) was intentionally <em>not</em> chosen,
+      because the byte stream at the HTTP protocol level consists
+      of a mixture of protocol related strings and non-protocol
+      related raw file data. HTTP protocol strings are always
+      encoded in ASCII (the GET request, any Header: lines, the
+      chunking information <em>etc.</em>) whereas the file transfer
+      parts (<em>i.e.</em>, GIF images, CGI output <em>etc.</em>)
+      should usually be just "passed through" by the server. This
+      separation between "protocol string" and "raw data" is
+      reflected in the server code by functions like bgets() or
+      rvputs() for strings, and functions like bwrite() for binary
+      data. A global translation of everything would therefore be
+      inadequate.<br />
+       (In the case of text files of course, provisions must be
+      made so that EBCDIC documents are always served in
+      ASCII)<br />
+       This port therefore features a built-in protocol level
+      conversion for the server-internal strings (which the
+      compiler translated to EBCDIC strings) and thus for all
+      server-generated documents.<br />
+      </li>
+
+      <li>By examining the call hierarchy for the BUFF management
+      routines, I added an "ebcdic/ascii conversion layer" which
+      would be crossed on every puts/write/get/gets, and conversion
+      flags which allowed enabling/disabling the conversions
+      on-the-fly. Usually, a document crosses this layer twice from
+      its origin source (a file or CGI output) to its destination
+      (the requesting client): <samp>file -&gt; Apache</samp>, and
+      <samp>Apache -&gt; client</samp>.<br />
+       The server can now read the header lines of a CGI-script
+      output in EBCDIC format, and then find out that the remainder
+      of the script's output is in ASCII (like in the case of the
+      output of a WWW Counter program: the document body contains a
+      GIF image). All header processing is done in the native
+      EBCDIC format; the server then determines, based on the type
+      of document being served, whether the document body (except
+      for the chunking information, of course) is in ASCII already
+      or must be converted from EBCDIC.<br />
+      </li>
+
+      <li>
+        By default, Apache assumes that documents with the MIME
+        types "text/*", "message/*", "multipart/*" and
+        "application/x-www-form-urlencoded" are text documents and
+        are stored as EBCDIC files, whereas all other files are
+        binary files (and stored in a byte-identical encoding as on
+        an ASCII machine).<br />
+         These defaults can be overridden on a <a
+        href="mod/core.html#ebcdicconvertbytype">by-MIME-type</a>
+        and/or <a
+        href="mod/core.html#ebcdicconvert">by-file-extension</a>
+        basis, using the directives 
+<pre>
+     <a
+href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> {On|Off}[={In|Out|InOut}] <em>mimetype</em> [...]
+     <a
+href="mod/core.html#ebcdicconvert">EBCDICConvert</a>       {On|Off}[={In|Out|InOut}] <em>fileext</em> [...]
+   
+</pre>
+        where the <em>mimetype</em> argument may contain
+        wildcards.<br />
+      </li>
+
+      <li>Before adding the flexible conversion, non-text documents
+      were always served "binary" without conversion. This seemed
+      to be the most sensible choice for, .<em>e.g.</em>,
+      GIF/ZIP/AU file types (It of course requires the user to copy
+      them to the mainframe host using the "rcp -b" binary switch),
+      but proved to be inadequate for MIME types like
+      <samp>model/vrml</samp>, <samp>application/postscript</samp>
+      and <samp>application/x-javascript</samp>.<br />
+      </li>
+
+      <li>Server parsed files are always assumed to be in native
+      (<em>i.e.</em>, EBCDIC) format as used on the machine
+      (because they do not cross the conversion layer when being
+      read), and are converted after processing.<br />
+      </li>
+
+      <li>For CGI output, the CGI script determines whether a
+      conversion is needed or not: by setting the appropriate
+      Content-Type, text files can be converted, or GIF output can
+      be passed through unmodified (depending on the conversion
+      configured in the script's context).<br />
+      </li>
+    </ol>
+    <hr />
+
+    <h2 align="center"><a id="store" name="store">Document Storage
+    Notes</a></h2>
+
+    <h3 align="center">Binary Files</h3>
+
+    <p>When exchanging binary files between the mainframe host and
+    a Unix machine or Windows PC, be sure to use the ftp "binary"
+    (<samp>TYPE I</samp>) command, or use the
+    <samp>rcp&nbsp;-b</samp> command from the mainframe host (the
+    -b switch is not supported in unix rcp's).</p>
+
+    <h3 align="center">Text Documents</h3>
+
+    <p>The default assumption of the server is that Text Files
+    (<em>i.e.</em>, all files whose <samp>Content-Type:</samp>
+    starts with <samp>text/</samp>) are stored in the native
+    character set of the host, EBCDIC.</p>
+
+    <h3 align="center">Server Side Included Documents</h3>
+
+    <p>SSI documents must currently be stored in EBCDIC only. No
+    provision is made to convert them from ASCII before processing.
+    The same holds for other interpreted languages, like mod_perl
+    or mod_php.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/env.html.en b/htdocs/manual/env.html.en
new file mode 100644 (file)
index 0000000..a96e002
--- /dev/null
@@ -0,0 +1,347 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Environment Variables in Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Environment Variables in Apache</h1>
+
+    <p>The Apache HTTP Server provides a mechanism for storing
+    information in named variables that are called <em>environment
+    variables</em>. This information can be used to control various
+    operations such as logging or access control. The variables are
+    also used as a mechanism to communicate with external programs
+    such as CGI scripts. This document discusses different ways to
+    manipulate and use these variables.</p>
+
+    <p>Although these variables are referred to as <em>environment
+    variables</em>, they are not the same as the environment
+    variables controlled by the underlying operating system.
+    Instead, these variables are stored and manipulated in an
+    internal Apache structure. They only become actual operating
+    system environment variables when they are provided to CGI
+    scripts and Server Side Include scripts. If you wish to
+    manipulate the operating system environment under which the
+    server itself runs, you must use the standard environment
+    manipulation mechanisms provided by your operating system
+    shell.</p>
+
+    <ul>
+      <li><a href="#setting">Setting Environment Variables</a></li>
+
+      <li><a href="#using">Using Environment Variables</a></li>
+
+      <li><a href="#special">Special Purpose Environment
+      Variables</a></li>
+
+      <li><a href="#examples">Examples</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="setting" name="setting">Setting Environment
+    Variables</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_env.html">mod_env</a><br />
+         <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+         <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+         <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a><br />
+         <a
+        href="mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a><br />
+         <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+         <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+         <a
+        href="mod/mod_setenvif.html#setenvif">SetEnvIf</a><br />
+         <a
+        href="mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a><br />
+         <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <h3>Basic Environment Manipulation</h3>
+
+    <p>The most basic way to set an environment variable in Apache
+    is using the unconditional <code>SetEnv</code> directive.
+    Variables may also be passed from the environment of the shell
+    which started the server using the <code>PassEnv</code>
+    directive.</p>
+
+    <h3>Conditional Per-Request Settings</h3>
+
+    <p>For additional flexibility, the directives provided by
+    mod_setenvif allow environment variables to be set on a
+    per-request basis, conditional on characteristics of particular
+    requests. For example, a variable could be set only when a
+    specific browser (User-Agent) is making a request, or only when
+    a specific Referer [sic] header is found. Even more flexibility
+    is available through the mod_rewrite's <code>RewriteRule</code>
+    which uses the <code>[E=...]</code> option to set environment
+    variables.</p>
+
+    <h3>Unique Identifiers</h3>
+
+    <p>Finally, mod_unique_id sets the environment variable
+    <code>UNIQUE_ID</code> for each request to a value which is
+    guaranteed to be unique across "all" requests under very
+    specific conditions.</p>
+
+    <h3>Standard CGI Variables</h3>
+
+    <p>In addition to all environment variables set within the
+    Apache configuration and passed from the shell, CGI scripts and
+    SSI pages are provided with a set of environment variables
+    containing meta-information about the request as required by
+    the <a href="misc/FAQ.html#cgi-spec">CGI specification</a>.</p>
+
+    <h3>Some Caveats</h3>
+
+    <ul>
+      <li>It is not possible to override or change the standard CGI
+      variables using the environment manipulation directives.</li>
+
+      <li>When <a href="suexec.html">suexec</a> is used to launch
+      CGI scripts, the environment will be cleaned down to a set of
+      <em>safe</em> variables before CGI scripts are launched. The
+      list of <em>safe</em> variables is defined at compile-time in
+      <code>suexec.c</code>.</li>
+
+      <li>For portability reasons, the names of environment
+      variables may contain only letters, numbers, and the
+      underscore character. In addition, the first character may
+      not be a number. Characters which do not match this
+      restriction will be replaced by an underscore when passed to
+      CGI scripts and SSI pages.</li>
+    </ul>
+    <hr />
+
+    <h2><a id="using" name="using">Using Environment
+    Variables</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_access.html">mod_access</a><br />
+         <a href="mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="mod/mod_include.html">mod_include</a><br />
+         <a href="mod/mod_log_config.html">mod_log_config</a><br />
+         <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/mod_access.html#allow">Allow</a><br />
+         <a
+        href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+         <a href="mod/mod_access.html#deny">Deny</a><br />
+         <a
+        href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <h3>CGI Scripts</h3>
+
+    <p>One of the primary uses of environment variables is to
+    communicate information to CGI scripts. As discussed above, the
+    environment passed to CGI scripts includes standard
+    meta-information about the request in addition to any variables
+    set within the Apache configuration. For more details, see the
+    <a href="howto/cgi.html">CGI tutorial</a>.</p>
+
+    <h3>SSI Pages</h3>
+
+    <p>Server-parsed (SSI) documents processed by mod_include's
+    <code>server-parsed</code> handler can print environment
+    variables using the <code>echo</code> element, and can use
+    environment variables in flow control elements to makes parts
+    of a page conditional on characteristics of a request. Apache
+    also provides SSI pages with the standard CGI environment
+    variables as discussed above. For more details, see the <a
+    href="howto/ssi.html">SSI tutorial</a>.</p>
+
+    <h3>Access Control</h3>
+
+    <p>Access to the server can be controlled based on the value of
+    environment variables using the <code>allow from env=</code>
+    and <code>deny from env=</code> directives. In combination with
+    <code>SetEnvIf</code>, this allows for flexible control of
+    access to the server based on characteristics of the client.
+    For example, you can use these directives to deny access to a
+    particular browser (User-Agent).</p>
+
+    <h3>Conditional Logging</h3>
+
+    <p>Environment variables can be logged in the access log using
+    the <code>LogFormat</code> option <code>%e</code>. In addition,
+    the decision on whether or not to log requests can be made
+    based on the status of environment variables using the
+    conditional form of the <code>CustomLog</code> directive. In
+    combination with <code>SetEnvIf</code> this allows for flexible
+    control of which requests are logged. For example, you can
+    choose not to log requests for filenames ending in
+    <code>gif</code>, or you can choose to only log requests from
+    clients which are outside your subnet.</p>
+
+    <h3>URL Rewriting</h3>
+
+    <p>The <code>%{ENV:...}</code> form of <em>TestString</em> in
+    the <code>RewriteCond</code> allows mod_rewrite's rewrite
+    engine to make decisions conditional on environment variables.
+    Note that the variables accessible in mod_rewrite without the
+    <code>ENV:</code> prefix are not actually environment
+    variables. Rather, they are variables special to mod_rewrite
+    which cannot be accessed from other modules.</p>
+    <hr />
+
+    <h2><a id="special" name="special">Special Purpose Environment
+    Variables</a></h2>
+
+    <p>Interoperability problems have led to the introduction of
+    mechanisms to modify the way Apache behaves when talking to
+    particular clients. To make these mechanisms as flexible as
+    possible, they are invoked by defining environment variables,
+    typically with <a
+    href="mod/mod_browser.html#browsermatch">BrowserMatch</a>,
+    though <a href="mod/mod_env.html#setenv">SetEnv</a> and <a
+    href="mod/mod_env.html#passenv">PassEnv</a> could also be used,
+    for example.</p>
+
+    <h2>downgrade-1.0</h2>
+
+    <p>This forces the request to be treated as a HTTP/1.0 request
+    even if it was in a later dialect.</p>
+
+    <h2>force-no-vary</h2>
+
+    <p>This causes any <code>Vary</code> fields to be removed from
+    the response header before it is sent back to the client. Some
+    clients don't interpret this field correctly (see the <a
+    href="misc/known_client_problems.html">known client
+    problems</a> page); setting this variable can work around this
+    problem. Setting this variable also implies
+    <strong>force-response-1.0</strong>.</p>
+
+    <h2>force-response-1.0</h2>
+
+    <p>This forces an HTTP/1.0 response when set. It was originally
+    implemented as a result of a problem with AOL's proxies. Some
+    clients may not behave correctly when given an HTTP/1.1
+    response, and this can be used to interoperate with them.</p>
+
+    <h2>nokeepalive</h2>
+
+    <p>This disables <a
+    href="mod/core.html#keepalive">KeepAlive</a> when set.</p>
+
+    <h2>suppress-error-charset</h2>
+    <p><i>Available in versions after 1.3.26 and 2.0.40</i></p>
+    <p>When Apache issues a redirect in response to a client request,
+    the response includes some actual text to be displayed in case
+    the client can't (or doesn't) automatically follow the redirection.
+    Apache ordinarily labels this text according to the character set
+    which it uses, which is ISO-8859-1.</p>
+    <p> However, if the redirection is to a page that uses a different
+    character set, some broken browser versions will try to use the
+    character set from the redirection text rather than the actual page.
+    This can result in Greek, for instance, being incorrectly rendered.</p>
+    <p>Setting this environment variable causes Apache to omit the character
+    set for the redirection text, and these broken browsers will then correctly
+    use that of the destination page.</p>
+    <hr />
+
+    <h2><a id="examples" name="examples">Examples</a></h2>
+
+    <h3>Changing protocol behavior with misbehaving clients</h3>
+
+    <p>We recommend that the following lines be included in
+    httpd.conf to deal with known client problems.</p>
+<pre>
+#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+</pre>
+
+    <h3>Do not log requests for images in the access log</h3>
+
+    <p>This example keeps requests for images from appearing in the
+    access log. It can be easily modified to prevent logging of
+    particular directories, or to prevent logging of requests
+    coming from particular hosts.</p>
+<pre>
+    SetEnvIf Request_URI \.gif image-request
+    SetEnvIf Request_URI \.jpg image-request
+    SetEnvIf Request_URI \.png image-request
+    CustomLog logs/access_log env=!image-request
+</pre>
+
+    <h3>Prevent "Image Theft"</h3>
+
+    <p>This example shows how to keep people not on your server
+    from using images on your server as inline-images on their
+    pages. This is not a recommended configuration, but it can work
+    in limited circumstances. We assume that all your images are in
+    a directory called /web/images.</p>
+<pre>
+    SetEnvIf Referer "^http://www.example.com/" local_referal
+    # Allow browsers that do not send Referer info
+    SetEnvIf Referer "^$" local_referal
+    &lt;Directory /web/images&gt;
+       Order Deny,Allow
+       Deny from all
+       Allow from env=local_referal
+    &lt;/Directory&gt;
+</pre>
+
+    <p><em>Note:</em> spelling of 'referer' and 'referal' is
+    intentional.</p>
+
+    <p>For more information about this technique, see the
+    ApacheToday tutorial " <a
+    href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">
+    Keeping Your Images from Adorning Other Sites</a>".</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/env.html.html b/htdocs/manual/env.html.html
new file mode 100644 (file)
index 0000000..60f9043
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="env.html.en" -->
+
diff --git a/htdocs/manual/env.html.ja.jis b/htdocs/manual/env.html.ja.jis
new file mode 100644 (file)
index 0000000..e1d1634
--- /dev/null
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+
+    <title>Apache \e$B$N4D6-JQ?t\e(B</title>
+  </head>
+  <!-- English revision: 1.20 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B$K$*$1$k4D6-JQ?t\e(B</h1>
+
+    <p>Apache HTTP \e$B%5!<%P$O\e(B<em>\e$B4D6-JQ?t\e(B</em>\e$B$H8F$P$l$k!"L>A0$N$D$$$?\e(B
+    \e$BJQ?t$K>pJs$r5-21$9$k;EAH$_$rDs6!$7$F$$$^$9!#$3$N>pJs$O%m%0<}=8$d\e(B
+    \e$B%"%/%;%9@)8f$J$I$N$$$m$$$m$JA`:n$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$l$i$NJQ?t$O\e(B CGI \e$B%9%/%j%W%H$J$I$N30It%W%m%0%i%`$HDL?.$9$k$?$a$K$b\e(B
+    \e$B;H$o$l$^$9!#$3$NJ8=q$O$=$l$i$NJQ?t$NA`:nJ}K!$H;HMQJ}K!$r$$$/$D$+\e(B
+    \e$B>R2p$7$^$9!#\e(B</p>
+
+
+    <p>\e$B$3$l$i$NJQ?t$O\e(B<em>\e$B4D6-JQ?t\e(B</em>\e$B$H8F$P$l$F$$$^$9$,!"%*%Z%l!<%F%#%s%0\e(B
+    \e$B%7%9%F%`$K$h$C$F@)8f$5$l$F$$$k4D6-JQ?t$HF1$8$G$O$"$j$^$;$s!#\e(B
+    \e$B<B:]$O!"$3$l$i$NJQ?t$O\e(B Apache \e$B$NFbIt9=B$$NCf$K5-21$5$l!"A`:n$5$l$F$$$^$9!#\e(B
+    \e$B$=$l$i$O!"\e(BCGI \e$B$d\e(B SSI \e$B%9%/%j%W%H$KEO$5$l$?$H$-$@$1!"<B:]$N\e(B
+    \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$N4D6-JQ?t$K$J$j$^$9!#%5!<%P<+?H$,\e(B
+    \e$B<B9T$5$l$F$$$k%*%Z%l!<%F%#%s%0%7%9%F%`$N4D6-$rA`:n$7$?$$>l9g$O!"\e(B
+    \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$N%7%'%k$,Ds6!$7$F$$$kI8=`$N4D6-JQ?t$N\e(B
+    \e$BA`:nJ}K!$r;H$o$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <ul>
+      <li><a href="#setting">\e$B4D6-JQ?t$N@_Dj\e(B</a></li>
+
+      <li><a href="#using">\e$B4D6-JQ?t$N;HMQ\e(B</a></li>
+
+      <li><a href="#special">\e$BFCJL$JL\E*$N4D6-JQ?t\e(B</a></li>
+
+      <li><a href="#examples">\e$BNc\e(B</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="setting" name="setting">\e$B4D6-JQ?t$N@_Dj\e(B</a></h2>
+
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="mod/mod_env.html">mod_env</a><br />
+         <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+         <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+         <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a
+        href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a><br />
+         <a
+        href="mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a><br />
+         <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+         <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+         <a
+        href="mod/mod_setenvif.html#setenvif">SetEnvIf</a><br />
+         <a
+        href="mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a><br />
+         <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <h3>\e$B4pK\E*$J4D6-$NA`:n\e(B</h3>
+
+    <p>Apache \e$B$K$*$$$F4D6-JQ?t$r@_Dj$9$k0lHV4pK\E*$JJ}K!$O!"\e(B
+    \e$BL5>r7o$K4D6-JQ?t$r@_Dj$9$k\e(B <code>SetEnv</code>
+    \e$B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9!#\e(B <code>PassEnv</code> 
+    \e$B%G%#%l%/%F%#%V$K$h$j!"\e(BApache \e$B$,5/F0$5$l$?%7%'%k$N\e(B
+    \e$B4D6-JQ?t$rEO$9$3$H$b$G$-$^$9!#\e(B</p>
+
+    <h3>\e$B%j%/%(%9%HKh$K>r7o$K4p$E$$$F@_Dj$9$k\e(B</h3>
+
+    <p>\e$B$h$j=@Fp@-$r9b$a$k$?$a$K!"\e(Bmod_setenvif
+    \e$B$GDs6!$5$l$F$$$k%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G!"%j%/%(%9%H$N\e(B
+    \e$BFC@-$K4p$E$$$F4D6-JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#Nc$($P!"FCDj$N%V%i%&%6\e(B
+    (User-Agent) \e$B$N%j%/%(%9%H$dFCDj$N\e(B Referer [\e$B0U?^E*$JDV$j$G$9\e(B]
+    (\e$BLuCm\e(B: \e$B@5$7$$DV$j$O\e(B referrer \e$B$G$9$,!"\e(BHTTP \e$B$N;EMM$G$O\e(B Referer
+    \e$B$H$J$C$F$$$^$9\e(B) \e$B%X%C%@$,8+$D$+$C$?$H$-$N$_JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    mod_rewrite \e$B$N\e(B <code>RewriteRule</code> \e$B%G%#%l%/%F%#%V$K$*$$$F\e(B
+    \e$B4D6-JQ?t$r@_Dj$9$k\e(B <code>[E=...]</code> \e$B%*%W%7%g%s$r;HMQ$9$k$3$H$G!"\e(B
+    \e$B$h$j=@Fp$J@_Dj$r9T$J$&$3$H$,$G$-$^$9!#\e(B</p>
+
+    <h3>\e$B0l0U$J<1JL;R\e(B</h3>
+
+    <p>mod_unique_id \e$B$O!"Hs>o$K8B$i$l$?>r7o$N2<$G\e(B
+    \e$B!V$9$Y$F!W$N%j%/%(%9%H$K$D$$$F!"0l0U$G$"$k$3$H$,J]>Z$5$l$F$$$kCM$r4D6-JQ?t\e(B
+    <code>UNIQUE_ID</code> \e$B$K@_Dj$7$^$9!#\e(B
+    </p>
+
+    <h3>\e$BI8=`\e(B CGI \e$BJQ?t\e(B</h3>
+
+    <p>Apache \e$B$N@_Dj%U%!%$%k$G@_Dj$5$l$?4D6-JQ?t$H%7%'%k$+$iEO$5$l$k\e(B
+    \e$B4D6-JQ?t$K2C$($F!"\e(BCGI \e$B%9%/%j%W%H$H\e(B SSI \e$B%Z!<%8$K$O\e(B <a
+    href="misc/FAQ.html#cgi-spec">CGI \e$B$N;EMM\e(B</a>\e$B$GMW5a$5$l$F$$$k!"\e(B
+    \e$B%j%/%(%9%H$N%a%?>pJs$r;}$C$?4D6-JQ?t$NAH$,Ds6!$5$l$^$9!#\e(B
+    </p>
+
+    <h3>\e$B$$$/$D$+$NCm0U\e(B</h3>
+
+    <ul>
+      <li>\e$B4D6-$rA`:n$9$k%G%#%l%/%F%#%V$r;H$C$FI8=`\e(B CGI
+      \e$BJQ?t$r>e=q$-$7$?$jJQ99$7$?$j$9$k$3$H$O$G$-$^$;$s!#\e(B</li>
+
+      <li>CGI \e$B%9%/%j%W%H$r5/F0$9$k$?$a$K\e(B <a href="suexec.html">suexec</a>
+      \e$B$,;HMQ$5$l$F$$$k>l9g!"\e(BCGI \e$B%9%/%j%W%H$,5/F0$9$k$?$a$K!"4D6-JQ?t$O\e(B<em
+      >\e$B0BA4\e(B</em>\e$B$J4D6-JQ?t$NAH$K@0M}$5$l$^$9!#\e(B
+      \e$B$3$N0BA4$J4D6-JQ?t$N=89g$O!"%3%s%Q%$%k;~$K\e(B <code>suexec.c</code>
+      \e$B$GDj5A$5$l$^$9!#\e(B</li>
+
+      <li>\e$B0\?"@-$N$?$a$K!"4D6-JQ?t$NL>A0$O%"%k%U%!%Y%C%H!"\e(B
+      \e$B?t;z$H%"%s%@!<%9%3%"\e(B (\e$BLuCm\e(B: '_') \e$B$@$1$+$i@.$j$^$9!#\e(B
+      \e$B$5$i$K!":G=i$NJ8;z$O?t;z$G$"$C$F$O$$$1$^$;$s!#\e(B
+      \e$B$3$N@)8B$K9g$o$J$$J8;z$O\e(B CGI \e$B%9%/%j%W%H$H\e(B SSI
+      \e$B%Z!<%8$KEO$5$l$k$H$-$K%"%s%@!<%9%3%"$KCV49$5$l$^$9!#\e(B
+      </li>
+    </ul>
+    <hr />
+
+    <h2><a id="using" name="using">\e$B4D6-JQ?t$N;HMQ\e(B</a></h2>
+
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="mod/mod_access.html">mod_access</a><br />
+         <a href="mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="mod/mod_include.html">mod_include</a><br />
+         <a href="mod/mod_log_config.html">mod_log_config</a><br />
+         <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a href="mod/mod_access.html#allow">Allow</a><br />
+         <a
+        href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+         <a href="mod/mod_access.html#deny">Deny</a><br />
+         <a
+        href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+         </td>
+       </tr>
+    </table>
+
+    <h3>CGI \e$B%9%/%j%W%H\e(B</h3>
+
+    <p>\e$B4D6-JQ?t$N<g$JMxMQK!$N0l$D$O!"\e(BCGI \e$B%9%/%j%W%H$K>pJs$rEA$($k$3$H$G$9!#\e(B
+    \e$B>e$G@bL@$5$l$F$$$k$h$&$K!"\e(BCGI \e$B%9%/%j%W%H$KEO$5$l$k4D6-JQ?t$O\e(B Apache
+    \e$B$N@_Dj$K$h$j@_Dj$5$l$kJQ?t$K2C$($F!"%j%/%(%9%H$NI8=`$N%a%?>pJs$r4^$s$G$$$^$9!#\e(B
+    \e$B>\:Y$O\e(B <a href="howto/cgi.html">CGI \e$B%A%e!<%H%j%"%k\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+
+    <h3>SSI \e$B%Z!<%8\e(B</h3>
+
+    <p>
+    mod_include \e$B$N\e(B <code>server-parsed</code> \e$B%O%s%I%i$G=hM}$5$l$k\e(B
+    server-parsed (SSI) \e$B%I%-%e%a%s%H$G$O!"\e(B<code>echo</code>
+    \e$BMWAG$r;HMQ$9$k$H4D6-JQ?t$,=PNO$5$l$^$9!#\e(B
+    \e$B$^$?!"%Z!<%8$N$"$kItJ,$,%j%/%(%9%H$N@-<A$K1~$8$FJQ99$5$l$k$h$&$K!"\e(B
+    \e$B4D6-JQ?t$r%U%m!<@)8fMWAG$G;H$&$3$H$,$G$-$^$9!#>\:Y$O\e(B
+    <a href="howto/ssi.html">SSI \e$B%A%e!<%H%j%"%k\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <h3>\e$B%"%/%;%9@)8f\e(B</h3>
+
+    <p><code>allow from env=</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>deny from env=</code>
+    \e$B%G%#%l%/%F%#%V$r;HMQ$7$F!"%5!<%P$X$N%"%/%;%9$r4D6-JQ?t$NCM$G@)8f$9$k$3$H$,$G$-$^$9!#\e(B
+    <code>SetEnvIf</code> \e$B%G%#%l%/%F%#%V$HAH$_9g$o$;$k$3$H$G!"%/%i%$%"%s%H$NFC@-$K4p$E$$$F\e(B
+    \e$B%5!<%P$X$N%"%/%;%9@)8f$r=@Fp$K9T$J$&$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B
+    \e$BNc$($P!"$3$l$i$N%G%#%l%/%F%#%V$r;HMQ$7$F!"FCDj$N%V%i%&%6\e(B (User-Agent)
+    \e$B$+$i$N%"%/%;%9$r5qH]$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <h3>\e$B>r7oIU$-%m%05-O?\e(B</h3>
+
+    <p>
+    <code>LogFormat</code> \e$B%G%#%l%/%F%#%V$N%*%W%7%g%s\e(B <code>%e</code>
+    \e$B$r;HMQ$9$k$3$H$G!"4D6-JQ?t$r%"%/%;%9%m%0$K5-O?$9$k$3$H$,$G$-$^$9!#$5$i$K!"\e(B
+    <code>CustomLog</code> \e$B%G%#%l%/%F%#%V$N>r7oJ,4t<0$r;HMQ$9$k$3$H$G!"\e(B
+    \e$B4D6-JQ?t$NCM$K$h$C$F%j%/%(%9%H$r%m%0$K5-O?$9$k$+$I$&$+$r7h$a$k$3$H$,$G$-$^$9!#\e(B
+    <code>SetEnvIf</code> \e$B%G%#%l%/%F%#%V$HAH$_9g$o$;$k$3$H$G!"\e(B
+    \e$B$I$N%j%/%(%9%H$r%m%0$K5-O?$9$k$+$r=@Fp$K@)8f$9$k$3$H$,2DG=$K$J$j$^$9!#Nc$($P!"\e(B
+    <code>gif</code> \e$B$G=*$o$k%U%!%$%kL>$X$N%j%/%(%9%H$O%m%0$K5-O?$7$J$$!"\e(B
+    \e$B0c$&%5%V%M%C%H$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$@$1$r%m%0$K5-O?$9$k!"$H$$$&A*Br$,2DG=$G$9!#\e(B
+    </p>
+
+    <h3>URL \e$B$N=q$-49$(\e(B</h3>
+
+    <p><code>RewriteCond</code> \e$B%G%#%l%/%F%#%V$G\e(B<em>\e$BI>2AJ8;zNs\e(B</em>\e$B$H$7$F\e(B
+    <code>%{ENV:...}</code> \e$B<0$r;XDj$9$k$3$H$G!"\e(Bmod_rewrite
+    \e$B$N=q$-49$(%(%s%8%s$,4D6-JQ?t$K4p$$$F>r7oJ,4t$r9T$J$&$3$H$,$G$-$^$9!#\e(B
+    mod_rewrite \e$B$,;HMQ2DG=$JJQ?t$G\e(B <code>ENV:</code> \e$B$,A0$K$D$$$F$$$J$$JQ?t$O!"\e(B
+    \e$B<B:]$O4D6-JQ?t$G$O$J$$$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    \e$B$=$l$i$OB>$N%b%8%e!<%k$+$i$O;HMQ$G$-$J$$\e(B mod_rewrite \e$BMQ$NFCJL$JJQ?t$G$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="special" name="special">\e$BFCJL$JL\E*$N4D6-JQ?t\e(B</a></h2>
+
+
+    <p>
+    \e$B8_49@-$NLdBj$r2r7h$9$k$?$a$K!"FCDj$N%/%i%$%"%s%H$HDL?.$7$F$$$k$H$-$O\e(B
+    Apache \e$B$NF0:n$rJQ99$G$-$k5!9=$,F3F~$5$l$^$7$?!#$G$-$k$@$1=@Fp$K$9$k$?$a$K!"\e(B
+    \e$B$3$l$i$N5!9=$O4D6-JQ?t$rDj5A$9$k$3$H$G8F$S=P$5$l$^$9!#IaDL$O!"\e(B
+    <a href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a>
+    \e$B%G%#%l%/%F%#%V$r;H$$$^$9$,!"Nc$($P\e(B <a href="mod/mod_env.html#setenv"
+    >SetEnv</a> \e$B%G%#%l%/%F%#%V$d\e(B <a href="mod/mod_env.html#passenv"
+    >PassEnv</a> \e$B%G%#%l%/%F%#%V$b;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <h2>downgrade-1.0</h2>
+
+    <p>\e$B$3$l$r;XDj$9$k$3$H$G!"%j%/%(%9%H$,\e(B HTTP/1.0
+    \e$B$h$j?7$7$$%W%m%H%3%k$N>l9g$G$b!"\e(BHTTP/1.0 \e$B$H$7$F07$o$l$^$9!#\e(B</p>
+
+    <h2>force-no-vary</h2>
+
+    <p>\e$B1~Ez%X%C%@$,%/%i%$%"%s%H$KAw$i$l$kA0$K\e(B <code>Vary</code>
+    \e$B%U%#!<%k%I$r<h$j=|$-$^$9!#\e(B
+    \e$B%/%i%$%"%s%H$NCf$K$O$3$N%U%#!<%k%I$r@5$7$/2r<a$7$J$$$b$N$,$"$j$^$9\e(B
+    (<a href="misc/known_client_problems.html">\e$B%/%i%$%"%s%H$N4{CN$NLdBj\e(B</a>
+    \e$B$N%Z!<%8$r;2>H$7$F$/$@$5$$\e(B)\e$B!#$3$NJQ?t$r@_Dj$9$k$3$H$G$=$NLdBj$r2sHr\e(B
+    \e$B$9$k$3$H$,$G$-$^$9!#$3$NJQ?t$r@_Dj$9$k$H!"\e(B<strong>force-response-1.0</strong>
+    \e$B$,@_Dj$5$l$?$3$H$K$J$j$^$9!#\e(B</p>
+
+    <h2>force-response-1.0</h2>
+
+    <p>\e$B$3$l$,@_Dj$5$l$F$$$k$H!">o$K\e(B HTTP/1.0 \e$B$G$N1~Ez$K$J$j$^$9!#$3$N5!G=$O!"\e(B
+    \e$B85!9$O\e(B AOL \e$B$N%W%m%-%7$NLdBj$N$?$a$K<BAu$5$l$^$7$?!#%/%i%$%"%s%H$NCf$K$O!"\e(B
+    HTTP/1.1 \e$B$N1~Ez$rJV$5$l$k$H@5$7$/F0:n$7$J$$$b$N$,$"$k$+$b$7$l$^$;$s!#\e(B
+    \e$B$3$N5!G=$r;HMQ$9$k$3$H$G!"$=$N$h$&$J%/%i%$%"%s%H$H$N4V$N8_49@-LdBj$r2r7h$G$-$^$9!#\e(B</p>
+
+    <h2>nokeepalive</h2>
+
+    <p>\e$B$3$l$,@_Dj$5$l$F$$$k>l9g$O!"\e(B<a href="mod/core.html#keepalive"
+    >KeepAlive</a> \e$B$r;HMQ$7$J$$$h$&$K$7$^$9!#\e(B</p>
+
+    <h2>suppress-error-charset</h2>
+    <p><i>1.3.26 \e$B$H\e(B 2.0.40 \e$B0J9_$N%P!<%8%g%s$G;HMQ2DG=\e(B</i></p>
+    <p>Apache \e$B$,%/%i%$%"%s%H$N%j%/%(%9%H$K1~$8$F%j%@%$%l%/%H$r9T$J$&$H$-!"\e(B
+    \e$B%l%9%]%s%9$K$O%/%i%$%"%s%H$,<+F0E*$K%j%@%$%l%/%H$rDI$($J$$\e(B(\e$BDI$o$J$$\e(B)\e$B$H$-$N\e(B
+    \e$B$?$a$KI=<($5$l$k%F%-%9%H$,4^$^$l$F$$$^$9!#\e(BApache \e$B$ODL>o$O$3$N%F%-%9%H$O\e(B
+    \e$B;H$o$l$F$$$kJ8;z%;%C%H$G$"$k\e(B ISO-8859-1 \e$B$H$7$^$9!#\e(B</p>
+    <p>\e$B$7$+$7!"%j%@%$%l%/%H@h$,JL$NJ8;z%;%C%H$r;H$C$F$$$k>l9g!"\e(B
+    \e$BI8=`$K=`5r$7$F$$$J$$%V%i%&%6$G$O!"%j%@%$%l%/%H@h$N<B:]$NJ8;z%;%C%H$N\e(B
+    \e$BBe$o$j$K!"%j%@%$%l%/%H85$NJ8;z%;%C%H$r;H$C$F$7$^$&$3$H$,$"$j$^$9!#\e(B
+    \e$B$3$l$O!"Nc$($P%.%j%7%cJ8;z$,J8;z2=$1$7$?$j$9$k$3$H$K$J$j$^$9!#\e(B</p>
+    <p>\e$B$3$N4D6-JQ?t$r@_Dj$9$k$H!"\e(B Apache \e$B$O%j%@%$%l%/%H85$N%F%-%9%H$NJ8;z%;%C%H\e(B
+    \e$B$O>JN,$9$k$h$&$K$J$j!"$=$N$h$&$JI8=`$K=`5r$7$F$$$J$$%V%i%&%6$G$b%j%@%$%l%/%H\e(B
+    \e$B@h$NJ8;z%;%C%H$r@5$7$/;H$&$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="examples" name="examples">\e$BNc\e(B</a></h2>
+
+    <h3>\e$B$*$+$7$J5sF0$r$9$k%/%i%$%"%s%H$KBP$7$F%W%m%H%3%k$NF0:n$rJQ99$9$k\e(B</h3>
+
+    <p>\e$B%/%i%$%"%s%H$K4X$9$k4{CN$NLdBj$KBP=h$9$k$?$a$K!"0J2<$N9T$r\e(B
+    httpd.conf \e$B$KF~$l$k$3$H$r?d>)$7$F$$$^$9!#\e(B</p>
+<pre>
+#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+</pre>
+
+    <h3>\e$B2hA|$X$N%j%/%(%9%H$r%"%/%;%9%m%0$K5-O?$7$J$$\e(B</h3>
+
+    <p>\e$B$3$NNc$G$O!"2hA|$X$N%j%/%(%9%H$,%"%/%;%9%m%0$K8=$l$J$$$h$&$K$7$^$9!#\e(B
+    \e$B$3$l$rJQ99$9$k$3$H$G!"FCDj$N%G%#%l%/%H%j$N%m%0<}=8$r$d$a$?$j!"\e(B
+    \e$BFCDj$N%[%9%H$+$i$N%j%/%(%9%H$N%m%0<}=8$r$d$a$?$j$9$k$3$H$,4JC1$K$G$-$^$9!#\e(B
+    </p>
+<pre>
+    SetEnvIf Request_URI \.gif image-request
+    SetEnvIf Request_URI \.jpg image-request
+    SetEnvIf Request_URI \.png image-request
+    CustomLog logs/access_log env=!image-request
+</pre>
+
+    <h3>\e$B!V2hA|$NEpMQ!W$rKI$0\e(B</h3>
+
+    <p>\e$B$3$NNc$O!"JL$N%5!<%P$K$$$k?M$,!"$"$J$?$N%5!<%P$K$"$k2hA|$r\e(B
+    inline \e$B2hA|$H$7$F;HMQ$9$k$3$H$rKI$.$^$9!#\e(B
+    \e$B$3$l$O?d>)$5$l$F$$$k@_Dj$G$O$"$j$^$;$s$,!"$"$k8BDj$5$l$?>u67$G$OM-8z$G$9!#\e(B
+    \e$B$3$3$G$O!"$9$Y$F$N2hA|$O\e(B /web/images \e$B$H$$$&%G%#%l%/%H%j$K$"$k$H2>Dj$7$^$9!#\e(B
+    </p>
+<pre>
+    SetEnvIf Referer "^http://www.example.com/" local_referal
+    # Allow browsers that do not send Referer info
+    SetEnvIf Referer "^$" local_referal
+    &lt;Directory /web/images&gt;
+       Order Deny,Allow
+       Deny from all
+       Allow from env=local_referal
+    &lt;/Directory&gt;
+</pre>
+
+    <p><em>\e$BCm\e(B:</em> 'referer' \e$B$H\e(B 'referal' \e$B$NDV$j$O0U?^E*$J$b$N$G$9\e(B (\e$BLuCm\e(B:
+    \e$B@5$7$$DV$j$O\e(B referrer \e$B$H\e(B referral)\e$B!#\e(B</p>
+
+    <p>\e$B$3$N<jK!$K4X$9$k>\$7$$>pJs$O\e(B ApacheToday \e$B$N%A%e!<%H%j%"%k\e(B &quot;<a
+    href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-ps"
+    >Keeping Your Images from Adorning Other Sites</a>&quot;
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/expand.pl b/htdocs/manual/expand.pl
new file mode 100755 (executable)
index 0000000..6cbe233
--- /dev/null
@@ -0,0 +1,104 @@
+#!/usr/local/bin/perl5
+
+# This is a very simple Perl script to expand server-side includes
+# in the directory it is run, and direct subdirectories. It will
+# work only on SSI directives of the form
+#
+# <!--#include virtual="filename" -->
+#
+# Filename must be relative to the directory the file appears in.
+#
+# Nov 30, 1996 - Alexei Kosut <akosut@apache.org>
+
+# ====================================================================
+# Copyright (c) 1996-2000 The Apache Group.  All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer. 
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+#
+# 3. All advertising materials mentioning features or use of this
+#    software must display the following acknowledgment:
+#    "This product includes software developed by the Apache Group
+#    for use in the Apache HTTP server project (http://httpd.apache.org/)."
+#
+# 4. The names "Apache Server" and "Apache Group" must not be used to
+#    endorse or promote products derived from this software without
+#    prior written permission.
+#
+# 5. Products derived from this software may not be called "Apache"
+#    nor may "Apache" appear in their names without prior written
+#    permission of the Apache Group.
+#
+# 6. Redistributions of any form whatsoever must retain the following
+#    acknowledgment:
+#    "This product includes software developed by the Apache Group
+#    for use in the Apache HTTP server project (http://httpd.apache.org/)."
+#
+# THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
+# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+# ====================================================================
+#
+# This software consists of voluntary contributions made by many
+# individuals on behalf of the Apache Group and was originally based
+# on public domain software written at the National Center for
+# Supercomputing Applications, University of Illinois, Urbana-Champaign.
+# For more information on the Apache Group and the Apache HTTP server
+# project, please see <http://www.apache.org/>.
+
+# Put a list of dirs (except ..) into @dirs
+
+opendir DIR, "." or die "Could not open directory: $!";
+@dirs = grep !/^\.\.$/, (grep -d, readdir DIR);
+closedir DIR;
+
+foreach $dir (@dirs) {
+    print "Entering directory $dir\n";
+    opendir SUBDIR, "$dir" or die "Could not open subdir $dir: $!";
+    foreach $file (grep /\.html(\.[^.]+)*$/, readdir SUBDIR) {
+       print "Expanding file $dir/$file\n";
+       rename "$dir/$file", "$dir/${file}.old";
+       open READ, "$dir/${file}.old" or die "Couldn't read $dir/$file: $!";
+       open WRITE, ">$dir/$file" or die "Couldn't write $dir/$file: $!";
+       while ($r = <READ>) {
+           if ($r =~ /<!--#include virtual="(.*)" -->/) {
+               ($pre, $include, $post) = ($`, $1, $');
+               print WRITE $pre;
+
+               open INC, "$dir/$include" or
+                   print "Could not include file $dir/$include: $!";
+               print WRITE while (<INC>);
+               close INC;
+
+               print WRITE $post;
+           }
+           else {
+               print WRITE $r;
+           }
+       }
+       close READ;
+       close WRITE;
+       unlink "$dir/$file.old";
+    }
+    closedir SUBDIR;
+}
+
+
diff --git a/htdocs/manual/footer.html b/htdocs/manual/footer.html
new file mode 100644 (file)
index 0000000..a4ad536
--- /dev/null
@@ -0,0 +1,4 @@
+    <hr />
+
+    <h3 align="CENTER">Apache HTTP Server</h3>
+    <a href="./"><img src="images/index.gif" alt="Index" /></a>
diff --git a/htdocs/manual/handler.html.en b/htdocs/manual/handler.html.en
new file mode 100644 (file)
index 0000000..8662a6d
--- /dev/null
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache's Handler Use</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache's Handler Use</h1>
+
+    <ul>
+      <li><a href="#definition">What is a Handler</a></li>
+
+      <li><a href="#examples">Examples</a></li>
+
+      <li><a href="#programmer">Programmer's Note</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="definition" name="definition">What is a
+    Handler</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_actions.html">mod_actions</a><br />
+         <a href="mod/mod_asis.html">mod_asis</a><br />
+         <a href="mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="mod/mod_imap.html">mod_imap</a><br />
+         <a href="mod/mod_info.html">mod_info</a><br />
+         <a href="mod/mod_include.html">mod_include</a><br />
+         <a href="mod/mod_mime.html">mod_mime</a><br />
+         <a
+        href="mod/mod_negotiation.html">mod_negotiation</a><br />
+         <a href="mod/mod_status.html">mod_status</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/mod_actions.html#action">Action</a><br />
+         <a
+        href="mod/mod_mime.html#addhandler">AddHandler</a><br />
+         <a
+        href="mod/mod_mime.html#removehandler">RemoveHandler</a><br />
+         <a
+        href="mod/mod_mime.html#sethandler">SetHandler</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>A "handler" is an internal Apache representation of the
+    action to be performed when a file is called. Generally, files
+    have implicit handlers, based on the file type. Normally, all
+    files are simply served by the server, but certain file types
+    are "handled" separately.</p>
+
+    <p>Apache 1.1 adds the ability to use handlers explicitly.
+    Based on either filename extensions or on location, handlers
+    can be specified without relation to file type. This is
+    advantageous both because it is a more elegant solution, and
+    because it also allows for both a type <strong>and</strong> a
+    handler to be associated with a file. (See also <a
+    href="mod/mod_mime.html#multipleext">Files with Multiple
+    Extensions</a>.)</p>
+
+    <p>Handlers can either be built into the server or included in
+    a module, or they can be added with the <a
+    href="mod/mod_actions.html#action">Action</a> directive. The
+    built-in handlers in the standard distribution are as
+    follows:</p>
+
+    <ul>
+      <li><strong>default-handler</strong>: Send the file using the
+      <code>default_handler()</code>, which is the handler used by
+      default to handle static content. (core)</li>
+
+      <li><strong>send-as-is</strong>: Send file with HTTP headers
+      as is. (<a href="mod/mod_asis.html">mod_asis</a>)</li>
+
+      <li><strong>cgi-script</strong>: Treat the file as a CGI
+      script. (<a href="mod/mod_cgi.html">mod_cgi</a>)</li>
+
+      <li><strong>imap-file</strong>: Parse as an imagemap rule
+      file. (<a href="mod/mod_imap.html">mod_imap</a>)</li>
+
+      <li><strong>server-info</strong>: Get the server's
+      configuration information. (<a
+      href="mod/mod_info.html">mod_info</a>)</li>
+
+      <li><strong>server-parsed</strong>: Parse for server-side
+      includes. (<a
+      href="mod/mod_include.html">mod_include</a>)</li>
+
+      <li><strong>server-status</strong>: Get the server's status
+      report. (<a href="mod/mod_status.html">mod_status</a>)</li>
+
+      <li><strong>type-map</strong>: Parse as a type map file for
+      content negotiation. (<a
+      href="mod/mod_negotiation.html">mod_negotiation</a>)</li>
+    </ul>
+    <hr />
+
+    <h2><a id="examples" name="examples">Examples</a></h2>
+
+    <h3>Modifying static content using a CGI script</h3>
+
+    <p>The following directives will cause requests for files with
+    the <code>html</code> extension to trigger the launch of the
+    <code>footer.pl</code> CGI script.</p>
+<pre>
+     Action add-footer /cgi-bin/footer.pl
+     AddHandler add-footer .html
+</pre>
+
+    <p>Then the CGI script is responsible for sending the
+    originally requested document (pointed to by the
+    <code>PATH_TRANSLATED</code> environment variable) and making
+    whatever modifications or additions are desired.</p>
+
+    <h3>Files with HTTP headers</h3>
+
+    <p>The following directives will enable the
+    <code>send-as-is</code> handler, which is used for files which
+    contain their own HTTP headers. All files in the
+    <code>/web/htdocs/asis/</code> directory will be processed by
+    the <code>send-as-is</code> handler, regardless of their
+    filename extensions.</p>
+<pre>
+    &lt;Directory /web/htdocs/asis&gt;
+    SetHandler send-as-is
+    &lt;/Directory&gt;
+</pre>
+    <hr />
+
+    <h2><a id="programmer" name="programmer">Programmer's
+    Note</a></h2>
+
+    <p>In order to implement the handler features, an addition has
+    been made to the <a href="misc/API.html">Apache API</a> that
+    you may wish to make use of. Specifically, a new record has
+    been added to the <code>request_rec</code> structure:</p>
+<pre>
+    char *handler
+</pre>
+
+    <p>If you wish to have your module engage a handler, you need
+    only to set <code>r-&gt;handler</code> to the name of the
+    handler at any time prior to the <code>invoke_handler</code>
+    stage of the request. Handlers are implemented as they were
+    before, albeit using the handler name instead of a content
+    type. While it is not necessary, the naming convention for
+    handlers is to use a dash-separated word, with no slashes, so
+    as to not invade the media type name-space.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/handler.html.html b/htdocs/manual/handler.html.html
new file mode 100644 (file)
index 0000000..f2aec6b
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="handler.html.en" -->
+
diff --git a/htdocs/manual/handler.html.ja.jis b/htdocs/manual/handler.html.ja.jis
new file mode 100644 (file)
index 0000000..a928b39
--- /dev/null
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B$N%O%s%I%i$N;HMQ\e(B</title>
+  </head>
+  <!-- English revision: 1.22 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B$N%O%s%I%i$N;HMQ\e(B</h1>
+
+    <ul>
+      <li><a href="#definition">\e$B%O%s%I%i$H$O\e(B</a></li>
+
+      <li><a href="#examples">\e$BNc\e(B</a></li>
+
+      <li><a href="#programmer">\e$B%W%m%0%i%^8~$1$N%a%b\e(B</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="definition" name="definition">\e$B%O%s%I%i$H$O\e(B</a></h2>
+
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="mod/mod_actions.html">mod_actions</a><br />
+         <a href="mod/mod_asis.html">mod_asis</a><br />
+         <a href="mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="mod/mod_imap.html">mod_imap</a><br />
+         <a href="mod/mod_info.html">mod_info</a><br />
+         <a href="mod/mod_include.html">mod_include</a><br />
+         <a href="mod/mod_mime.html">mod_mime</a><br />
+         <a
+        href="mod/mod_negotiation.html">mod_negotiation</a><br />
+         <a href="mod/mod_status.html">mod_status</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a href="mod/mod_actions.html#action">Action</a><br />
+         <a
+        href="mod/mod_mime.html#addhandler">AddHandler</a><br />
+         <a
+        href="mod/mod_mime.html#removehandler">RemoveHandler</a><br />
+         <a
+        href="mod/mod_mime.html#sethandler">SetHandler</a><br />
+         </td>
+       </tr>
+    </table>
+
+    <p>\e$B!V%O%s%I%i!W$H$O!"%U%!%$%k$,8F$P$l$?$H$-$K<B9T$5$l$kF0:n$N\e(B Apache
+    \e$B$K$*$1$kFbItI=8=$G$9!#DL>o!"%U%!%$%k$O%U%!%$%k7?$K4p$E$$$?0EL[$N\e(B
+    \e$B%O%s%I%i$,$"$j$^$9!#IaDL$O$9$Y$F$N%U%!%$%k$OC1$K%5!<%P$K07$o$l$^$9$,!"\e(B
+    \e$B%U%!%$%k%?%$%W$NCf$K$OJL$K!V%O%s%I%k!W\e(B (\e$BLuCm\e(B: \e$B07$&\e(B) \e$B$5$l$k$b$N$b$"$j$^$9!#\e(B
+    </p>
+
+    <p>Apache 1.1 \e$B$G$O!"%O%s%I%i$rL@<(E*$K;HMQ$9$k5!G=$,DI2C$5$l$^$7$?!#\e(B
+    \e$B%U%!%$%k$N3HD%;R$dCV$$$F$$$k>l=j$K4p$E$$$F!"%U%!%$%k7?$H4X78$J$/\e(B
+    \e$B%O%s%I%i$r;XDj$9$k$3$H$,$G$-$^$9!#$3$l$O$h$jM%2m$J2r7hK!$H$$$&E@$H!"\e(B
+    \e$B%U%!%$%k$K%?%$%W\e(B<strong>\e$B$H\e(B</strong>
+    \e$B%O%s%I%i$NN>J}$r4XO"IU$1$k$3$H$,$G$-$k$H$$$&E@$GM%$l$F$$$^$9!#\e(B
+    (<a href="mod/mod_mime.html#multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a>
+    \e$B$b;2>H$7$F$/$@$5$$\e(B)\e$B!#\e(B
+    </p>
+
+    <p>\e$B%O%s%I%i$O%5!<%P$KAH$_9~$s$@$j!"%b%8%e!<%k$H$7$F4^$a$?$j!"\e(B
+    <a href="mod/mod_actions.html#action">Action</a>
+    \e$B%G%#%l%/%F%#%V$H$7$FDI2C$7$?$j$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B0J2<$OI8=`G[I[$KAH$_9~$^$l$F$$$k%O%s%I%i$G$9!#\e(B
+    </p>
+
+    <ul>
+      <li><strong>default-handler</strong>: <code>default_handelr()</code>
+      \e$B$r;H$C$F%U%!%$%k$rAw$j$^$9!#\e(B
+      \e$B@EE*$J%3%s%F%s%D$r07$&$H$-$K%G%U%)%k%H$G;HMQ$5$l$k%O%s%I%i$G$9!#\e(B(core)</li>
+
+      <li><strong>send-as-is</strong>:
+      HTTP \e$B%X%C%@$N$"$k%U%!%$%k$r$=$N$^$^Aw$j$^$9!#\e(B
+      (<a href="mod/mod_asis.html">mod_asis</a>)</li>
+
+      <li><strong>cgi-script</strong>: \e$B%U%!%$%k$r\e(B CGI
+      \e$B%9%/%j%W%H$H$7$F07$$$^$9!#\e(B(<a href="mod/mod_cgi.html">mod_cgi</a>)</li>
+
+      <li><strong>imap-file</strong>:
+      \e$B%$%a!<%8%^%C%W$N%k!<%k%U%!%$%k$H$7$F2r@O$7$^$9!#\e(B
+      (<a href="mod/mod_imap.html">mod_imap</a>)</li>
+
+      <li><strong>server-info</strong>: \e$B%5!<%P$N@_Dj>pJs$r<hF@$7$^$9!#\e(B
+      (<a href="mod/mod_info.html">mod_info</a>)</li>
+
+      <li><strong>server-parsed</strong>: SSI \e$B$r2r@O$7$^$9!#\e(B
+      (<a href="mod/mod_include.html">mod_include</a>)</li>
+
+      <li><strong>server-status</strong>: \e$B%5!<%P$N>uBVJs9p$r<hF@$7$^$9!#\e(B
+      (<a href="mod/mod_status.html">mod_status</a>)</li>
+
+      <li><strong>type-map</strong>:
+      \e$B%3%s%F%s%H%M%4%7%(!<%7%g%s$N$?$a$N%?%$%W%^%C%W$H$7$F2r@O$7$^$9!#\e(B
+      (<a href="mod/mod_negotiation.html">mod_negotiation</a>)</li>
+    </ul>
+    <hr />
+
+    <h2><a id="examples" name="examples">\e$BNc\e(B</a></h2>
+
+    <h3>CGI \e$B%9%/%j%W%H$rMQ$$$F@EE*$J%3%s%F%s%D$rJQ99$9$k\e(B</h3>
+
+    <p>\e$B0J2<$N%G%#%l%/%F%#%V$K$h$C$F!"3HD%;R$,\e(B <code>html</code>
+    \e$B$G$"$k%U%!%$%k$O\e(B <code>footer.pl</code>
+    CGI \e$B%9%/%j%W%H$r5/F0$9$k$h$&$K$J$j$^$9!#\e(B</p>
+<pre>
+     Action add-footer /cgi-bin/footer.pl
+     AddHandler add-footer .html
+</pre>
+
+    <p>CGI \e$B%9%/%j%W%H$OK>$^$7$$=$@5$dDI2C$r9T$J$C$F!"85!9MW5a$5$l$?J8=q\e(B
+    (\e$B4D6-JQ?t\e(B <code>PATH_TRANSLATED</code> \e$B$G;X$5$l$F$$$^$9\e(B)
+    \e$B$rAw$k@UG$$,$"$j$^$9!#\e(B
+    </p>
+
+    <h3>HTTP \e$B%X%C%@$N$"$k%U%!%$%k\e(B</h3>
+
+    <p>\e$B0J2<$N%G%#%l%/%F%#%V$O\e(B <code>send-as-is</code>
+    \e$B%O%s%I%i$r;HMQ$9$k$h$&$K;X<($7$^$9!#$3$N%O%s%I%i$O<+J,<+?H$N\e(B
+    HTTP \e$B%X%C%@$r;}$C$F$$$k%U%!%$%k$K;HMQ$5$l$^$9!#$3$3$G$O!"3HD%;R$K4X$o$i$:!"\e(B
+    <code>/web/htdocs/asis</code> \e$B%G%#%l%/%H%j$K$"$kA4$F$N%U%!%$%k$O\e(B
+    <code>send-as-is</code> \e$B%O%s%I%i$K$h$C$F07$o$l$^$9!#\e(B
+    </p>
+<pre>
+    &lt;Directory /web/htdocs/asis&gt;
+    SetHandler send-as-is
+    &lt;/Directory&gt;
+</pre>
+    <hr />
+
+    <h2><a id="programmer" name="programmer">\e$B%W%m%0%i%^8~$1$N%a%b\e(B</a></h2>
+
+
+    <p>\e$B%O%s%I%i$N5!G=$r<BAu$9$k$?$a$K!"MxMQ$9$k$HJXMx$+$b$7$l$J$$$b$N$,\e(B
+    <a href="misc/api.html">Apache API</a> \e$B$KDI2C$5$l$^$7$?!#\e(B
+    \e$B>\$7$/8@$&$H!"\e(B<code>request_rec</code>
+    \e$B9=B$BN$K?7$7$$%l%3!<%I$,DI2C$5$l$?$H$$$&$3$H$G$9!#\e(B</p>
+<pre>
+    char *handler
+</pre>
+
+    <p>\e$B$b$7%b%8%e!<%k$,%O%s%I%i$K4X$o$j$?$$>l9g!"$d$i$J$1$l$P$J$i$J$$$3$H$O!"\e(B
+    \e$B%j%/%(%9%H$,\e(B <code>invoke_handler</code>\e$B%9%F!<%8$KC#$9$k0JA0$K\e(B
+     <code>r-&gt;handler</code>\e$B$r@_Dj$9$k$3$H$@$1$G$9!#\e(B
+    \e$B%O%s%I%i$O%3%s%F%s%H%?%$%W$NBe$o$j$K%O%s%I%iL>$r;H$&$h$&$K$J$C$F$$$k$3$H0J30$O!"\e(B
+    \e$B0JA0$HF1$8$h$&$K<BAu$5$l$F$$$^$9!#I,$:MW5a$5$l$F$$$k$o$1$G$O$"$j$^$;$s$,!"\e(B
+    \e$B%a%G%#%"%?%$%W$NL>A06u4V$r?/$5$J$$$h$&$K!"%O%s%I%i$NL>A0$K$O%9%i%C%7%e\e(B
+    \e$B$r4^$^$J$$!"%@%C%7%e\e(B (\e$BLuCm\e(B: "-") \e$B$GJ,N%$5$l$?L>A0$rIU$1$k=,47$K$J$C$F$$$^$9!#\e(B
+    </p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/header.html b/htdocs/manual/header.html
new file mode 100644 (file)
index 0000000..f2bb862
--- /dev/null
@@ -0,0 +1,6 @@
+    <div align="CENTER">
+      <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server</h3>
+    </div>
+
diff --git a/htdocs/manual/howto/auth.html b/htdocs/manual/howto/auth.html
new file mode 100644 (file)
index 0000000..2fb179a
--- /dev/null
@@ -0,0 +1,1195 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Authentication, Authorization, and Access Control</title>
+  </head>
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+<h1 align="center">Authentication, Authorization, and Access
+Control</h1>
+
+    <a name="TOC"></a>
+
+    <ul>
+      <li><a href="#intro">Introduction</a></li>
+      <li>
+        <a href="#basic">Basic authentication</a>
+
+        <ul>
+          <li><a href="#basicworks">How basic
+          authentication works</a></li>
+
+          <li>
+            <a href="#basicconfig">Configuration:
+            Protecting content with basic authentication</a>
+
+          </li>
+
+          <li>
+            <a href="#basicfaq">Frequently asked
+            questions about basic auth</a>
+          </li>
+
+          <li><a href="#basiccaveat">Security
+          caveat</a></li>
+        </ul>
+        <br />
+      </li>
+
+      <li>
+        <a href="#digest">Digest authentication</a>
+
+        <ul>
+          <li><a href="#digestworks">How digest auth
+          works</a></li>
+
+          <li>
+            <a href="#digestconfig">Configuration:
+            Protecting content with digest authentication</a>
+          </li>
+
+          <li><a href="#digestcaveat">Caveats</a></li>
+        </ul>
+        <br />
+      </li>
+
+      <li>
+        <a href="#database">Database authentication
+        modules</a>
+
+        <ul>
+          <li><a href="#modauthdb">mod_auth_db and
+          mod_auth_dbm</a></li>
+
+          <li><a href="#dbfiles">Berkeley DB files</a></li>
+
+          <li><a href="#installauthdb">Installing mod_auth_db</a></li>
+
+          <li>
+            <a href="#authdbconfig">Protecting a
+            directory with mod_auth_db</a>
+          </li>
+        </ul>
+        <br />
+      </li>
+
+      <li>
+        <a href="#access">Access control</a>
+
+        <ul>
+          <li><a href="#allowdeny">Allow and Deny</a></li>
+
+          <li><a href="#satisfy">Satisfy</a></li>
+        </ul>
+        <br />
+      </li>
+
+      <li><a href="#summary">Summary</a></li>
+    </ul>
+    <!--End of Table of Child-Links-->
+    <hr />
+
+    <h1><a name="auth"></a><br />
+     Authentication, Authorization, and Access Control</h1>
+
+    <h1><a name="intro">Introduction</a></h1>
+
+    <p>Apache has three distinct ways of dealing with the question
+    of whether a particular request for a resource will result in
+    that resource actually be returned. These criteria are called
+    <i>Authorization</i>, <i>Authentication</i>, and <i>Access
+    control</i>.</p>
+
+    <p>Authentication is any process by which you verify that
+    someone is who they claim they are. This usually involves a
+    username and a password, but can include any other method of
+    demonstrating identity, such as a smart card, retina scan,
+    voice recognition, or fingerprints. Authentication is
+    equivalent to showing your drivers license at the ticket
+    counter at the airport.</p>
+
+    <p>Authorization is finding out if the person, once identified,
+    is permitted to have the resource. This is usually determined
+    by finding out if that person is a part of a particular group,
+    if that person has paid admission, or has a particular level of
+    security clearance. Authorization is equivalent to checking the
+    guest list at an exclusive party, or checking for your ticket
+    when you go to the opera.</p>
+
+    <p>Finally, access control is a much more general way of
+    talking about controlling access to a web resource. Access can
+    be granted or denied based on a wide variety of criteria, such
+    as the network address of the client, the time of day, the
+    phase of the moon, or the browser which the visitor is using.
+    Access control is analogous to locking the gate at closing
+    time, or only letting people onto the ride who are more than 48
+    inches tall - it's controlling entrance by some arbitrary
+    condition which may or may not have anything to do with the
+    attributes of the particular visitor.</p>
+
+    <p>Because these three techniques are so closely related in
+    most real applications, it is difficult to talk about them
+    separate from one another. In particular, authentication and
+    authorization are, in most actual implementations,
+    inextricable.</p>
+
+    <p>If you have information on your web site that is sensitive,
+    or intended for only a small group of people, the techniques in
+    this tutorial will help you make sure that the people that see
+    those pages are the people that you wanted to see them.</p>
+
+    <h1><a name="basic"></a>Basic authentication</h1>
+
+    <p>As the name implies, basic authentication is the simplest
+    method of authentication, and for a long time was the most
+    common authentication method used. However, other methods of
+    authentication have recently passed basic in common usage, due
+    to usability issues that will be discussed in a minute.</p>
+
+    <h2><a name="basicworks"></a><br />
+     How basic authentication works</h2>
+
+    <p>When a particular resource has been protected using basic
+    authentication, Apache sends a <tt>401 Authentication
+    Required</tt> header with the response to the request, in order
+    to notify the client that user credentials must be supplied in
+    order for the resource to be returned as requested.</p>
+
+    <p>Upon receiving a <tt>401</tt> response header, the client's
+    browser, if it supports basic authentication, will ask the user
+    to supply a username and password to be sent to the server. If
+    you are using a graphical browser, such as Netscape or Internet
+    Explorer, what you will see is a box which pops up and gives
+    you a place to type in your username and password, to be sent
+    back to the server. If the username is in the approved list,
+    and if the password supplied is correct, the resource will be
+    returned to the client.</p>
+
+    <p>Because the HTTP protocol is stateless, each request will be
+    treated in the same way, even though they are from the same
+    client. That is, every resource which is requested from the
+    server will have to supply authentication credentials over
+    again in order to receive the resource.</p>
+
+    <p>Fortunately, the browser takes care of the details here, so
+    that you only have to type in your username and password one
+    time per browser session - that is, you might have to type it
+    in again the next time you open up your browser and visit the
+    same web site.</p>
+
+    <p>Along with the <tt>401</tt> response, certain other
+    information will be passed back to the client. In particular,
+    it sends a name which is associated with the protected area of
+    the web site. This is called the <i>realm</i>, or just the
+    authentication name. The client
+    browser caches the username and password that you supplied, and
+    stores it along with the authentication realm, so that if other
+    resources are requested from the same realm, the same username
+    and password can be returned to authenticate that request
+    without requiring the user to type them in again. This caching
+    is usually just for the current browser session, but some
+    browsers allow you to store them permanently, so that you never
+    have to type in your password again.</p>
+
+    <p>The authentication name, or realm, will appear in the pop-up
+    box, in order to identify what the username and password are
+    being requested for.</p>
+
+    <h2><a name="basicconfig"></a>
+     Configuration: Protecting content with basic
+    authentication</h2>
+
+    <p>There are two configuration steps which you must complete in
+    order to protect a resource using basic authentication. Or
+    three, depending on what you are trying to do.</p>
+
+    <ol>
+      <li>Create a password file</li>
+
+      <li>Set the configuration to use this password file</li>
+
+      <li>Optionally, create a group file</li>
+    </ol>
+
+    <h3><a name="htpasswd"></a><br />
+     Create a password file</h3>
+
+    <p>In order to determine whether a particular username/password
+    combination is valid, the username and password supplied by the
+    user will need to be compared to some authoritative listing of
+    usernames and password. This is the password file, which you
+    will need to create on the server side, and populate with valid
+    users and their passwords.</p>
+
+    <p>Because this file contains sensitive information, it should
+    be stored outside of the document directory. Although, as you
+    will see in a moment, the passwords are encrypted in the file,
+    if a cracker were to gain access to the file, it would be an
+    aid in their attempt to figure out the passwords. And, because
+    people tend to be sloppy with the passwords that they choose,
+    and use the same password for web site authentication as for
+    their bank account, this potentially be a very serious breach
+    of security, even if the content on your web site is not
+    particularly sensitive.</p>
+
+    <p><b>Caution:</b> Encourage your users to use a different
+    password for your web site than for other more essential
+    things. For example, many people tend to use two passwords -
+    one for all of their extremely important things, such as the
+    login to their desktop computer, and for their bank account,
+    and another for less sensitive things, the compromise of which
+    would be less serious.</p>
+
+    <p>To create the password file, use the <tt>htpasswd</tt>
+    utility that came with Apache. This will be located in the
+    <tt>bin</tt> directory of wherever you installed Apache. For
+    example, it will probably be located at
+    <tt>/usr/local/apache/bin/htpasswd</tt> if you installed Apache
+    from source.</p>
+
+    <p>To create the file, type:</p>
+<pre>
+htpasswd -c /usr/local/apache/passwd/passwords username
+</pre>
+
+    <p><tt>htpasswd</tt> will ask you for the password, and then
+    ask you to type it again to confirm it:</p>
+<pre>
+# htpasswd -c /usr/local/apache/passwd/passwords rbowen
+New password: mypassword
+Re-type new password: mypassword
+Adding password for user rbowen
+</pre>
+
+    <p>Note that in the example shown, a password file is being
+    created containing a user called <tt>rbowen</tt>, and this
+    password file is being placed in the location
+    <tt>/usr/local/apache/passwd/passwords</tt>. You will
+    substitute the location, and the username, which you want to
+    use to start your password file.</p>
+
+    <p>If <tt>htpasswd</tt> is not in your path, you will have to
+    type the full path to the file to get it to run. That is, in
+    the example above, you would replace <tt>htpasswd</tt> with
+    <tt>/usr/local/apache/bin/htpasswd</tt></p>
+
+    <p>The <tt>-c</tt> flag is used only when you are creating a
+    new file. After the first time, you will omit the <tt>-c</tt>
+    flag, when you are adding new users to an already-existing
+    password file.</p>
+<pre>
+htpasswd /usr/local/apache/passwd/passwords sungo
+</pre>
+
+    <p>The example just shown will add a user named <tt>sungo</tt>
+    to a password file which has already been created earlier. As
+    before, you will be asked for the password at the command line,
+    and then will be asked to confirm the password by typing it
+    again.</p>
+
+    <p><b>Caution:</b> Be very careful when you add new users to an
+    existing password file that you don't use the <tt>-c</tt> flag
+    by mistake. Using the <tt>-c</tt> flag will create a new
+    password file, even if you already have an existing file of
+    that name. That is, it will remove the contents of the file
+    that is there, and replace it with a new file containing only
+    the one username which you were adding.</p>
+
+    <p>The password is stored in the password file in encrypted
+    form, so that users on the system will not be able to read the
+    file and immediately determine the passwords of all the users.
+    Nevertheless, you should store the file in as secure a location
+    as possible, with whatever minimum permissions on the file so
+    that the web server itself can read the file. For example, if
+    your server is configured to run as user <tt>nobody</tt> and
+    group <tt>nogroup</tt>, then you should set permissions on the
+    file so that only the webserver can read the file and only
+    root can write to it:</p>
+<pre>
+chown root.nogroup /usr/local/apache/passwd/passwords
+chmod 640 /usr/local/apache/passwd/passwords
+</pre>
+
+    <p>On Windows, a similar precaution should be taken, changing
+    the ownership of the password file to the web server user, so
+    that other users cannot read the file.</p>
+
+    <h3><a name="htpasswdconfig"></a><br />
+     Set the configuration to use this password file</h3>
+
+    <p>Once you have created the password file, you need to tell
+    Apache about it, and tell Apache to use this file in order to
+    require user credentials for admission. This configuration is
+    done with the following directives:</p>
+
+    <table cellpadding="3">
+      <tr>
+        <td align="left">AuthType</td>
+
+        <td align="left" valign="top" width="360">Authentication
+        type being used. In this case, it will be set to
+        <tt>Basic</tt></td>
+      </tr>
+
+      <tr>
+        <td align="left">AuthName</td>
+
+        <td align="left" valign="top" width="360">The
+        authentication realm or name</td>
+      </tr>
+
+      <tr>
+        <td align="left">AuthUserFile</td>
+
+        <td align="left" valign="top" width="360">The location of
+        the password file</td>
+      </tr>
+
+      <tr>
+        <td align="left">AuthGroupFile</td>
+
+        <td align="left" valign="top" width="360">The location of
+        the group file, if any</td>
+      </tr>
+
+      <tr>
+        <td align="left">Require</td>
+
+        <td align="left" valign="top" width="360">The
+        requirement(s) which must be satisfied in order to grant
+        admission</td>
+      </tr>
+    </table>
+
+    <p>These directives may be placed in a <tt>.htaccess</tt> file
+    in the particular directory being protected, or may go in the
+    main server configuration file, in a <tt>&lt;Directory&gt;</tt>
+    section, or other scope container.</p>
+
+    <p>The example shown below defines an authentication realm
+    called ``By Invitation Only''. The password file located at
+    <tt>/usr/local/apache/passwd/passwords</tt> will be used to
+    verify the user's identity. Only users named <tt>rbowen</tt> or
+    <tt>sungo</tt> will be granted access, and even then only if
+    they provide a password which matches the password stored in
+    the password file.</p>
+<pre>
+AuthType Basic
+AuthName "By Invitation Only"
+AuthUserFile /usr/local/apache/passwd/passwords
+Require user rbowen sungo
+</pre>
+
+    <p>The phrase ``By Invitation Only'' will be displayed in the
+    password pop-up box, where the user will have to type their
+    credentials.</p>
+
+    <p>You will need to restart your Apache server in order for the
+    new configuration to take effect, if these directives were put
+    in the main server configuration file. Directives placed in
+    <tt>.htaccess</tt> files take effect immediately, since
+    <tt>.htaccess</tt> files are parsed each time files are
+    served.</p>
+
+    <p>The next time that you load a file from that directory, you
+    will see the familiar username/password dialog box pop up,
+    requiring that you type the username and password before you
+    are permitted to proceed.</p>
+
+    <p>Note that in addition to specifically listing the users to
+    whom you want to grant access, you can specify that any valid
+    user should be let in. This is done with the
+    <tt>valid-user</tt> keyword:</p>
+<pre>
+Require valid-user
+</pre>
+
+    <h3><a name="basicgroupfile"></a><br />
+     Optionally, create a group file</h3>
+
+    <p>Most of the time, you will want more than one, or two, or
+    even a dozen, people to have access to a resource. You want to
+    be able to define a group of people that have access to that
+    resource, and be able to manage that group of people, adding
+    and removing members, without having to edit the server
+    configuration file, and restart Apache, each time.</p>
+
+    <p>This is handled using authentication groups. An
+    authentication group is, as you would expect, a group name
+    associated with a list of members. This list is stored in a
+    group file, which should be stored in the same location as the
+    password file, so that you are able to keep track of these
+    things.</p>
+
+    <p>The format of the group file is exceedingly simple. A group
+    name appears first on a line, followed by a colon, and then a
+    list of the members of the group, separated by spaces. For
+    example:</p>
+<pre>
+authors: rich daniel allan
+</pre>
+
+    <p>Once this file has been created, you can <tt>Require</tt>
+    that someone be in a particular group in order to get the
+    requested resource. This is done with the
+    <tt>AuthGroupFile</tt> directive, as shown in the following
+    example.</p>
+<pre>
+AuthType Basic
+AuthName "Apache Admin Guide Authors"
+AuthUserFile /usr/local/apache/passwd/passwords
+AuthGroupFile /usr/local/apache/passwd/groups
+Require group authors
+</pre>
+
+    <p>The authentication process is now one step more involved.
+    When a request is received, and the requested username and
+    password are supplied, the group file is first checked to see
+    if the supplied username is even in the required group. If it
+    is, then the password file will be checked to see if the
+    username is in there, and if the supplied password matches the
+    password stored in that file. If any of these steps fail,
+    access will be forbidden.</p>
+
+    <h2><a name="basicfaq"></a><br />
+     Frequently asked questions about basic auth</h2>
+
+    <p>The following questions tend to get asked very frequently
+    with regard to basic authentication. It should be understood
+    that basic authentication is very basic, and so is limited to
+    the set of features that has been presented above. Most of the
+    more interesting things that people tend to want, need to be
+    implemented using some alternate authentication scheme.</p>
+
+    <h3><a name="logout"></a><br />
+     How do I log out?</h3>
+
+    <p>Since browsers first started implementing basic
+    authentication, website administrators have wanted to know how
+    to let the user log out. Since the browser caches the username
+    and password with the authentication realm, as described
+    earlier in this tutorial, this is not a function of the server
+    configuration, but is a question of getting the browser to
+    forget the credential information, so that the next time the
+    resource is requested, the username and password must be
+    supplied again. There are numerous situations in which this is
+    desirable, such as when using a browser in a public location,
+    and not wishing to leave the browser logged in, so that the
+    next person can get into your bank account.</p>
+
+    <p>However, although this is perhaps the most frequently asked
+    question about basic authentication, thus far none of the major
+    browser manufacturers have seen this as being a desirable
+    feature to put into their products.</p>
+
+    <p>Consequently, the answer to this question is, you can't.
+    Sorry.</p>
+
+    <h3><a name="passworddialog"></a><br />
+     How can I change what the password box looks like?</h3>
+
+    <p>The dialog that pops up for the user to enter their username
+    and password is ugly. It contains text that you did not
+    indicate that you wanted in there. It looks different in
+    Internet Explorer and Netscape, and contains different text.
+    And it asks for fields that the user might not understand -
+    for example, Netscape asks the user to type in their ``User
+    ID'', and they might not know what that means. Or, you might
+    want to provide additional explanatory text so that the user
+    has a better idea what is going on.</p>
+
+    <p>Unfortunately, these things are features of the browser, and
+    cannot be controlled from the server side. If you want the
+    login to look different, then you will need to implement your
+    own authentication scheme. There is no way to change what this
+    login box looks like if you are using basic authentication.</p>
+
+    <h3><a name="persistpass"></a><br />
+     How to I make it not ask me for my password the next
+    time?</h3>
+
+    <p>Because most browsers store your password information only
+    for the current browser session, when you close your browser it
+    forgets your username and password. So, when you visit the same
+    web site again, you will need to re-enter your username and
+    password.</p>
+
+    <p>There is nothing that can be done about this on the server
+    side.</p>
+
+    <p>However, the most recent versions of the major browsers
+    contain the ability to remember your password forever, so that
+    you never have to log in again. While it is debatable whether
+    this is a good idea, since it effectively overrides the entire
+    point of having security in the first place, it is certainly
+    convenient for the user, and simplifies the user
+    experience.</p>
+
+    <h3><a name="passwordtwice"></a><br />
+     Why does it sometimes ask me for my password twice?</h3>
+
+    <p>When entering a password-protected web site for the first
+    time, you will occasionally notice that you are asked for your
+    password twice. This may happen immediately after you entered
+    the password the first time, or it may happen when you click on
+    the first link after authenticating the first time.</p>
+
+    <p>This happens for a very simple, but nonetheless confusing,
+    reason, again having to do with the way that the browser caches
+    the login information.</p>
+
+    <p>Login information is stored on the browser based on the
+    authentication realm, specified by the <tt>AuthName</tt>
+    directive, and by the server name. In this way, the browser can
+    distinguish between the <tt>Private</tt> authentication realm
+    on one site and on another. So, if you go to a site using one
+    name for the server, and internal links on the server refer to
+    that server by a different name, the browser has no way to know
+    that they are in fact the same server.</p>
+
+    <p>For example, if you were to visit the URL
+    <tt>http://example.com/private/</tt>, which required
+    authentication, your browser would remember the supplied
+    username and password, associated with the hostname
+    <tt>example.com</tt>. If, by virtue of an internal redirect, or
+    fully-qualified HTML links in pages, you are then sent to the
+    URL <tt>http://www.example.com/private/</tt>, even though this
+    is really exactly the same URL, the browser does not know this
+    for sure, and is forced to request the authentication
+    information again, since <tt>example.com</tt> and
+    <tt>www.example.com</tt> are not exactly the same hostname.
+    Your browser has no particular way to know that these are the
+    same web site.</p>
+
+    <h2><a name="basiccaveat"></a><br />
+     Security caveat</h2>
+
+    <p>Basic authentication should not be considered secure for any
+    particularly rigorous definition of secure.</p>
+
+    <p>Although the password is stored on the server in encrypted
+    format, it is passed from the client to the server in plain
+    text across the network. Anyone listening with any variety of
+    packet sniffer will be able to read the username and password
+    in the clear as it goes across.</p>
+
+    <p>Not only that, but remember that the username and password
+    are passed with every request, not just when the user first
+    types them in. So the packet sniffer need not be listening at a
+    particularly strategic time, but just for long enough to see
+    any single request come across the wire.</p>
+
+    <p>And, in addition to that, the content itself is also going
+    across the network in the clear, and so if the web site
+    contains sensitive information, the same packet sniffer would
+    have access to that information as it went past, even if the
+    username and password were not used to gain direct access to
+    the web site.</p>
+
+    <p>Don't use basic authentication for anything that requires
+    real security. It is a detriment for most users, since very few
+    people will take the trouble, or have the necessary software
+    and/or equipment, to find out passwords. However, if someone
+    had a desire to get in, it would take very little for them to
+    do so.</p>
+
+    <p>Basic authentication across an SSL connection, however, will be
+    secure, since everything is going to be encrypted, including the
+    username and password.</p>
+
+    <h1><a name="digest"></a>Digest authentication</h1>
+
+    <p>Addressing one of the security caveats of basic
+    authentication, digest authentication provides an alternate
+    method for protecting your web content. However, it to has a
+    few caveats.</p>
+
+    <h2><a name="digestworks">How digest auth works</a></h2>
+
+    <p>Digest authentication is implemented by the module
+    <tt>mod_auth_digest</tt>. There is an older module,
+    <tt>mod_digest</tt>, which implemented an older version of the
+    digest authentication specification, but which will probably
+    not work with newer browsers.</p>
+
+    <p>Using digest authentication, your password is never sent
+    across the network in the clear, but is always transmitted as
+    an MD5 digest of the user's password. In this way, the password
+    cannot be determined by sniffing network traffic.</p>
+
+    <p>The full specification of digest authentication can be seen
+    in the internet standards document RFC 2617, which you can see
+    at <tt>http://www1.ics.uci.edu/pub/ietf/http/rfc2617.txt</tt>.
+    Additional information and resources about MD5 can be found at
+    <tt>http://userpages.umbc.edu/&nbsp;mabzug1/cs/md5/md5.html</tt></p>
+
+    <h2><a name="digestconfig"></a>Configuration:
+    Protecting content with digest authentication</h2>
+
+    <p>The steps for configuring your server for digest
+    authentication are very similar for those for basic
+    authentication.</p>
+
+    <ol>
+      <li>Create the password file</li>
+
+      <li>Set the configuration to use this password file</li>
+
+      <li>Optionally, create a group file</li>
+    </ol>
+
+    <h3><a name="htdigest"></a>Creating a password file</h3>
+
+    <p>As with basic authentication, a simple utility is provided
+    to create and maintain the password file which will be used to
+    determine whether a particular user's name and password are
+    valid. This utility is called <tt>htdigest</tt>, and will be
+    located in the <tt>bin</tt> directory of wherever you installed
+    Apache. If you installed Apache from some variety of package
+    manager, <tt>htdigest</tt> is likely to have been placed
+    somewhere in your path.</p>
+
+    <p>To create a new digest password file, type:</p>
+<pre>
+htdigest -c /usr/local/apache/passwd/digest realm username
+</pre>
+
+    <p><tt>htdigest</tt> will ask you for the desired password, and
+    then ask you to type it again to confirm it.</p>
+
+    <p>Note that the realm for which the authentication will be
+    required is part of the argument list.</p>
+
+    <p>Once again, as with basic authentication, you are encouraged
+    to place the generated file somewhere outside of the document
+    directory.</p>
+
+    <p>And, as with the <tt>htpasswd</tt> utility, the <tt>-c</tt>
+    flag creates a new file, or, if a file of that name already
+    exists, deletes the contents of that file and generates a new
+    file in its place. Omit the <tt>-c</tt> flag in order to add
+    new user information to an existing password file.</p>
+
+    <h3><a name="htdigestconfig"></a>Set the configuration
+    to use this password file</h3>
+
+    <p>Once you have created a password file, you need to tell
+    Apache about it in order to start using it as a source of
+    authenticated user information. This configuration is done with
+    the following directives:</p>
+
+    <table cellpadding="3">
+      <tr>
+        <td align="left">AuthType</td>
+
+        <td align="left" valign="top" width="360">Authentication
+        type being used. In this case, it will be set to
+        <tt>Digest</tt></td>
+      </tr>
+
+      <tr>
+        <td align="left">AuthName</td>
+
+        <td align="left" valign="top" width="360">The
+        authentication realm or name</td>
+      </tr>
+
+      <tr>
+        <td align="left">AuthDigestFile</td>
+
+        <td align="left" valign="top" width="360">The location of
+        the password file</td>
+      </tr>
+
+      <tr>
+        <td align="left">AuthDigestGroupFile</td>
+
+        <td align="left" valign="top" width="360">Location of the
+        group file, if any</td>
+      </tr>
+
+      <tr>
+        <td align="left">Require</td>
+
+        <td align="left" valign="top" width="360">The
+        requirement(s) which must be satisfied in order to grant
+        admission</td>
+      </tr>
+    </table>
+
+    <p>These directives may be placed in a <tt>.htaccess</tt> file
+    in the particular directory being protected, or may go in the
+    main server configuration file, in a <tt>&lt;Directory&gt;</tt>
+    section, or another scope container.</p>
+
+    <p>The following example defines an authentication realm called
+    "Private". The password file located at
+    <tt>/usr/local/apache/passwd/digest</tt> will be used to verify
+    the user's identity. Only users named <tt>drbacchus</tt> or
+    <tt>dorfl</tt> will be granted access, if they provide a
+    password that patches the password stored in the password
+    file.</p>
+<pre>
+AuthType Digest
+AuthName "Private"
+AuthDigestFile /usr/local/apache/passwd/digest
+Require user drbacchus dorfl
+</pre>
+
+    <p>The phrase "Private" will be displayed in the password
+    pop-up box, where the user will have to type their
+    credentials.</p>
+
+    <h3><a name="digestgroup"></a>Optionally, create a group file</h3>
+
+    <p>As you have observed, there are not many differences between
+    this configuration process and that required by basic
+    authentication, described in the previous section. This is true
+    also of group functionality. The group file used for digest
+    authentication is exactly the same as that used for basic
+    authentication. That is to say, lines in the group file consist
+    the name of the group, a colon, and a list of the members of
+    that group. For example:</p>
+<pre>
+admins: jim roy ed anne
+</pre>
+
+    <p>Once this file has been created, you can <tt>Require</tt>
+    that someone be in a particular group in order to get the
+    requested resource. This is done with the
+    <tt>AuthDigestGroupFile</tt> directive, as shown in the
+    following example.</p>
+<pre>
+AuthType Digest
+AuthName "Private"
+AuthDigestFile /usr/local/apache/passwd/digest
+AuthDigestGroupFile /usr/local/apache/passwd/digest.groups
+Require group admins
+</pre>
+
+    <p>The authentication process is the same as that used by basic
+    authentication. It is first verified that the user is in the
+    required group, and, if this is true, then the password is
+    verified.</p>
+
+    <h2><a name="digestcaveat">Caveats</a></h2>
+
+    <p>Before you leap into using digest authentication instead of
+    basic authentication, there are a few things that you should
+    know about.</p>
+
+    <p>Most importantly, you need to know that, although digest
+    authentication has this great advantage that you don't send
+    your password across the network in the clear, it is not
+    supported by all major browsers in use today, and so you should
+    not use it on a web site on which you cannot control the
+    browsers that people will be using, such as on your intranet
+    site. In particular, Opera 4.0 or later, Microsoft Internet
+    Explorer 5.0 or later, Mozilla 1.0.1 and Netscape 7 or later
+    as well as Amaya support digest authentication, while various
+    other browsers do not.</p>
+
+    <p>Next, with regard to security considerations, you should
+    understand two things. Although your password is not passed in
+    the clear, all of your data is, and so this is a rather small
+    measure of security. And, although your password is not really
+    sent at all, but a digest form of it, someone very familiar
+    with the workings of HTTP could use that information - just
+    your digested password - and use that to gain access to the
+    content, since that digested password is really all the
+    information required to access the web site.</p>
+
+    <p>The moral of this is that if you have content that really
+    needs to be kept secure, use SSL.</p>
+
+    <h1><a name="database">Database authentication
+    modules</a></h1>
+
+    <p>Basic authentication and digest authentication both suffer
+    from the same major flaw. They use text files to store the
+    authentication information. The problem with this is that
+    looking something up in a text file is very slow. It's rather
+    like trying to find something in a book that has no index. You
+    have to start at the beginning, and work through it one page at
+    a time until you find what you are looking for. Now imagine
+    that the next time you need to find the same thing, you don't
+    remember where it was before, so you have to start at the
+    beginning again, and work through one page at a time until you
+    find it again. And the next time. And the time after that.</p>
+
+    <p>Since HTTP is stateless, authentication has to be verified
+    every time that content is requested. And so every time a
+    document is accessed which is secured with basic or digest
+    authentication, Apache has to open up those text password files
+    and look through them one line at a time, until it finds the
+    user that is trying to log in, and verifies their password. In
+    the worst case, if the username supplied is not in there at
+    all, every line in the file will need to be checked. On
+    average, half of the file will need to be read before the user
+    is found. This is very slow.</p>
+
+    <p>While this is not a big problem for small sets of users,
+    when you get into larger numbers of users (where "larger" means
+    a few hundred) this becomes prohibitively slow. In many cases,
+    in fact, valid username/password combinations will get rejected
+    because the authentication module just had to spend so much
+    time looking for the username in the file that Apache will just
+    get tired of waiting and return a failed authentication.</p>
+
+    <p>In these cases, you need an alternative, and that
+    alternative is to use some variety of database. Databases are
+    optimized for looking for a particular piece of information in
+    a very large data set. It builds indexes in order to rapidly
+    locate a particular record, and they have query languages for
+    swiftly locating records that match particular criteria.</p>
+
+    <p>There are numerous modules available for Apache to
+    authenticate using a variety of different databases. In this
+    section, we'll just look at two modules which ship with Apache.
+    </p>
+
+    <h2><a name="modauthdb"></a>mod_auth_db and mod_auth_dbm</h2>
+
+    <p><tt>mod_auth_db</tt> and <tt>mod_auth_dbm</tt> are modules
+    which lets you keep your usernames and passwords in DB or DBM
+    files. There are few practical differences between DB files and
+    DBM files. And, on some operating systems, such as various
+    BSDs, and Linux, they are exactly the same thing. You should
+    pick whichever of the two modules makes the most sense on your
+    particular platform of choice. If you do not have DB support on
+    your platform, you may need to install it. You download an
+    implementation of DB at <tt>http://www.sleepycat.com/</tt>.
+
+    <h2><a name="dbfiles"></a>Berkeley DB files</h2>
+
+    <p>DB files, also known as Berkeley database files, are the
+    simplest form of database, and are rather ideally suited for
+    the sort of data that needs to be stored for HTTP
+    authentication. DB files store key/value pairs. That is, the
+    name of a variable, and the value of that variable. While other
+    databases allow the storage of many fields in a given record, a
+    DB file allows only this pairing of key and value.<a
+    name="foot1_return" href="#foot1"><sup>1</sup></a> This is ideal for
+    authentication, which requires only the pair of a username and
+    password.</p>
+
+    <h2><a name="installauthdb">Installing mod_auth_db</a></h2>
+
+    <p>For the purposes of this tutorial, we'll talk about
+    installing and configuring <tt>mod_auth_db</tt>. However,
+    everything that is said here can be directly applied to
+    <tt>mod_auth_dbm</tt> by simply replacing 'db' with 'dbm' and
+    'DB' with 'DBM' in the various commands, file names, and
+    directives.</p>
+
+    <p>Since <tt>mod_auth_db</tt> is not compiled in by default,
+    you will need to rebuild Apache in order to get the
+    functionality, unless you built in everything when we started.
+    Note that if you installed Apache with shared object
+    support, you may be able to just build the module and load it
+    in to Apache.</p>
+
+    <p>To build Apache from scratch with <tt>mod_auth_db</tt> built
+    in, use the following <tt>./configure</tt> line in your apache
+    source code directory.</p>
+<pre>
+./configure --enable-module=auth_db
+</pre>
+
+    <p>Or, if you had a more complex <tt>configure</tt> command
+    line, you can just add the <tt>-enable-module=auth_db</tt>
+    option to that command line, and you'll get
+    <tt>mod_auth_db</tt> built into your server.</p>
+
+    <h2><a name="authdbconfig">Protecting a directory with
+    mod_auth_db</a></h2>
+
+    <p>Once you have compiled the <tt>mod_auth_db</tt> module, and
+    loaded it into your web server, you'll find that there's very
+    little difference between using regular authentication and
+    using <tt>mod_auth_db</tt> authentication. The procedure is the
+    same as that we went through with basic and digest
+    authentication:</p>
+
+    <ol>
+      <li>Create the user file.</li>
+
+      <li>Configure Apache to use that file for
+      authentication.</li>
+
+      <li>Optionally, create a group file.</li>
+    </ol>
+
+    <h3><a name="dbmmanage"></a>Create the user file</h3>
+
+    <p>The user file for authentication is, this time, not a flat
+    text file, but is a DB file<a name="foot2_return"
+    href="#foot2"><sup>2</sup></a>. Fortunately, once again,
+    Apache provides us with a simple utility for the purpose of
+    managing this user file. This time, the utility is called
+    <tt>dbmmanage</tt>, and will be located in the <tt>bin</tt>
+    subdirectory of wherever you installed Apache.</p>
+
+    <p><tt>dbmmanage</tt> is somewhat more complicated to use than
+    <tt>htpasswd</tt> or <tt>htdigest</tt>, but it is still fairly
+    simple. The syntax which you will usually be using is as
+    follows:</p>
+<pre>
+dbmmanage passwords.dat adduser montressor
+</pre>
+
+    <p>As with <tt>htpasswd</tt>, you will at this point be
+    prompted for a password, and then asked to confirm that
+    password by typing it again. The main difference here is that
+    rather than a text file being created, you are creating a
+    binary file containing the information that you have
+    supplied.</p>
+
+    <p>Type <tt>dbmmanage</tt> with no arguments to get the full
+    list of options available with this utility.</p>
+
+    <h3><a name="perl_dbfile">Creating your user file with
+    Perl</a></h3>
+
+    <p>Note that, if you are so inclined, you can manage your user
+    file with Perl, or any other language which has a DB-file
+    module, for interfacing with this type of database. This covers
+    a number of popular programming languages.</p>
+
+    <p>The following Perl code, for example, will add a user
+    'rbowen', with password 'mypassword', to your password
+    file:</p>
+<pre>
+use DB_File;
+tie %database, 'DB_File', "passwords.dat"
+    or die "Can't initialize database: $!\n";
+
+$username = 'rbowen';
+$password = 'mypassword';
+@chars=(0..9,'a'..'z');
+$salt = $chars[int rand @chars] . $chars[int rand @chars];
+
+$crypt = crypt($password, $salt);
+$database{$username} = $crypt;
+
+untie %database;
+</pre>
+
+    <p>As you can imagine, this makes it very simple to write tools
+    to manage the user and password information stored in these
+    files.</p>
+
+    <p>Passwords are stored in Unix <tt>crypt</tt> format, just as
+    they were in the "regular" password files. The 'salt' that is
+    created in the middle there is part of the process, generating
+    a random starting point for that encryption. The technique
+    being used is called a 'tied hash'. The idea is to tie a
+    built-in data structure to the contents of the file, such that
+    when the data structure is changed, the file is automatically
+    modified at the same time.</p>
+
+    <h3><a name="authdbuserfile"></a>Configuring Apache
+    to use this password file</h3>
+
+    <p>Once you have created the password file, you need to tell
+    Apache about it, and tell Apache to use this file to verify
+    user credentials. This configuration will look almost the same
+    as that for basic authentication. This configuration can go in
+    a <tt>.htaccess</tt> file in the directory to be protected, or
+    can go in the main server configuration, in a
+    <tt>&lt;Directory&gt;</tt> section, or other scope container
+    directive.</p>
+
+    <p>The configuration will look something like the
+    following:</p>
+<pre>
+AuthName "Members Only"
+AuthType Basic
+AuthDBUserFile /usr/local/apache/passwd/passwords.dat
+require user rbowen
+</pre>
+
+    <p>Now, users accessing the directory will be required to
+    authenticate against the list of valid users who are in
+    <tt>/usr/local/apache/passwd/passwords.dat</tt>.</p>
+
+    <h3><a name="authdbgroupfile"></a><br />
+     Optionally, create a group file</h3>
+
+    <p>As mentioned earlier, DB files store a key/value pair. In
+    the case of group files, the key is the name of the user, and
+    the value is a comma-separated list of the groups to which the
+    user belongs.</p>
+
+    <p>While this is the opposite of the way that group files are
+    stored elsewhere, note that we will primarily be looking up
+    records based on the username, so it is more efficient to index
+    the file by username, rather than by the group name.</p>
+
+    <p>Groups can be added to your group file using
+    <tt>dbmmanage</tt> and the <tt>add</tt> command:</p>
+<pre>
+dbmmanage add groupfile rbowen one,two,three
+</pre>
+
+    <p>In the above example, <tt>groupfile</tt> is the literal name
+    of the group file, <tt>rbowen</tt> is the user being added, and
+    <tt>one</tt>, <tt>two</tt>, and <tt>three</tt> are names of
+    three groups to which this user belongs.</p>
+
+    <p>Once you have your groups in the file, you can require a
+    group in the regular way:</p>
+<pre>
+AuthName "Members Only"
+AuthType Basic
+AuthDBUserFile /usr/local/apache/passwd/passwords.dat
+AuthDBGroupFile /usr/local/apache/passwd/groups.dat
+require group three
+</pre>
+
+    <p>Note that if you want to use the same file for both password
+    and group information, you can do so, but this is a little more
+    complicated to manage, as you have to encrypt the password
+    yourself before you feed it to the <tt>dbmmanage</tt>
+    utility.</p>
+
+    <h1><a name="access"></a>Access control</h1>
+
+    <p>Authentication by username and password is only part of the
+    story. Frequently you want to let people in based on something
+    other than who they are. Something such as where they are
+    coming from. Restricting access based on something other than
+    the identity of the user is generally referred to as <i>Access
+    Control</i>.</p>
+
+    <h2><a name="allowdeny"></a>Allow and Deny</h2>
+
+    <p>The <tt>Allow</tt> and <tt>Deny</tt> directives let you
+    allow and deny access based on the host name, or host address,
+    of the machine requesting a document. The directive goes
+    hand-in-hand with these is the <tt>Order</tt> directive, which
+    tells Apache in which order to apply the filters.</p>
+
+    <p>The usage of these directives is:</p>
+<pre>
+allow from address
+</pre>
+
+    <p>where <i>address</i> is an IP address (or a partial IP
+    address) or a fully qualified domain name (or a partial domain
+    name); you may provide multiple addresses or domain names, if
+    desired.</p>
+
+    <p>For example, if you have someone spamming your message
+    board, and you want to keep them out, you could do the
+    following:</p>
+<pre>
+deny from 11.22.33.44
+</pre>
+
+    <p>Visitors coming from that address will not be able to see
+    the content behind this directive. If, instead, you have a
+    machine name, rather than an IP address, you can use that.
+    </p>
+<pre>
+deny from hostname.example.com
+</pre>
+
+    <p>And, if you'd like to block access from an entire domain,
+    or even from an entire tld (top level domain, such as .com or .gov)
+    you can specify just part of an address or domain name:</p>
+<pre>
+deny from 192.101.205
+deny from exampleone.com exampletwo.com
+deny from tld
+</pre>
+
+    <p>Using <tt>Order</tt> will let you be sure that you are
+    actually restricting things to the group that you want to let
+    in, by combining a <tt>deny</tt> and an <tt>allow</tt>
+    directive:</p>
+<pre>
+Order Deny,Allow
+Deny from all
+Allow from hostname.example.com
+</pre>
+
+    <p>Listing just the <tt>allow</tt> directive would not do what
+    you want, because it will let users from that host in, in
+    addition to letting everyone in. What you want is to let in
+    <i>only</i> users from that host.</p>
+
+    <h2><a name="satisfy"></a>Satisfy</h2>
+
+    <p>The <tt>Satisfy</tt> directive can be used to specify that
+    several criteria may be considered when trying to decide if a
+    particular user will be granted admission. <tt>Satisfy</tt> can
+    take as an argument one of two options - <tt>all</tt> or
+    <tt>any</tt>. By default, it is assumed that the value is
+    <tt>all</tt>. This means that if several criteria are
+    specified, then all of them must be met in order for someone to
+    get in. However, if set to <tt>any</tt>, then several criteria
+    may be specified, but if the user satisfies any of these, then
+    they will be granted entrance.</p>
+
+    <p>A very good example of this is using access control to
+    assure that, although a resource is password protected from
+    outside your network, all hosts inside the network will be
+    given free access to the resource. This would be accomplished
+    by using the <tt>Satisfy</tt> directive, as shown below.</p>
+<pre>
+&lt;Directory /usr/local/apache/htdocs/sekrit&gt;
+  AuthType Basic
+  AuthName intranet
+  AuthUserFile /www/passwd/users
+  AuthGroupFile /www/passwd/groups
+  Require group customers
+  Order allow,deny
+  Allow from internal.com
+  Satisfy any
+&lt;/Directory&gt;
+</pre>
+
+    <p>In this scenario, users will be let in if they either have a
+    password, or if they are in the internal network.</p>
+
+    <h1><a name="summary">Summary</a></h1>
+
+    <p>The various authentication modules provide a number of ways
+    to restrict access to your host based on the identity of the
+    user. They offer a somewhat standard interface to this
+    functionality, but provide different back-end mechanisms for
+    actually authenticating the user.</p>
+
+    <p>And the access control mechanism allows you to restrict
+    access based on criteria unrelated to the identity of the
+    user.<br />
+    </p>
+    <hr />
+
+    <h4>Footnotes</h4>
+
+    <dl>
+      <dt><a name="foot1">... value.</a><a
+      href="#foot1_return"><sup>1</sup></a></dt>
+
+      <dd>There are actually a number of implementations that get
+      around this limitation. MLDBM is one of them, for example.
+      However, for the purposes of this discussion, we'll just deal
+      with standard Berkeley DB, which is likely to have shipped
+      with whatever operating system you are already running.</dd>
+
+      <dt><a name="foot2">... file</a><a
+      href="#foot2_return"><sup>2</sup></a></dt>
+
+      <dd>Or, if you are using mod_auth_dbm, a DBM file.</dd>
+    </dl>
+    <hr />
+
+  </body>
+</html>
diff --git a/htdocs/manual/howto/cgi.html.en b/htdocs/manual/howto/cgi.html.en
new file mode 100644 (file)
index 0000000..0033b39
--- /dev/null
@@ -0,0 +1,551 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Tutorial: Dynamic Content with CGI</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Dynamic Content with CGI</h1>
+    <a id="__index__" name="__index__"></a> <!-- INDEX BEGIN -->
+     
+
+    <ul>
+      <li><a href="#dynamiccontentwithcgi">Dynamic Content with
+      CGI</a></li>
+
+      <li>
+        <a href="#configuringapachetopermitcgi">Configuring Apache
+        to permit CGI</a> 
+
+        <ul>
+          <li><a href="#scriptalias">ScriptAlias</a></li>
+
+          <li>
+            <a href="#cgioutsideofscriptaliasdirectories">CGI
+            outside of ScriptAlias directories</a> 
+
+            <ul>
+              <li><a
+              href="#explicitlyusingoptionstopermitcgiexecution">Explicitly
+              using Options to permit CGI execution</a></li>
+
+              <li><a href="#htaccessfiles">.htaccess files</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#writingacgiprogram">Writing a CGI program</a> 
+
+        <ul>
+          <li><a href="#yourfirstcgiprogram">Your first CGI
+          program</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#butitsstillnotworking">But it's still not
+        working!</a> 
+
+        <ul>
+          <li><a href="#filepermissions">File permissions</a></li>
+
+          <li><a href="#pathinformation">Path information</a></li>
+
+          <li><a href="#syntaxerrors">Syntax errors</a></li>
+
+          <li><a href="#errorlogs">Error logs</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#whatsgoingonbehindthescenes">What's going on
+        behind the scenes?</a> 
+
+        <ul>
+          <li><a href="#environmentvariables">Environment
+          variables</a></li>
+
+          <li><a href="#stdinandstdout">STDIN and STDOUT</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#cgimoduleslibraries">CGI
+      modules/libraries</a></li>
+
+      <li><a href="#formoreinformation">For more
+      information</a></li>
+    </ul>
+    <!-- INDEX END -->
+    <hr />
+
+    <h2><a id="dynamiccontentwithcgi"
+    name="dynamiccontentwithcgi">Dynamic Content with CGI</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="../mod/mod_alias.html">mod_alias</a><br />
+         <a href="../mod/mod_cgi.html">mod_cgi</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="../mod/mod_mime.html#addhandler">AddHandler</a><br />
+         <a href="../mod/core.html#options">Options</a><br />
+         <a
+        href="../mod/mod_alias.html#scriptalias">ScriptAlias</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>The CGI (Common Gateway Interface) defines a way for a web
+    server to interact with external content-generating programs,
+    which are often referred to as CGI programs or CGI scripts. It
+    is the simplest, and most common, way to put dynamic content on
+    your web site. This document will be an introduction to setting
+    up CGI on your Apache web server, and getting started writing
+    CGI programs.</p>
+    <hr />
+
+    <h2><a id="configuringapachetopermitcgi"
+    name="configuringapachetopermitcgi">Configuring Apache to
+    permit CGI</a></h2>
+
+    <p>In order to get your CGI programs to work properly, you'll
+    need to have Apache configured to permit CGI execution. There
+    are several ways to do this.</p>
+
+    <h3><a id="scriptalias" name="scriptalias">ScriptAlias</a></h3>
+
+    <p>The <code>ScriptAlias</code> directive tells Apache that a
+    particular directory is set aside for CGI programs. Apache will
+    assume that every file in this directory is a CGI program, and
+    will attempt to execute it, when that particular resource is
+    requested by a client.</p>
+
+    <p>The <code>ScriptAlias</code> directive looks like:</p>
+<pre>
+        ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
+</pre>
+
+    <p>The example shown is from your default
+    <code>httpd.conf</code> configuration file, if you installed
+    Apache in the default location. The <code>ScriptAlias</code>
+    directive is much like the <code>Alias</code> directive, which
+    defines a URL prefix that is to mapped to a particular
+    directory. <code>Alias</code> and <code>ScriptAlias</code> are
+    usually used for directories that are outside of the
+    <code>DocumentRoot</code> directory. The difference between
+    <code>Alias</code> and <code>ScriptAlias</code> is that
+    <code>ScriptAlias</code> has the added meaning that everything
+    under that URL prefix will be considered a CGI program. So, the
+    example above tells Apache that any request for a resource
+    beginning with <code>/cgi-bin/</code> should be served from the
+    directory <code>/usr/local/apache/cgi-bin/</code>, and should
+    be treated as a CGI program.</p>
+
+    <p>For example, if the URL
+    <code>http://www.example.com/cgi-bin/test.pl</code> is
+    requested, Apache will attempt to execute the file
+    <code>/usr/local/apache/cgi-bin/test.pl</code> and return the
+    output. Of course, the file will have to exist, and be
+    executable, and return output in a particular way, or Apache
+    will return an error message.</p>
+
+    <h3><a id="cgioutsideofscriptaliasdirectories"
+    name="cgioutsideofscriptaliasdirectories">CGI outside of
+    ScriptAlias directories</a></h3>
+
+    <p>CGI programs are often restricted to
+    <code>ScriptAlias</code>'ed directories for security reasons.
+    In this way, administrators can tightly control who is allowed
+    to use CGI programs. However, if the proper security
+    precautions are taken, there is no reason why CGI programs
+    cannot be run from arbitrary directories. For example, you may
+    wish to let users have web content in their home directories
+    with the <code>UserDir</code> directive. If they want to have
+    their own CGI programs, but don't have access to the main
+    <code>cgi-bin</code> directory, they will need to be able to
+    run CGI programs elsewhere.</p>
+
+    <h3><a id="explicitlyusingoptionstopermitcgiexecution"
+    name="explicitlyusingoptionstopermitcgiexecution">Explicitly
+    using Options to permit CGI execution</a></h3>
+
+    <p>You could explicitly use the <code>Options</code> directive,
+    inside your main server configuration file, to specify that CGI
+    execution was permitted in a particular directory:</p>
+<pre>
+        &lt;Directory /usr/local/apache/htdocs/somedir&gt;
+                Options +ExecCGI
+        &lt;/Directory&gt;
+</pre>
+
+    <p>The above directive tells Apache to permit the execution of
+    CGI files. You will also need to tell the server what files are
+    CGI files. The following <code>AddHandler</code> directive
+    tells the server to treat all files with the <code>cgi</code>
+    or <code>pl</code> extension as CGI programs:</p>
+<pre>
+     AddHandler cgi-script cgi pl
+</pre>
+
+    <h3><a id="htaccessfiles" name="htaccessfiles">.htaccess
+    files</a></h3>
+
+    <p>A <code>.htaccess</code> file is a way to set configuration
+    directives on a per-directory basis. When Apache serves a
+    resource, it looks in the directory from which it is serving a
+    file for a file called <code>.htaccess</code>, and, if it finds
+    it, it will apply directives found therein.
+    <code>.htaccess</code> files can be permitted with the
+    <code>AllowOverride</code> directive, which specifies what
+    types of directives can appear in these files, or if they are
+    not allowed at all. To permit the directive we will need for
+    this purpose, the following configuration will be needed in
+    your main server configuration:</p>
+<pre>
+        AllowOverride Options
+</pre>
+
+    <p>In the <code>.htaccess</code> file, you'll need the
+    following directive:</p>
+<pre>
+        Options +ExecCGI
+</pre>
+
+    <p>which tells Apache that execution of CGI programs is
+    permitted in this directory.</p>
+    <hr />
+
+    <h2><a id="writingacgiprogram"
+    name="writingacgiprogram">Writing a CGI program</a></h2>
+
+    <p>There are two main differences between ``regular''
+    programming, and CGI programming.</p>
+
+    <p>First, all output from your CGI program must be preceded by
+    a MIME-type header. This is HTTP header that tells the client
+    what sort of content it is receiving. Most of the time, this
+    will look like:</p>
+<pre>
+        Content-type: text/html
+</pre>
+
+    <p>Secondly, your output needs to be in HTML, or some other
+    format that a browser will be able to display. Most of the
+    time, this will be HTML, but occasionally you might write a CGI
+    program that outputs a gif image, or other non-HTML
+    content.</p>
+
+    <p>Apart from those two things, writing a CGI program will look
+    a lot like any other program that you might write.</p>
+
+    <h3><a id="yourfirstcgiprogram" name="yourfirstcgiprogram">Your
+    first CGI program</a></h3>
+
+    <p>The following is an example CGI program that prints one line
+    to your browser. Type in the following, save it to a file
+    called <code>first.pl</code>, and put it in your
+    <code>cgi-bin</code> directory.</p>
+<pre>
+        #!/usr/bin/perl
+        print "Content-type: text/html\r\n\r\n";
+        print "Hello, World.";
+</pre>
+
+    <p>Even if you are not familiar with Perl, you should be able
+    to see what is happening here. The first line tells Apache (or
+    whatever shell you happen to be running under) that this
+    program can be executed by feeding the file to the interpreter
+    found at the location <code>/usr/bin/perl</code>. The second
+    line prints the content-type declaration we talked about,
+    followed by two carriage-return newline pairs. This puts a
+    blank line after the header, to indicate the end of the HTTP
+    headers, and the beginning of the body. The third line prints
+    the string ``Hello, World.'' And that's the end of it.</p>
+
+    <p>If you open your favorite browser and tell it to get the
+    address</p>
+<pre>
+        http://www.example.com/cgi-bin/first.pl
+</pre>
+
+    <p>or wherever you put your file, you will see the one line
+    <code>Hello, World.</code> appear in your browser window. It's
+    not very exciting, but once you get that working, you'll have a
+    good chance of getting just about anything working.</p>
+    <hr />
+
+    <h2><a id="butitsstillnotworking"
+    name="butitsstillnotworking">But it's still not
+    working!</a></h2>
+
+    <p>There are four basic things that you may see in your browser
+    when you try to access your CGI program from the web:</p>
+
+    <dl>
+      <dt>The output of your CGI program</dt>
+
+      <dd>Great! That means everything worked fine.<br />
+      <br />
+      </dd>
+
+      <dt>The source code of your CGI program or a "POST Method Not
+      Allowed" message</dt>
+
+      <dd>That means that you have not properly configured Apache
+      to process your CGI program. Reread the section on <a
+      href="#configuringapachetopermitcgi">configuring Apache</a>
+      and try to find what you missed.<br />
+      <br />
+      </dd>
+
+      <dt>A message starting with "Forbidden"</dt>
+
+      <dd>That means that there is a permissions problem. Check the
+      <a href="#errorlogs">Apache error log</a> and the section
+      below on <a href="#filepermissions">file
+      permissions</a>.<br />
+      <br />
+      </dd>
+
+      <dt>A message saying "Internal Server Error"</dt>
+
+      <dd>If you check the <a href="#errorlogs">Apache error
+      log</a>, you will probably find that it says "Premature end
+      of script headers", possibly along with an error message
+      generated by your CGI program. In this case, you will want to
+      check each of the below sections to see what might be
+      preventing your CGI program from emitting the proper HTTP
+      headers.</dd>
+    </dl>
+
+    <h3><a id="filepermissions" name="filepermissions">File
+    permissions</a></h3>
+
+    <p>Remember that the server does not run as you. That is, when
+    the server starts up, it is running with the permissions of an
+    unprivileged user - usually ``nobody'', or ``www'' - and so it
+    will need extra permissions to execute files that are owned by
+    you. Usually, the way to give a file sufficient permissions to
+    be executed by ``nobody'' is to give everyone execute
+    permission on the file:</p>
+<pre>
+        chmod a+x first.pl
+</pre>
+
+    <p>Also, if your program reads from, or writes to, any other
+    files, those files will need to have the correct permissions to
+    permit this.</p>
+
+    <p>The exception to this is when the server is configured to
+    use <a href="../suexec.html">suexec</a>. This program allows
+    CGI programs to be run under different user permissions,
+    depending on which virtual host or user home directory they are
+    located in. Suexec has very strict permission checking, and any
+    failure in that checking will result in your CGI programs
+    failing with an "Internal Server Error". In this case, you will
+    need to check the suexec log file to see what specific security
+    check is failing.</p>
+
+    <h3><a id="pathinformation" name="pathinformation">Path
+    information</a></h3>
+
+    <p>When you run a program from your command line, you have
+    certain information that is passed to the shell without you
+    thinking about it. For example, you have a path, which tells
+    the shell where it can look for files that you reference.</p>
+
+    <p>When a program runs through the web server as a CGI program,
+    it does not have that path. Any programs that you invoke in
+    your CGI program (like 'sendmail', for example) will need to be
+    specified by a full path, so that the shell can find them when
+    it attempts to execute your CGI program.</p>
+
+    <p>A common manifestation of this is the path to the script
+    interpreter (often <code>perl</code>) indicated in the first
+    line of your CGI program, which will look something like:</p>
+<pre>
+     #!/usr/bin/perl
+</pre>
+
+    <p>Make sure that this is in fact the path to the
+    interpreter.</p>
+
+    <h3><a id="syntaxerrors" name="syntaxerrors">Syntax
+    errors</a></h3>
+
+    <p>Most of the time when a CGI program fails, it's because of a
+    problem with the program itself. This is particularly true once
+    you get the hang of this CGI stuff, and no longer make the
+    above two mistakes. Always attempt to run your program from the
+    command line before you test if via a browser. This will
+    eliminate most of your problems.</p>
+
+    <h3><a id="errorlogs" name="errorlogs">Error logs</a></h3>
+
+    <p>The error logs are your friend. Anything that goes wrong
+    generates message in the error log. You should always look
+    there first. If the place where you are hosting your web site
+    does not permit you access to the error log, you should
+    probably host your site somewhere else. Learn to read the error
+    logs, and you'll find that almost all of your problems are
+    quickly identified, and quickly solved.</p>
+    <hr />
+
+    <h2><a id="whatsgoingonbehindthescenes"
+    name="whatsgoingonbehindthescenes">What's going on behind the
+    scenes?</a></h2>
+
+    <p>As you become more advanced in CGI programming, it will
+    become useful to understand more about what's happening behind
+    the scenes. Specifically, how the browser and server
+    communicate with one another. Because although it's all very
+    well to write a program that prints ``Hello, World.'', it's not
+    particularly useful.</p>
+
+    <h3><a id="environmentvariables"
+    name="environmentvariables">Environment variables</a></h3>
+
+    <p>Environment variables are values that float around you as
+    you use your computer. They are useful things like your path
+    (where the computer searches for a the actual file implementing
+    a command when you type it), your username, your terminal type,
+    and so on. For a full list of your normal, every day
+    environment variables, type <code>env</code> at a command
+    prompt.</p>
+
+    <p>During the CGI transaction, the server and the browser also
+    set environment variables, so that they can communicate with
+    one another. These are things like the browser type (Netscape,
+    IE, Lynx), the server type (Apache, IIS, WebSite), the name of
+    the CGI program that is being run, and so on.</p>
+
+    <p>These variables are available to the CGI programmer, and are
+    half of the story of the client-server communication. The
+    complete list of required variables is at <a
+    href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a></p>
+
+    <p>This simple Perl CGI program will display all of the
+    environment variables that are being passed around. Two similar
+    programs are included in the <code>cgi-bin</code> directory of
+    the Apache distribution. Note that some variables are required,
+    while others are optional, so you may see some variables listed
+    that were not in the official list. In addition, Apache
+    provides many different ways for you to <a
+    href="../env.html">add your own environment variables</a> to
+    the basic ones provided by default.</p>
+<pre>
+     #!/usr/bin/perl
+     print "Content-type: text/html\n\n";
+     foreach $key (keys %ENV) {
+          print "$key --&gt; $ENV{$key}&lt;br&gt;";
+     }
+</pre>
+
+    <h3><a id="stdinandstdout" name="stdinandstdout">STDIN and
+    STDOUT</a></h3>
+
+    <p>Other communication between the server and the client
+    happens over standard input (<code>STDIN</code>) and standard
+    output (<code>STDOUT</code>). In normal everyday context,
+    <code>STDIN</code> means the keyboard, or a file that a program
+    is given to act on, and <code>STDOUT</code> usually means the
+    console or screen.</p>
+
+    <p>When you <code>POST</code> a web form to a CGI program, the
+    data in that form is bundled up into a special format and gets
+    delivered to your CGI program over <code>STDIN</code>. The
+    program then can process that data as though it was coming in
+    from the keyboard, or from a file</p>
+
+    <p>The ``special format'' is very simple. A field name and its
+    value are joined together with an equals (=) sign, and pairs of
+    values are joined together with an ampersand (&amp;).
+    Inconvenient characters like spaces, ampersands, and equals
+    signs, are converted into their hex equivalent so that they
+    don't gum up the works. The whole data string might look
+    something like:</p>
+<pre>
+     name=Rich%20Bowen&amp;city=Lexington&amp;state=KY&amp;sidekick=Squirrel%20Monkey
+</pre>
+
+    <p>You'll sometimes also see this type of string appended to
+    the a URL. When that is done, the server puts that string into
+    the environment variable called <code>QUERY_STRING</code>.
+    That's called a <code>GET</code> request. Your HTML form
+    specifies whether a <code>GET</code> or a <code>POST</code> is
+    used to deliver the data, by setting the <code>METHOD</code>
+    attribute in the <code>FORM</code> tag.</p>
+
+    <p>Your program is then responsible for splitting that string
+    up into useful information. Fortunately, there are libraries
+    and modules available to help you process this data, as well as
+    handle other of the aspects of your CGI program.</p>
+    <hr />
+
+    <h2><a id="cgimoduleslibraries" name="cgimoduleslibraries">CGI
+    modules/libraries</a></h2>
+
+    <p>When you write CGI programs, you should consider using a
+    code library, or module, to do most of the grunt work for you.
+    This leads to fewer errors, and faster development.</p>
+
+    <p>If you're writing CGI programs in Perl, modules are
+    available on <a href="http://www.cpan.org/">CPAN</a>. The most
+    popular module for this purpose is CGI.pm. You might also
+    consider CGI::Lite, which implements a minimal set of
+    functionality, which is all you need in most programs.</p>
+
+    <p>If you're writing CGI programs in C, there are a variety of
+    options. One of these is the CGIC library, from <a
+    href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a></p>
+    <hr />
+
+    <h2><a id="formoreinformation" name="formoreinformation">For
+    more information</a></h2>
+
+    <p>There are a large number of CGI resources on the web. You
+    can discuss CGI problems with other users on the Usenet group
+    comp.infosystems.www.authoring.cgi. And the -servers mailing
+    list from the HTML Writers Guild is a great source of answers
+    to your questions. You can find out more at <a
+    href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a></p>
+
+    <p>And, of course, you should probably read the CGI
+    specification, which has all the details on the operation of
+    CGI programs. You can find the original version at the <a
+    href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a>
+    and there is an updated draft at the <a
+    href="http://web.golux.com/coar/cgi/">Common Gateway Interface
+    RFC project</a>.</p>
+
+    <p>When you post a question about a CGI problem that you're
+    having, whether to a mailing list, or to a newsgroup, make sure
+    you provide enough information about what happened, what you
+    expected to happen, and how what actually happened was
+    different, what server you're running, what language your CGI
+    program was in, and, if possible, the offending code. This will
+    make finding your problem much simpler.</p>
+
+    <p>Note that questions about CGI problems should
+    <strong>never</strong> be posted to the Apache bug database
+    unless you are sure you have found a problem in the Apache
+    source code.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/howto/cgi.html.html b/htdocs/manual/howto/cgi.html.html
new file mode 100644 (file)
index 0000000..a5c802e
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="cgi.html.en" -->
+
diff --git a/htdocs/manual/howto/cgi.html.ja.jis b/htdocs/manual/howto/cgi.html.ja.jis
new file mode 100644 (file)
index 0000000..1523ab2
--- /dev/null
@@ -0,0 +1,550 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache Tutorial: CGI \e$B$K$h$kF0E*%3%s%F%s%D\e(B</title>
+
+  </head>
+  <!-- English revision: 1.8 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">CGI \e$B$K$h$kF0E*%3%s%F%s%D\e(B</h1>
+    <a id="__index__" name="__index__"></a> <!-- INDEX BEGIN -->
+
+
+    <ul>
+      <li><a href="#dynamiccontentwithcgi">CGI
+      \e$B$K$h$kF0E*%3%s%F%s%D\e(B</a></li>
+
+      <li>
+        <a href="#configuringapachetopermitcgi">CGI \e$B$r5v2D$9$k$h$&$K\e(B
+        Apache \e$B$r@_Dj$9$k\e(B</a>
+
+        <ul>
+          <li><a href="#scriptalias">ScriptAlias</a></li>
+
+          <li>
+          <a href="#cgioutsideofscriptaliasdirectories"
+          >ScriptAlias \e$B%G%#%l%/%H%j30$N\e(B CGI</a>
+
+            <ul>
+              <li><a
+              href="#explicitlyusingoptionstopermitcgiexecution">CGI
+              \e$B$N<B9T$r2DG=$K$9$k$?$a$K\e(B Options \e$B$rL@<(E*$K;HMQ$9$k\e(B</a></li>
+
+              <li><a href="#htaccessfiles">.htaccess \e$B%U%!%$%k\e(B</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#writingacgiprogram">CGI \e$B%W%m%0%i%`$r=q$/\e(B</a>
+
+        <ul>
+          <li><a href="#yourfirstcgiprogram">\e$B$"$J$?$N:G=i$N\e(B CGI
+          \e$B%W%m%0%i%`\e(B</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#butitsstillnotworking">\e$B$7$+$7!"$^$@F0$+$J$$\e(B !</a>
+
+
+        <ul>
+          <li><a href="#filepermissions">\e$B%U%!%$%k$N%Q!<%_%C%7%g%s\e(B</a></li>
+
+          <li><a href="#pathinformation">\e$B%Q%9>pJs\e(B</a></li>
+
+          <li><a href="#syntaxerrors">\e$B9=J8%(%i!<\e(B</a></li>
+
+          <li><a href="#errorlogs">\e$B%(%i!<%m%0\e(B</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#whatsgoingonbehindthescenes"
+        >\e$BN"$G2?$,5/$3$C$F$$$k$N$+\e(B?</a>
+
+        <ul>
+          <li><a href="#environmentvariables">\e$B4D6-JQ?t\e(B</a></li>
+
+
+          <li><a href="#stdinandstdout">\e$BI8=`F~=PNO\e(B</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#cgimoduleslibraries">CGI
+      \e$B%b%8%e!<%k\e(B/\e$B%i%$%V%i%j\e(B</a></li>
+
+      <li><a href="#formoreinformation">\e$B99$J$k>pJs\e(B</a></li>
+    </ul>
+
+    <!-- INDEX END -->
+    <hr />
+
+    <h2><a id="dynamiccontentwithcgi" name="dynamiccontentwithcgi">CGI
+    \e$B$K$h$kF0E*%3%s%F%s%D\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="../mod/mod_alias.html">mod_alias</a><br />
+         <a href="../mod/mod_cgi.html">mod_cgi</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a
+        href="../mod/mod_mime.html#addhandler">AddHandler</a><br />
+         <a href="../mod/core.html#options">Options</a><br />
+         <a
+        href="../mod/mod_alias.html#scriptalias">ScriptAlias</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>CGI (Common Gateway Interface) \e$B$O!"%&%'%V%5!<%P$,\e(B
+    \e$B%3%s%F%s%D@8@.$r$9$k30It%W%m%0%i%`$H6(D4$7$FF0:n$9$k$?$a$NJ}K!$r\e(B
+    \e$BDj5A$7$F$$$^$9!#$=$N%W%m%0%i%`$O$7$P$7$P\e(B CGI \e$B%W%m%0%i%`$d\e(B CGI
+    \e$B%9%/%j%W%H$H8F$P$l$^$9!#\e(BCGI \e$B$O!"%&%'%V%5%$%H$KF0E*$J%3%s%F%s%D$r\e(B
+    \e$BCV$/$?$a$N:G$b4JC1$G0lHLE*$JJ}K!$G$9!#$3$N%I%-%e%a%s%H$O!"\e(B
+    Apache \e$B%&%'%V%5!<%P$G\e(B CGI \e$B$r@_Dj$7!"\e(B
+    CGI \e$B%W%m%0%i%`$r=q$-;O$a$k$?$a$NF~Lg=q$H$J$k$G$7$g$&!#\e(B</p>
+    <hr />
+
+    <h2><a id="configuringapachetopermitcgi"
+    name="configuringapachetopermitcgi">CGI \e$B$r5v2D$9$k$h$&$K\e(B
+    Apache \e$B$r@_Dj$9$k\e(B</a></h2>
+
+    <p>CGI \e$B%W%m%0%i%`$r@5$7$/F0:n$5$;$k$K$O!"\e(BCGI \e$B$r5v2D$9$k$h$&$K\e(B
+    Apache \e$B$N@_Dj$r9T$&I,MW$,$"$j$^$9!#\e(B
+    \e$B$3$l$r9T$J$&$?$a$NJ}K!$,$$$/$D$+$"$j$^$9!#\e(B</p>
+
+    <h3><a id="scriptalias" name="scriptalias">ScriptAlias</a></h3>
+
+    <p><code>ScriptAlias</code> \e$B%G%#%l%/%F%#%V$r;HMQ$7$F!"\e(B
+    CGI \e$B%W%m%0%i%`MQ$NFCJL$JJL%G%#%l%/%H%j$r\e(B Apache \e$B$K@_Dj$7$^$9!#\e(B
+    Apache \e$B$O!"$3$N%G%#%l%/%H%jCf$NA4$F$N%U%!%$%k$r\e(B CGI
+    \e$B%W%m%0%i%`$G$"$k$H2>Dj$7$^$9!#$=$7$F!"$3$NFCJL$J%j%=!<%9$,\e(B
+    \e$B%/%i%$%"%s%H$+$iMW5a$5$l$k$H!"$=$N%W%m%0%i%`$N<B9T$r;n$_$^$9!#\e(B</p>
+
+    <p><code>ScriptAlias</code> \e$B%G%#%l%/%F%#%V$O0J2<$N$h$&$K;HMQ$7$^$9\e(B:</p>
+<pre>
+        ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
+</pre>
+
+    <p>\e$B%G%U%)%k%H0LCV$K\e(B Apache \e$B$r%$%s%9%H!<%k$7$?$J$i$P!"\e(B
+    \e$B$3$NNc$O%G%U%)%k%H>uBV$N\e(B <code>httpd.conf</code>
+    \e$B@_Dj%U%!%$%k$K4^$^$l$F$$$^$9!#\e(B<code>ScriptAlias</code>
+    \e$B%G%#%l%/%F%#%V$O!"\e(BURL \e$B$NA0$KIU2C$9$k%G%#%l%/%H%j$rDj5A$9$k\e(B
+    <code>Alias</code> \e$B%G%#%l%/%F%#%V$H$+$J$j;w$F$$$^$9!#\e(B
+    <code>Alias</code> \e$B$H\e(B <code>ScriptAlias</code> \e$B$ODL>o!"\e(B
+    <code>DocumentRoot</code>
+    \e$B%G%#%l%/%H%j30$N%G%#%l%/%H%j$N$?$a$K;HMQ$5$l$^$9!#\e(B
+    <code>Alias</code> \e$B$H\e(B <code>ScriptAlias</code> \e$B$H$N:9$O!"\e(B
+    <code>ScriptAlias</code> \e$B$,@\F,<-$G;O$^$k$9$Y$F$N\e(B URL \e$B$O\e(B CGI
+    \e$B%W%m%0%i%`$H$_$J$5$l$k$H$$$&DI2C$N0UL#$r4^$s$G$$$k$3$H$G$9!#\e(B
+    \e$B=>$C$F!">e5-$NNc$G$O!"\e(B<code>/cgi-bin/</code>
+    \e$B$G;O$^$k%j%=!<%9$X$N$"$i$f$k%j%/%(%9%H$KBP$7$F!"%G%#%l%/%H%j\e(B
+    <code>/usr/local/apache/cgi-bin/</code> \e$B$+$iDs6!$7!"$=$l$i$r\e(B
+    CGI \e$B%W%m%0%i%`$H$7$F07$&$h$&\e(B Apache \e$B$K<($7$^$9!#\e(B</p>
+
+    <p>\e$BNc$($P!"\e(BURL <code>http://dev.rcbowen.com/cgi-bin/test.pl</code>
+    \e$B$,MW5a$5$l$?>l9g!"\e(BApache \e$B$O\e(B \e$B%U%!%$%k\e(B
+    <code>/usr/local/apache/cgi-bin/test.pl</code>
+    \e$B$r<B9T$7!"$=$N=PNO$rJV$9$3$H$r;n$_$^$9!#\e(B
+    \e$B$b$A$m$s!"%U%!%$%k$,B8:_$7!"<B9T2DG=$G$"$j!"\e(B
+    \e$B7h$a$i$l$?J}K!$G=PNO$rJV$7$^$9!#\e(B
+    \e$B$=$&$G$J$1$l$P!"\e(BApache \e$B$O%(%i!<%a%C%;!<%8$rJV$7$^$9!#\e(B</p>
+
+    <h3><a id="cgioutsideofscriptaliasdirectories"
+    name="cgioutsideofscriptaliasdirectories">
+    ScriptAlias \e$B%G%#%l%/%H%j30$N\e(B CGI</a></h3>
+
+    <p>CGI \e$B%W%m%0%i%`$O!"%;%-%e%j%F%#>e$NM}M3$+$i\e(B <code>ScriptAlias</code>
+    \e$B$5$l$?%G%#%l%/%H%j$K@)8B$5$l$k$3$H$,$7$P$7$P$"$j$^$9!#$3$NJ}K!$K$h$j!"\e(B
+    CGI \e$B%W%m%0%i%`$r;HMQ$G$-$k%f!<%6$r4IM}<T$,87$7$/@)8f$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$7$+$7$J$,$i!"E,@Z$J%;%-%e%j%F%#;vA0BP:v$,$H$i$l$k$J$i$P!"\e(BCGI
+    \e$B%W%m%0%i%`$rG$0U$N%G%#%l%/%H%j$G<B9T$G$-$J$$$h$&$K$9$kM}M3$O$"$j$^$;$s!#\e(B
+    \e$BNc$($P!"%f!<%6$K\e(B <code>UserDir</code> \e$B%G%#%l%/%F%#%V$G\e(B
+    \e$BH`$i$N%[!<%`%G%#%l%/%H%jG[2<$K%&%'%V%3%s%F%s%D$r;}$?$;$?$$$H$7$^$9!#\e(B
+    \e$B$b$7!"H`$i$,\e(B CGI \e$B%W%m%0%i%`$r;}$D$3$H$rK>$s$G$$$F$b!"%a%$%s$N\e(B
+    <code>cgi-bin</code> \e$B%G%#%l%/%H%j$X$N%"%/%;%9$,$G$-$J$$>l9g!"\e(BCGI
+    \e$B%W%m%0%i%`$r<B9T$9$k$3$H$,$G$-$kB>$N>l=j$,I,MW$K$J$j$^$9!#\e(B
+    </p>
+
+    <h3><a id="explicitlyusingoptionstopermitcgiexecution"
+    name="explicitlyusingoptionstopermitcgiexecution">
+    CGI \e$B$N<B9T$r2DG=$K$9$k$?$a$K\e(B Options \e$B$rL@<(E*$K;HMQ$9$k\e(B</a></h3>
+
+    <p>\e$B%5!<%P$N%a%$%s$N@_Dj%U%!%$%kCf$G\e(B <code>Options</code>
+    \e$B%G%#%l%/%F%#%V$rL@<(E*$K;HMQ$9$k$3$H$G!"FCDj$N%G%#%l%/%H%jG[2<$G\e(B
+    CGI \e$B$N<B9T$r5v2D$9$k$h$&$K;XDj$9$k$3$H$,$G$-$^$9\e(B:</p>
+<pre>
+        &lt;Directory /usr/local/apache/htdocs/somedir&gt;
+                Options +ExecCGI
+        &lt;/Directory&gt;
+</pre>
+
+    <p>\e$B>e5-%G%#%l%/%F%#%V$O!"\e(BCGI \e$B%U%!%$%k$N<B9T$r2DG=$K$9$k$h$&\e(B Apache
+    \e$B$KEA$($^$9!#$^$?!"$I$N%U%!%$%k$,\e(B CGI \e$B%U%!%$%k$+$r%5!<%P$KEA$($k\e(B
+    \e$BI,MW$,$"$j$^$9!#<!$N\e(B <code>AddHandler</code> \e$B%G%#%l%/%F%#%V$NNc$G$O!"\e(B
+    <code>cgi</code> \e$B$^$?$O\e(B <code>pl</code> \e$B$r3HD%;R$K;}$D$9$Y$F$N%U%!%$%k$r\e(B
+    CGI \e$B%W%m%0%i%`$H$7$F$_$J$9$3$H$r%5!<%P$KEA$($^$9\e(B:</p>
+<pre>
+     AddHandler cgi-script cgi pl
+</pre>
+
+    <h3><a id="htaccessfiles"
+    name="htaccessfiles">.htaccess \e$B%U%!%$%k\e(B</a></h3>
+
+    <p><code>.htaccess</code>
+    \e$B%U%!%$%k$O!"%G%#%l%/%H%jKh$K%G%#%l%/%F%#%V$r;XDj$9$kJ}K!$G$9!#\e(BApache
+    \e$B$O!"%j%=!<%9$rDs6!$9$k$H$-$K!"Ds6!$9$k%U%!%$%k$,CV$+$l$F$$$k%G%#%l%/%H%jCf$N\e(B
+    <code>.htaccess</code> \e$B$H$$$&%U%!%$%k$r;2>H$7$^$9!#$=$N%U%!%$%k$rH/8+$7$?$i!"\e(B
+    \e$B$=$NCf$GH/8+$5$l$?%G%#%l%/%F%#%V$,E,MQ$5$l$^$9!#\e(B<code>.htaccess</code>
+    \e$B%U%!%$%k$O!"\e(B<code>AllowOverride</code> \e$B%G%#%l%/%F%#%V$N;XDj$K$h$j\e(B
+    \e$B;H$($k$h$&$K$J$j$^$9!#\e(B<code>AllowOverride</code>\e$B%G%#%l%/%F%#%V$O!"\e(B
+    <code>.htaccess</code> \e$B%U%!%$%k$G@_Dj$G$-$k%G%#%l%/%F%#%V$N%?%$%W$r;XDj$7$^$9!#\e(B
+    <code>AllowOverride</code> \e$B%G%#%l%/%F%#%V$N;XDj$,$J$$>l9g!"$^$C$?$/;H$($^$;$s!#\e(B
+    CGI \e$B$N<B9T$r5v2D$9$k$?$a$KI,MW$H$J$k%G%#%l%/%F%#%V$r;XDj2DG=$K$9$k$K$O!"\e(B
+    \e$B0J2<$N@_Dj$,%5!<%P$N%a%$%s$N@_Dj$GI,MW$K$J$j$^$9\e(B:</p>
+<pre>
+        AllowOverride Options
+</pre>
+
+    <p><code>.htaccess</code> \e$B%U%!%$%k$G$O!"<!$N%G%#%l%/%F%#%V$,I,MW$H\e(B
+    \e$B$J$j$^$9\e(B:</p>
+<pre>
+        Options +ExecCGI
+</pre>
+
+    <p>\e$B$3$N@_Dj$G$O!"$3$N%G%#%l%/%H%j$K$*$1$k\e(B
+    CGI \e$B%W%m%0%i%`$N<B9T$r5v2D$9$k$h$&\e(B Apache \e$B$KEA$($^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="writingacgiprogram"
+    name="writingacgiprogram">CGI \e$B%W%m%0%i%`$r=q$/\e(B</a></h2>
+
+    <p>\e$BDL>o$N%W%m%0%i%_%s%0$H\e(B
+    CGI \e$B%W%m%0%i%_%s%0$N4V$K$O<g$KFs$D$N0c$$$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B0l$D$O!"\e(BCGI \e$B%W%m%0%i%`$N$9$Y$F$N=PNO$K$O\e(B MIME-type
+    \e$B%X%C%@$rIU$1$J$1$l$P$J$j$^$;$s!#$3$l$O$I$N$h$&$J<oN`$N%3%s%F%s%D\e(B
+    \e$B$r<u$1<h$C$F$$$k$+$r%/%i%$%"%s%H$K<($9\e(B HTTP \e$B%X%C%@$G$9!#\e(B
+    \e$B$[$H$s$I$N>l9g$G$O!"<!$N$h$&$K=PNO$7$^$9\e(B:</p>
+<pre>
+        Content-type: text/html
+</pre>
+
+    <p>\e$B$b$&0l$D$O!"=PNO$r\e(B HTML \e$B$+!"\e(B
+    \e$B%V%i%&%6$,I=<($9$k$3$H$,$G$-$k2?$+B>$N7A<0$K$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$BBgDq$N>l9g$O\e(B HTML \e$B$G$7$g$&$,!"\e(BGIF \e$B%$%a!<%8$dB>$NHs\e(B HTML
+    \e$B%3%s%F%s%D$r=PNO$9$k\e(B CGI \e$B%W%m%0%i%`$r=q$/$3$H$b$"$k$G$7$g$&!#\e(B
+    </p>
+
+    <p>\e$B$3$l$iFsE@0J30$G$O!"\e(BCGI \e$B%W%m%0%i%`$r=q$/$3$H$O!"\e(B
+    \e$B$"$J$?$,=q$$$F$$$kB>$N%W%m%0%i%`$HBg$$$K;w$F$$$k$G$7$g$&!#\e(B</p>
+
+    <h3><a id="yourfirstcgiprogram"
+    name="yourfirstcgiprogram">\e$B$"$J$?$N:G=i$N\e(B CGI \e$B%W%m%0%i%`\e(B</a></h3>
+
+    <p>\e$B<!$K<($9$N$O!"%V%i%&%6$K\e(B 1 \e$B9T0u;z$9$k\e(B CGI \e$B%W%m%0%i%`$NNc$G$9!#\e(B
+    \e$B0J2<$rF~NO$7!"\e(B<code>first.pl</code> \e$B$H$$$&%U%!%$%k$KJ]B8$7!"\e(B
+    \e$B$=$l$r\e(B <code>cgi-bin</code> \e$B%G%#%l%/%H%j$KCV$$$F$/$@$5$$!#\e(B
+    </p>
+<pre>
+        #!/usr/bin/perl
+        print "Content-type: text/html\r\n\r\n";
+        print "Hello, World.";
+</pre>
+
+    <p>Perl \e$B$K@:DL$7$F$$$J$/$F$b!"\e(B
+    \e$B2?$,5/$3$k$+$rM}2r$9$k$3$H$O$G$-$k$O$:$G$9!#\e(B
+    1 \e$B9TL\$O!"\e(B<code>/usr/bin/perl</code> \e$B$G8+$D$1$i$l$k%$%s%?%W%j%?\e(B
+    \e$B$K$3$N%U%!%$%k$r6!5k$9$k$3$H$G$3$N%W%m%0%i%`$,<B9T$5$l$k$3$H$r\e(B
+    Apache \e$B$K\e(B (\e$B%7%'%k>e$G<B9T$7$h$&$H$7$F$$$k$J$i$P!"$=$N%7%'%k$K\e(B )
+    \e$B<($7$^$9!#\e(B2 \e$B9TL\$O!"A0=R$7$?$H$*$j\e(B content-type
+    \e$B$NDj5A$r0u;z$7$^$9!#$3$l$K$OI|5"2~9T$NFs$D$NAH$r8e$KIU2C$7$^$9!#\e(B
+    \e$B$3$l$K$h$j!"%X%C%@$N=*$j$K6u9T$,CV$+$l!"\e(B
+    HTTP \e$B%X%C%@$N=*$j$H%\%G%#$N;O$^$j$r<($7$^$9!#\e(B3 \e$B9TL\$O!"\e(B
+    ``Hello, World.'' \e$B$H$$$&J8;zNs$r0u;z$7!"$3$l$G=*$j$H$J$j$^$9!#\e(B</p>
+
+    <p>\e$B9%$_$N%V%i%&%6$r3+$-!"%"%I%l%9\e(B</p>
+<pre>
+        http://www.example.com/cgi-bin/first.pl
+</pre>
+
+    <p>\e$B$"$k$$$O%U%!%$%k$rCV$$$?%m%1!<%7%g%s$r;XDj$9$k$H!"\e(B
+    <code>Hello, World.</code> \e$B$H$$$&\e(B 1 \e$B9T$,%V%i%&%6%&%#%s%I\e(B
+    \e$B$K8=$l$k$G$7$g$&!#$=$l$O$"$^$j%(%-%5%$%F%#%s%0$J$3$H$G$O$"$j$^$;$s!#\e(B
+    \e$B$7$+$7!"$3$l$,$&$^$/F0$1$P!"\e(B
+    \e$BB>$N$I$N$h$&$J$b$N$G$bF0$+$9$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="butitsstillnotworking"
+    name="butitsstillnotworking">\e$B$7$+$7!"$^$@F0$+$J$$\e(B !</a></h2>
+
+    <p>\e$B%&%'%V$+$i\e(B CGI \e$B%W%m%0%i%`$X$N%"%/%;%9$r9T$J$C$?$H$-!"\e(B
+    \e$B%V%i%&%6$G8+$k2DG=@-$,$"$k;M$D$N4pK\E*$J$3$H$,$"$j$^$9\e(B:</p>
+
+    <dl>
+      <dt>CGI \e$B%W%m%0%i%`$N=PNO\e(B</dt>
+
+      <dd>\e$BAG@2$i$7$$\e(B ! \e$B$=$l$O$9$Y$F$,$&$^$/F0$$$?$3$H$r0UL#$7$^$9!#\e(B<br />
+      <br />
+      </dd>
+
+      <dt>CGI \e$B%W%m%0%i%`$N%=!<%9%3!<%I!"$^$?$O\e(B
+      "POST Method Not Allowed" \e$B$H$$$&%a%C%;!<%8\e(B</dt> 
+
+      <dd>\e$B$3$l$O!"\e(BCGI \e$B%W%m%0%i%`$r=hM}$G$-$k$h$&\e(B
+      Apache \e$B$rE,@Z$K@_Dj$7$F$$$J$+$C$?$3$H$r0UL#$7$^$9!#\e(B
+      <a href="#configuringapachetopermitcgi">\e$B!V\e(BCGI \e$B$r5v2D$9$k$h$&$K\e(B
+      Apache \e$B$r@_Dj$9$k!W\e(B</a>\e$B$N>O$rFI$_D>$7!"\e(B
+      \e$B$"$J$?$,2?$r4V0c$($?$+$rC5$7$F$_$F$/$@$5$$!#\e(B<br />
+      <br />
+      </dd>
+
+      <dt>\e$B%a%C%;!<%8$,\e(B "Forbidden" \e$B$G;O$^$C$F$$$k\e(B</dt>
+
+      <dd>\e$B$3$l$O%Q!<%_%C%7%g%s$NLdBj$H$$$&$3$H$r0UL#$7$^$9!#\e(B
+      <a href="#errorlogs">Apache \e$B$N%(%i!<%m%0\e(B</a>\e$B$H!"8e=R$N\e(B
+      <a href="#filepermissions">\e$B!V%U%!%$%k$N%Q!<%_%C%7%g%s!W\e(B</a>\e$B$N>O$r\e(B
+      \e$B%A%'%C%/$7$F$/$@$5$$!#\e(B<br />
+      <br />
+      </dd>
+
+      <dt>"Internal Server Error" \e$B$H$$$&%a%C%;!<%8\e(B</dt>
+
+      <dd><a href="#errorlogs">Apache \e$B$N%(%i!<%m%0\e(B</a>\e$B$r%A%'%C%/$9$k$H!"\e(B
+      "Premature end of script headers" \e$B$H$$$&%m%0$,5-O?$5$l$F$$$k$H;W$$$^$9!#\e(B
+      \e$B$=$7$F!"$*$=$i$/\e(B CGI \e$B%W%m%0%i%`$K$h$C$F@8@.$5$l$?%(%i!<%a%C%;!<%8\e(B
+      \e$B$b5-O?$5$l$F$$$k$G$7$g$&!#$3$N>l9g!"\e(BCGI \e$B%W%m%0%i%`$,E,@Z$J\e(B
+      HTTP \e$B%X%C%@$r=PNO$G$-$J$$860x$rCN$k$?$a$K!"\e(B
+      \e$B0J2<$N3F>O$G%A%'%C%/$7$F$_$F$/$@$5$$!#\e(B
+      </dd>
+    </dl>
+
+    <h3><a id="filepermissions"
+    name="filepermissions">\e$B%U%!%$%k$N%Q!<%_%C%7%g%s\e(B</a></h3>
+
+    <p>\e$B%5!<%P$O$"$J$?$N8"8B$G<B9T$5$l$F$$$J$$$N$rK:$l$J$$$h$&$K!#\e(B
+    \e$B$D$^$j!"5/F0$9$k$H$-!"%5!<%P$OFC8"$r$b$?$J$$%f!<%6\e(B - \e$BDL>o\e(B
+    ``nobody'' \e$B$d\e(B ``www'' \e$B$N8"8B$G<B9T$5$l$^$9!#$7$?$,$C$F!"\e(B
+    \e$B$"$J$?$,=jM-$9$k%U%!%$%k$r<B9T$9$k$K$OJL$N%Q!<%_%C%7%g%s\e(B
+    \e$B$,I,MW$H$J$j$^$9!#DL>o!"\e(B``nobody'' \e$B$,<B9T$9$k$N$K==J,$J\e(B
+    \e$B%Q!<%_%C%7%g%s$rM?$($kJ}K!$O!"%U%!%$%k$KC/$G$b<B9T2DG=$H$9$k\e(B
+    \e$B%Q!<%_%C%7%g%s$rM?$($k$3$H$G$9\e(B:</p>
+<pre>
+        chmod a+x first.pl
+</pre>
+
+    <p>\e$B$^$?!"$b$7$"$J$?$N%W%m%0%i%`$,B>$N%U%!%$%k$rFI$_=q$-$9$k$J$i$P!"\e(B
+    \e$B$=$l$i$N%U%!%$%k$O!"$3$l$,2DG=$H$J$k@5$7$$%Q!<%_%C%7%g%s\e(B
+    \e$B$r;}$C$F$$$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B$3$l$KBP$9$kNc30$O!"%5!<%P$,\e(B <a href="../suexec.html">suexec</a>
+    \e$B$r;HMQ$9$k$h$&@_Dj$5$l$F$$$k>l9g$G$9!#\e(Bsuexec \e$B$O!"\e(BCGI
+    \e$B%W%m%0%i%`$,CV$+$l$F$$$k%P!<%A%c%k%[%9%H$^$?$O%f!<%6$N\e(B
+    \e$B%[!<%`%G%#%l%/%H%j$K$h$C$F!"0[$J$k%f!<%68"8B$G<B9T$5$l$k$h$&$K$7$^$9!#\e(B
+    suexec \e$B$O$H$F$b87$7$$%Q!<%_%C%7%g%s$N%A%'%C%/$,$"$j!"\e(B
+    \e$B$=$N%A%'%C%/$rDL2a$G$-$J$$$H\e(B "Internal Server Error" \e$B$H$J$j!"$=$N\e(B
+    CGI \e$B%W%m%0%i%`$N<B9T$O<:GT$7$^$9!#\e(B
+    \e$B$3$N>l9g!"$I$N%;%-%e%j%F%#%A%'%C%/$,<:GT$7$F$$$k$N$+$rCN$k$?$a$K\e(B
+    suexec \e$B%m%0%U%!%$%k$r%A%'%C%/$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <h3><a id="pathinformation"
+    name="pathinformation">\e$B%Q%9>pJs\e(B</a></h3>
+
+    <p>\e$B%3%^%s%I%i%$%s$+$i%W%m%0%i%`$r<B9T$9$k$H$-!"\e(B
+    \e$B0U<1$7$J$/$F$b%7%'%k$KEO$5$l$k>pJs$,$"$j$^$9!#\e(B
+    \e$BNc$($P!";2>H$9$k%U%!%$%k$N$?$a$K$I$3$r8!:w$7$?$i$h$$$+$r\e(B
+    \e$B%7%'%k$KEA$($k%Q%9$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B%W%m%0%i%`$,\e(B CGI \e$B%W%m%0%i%`$H$7$F%&%'%V%5!<%P$K$h$C$F<B9T$5$l$k$H$-!"\e(B
+    \e$B$=$l$O%Q%9$r;}$A$^$;$s!#\e(BCGI \e$B%W%m%0%i%`Fb$G8F$S=P$9$"$i$f$k%W%m%0%i%`\e(B
+    (\e$BNc$($P!"\e(B'sendmail' \e$B$N$h$&$J$b$N\e(B) \e$B$O!"%U%k%Q%9$G;XDj$9$kI,MW$,$"$k$G$7$g$&!#\e(B
+    \e$B$=$l$K$h$j!"\e(BCGI \e$B%W%m%0%i%`$r<B9T$7$h$&$H$7$?$H$-!"\e(B
+    \e$B%7%'%k$O$=$N$h$&$J%W%m%0%i%`$r8+$D$1$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BF1MM$J$3$H$O!"%9%/%j%W%H$N%$%s%?%W%j%?\e(B (\e$B$7$P$7$P\e(B <code> perl
+    </code>) \e$B$X$N%Q%9$G!"\e(BCGI \e$B%W%m%0%i%`$N\e(B 1 \e$B9TL\$K<!$N$h$&$K<($5$l$^$9\e(B:</p>
+
+<pre>
+     #!/usr/bin/perl
+</pre>
+
+    <p>\e$B$3$l$,%$%s%?!<%W%j%?$X$N<B:]$N%Q%9$G$"$k$3$H$r3N<B$K$7$F$*$-$^$9!#\e(B</p>
+
+
+    <h3><a id="syntaxerrors"
+    name="syntaxerrors">\e$B9=J8%(%i!<\e(B</a></h3>
+
+    <p>CGI \e$B%W%m%0%i%`$,<:GT$9$k$N$OBgDq!"\e(B
+    \e$B%W%m%0%i%`<+?H$KLdBj$,$"$k>l9g$G$9!#0lEY\e(B CGI \e$B$N;H$$J}$rM}2r$7!"\e(B
+    \e$BA0=R$NFs$D$N8m$j$rHH$7$F$$$J$$$J$i$P!"$^$:4V0c$$$J$/$=$&$G$7$g$&!#\e(B
+    \e$B%V%i%&%6$rDL$7$F%F%9%H$r9T$&A0$KI,$:!"%3%^%s%I%i%$%s$+$i\e(B
+    \e$B%W%m%0%i%`$N<B9T$r;n$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$K$h$j!"BgDq$NLdBj$,5/$3$i$J$/$J$j$^$9!#\e(B</p>
+
+    <h3><a id="errorlogs" name="errorlogs">\e$B%(%i!<%m%0\e(B</a></h3>
+
+    <p>\e$B%(%i!<%m%0$OM'C#$G$9!#A4$F$N$&$^$/$$$+$J$$$3$H$O!"\e(B
+    \e$B%(%i!<%m%0$K%a%C%;!<%8$r@8@.$7$^$9!#I,$:$=$l$r:G=i$K8+$k$Y$-$G$9!#\e(B
+    \e$B$b$7!"$"$J$?$,%&%'%V%5%$%H$r<g:E$7$F$$$k>l=j$,%(%i!<%m%0$N;2>H$r\e(B
+    \e$B5v$7$F$$$J$$$J$i$P!"$-$C$HB>$N%5%$%H$G<g:E$9$k$Y$-$G$9!#\e(B
+    \e$B%(%i!<%m%0$NFI$_J}$r3X$V$3$H$G!"$[$H$s$IA4$F$NLdBj$,?WB.$K3NG'$5$l!"\e(B
+    \e$B?WB.$K2r7h$5$l$k$H$$$&$3$H$,J,$+$k$G$7$g$&!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="whatsgoingonbehindthescenes"
+    name="whatsgoingonbehindthescenes">\e$BN"$G2?$,5/$3$C$F$$$k$N$+\e(B?</a></h2>
+
+
+    <p>CGI \e$B%W%m%0%i%_%s%0$K=OC#$9$k$H!"\e(B
+    \e$BN"$G5/$3$C$F$$$k$3$H$K$D$$$F99$KM}2r$9$k$3$H$OM-1W$K$J$k$G$7$g$&!#\e(B
+    \e$B%V%i%&%6$H%5!<%P$,$I$N$h$&$KAj8_DL?.$9$k$+$K$D$$$F$OFC$K$=$&$G$9!#\e(B
+    \e$B$J$<$J$i!"\e(B``Hello, World.''
+    \e$B$r0u;z$9$k%W%m%0%i%`$r=q$/$3$H$O$^$3$H$K7k9=$G$9$,!"\e(B
+    \e$B$=$l$OFC$KM-1W$G$O$"$j$^$;$s!#\e(B</p>
+
+    <h3><a id="environmentvariables"
+    name="environmentvariables">\e$B4D6-JQ?t\e(B</a></h3>
+
+    <p>\e$B4D6-JQ?t$O!"$"$J$?$,%3%s%T%e!<%?$r;H$&$H$-$KJU$j$KB8:_$7$F$$$kCM$G$9!#\e(B
+    \e$B$=$l$i$O!"%Q%9\e(B
+    (\e$B%3%^%s%I$r%?%$%W$7$?$H$-$K<B9T$9$k<B:]$N%U%!%$%k$rC5$7=P$9$H$3$m\e(B)\e$B!"\e(B
+    \e$B%f!<%6L>!"C<Kv7?$J$I$N$h$&$JJXMx$J$b$N$G$9!#\e(B
+    \e$BDL>o$N!"KhF|$N4D6-JQ?t$N40A4$J%j%9%H$rD4$Y$k$K$O!"\e(B
+    \e$B%3%^%s%I%W%m%s%W%H$G\e(B <code>env</code> \e$B$rF~NO$7$^$9!#\e(B</p>
+
+    <p>CGI \e$B$N=hM}Cf!"%5!<%P$H%V%i%&%6$b4D6-JQ?t$r@_Dj$7!"\e(B
+    \e$B$=$l$K$h$jAj8_$KDL?.$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B
+    \e$B$=$N4D6-JQ?t$O!"%V%i%&%6%?%$%W\e(B (Netscape, IE, Lynx)\e$B!"\e(B
+    \e$B%5!<%P%?%$%W\e(B (Apache, IIS, WebSite)\e$B!"<B9T$5$l$F$$$k\e(B
+    CGI \e$B%W%m%0%i%`$NL>A0$J$I$N$h$&$J$b$N$G$9!#\e(B</p>
+
+    <p>\e$B$3$l$i$NJQ?t$O\e(B CGI \e$B%W%m%0%i%^$,;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$=$7$F!"$=$l$O%/%i%$%"%s%H$H%5!<%P$NDL?.$NOC$NH>J,$G$9!#\e(B
+    \e$BI,MW$JJQ?t$N40A4$J%j%9%H$O\e(B <a
+    href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html"
+    >http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a> \e$B$K$"$j$^$9!#\e(B</p>
+
+    <p>\e$B0J2<$NC1=c$J\e(B Perl CGI \e$B%W%m%0%i%`$O!"\e(B
+    \e$BEO$5$l$kA4$F$N4D6-JQ?t$rI=<($7$^$9!#F1MM$N%W%m%0%i%`$O!"\e(B
+    Apache \e$B%G%#%9%H%j%S%e!<%7%g%s$N\e(B <code>cgi-bin</code>
+    \e$B%G%#%l%/%H%j$KFs$D4^$^$l$F$$$^$9!#$$$/$D$+$NJQ?t$,I,?\$G$"$j!"\e(B
+    \e$B$$$/$D$+$OG$0U$G$"$k$3$H$KCm0U$7$F$/$@$5$$!#$=$7$F!"\e(B
+    \e$B8x<0$N%j%9%H$K$O$J$$$$$/$D$+$NJQ?t$,I=<($5$l$F$$$k$+$b$7$l$^$;$s!#\e(B
+    \e$B$5$i$K!"\e(BApache \e$B$O%G%U%)%k%H$GMQ0U$5$l$F$$$k4pK\E*$J$b$N$K\e(B
+    <a href="../env.html">\e$B$"$J$?<+?H$N4D6-JQ?t$r2C$($k\e(B</a>\e$B$?$a$N!"\e(B
+    \e$BB?$/$N0[$J$kJ}K!$rMQ0U$7$F$7$^$9!#\e(B</p>
+<pre>
+     #!/usr/bin/perl
+     print "Content-type: text/html\n\n";
+     foreach $key (keys %ENV) {
+          print "$key --&gt; $ENV{$key}&lt;br&gt;";
+     }
+</pre>
+
+    <h3><a id="stdinandstdout" name="stdinandstdout">STDIN \e$B$H\e(B
+    STDOUT</a></h3>
+
+    <p>\e$B%5!<%P$H%/%i%$%"%s%H4V$N$b$&0l$D$NDL?.$O!"I8=`F~NO\e(B
+    (<code>STDIN</code>)\e$B$HI8=`=PNO\e(B (<code>STDOUT</code>)
+    \e$B$rDL$8$F9T$J$o$l$^$9!#DL>o$NJ8L.$K$*$$$F!"\e(B<code>STDIN</code>
+    \e$B$O%-!<%\!<%I$d%W%m%0%i%`$,F0:n$9$k$?$a$KM?$($i$l$k%U%!%$%k$r0UL#$7!"\e(B
+    <code>STDOUT</code> \e$B$ODL>o%3%s%=!<%k$^$?$O%9%/%j!<%s$r0UL#$7$^$9!#\e(B
+    </p>
+
+    <p>\e$B%&%'%V%U%)!<%`$+$i\e(B CGI \e$B%W%m%0%i%`$X\e(B<code>POST</code> \e$B$7$?$H$-!"\e(B
+    \e$B%U%)!<%`$N%G!<%?$OFCJL$J%U%)!<%^%C%H$GB+$M$i$l!"\e(B<code>STDIN</code>
+    \e$B$rDL$7$F!"\e(BCGI \e$B%W%m%0%i%`$K0z$-EO$5$l$^$9!#\e(B
+    \e$B%W%m%0%i%`$O%G!<%?$,%-!<%\!<%I$b$7$/$O%U%!%$%k\e(B
+    \e$B$+$iMh$F$$$?$+$N$h$&$K=hM}$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B!VFCJL$J%U%)!<%^%C%H!W$O$H$F$bC1=c$G$9!#%U%#!<%k%IL>$HCM$O\e(B
+    \e$B%$%3!<%k\e(B (=) \e$B$G7k$P$l$^$9!#$=$7$FCM$NAH$O%"%s%Q%5%s%I\e(B (&amp;)
+    \e$B$G7k$P$l$^$9!#%9%Z!<%9!"%"%s%Q%5%s%I!"%$%3!<%k$N$h$&$JLLE]$JJ8;z$O!"\e(B
+    \e$B$=$l$i$,F0:n$rBLL\$K$7$J$$$h$&$K$=$NJ8;z$KAjEv$9$k\e(B
+    16 \e$B?J$KJQ49$5$l$^$9!#A4%G!<%?J8;zNs$O!"0J2<$N$h$&$K$J$j$^$9\e(B:
+    </p>
+
+<pre>
+     name=Rich%20Bowen&amp;city=Lexington&amp;state=KY&amp;sidekick=Squirrel%20Monkey
+</pre>
+
+    <p>\e$B;~!9!"$3$N$h$&$JJ8;zNs$,\e(B URL \e$B$KIU2C$5$l$k$N$r8+$k$G$7$g$&!#\e(B
+    \e$B$=$N>l9g!"%5!<%P$O\e(B <code>QUERY_STRING</code>
+    \e$B$H$$$&4D6-JQ?t$K$=$NJ8;zNs$rF~$l$^$9!#$=$l$O\e(B <code>GET</code>
+    \e$B%j%/%(%9%H$H8F$P$l$^$9!#\e(BHTML \e$B%U%)!<%`$G$O!"%G!<%?$rEO$9$?$a$K\e(B
+    <code>GET</code> \e$B$H\e(B <code>POST</code> \e$B$N$I$A$i$r;HMQ$9$k$+$r!"\e(B
+    <code>FORM</code>\e$B%?%0$N\e(B <code>METHOD</code>
+    \e$BB0@-$N@_Dj$G;XDj$7$^$9!#\e(B</p>
+
+    <p>CGI \e$B%W%m%0%i%`$O!"$=$NJ8;zNs$rLr$KN)$D>pJs$KJ,3d$9$k@UG$$,$"$j$^$9!#\e(B
+    \e$B9,$$$K$b!"$=$N%G!<%?=hM}$r=u$1$k%i%$%V%i%j$d%b%8%e!<%k$,B8:_$7$^$9!#\e(B
+    \e$B$3$l$i$O!"\e(BCGI \e$B%W%m%0%i%`$NB>$NLL$G$bF1MM$KLr$KN)$A$^$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="cgimoduleslibraries"
+    name="cgimoduleslibraries">CGI \e$B%b%8%e!<%k\e(B/\e$B%i%$%V%i%j\e(B</a></h2>
+
+    <p>CGI \e$B%W%m%0%i%`$r=q$/$H$-!"LLE]$J;E;v$NBgItJ,$r$7$F$/$l$k\e(B
+    \e$B%3!<%I%i%$%V%i%j$^$?$O%b%8%e!<%k$r;H$&$3$H$r8!F$$9$Y$-$G$9!#\e(B
+    \e$B$3$l$O%(%i!<$r8:$i$7!"Aa$$3+H/$K$D$J$,$j$^$9!#\e(B</p>
+
+    <p>Perl \e$B$G\e(B CGI \e$B%W%m%0%i%`$r=q$$$F$$$k$J$i!"%b%8%e!<%k$O\e(B
+    <a href="http://www.cpan.org/">CPAN</a> \e$B$GDs6!$5$l$F$$$^$9!#\e(B
+    \e$B$3$NL\E*$N$?$a$N:G$bIa5Z$7$F$$$k%b%8%e!<%k$O\e(B CGI.pm \e$B$G$9!#\e(B
+    CGI::Lite \e$B$b8!F$$7$^$7$g$&!#$3$l$O!"$[$H$s$I$N%W%m%0%i%`\e(B
+    \e$B$K$*$$$FI,MW$H$9$k$9$Y$F$N5!G=$N:G>.%;%C%H$N<BAu$G$9!#\e(B</p>
+
+    <p>C \e$B$G\e(B CGI \e$B%W%m%0%i%`$r=q$$$F$$$k$J$i!"$$$m$$$m$J%*%W%7%g%s$,$"$j$^$9!#\e(B
+    \e$B$3$l$i$NFb$N0l$D$O\e(B <a href="http://www.boutell.com/cgic/"
+    >http://www.boutell.com/cgic/</a> \e$B$GDs6!$5$l$F$$$k\e(B CGIC \e$B%i%$%V%i%j$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="formoreinformation"
+    name="formoreinformation">\e$B99$J$k>pJs\e(B</a></h2>
+
+    <p>CGI \e$B$K4X$9$k>pJs$O%&%'%V$G?tB?$/Ds6!$5$l$F$$$^$9!#\e(B
+    CGI \e$B$NLdBj$K$D$$$F$O\e(B Usenet \e$B$N\e(B comp.infosystems.www.authoring.cgi
+    \e$B$G!"B>$N%f!<%6$HO@5D$9$k$3$H$,$G$-$^$9!#\e(BHTML Writers Guide \e$B$N\e(B -servers
+    \e$B%a!<%j%s%0%j%9%H$O!"$"$J$?$N<ALd$K2sEz$7$F$/$l$k0NBg$J%j%=!<%9$G$9!#\e(B
+    <a href="http://www.hwg.org/lists/hwg-servers/"
+    >http://www.hwg.org/lists/hwg-servers/</a> \e$B$G99$KB?$/$rC5$7=P$9$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$=$7$F$b$A$m$s!"$*$=$i$/\e(B CGI
+    \e$B%W%m%0%i%`$NF0:n$K4X$9$k>\:Y$NA4$F$,5-=R$5$l$F$$$k\e(B CGI
+    \e$B$N;EMM$rFI$`$Y$-$G$9!#%*%j%8%J%k%P!<%8%g%s$r\e(B <a
+    href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> \e$B$G!"\e(B
+    \e$B%"%C%W%G!<%H$5$l$?%I%i%U%H$r\e(B <a
+    href="http://web.golux.com/coar/cgi/">Common Gateway Interface RFC
+    \e$B%W%m%8%'%/%H\e(B</a>\e$B$G;2>H$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>CGI \e$B$NLdBj$K$D$$$F!"\e(B
+    \e$B2C$o$C$F$$$k%a!<%j%s%0%j%9%H$^$?$O%K%e!<%9%0%k!<%W$K<ALd$rAw$k$H$-!"\e(B
+    \e$B5/$3$C$?$b$N!"5/$3$C$F$[$7$$$3$H!"<B:]$K5/$3$C$?$3$H$,$I$&0c$&$+!"\e(B
+    \e$B;HMQ$7$F$$$k%5!<%P!"\e(BCGI
+    \e$B%W%m%0%i%`$r5-=R$7$F$$$k8@8l$K4X$9$k==J,$J>pJs$H!"\e(B
+    \e$B2DG=$G$"$l$PLdBj$N%3!<%I$rDs6!$9$k$h$&$K$7$F$/$@$5$$!#\e(B
+    \e$B$=$&$9$k$3$H$G!"LdBj$,$h$j4VC1$K8+$D$+$k$h$&$K$J$j$^$9!#\e(B</p>
+
+    <p>Apache
+    \e$B$N%=!<%9%3!<%I$K$*$$$FLdBj$rH/8+$7$?$3$H$r3N?.$7$F$$$J$$8B$j!"\e(B
+    CGI \e$B$NLdBj$K4X$9$k<ALd$r\e(B Apache
+    \e$B%P%0%G!<%?%Y!<%9$KAw$k$Y$-$G$J$$$3$H$KCmL\$7$F$/$@$5$$!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/howto/footer.html b/htdocs/manual/howto/footer.html
new file mode 100644 (file)
index 0000000..10a731d
--- /dev/null
@@ -0,0 +1,6 @@
+    <hr />
+
+    <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+    <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+    <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
diff --git a/htdocs/manual/howto/header.html b/htdocs/manual/howto/header.html
new file mode 100644 (file)
index 0000000..272a770
--- /dev/null
@@ -0,0 +1,6 @@
+    <div align="CENTER">
+      <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server Version 1.3</h3>
+    </div>
+
diff --git a/htdocs/manual/howto/htaccess.html b/htdocs/manual/howto/htaccess.html
new file mode 100755 (executable)
index 0000000..794e5bb
--- /dev/null
@@ -0,0 +1,416 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Tutorial: .htaccess files</title>
+  </head>
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+  alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER"><code>.htaccess</code> files</h1>
+    <!-- INDEX BEGIN -->
+
+    <ul>
+      <li><a href="#what">What they are/How to use them</a></li>
+
+      <li><a href="#when">When (not) to use <code
+      class="file">.htaccess</code></a> files</li>
+
+      <li><a href="#how">How directives are applied</a></li>
+
+      <li><a href="#auth">Authentication example</a></li>
+
+      <li><a href="#ssi">Server side includes example</a></li>
+
+      <li><a href="#cgi">CGI example</a></li>
+
+      <li><a href="#troubleshoot">Troubleshooting</a></li>
+    </ul>
+    <!-- Index End -->
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <code><a href="../mod/core.html">core</a></code><br />
+         <code><a href="../mod/mod_auth.html">mod_auth</a></code><br />
+         <code><a href="../mod/mod_cgi.html">mod_cgi</a></code><br />
+         <code><a href="../mod/mod_include.html">mod_include</a><br />
+        </code> <a href="../mod/mod_mime.html">mod_mine</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <code><a
+        href="../mod/core.html#accessfilename">AccessFileName</a></code><br />
+         <code><a
+        href="../mod/core.html#allowoverride">AllowOverride</a></code><br />
+         <code><a href="../mod/core.html#options">Options</a></code><br />
+         <code><a
+        href="../mod/mod_mime.html#addhandler">AddHandler</a></code><br />
+         <code><a
+        href="../mod/mod_mime.html#sethandler">SetHandler</a></code><br />
+         <code><a
+        href="../mod/core.html#authtype">AuthType</a></code><br />
+         <code><a
+        href="../mod/core.html#authname">AuthName</a></code><br />
+         <code><a
+        href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code><br />
+         <code><a
+        href="../mod/mod_auth.html#authuserfile">AuthGroupFile</a></code><br />
+         <code><a href="../mod/core.html#require">Require</a></code><br />
+         </td>
+      </tr>
+    </table>
+    <hr />
+
+    <h2><a id="what" name="what">What they are/How to use them</a></h2>
+
+    <p><code>.htaccess</code> files (or "distributed configuration files")
+    provide a way to make configuration changes on a per-directory basis. A
+    file, containing one or more configuration directives, is placed in a
+    particular document directory, and the directives apply to that
+    directory, and all subdirectories thereof.</p>
+
+    <p>Note: If you want to call your <code>.htaccess</code> file something
+    else, you can change the name of the file using the <code><a
+    href="../mod/core.html#accessfilename">AccessFileName</a></code>
+    directive. For example, if you would rather call the file
+    <code>.config</code> then you can put the following in your server
+    configuration file:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>AccessFileName .config</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>What you can put in these files is determined by the <code><a
+    href="../mod/core.html#allowoverride">AllowOverride</a></code>
+    directive. This directive specifies, in categories, what directives
+    will be honored if they are found in a <code>.htaccess</code> file. If
+    a directive is permitted in a <code>.htaccess</code> file, the
+    documentation for that directive will contain an Override section,
+    specifying what value must be in <code>AllowOverride</code> in order
+    for that directive to be permitted.</p>
+
+    <p>For example, if you look at the documentation for the <a
+    href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a>
+    directive, you will find that it is permitted in <code>.htaccess</code>
+    files. (See the Context line in the directive summary.) The <a
+    href="../mod/directive-dict.html#Context">Override</a> line reads
+    "<code>FileInfo</code>". Thus, you must have at least
+    "<code>AllowOverride FileInfo</code>" in order for this directive to be
+    honored in <code>.htaccess</code> files.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+      <table>
+        <tr>
+          <td><a
+          href="../mod/directive-dict.html#Context">Context:</a></td>
+
+          <td>server config, virtual host, directory, .htaccess</td>
+        </tr>
+
+        <tr>
+          <td><a
+          href="../mod/directive-dict.html#Override">Override:</a></td>
+
+          <td>FileInfo</td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>If you are unsure whether a particular directive is permitted in a
+    <code>.htaccess</code> file, look at the documentation for that
+    directive, and check the Context line for ".htaccess."</p>
+
+    <h2><a id="when" name="when">When (not) to use .htaccess files</a></h2>
+
+    <p>In general, you should never use <code>.htaccess</code> files unless
+    you don't have access to the main server configuration file. There is,
+    for example, a prevailing misconception that user authentication should
+    always be done in <code>.htaccess</code> files. This is simply not the
+    case. You can put user authentication configurations in the main server
+    configuration, and this is, in fact, the preferred way to do
+    things.</p>
+
+    <p><code>.htaccess</code> files should be used in a case where the
+    content providers need to make configuration changes to the server on a
+    per-directory basis, but do not have root access on the server system.
+    In the event that the server administrator is not willing to make
+    frequent configuration changes, it might be desirable to permit
+    individual users to make these changes in <code>.htaccess</code> files
+    for themselves. This is particularly true, for example, in cases where
+    ISPs are hosting multiple user sites on a single machine, and want
+    their users to be able to alter their configuration.</p>
+
+    <p>However, in general, use of <code>.htaccess</code> files should be
+    avoided when possible. Any configuration that you would consider
+    putting in a <code>.htaccess</code> file, can just as effectively be
+    made in a <a href="../mod/core.html#directory">&lt;Directory&gt;</a>
+    section in your main server configuration file.</p>
+
+    <p>There are two main reasons to avoid the use of
+    <code>.htaccess</code> files.</p>
+
+    <p>The first of these is performance. When <code>AllowOverride</code>
+    is set to allow the use of <code>.htaccess</code> files, Apache will
+    look in every directory for <code>.htaccess</code> files. Thus,
+    permitting <code>.htaccess</code> files causes a performance hit,
+    whether or not you actually even use them! Also, the
+    <code>.htaccess</code> file is loaded every time a document is
+    requested.</p>
+
+    <p>Further note that Apache must look for <code>.htaccess</code> files
+    in all higher-level directories, in order to have a full complement of
+    directives that it must apply. (See section on <a href="#how">how
+    directives are applied</a>.) Thus, if a file is requested out of a
+    directory <code>/www/htdocs/example</code>, Apache must look for the
+    following files:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>/.htaccess<br />
+           /www/.htaccess<br />
+           /www/htdocs/.htaccess<br />
+           /www/htdocs/example/.htaccess</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>And so, for each file access out of that directory, there are 4
+    additional file-system accesses, even if none of those files are
+    present. (Note that this would only be the case if .htaccess files were
+    enabled for /, which is not usually the case.)</p>
+
+    <p>The second consideration is one of security. You are permitting
+    users to modify server configuration, which may result in changes over
+    which you have no control. Carefully consider whether you want to give
+    your users this privilege.</p>
+
+    <p>Note that it is completely equivalent to put a .htaccess file in a
+    directory <code>/www/htdocs/example</code> containing a directive, and
+    to put that same directive in a Directory section <code>&lt;Directory
+    /www/htdocs/example&gt;</code> in your main server configuration:</p>
+
+    <p><code>.htaccess</code> file in <code>/www/htdocs/example</code>:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>AddType text/example .exm</code>
+          </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p><code>httpd.conf</code></p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>&lt;Directory
+          /www/htdocs/example&gt;<br />
+           AddType text/example .exm<br />
+           &lt;/Directory&gt;</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>However, putting this configuration in your server configuration
+    file will result in less of a performance hit, as the configuration is
+    loaded once when Apache starts, rather than every time a file is
+    requested.</p>
+
+    <p>The use of <code>.htaccess</code> files can be disabled completely
+    by setting the <code>AllowOverride</code> directive to "none"</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>AllowOverride None</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <h2><a id="how" name="how">How directives are applied</a></h2>
+
+    <p>The configuration directives found in a <code>.htaccess</code> file
+    are applied to the directory in which the <code>.htaccess</code> file
+    is found, and to all subdirectories thereof. However, it is important
+    to also remember that there may have been <code>.htaccess</code> files
+    in directories higher up. Directives are applied in the order that they
+    are found. Therefore, a <code>.htaccess</code> file in a particular
+    directory may override directives found in <code>.htaccess</code> files
+    found higher up in the directory tree. And those, in turn, may have
+    overridden directives found yet higher up, or in the main server
+    configuration file itself.</p>
+
+    <p>Example:</p>
+
+    <p>In the directory <code>/www/htdocs/example1</code> we have a
+    <code>.htaccess</code> file containing the following:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>Options +ExecCGI</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>(Note: you must have "<code>AllowOverride Options</code>" in effect
+    to permit the use of the "<code><a
+    href="../mod/core.html#options">Options</a></code>" directive in
+    <code>.htaccess</code> files.)</p>
+
+    <p>In the directory <code>/www/htdocs/example1/example2</code> we have
+    a <code>.htaccess</code> file containing:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>Options Includes</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>Because of this second <code>.htaccess</code> file, in the directory
+    <code>/www/htdocs/example1/example2</code>, CGI execution is not
+    permitted, as only <code>Options Includes</code> is in effect, which
+    completely overrides any earlier setting that may have been in
+    place.</p>
+
+    <h2><a id="auth" name="auth">Authentication example</a></h2>
+
+    <p>If you jumped directly to this part of the document to find out how
+    to do authentication, it is important to note one thing. There is a
+    common misconception that you are required to use
+    <code>.htaccess</code> files in order to implement password
+    authentication. This is not the case. Putting authentication directives
+    in a <code>&lt;Directory&gt;</code> section, in your main server
+    configuration file, is the preferred way to implement this, and
+    <code>.htaccess</code> files should be used only if you don't have
+    access to the main server configuration file. See above for a
+    discussion of when you should and should not use <code>.htaccess</code>
+    files.</p>
+
+    <p>Having said that, if you still think you need to use a
+    <code>.htaccess</code> file, you may find that a configuration such as
+    what follows may work for you.</p>
+
+    <p>You must have "<code>AllowOverride AuthConfig</code>" in effect for
+    these directives to be honored.</p>
+
+    <p><code>.htaccess</code> file contents:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>AuthType Basic<br />
+           AuthName "Password Required"<br />
+           AuthUserFile /www/passwords/password.file<br />
+           AuthGroupFile /www/passwords/group.file<br />
+           Require Group admins</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>Note that <code>AllowOverride AuthConfig</code> must be in effect
+    for these directives to have any effect.</p>
+
+    <p>Please see the <a href="auth.html">authentication tutorial</a> for a
+    more complete discussion of authentication and authorization.</p>
+
+    <h2><a id="ssi" name="ssi">Server side includes example</a></h2>
+
+    <p>Another common use of <code>.htaccess</code> files is to enable
+    Server Side Includes for a particular directory. This may be done with
+    the following configuration directives, placed in a
+    <code>.htaccess</code> file in the desired directory:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>Options +Includes<br />
+           AddType text/html shtml<br />
+           AddHandler server-parsed shtml</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>Note that <code>AllowOverride Options</code> and <code>AllowOverride
+    FileInfo</code> must both be in effect for these directives to have any
+    effect.</p>
+
+    <p>Please see the <a href="ssi.html">SSI tutorial</a> for a more
+    complete discussion of server-side includes.</p>
+
+    <h2><a id="cgi" name="cgi">CGI example</a></h2>
+
+    <p>Finally, you may wish to use a <code>.htaccess</code> file to permit
+    the execution of CGI programs in a particular directory. This may be
+    implemented with the following configuration:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>Options +ExecCGI<br />
+           AddHandler cgi-script cgi pl</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>Alternately, if you wish to have all files in the given directory be
+    considered to be CGI programs, this may be done with the following
+    configuration:</p>
+
+    <blockquote>
+      <table cellpadding="10">
+        <tr>
+          <td bgcolor="#eeeeee"><code>Options +ExecCGI<br />
+           SetHandler cgi-script</code> </td>
+        </tr>
+      </table>
+    </blockquote>
+
+    <p>Note that <code>AllowOverride Options</code> must be in effect for
+    these directives to have any effect.</p>
+
+    <p>Please see the <a href="cgi.html">CGI tutorial</a> for a more
+    complete discussion of CGI programming and configuration.</p>
+
+    <h2><a id="troubleshoot" name="troubleshoot">Troubleshooting</a></h2>
+
+    <p>When you put configuration directives in a <code>.htaccess</code>
+    file, and you don't get the desired effect, there are a number of
+    things that may be going wrong.</p>
+
+    <p>Most commonly, the problem is that <code><a
+    href="../mod/core.html#allowoverride">AllowOverride</a></code> is not
+    set such that your configuration directives are being honored. Make
+    sure that you don't have a <code>AllowOverride None</code> in effect
+    for the file scope in question. A good test for this is to put garbage
+    in your <code>.htaccess</code> file and reload. If a server error is
+    not generated, then you almost certainly have <code>AllowOverride
+    None</code> in effect.</p>
+
+    <p>If, on the other hand, you are getting server errors when trying to
+    access documents, check your Apache error log. It will likely tell you
+    that the directive used in your .htaccess file is not permitted.
+    Alternately, it may tell you that you had a syntax error, which you
+    will then need to fix.</p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/howto/ssi.html.en b/htdocs/manual/howto/ssi.html.en
new file mode 100644 (file)
index 0000000..78c2e68
--- /dev/null
@@ -0,0 +1,548 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Tutorial: Introduction to Server Side
+    Includes</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Tutorial: Introduction to Server Side
+    Includes</h1>
+    <a id="__index__" name="__index__"></a> <!-- INDEX BEGIN -->
+     
+
+    <ul>
+      <li><a
+      href="#apachetutorial:introductiontoserversideincludes">Apache
+      Tutorial: Introduction to Server Side Includes</a></li>
+
+      <li><a href="#whataressi">What are SSI?</a></li>
+
+      <li><a href="#configuringyourservertopermitssi">Configuring
+      your server to permit SSI</a></li>
+
+      <li>
+        <a href="#basicssidirectives">Basic SSI directives</a> 
+
+        <ul>
+          <li><a href="#today'sdate">Today's date</a></li>
+
+          <li><a href="#modificationdateofthefile">Modification
+          date of the file</a></li>
+
+          <li><a href="#includingtheresultsofacgiprogram">Including
+          the results of a CGI program</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#additionalexamples">Additional examples</a> 
+
+        <ul>
+          <li><a href="#whenwasthisdocumentmodified">When was this
+          document modified?</a></li>
+
+          <li><a href="#includingastandardfooter">Including a
+          standard footer</a></li>
+
+          <li><a href="#whatelsecaniconfig">What else can I
+          config?</a></li>
+
+          <li><a href="#executingcommands">Executing
+          commands</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#advancedssitechniques">Advanced SSI
+        techniques</a> 
+
+        <ul>
+          <li><a href="#settingvariables">Setting
+          variables</a></li>
+
+          <li><a href="#conditionalexpressions">Conditional
+          expressions</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#conclusion">Conclusion</a></li>
+    </ul>
+    <!-- INDEX END -->
+    <hr />
+
+    <h2><a id="apachetutorial:introductiontoserversideincludes"
+    name="apachetutorial:introductiontoserversideincludes">Apache
+    Tutorial: Introduction to Server Side Includes</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="../mod/mod_include.html">mod_include</a><br />
+         <a href="../mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="../mod/mod_expires.html">mod_expires</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="../mod/core.html#options">Options</a><br />
+         <a
+        href="../mod/mod_include.html#xbithack">XBitHack</a><br />
+         <a href="../mod/mod_mime.html#addtype">AddType</a><br />
+         <a
+        href="../mod/mod_mime.html#addhandler">AddHandler</a><br />
+         <a
+        href="../mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>This article deals with Server Side Includes, usually called
+    simply SSI. In this article, I'll talk about configuring your
+    server to permit SSI, and introduce some basic SSI techniques
+    for adding dynamic content to your existing HTML pages.</p>
+
+    <p>In the latter part of the article, we'll talk about some of
+    the somewhat more advanced things that can be done with SSI,
+    such as conditional statements in your SSI directives.</p>
+    <hr />
+
+    <h2><a id="whataressi" name="whataressi">What are SSI?</a></h2>
+
+    <p>SSI (Server Side Includes) are directives that are placed in
+    HTML pages, and evaluated on the server while the pages are
+    being served. They let you add dynamically generated content to
+    an existing HTML page, without having to serve the entire page
+    via a CGI program, or other dynamic technology.</p>
+
+    <p>The decision of when to use SSI, and when to have your page
+    entirely generated by some program, is usually a matter of how
+    much of the page is static, and how much needs to be
+    recalculated every time the page is served. SSI is a great way
+    to add small pieces of information, such as the current time.
+    But if a majority of your page is being generated at the time
+    that it is served, you need to look for some other
+    solution.</p>
+    <hr />
+
+    <h2><a id="configuringyourservertopermitssi"
+    name="configuringyourservertopermitssi">Configuring your server
+    to permit SSI</a></h2>
+
+    <p>To permit SSI on your server, you must have <a
+    href="../mod/mod_include.html">mod_include</a> installed and
+    enabled. Additionally, you must have the following
+    directive either in your <code>httpd.conf</code> file, or in a
+    <code>.htaccess</code> file:</p>
+<pre>
+        Options +Includes
+</pre>
+
+    <p>This tells Apache that you want to permit files to be parsed
+    for SSI directives.  Note that most configurations contain 
+    multiple <a href="../mod/core.html#options">Options</a> directives
+    that can override each other.  You will probably need to apply the
+    <code>Options</code> to the specific directory where you want SSI
+    enabled in order to assure that it gets evaluated last.</p>
+
+    <p>Not just any file is parsed for SSI directives. You have to
+    tell Apache which files should be parsed. There are two ways to
+    do this. You can tell Apache to parse any file with a
+    particular file extension, such as <code>.shtml</code>, with
+    the following directives:</p>
+<pre>
+        AddType text/html .shtml
+        AddHandler server-parsed .shtml
+</pre>
+
+    <p>One disadvantage to this approach is that if you wanted to
+    add SSI directives to an existing page, you would have to
+    change the name of that page, and all links to that page, in
+    order to give it a <code>.shtml</code> extension, so that those
+    directives would be executed.</p>
+
+    <p>The other method is to use the <code>XBitHack</code>
+    directive:</p>
+<pre>
+        XBitHack on
+</pre>
+
+    <p><code>XBitHack</code> tells Apache to parse files for SSI
+    directives if they have the execute bit set. So, to add SSI
+    directives to an existing page, rather than having to change
+    the file name, you would just need to make the file executable
+    using <code>chmod</code>.</p>
+<pre>
+        chmod +x pagename.html
+</pre>
+
+    <p>A brief comment about what not to do. You'll occasionally
+    see people recommending that you just tell Apache to parse all
+    <code>.html</code> files for SSI, so that you don't have to
+    mess with <code>.shtml</code> file names. These folks have
+    perhaps not heard about <code>XBitHack</code>. The thing to
+    keep in mind is that, by doing this, you're requiring that
+    Apache read through every single file that it sends out to
+    clients, even if they don't contain any SSI directives. This
+    can slow things down quite a bit, and is not a good idea.</p>
+
+    <p>Of course, on Windows, there is no such thing as an execute
+    bit to set, so that limits your options a little.</p>
+
+    <p>In its default configuration, Apache does not send the last
+    modified date or content length HTTP headers on SSI pages,
+    because these values are difficult to calculate for dynamic
+    content. This can prevent your document from being cached, and
+    result in slower perceived client performance. There are two
+    ways to solve this:</p>
+
+    <ol>
+      <li>Use the <code>XBitHack Full</code> configuration. This
+      tells Apache to determine the last modified date by looking
+      only at the date of the originally requested file, ignoring
+      the modification date of any included files.</li>
+
+      <li>Use the directives provided by <a
+      href="../mod/mod_expires.html">mod_expires</a> to set an
+      explicit expiration time on your files, thereby letting
+      browsers and proxies know that it is acceptable to cache
+      them.</li>
+    </ol>
+    <hr />
+
+    <h2><a id="basicssidirectives" name="basicssidirectives">Basic
+    SSI directives</a></h2>
+
+    <p>SSI directives have the following syntax:</p>
+<pre>
+        &lt;!--#element attribute=value attribute=value ... --&gt;
+</pre>
+
+    <p>It is formatted like an HTML comment, so if you don't have
+    SSI correctly enabled, the browser will ignore it, but it will
+    still be visible in the HTML source. If you have SSI correctly
+    configured, the directive will be replaced with its
+    results.</p>
+
+    <p>The element can be one of a number of things, and we'll talk
+    some more about most of these in the next installment of this
+    series. For now, here are some examples of what you can do with
+    SSI</p>
+
+    <h3><a id="today'sdate" name="today'sdate">Today's
+    date</a></h3>
+<pre>
+        &lt;!--#echo var="DATE_LOCAL" --&gt;
+</pre>
+
+    <p>The <code>echo</code> element just spits out the value of a
+    variable. There are a number of standard variables, which
+    include the whole set of environment variables that are
+    available to CGI programs. Also, you can define your own
+    variables with the <code>set</code> element.</p>
+
+    <p>If you don't like the format in which the date gets printed,
+    you can use the <code>config</code> element, with a
+    <code>timefmt</code> attribute, to modify that formatting.</p>
+<pre>
+        &lt;!--#config timefmt="%A %B %d, %Y" --&gt;
+        Today is &lt;!--#echo var="DATE_LOCAL" --&gt;
+</pre>
+
+    <h3><a id="modificationdateofthefile"
+    name="modificationdateofthefile">Modification date of the
+    file</a></h3>
+<pre>
+        This document last modified &lt;!--#flastmod file="index.html" --&gt;
+</pre>
+
+    <p>This element is also subject to <code>timefmt</code> format
+    configurations.</p>
+
+    <h3><a id="includingtheresultsofacgiprogram"
+    name="includingtheresultsofacgiprogram">Including the results
+    of a CGI program</a></h3>
+
+    <p>This is one of the more common uses of SSI - to output the
+    results of a CGI program, such as everybody's favorite, a ``hit
+    counter.''</p>
+<pre>
+        &lt;!--#include virtual="/cgi-bin/counter.pl" --&gt;
+</pre>
+    <hr />
+
+    <h2><a id="additionalexamples"
+    name="additionalexamples">Additional examples</a></h2>
+
+    <p>Following are some specific examples of things you can do in
+    your HTML documents with SSI.</p>
+    <hr />
+
+    <h2><a id="whenwasthisdocumentmodified"
+    name="whenwasthisdocumentmodified">When was this document
+    modified?</a></h2>
+
+    <p>Earlier, we mentioned that you could use SSI to inform the
+    user when the document was most recently modified. However, the
+    actual method for doing that was left somewhat in question. The
+    following code, placed in your HTML document, will put such a
+    time stamp on your page. Of course, you will have to have SSI
+    correctly enabled, as discussed above.</p>
+<pre>
+        &lt;!--#config timefmt="%A %B %d, %Y" --&gt;
+        This file last modified &lt;!--#flastmod file="ssi.shtml" --&gt;
+</pre>
+
+    <p>Of course, you will need to replace the
+    <code>ssi.shtml</code> with the actual name of the file that
+    you're referring to. This can be inconvenient if you're just
+    looking for a generic piece of code that you can paste into any
+    file, so you probably want to use the
+    <code>LAST_MODIFIED</code> variable instead:</p>
+<pre>
+        &lt;!--#config timefmt="%D" --&gt;
+        This file last modified &lt;!--#echo var="LAST_MODIFIED" --&gt;
+</pre>
+
+    <p>For more details on the <code>timefmt</code> format, go to
+    your favorite search site and look for <code>strftime()</code>. The
+    syntax is the same.</p>
+    <hr />
+
+    <h2><a id="includingastandardfooter"
+    name="includingastandardfooter">Including a standard
+    footer</a></h2>
+
+    <p>If you are managing any site that is more than a few pages,
+    you may find that making changes to all those pages can be a
+    real pain, particularly if you are trying to maintain some kind
+    of standard look across all those pages.</p>
+
+    <p>Using an include file for a header and/or a footer can
+    reduce the burden of these updates. You just have to make one
+    footer file, and then include it into each page with the
+    <code>include</code> SSI command. The <code>include</code>
+    element can determine what file to include with either the
+    <code>file</code> attribute, or the <code>virtual</code>
+    attribute. The <code>file</code> attribute is a file path,
+    <em>relative to the current directory</em>. That means that it
+    cannot be an absolute file path (starting with /), nor can it
+    contain ../ as part of that path. The <code>virtual</code>
+    attribute is probably more useful, and should specify a URL
+    relative to the document being served. It can start with a /,
+    but must be on the same server as the file being served.</p>
+<pre>
+        &lt;!--#include virtual="/footer.html" --&gt;
+</pre>
+
+    <p>I'll frequently combine the last two things, putting a
+    <code>LAST_MODIFIED</code> directive inside a footer file to be
+    included. SSI directives can be contained in the included file,
+    and includes can be nested - that is, the included file can
+    include another file, and so on.</p>
+    <hr />
+
+    <h2><a id="whatelsecaniconfig" name="whatelsecaniconfig">What
+    else can I config?</a></h2>
+
+    <p>In addition to being able to <code>config</code> the time
+    format, you can also <code>config</code> two other things.</p>
+
+    <p>Usually, when something goes wrong with your SSI directive,
+    you get the message</p>
+<pre>
+        [an error occurred while processing this directive]
+</pre>
+
+    <p>If you want to change that message to something else, you
+    can do so with the <code>errmsg</code> attribute to the
+    <code>config</code> element:</p>
+<pre>
+        &lt;!--#config errmsg="[It appears that you don't know how to use SSI]" --&gt;
+</pre>
+
+    <p>Hopefully, end users will never see this message, because
+    you will have resolved all the problems with your SSI
+    directives before your site goes live. (Right?)</p>
+
+    <p>And you can <code>config</code> the format in which file
+    sizes are returned with the <code>sizefmt</code> attribute. You
+    can specify <code>bytes</code> for a full count in bytes, or
+    <code>abbrev</code> for an abbreviated number in Kb or Mb, as
+    appropriate.</p>
+    <hr />
+
+    <h2><a id="executingcommands"
+    name="executingcommands">Executing commands</a></h2>
+
+    <p>I expect that I'll have an article some time in the coming
+    months about using SSI with small CGI programs. For now, here's
+    something else that you can do with the <code>exec</code>
+    element. You can actually have SSI execute a command using the
+    shell (<code>/bin/sh</code>, to be precise - or the DOS shell,
+    if you're on Win32). The following, for example, will give you
+    a directory listing.</p>
+<pre>
+        &lt;pre&gt;
+        &lt;!--#exec cmd="ls" --&gt;
+        &lt;/pre&gt;
+</pre>
+
+    <p>or, on Windows</p>
+<pre>
+        &lt;pre&gt;
+        &lt;!--#exec cmd="dir" --&gt;
+        &lt;/pre&gt;
+</pre>
+
+    <p>You might notice some strange formatting with this directive
+    on Windows, because the output from <code>dir</code> contains
+    the string ``&lt;<code>dir</code>&gt;'' in it, which confuses
+    browsers.</p>
+
+    <p>Note that this feature is exceedingly dangerous, as it will
+    execute whatever code happens to be embedded in the
+    <code>exec</code> tag. If you have any situation where users
+    can edit content on your web pages, such as with a
+    ``guestbook'', for example, make sure that you have this
+    feature disabled. You can allow SSI, but not the
+    <code>exec</code> feature, with the <code>IncludesNOEXEC</code>
+    argument to the <code>Options</code> directive.</p>
+    <hr />
+
+    <h2><a id="advancedssitechniques"
+    name="advancedssitechniques">Advanced SSI techniques</a></h2>
+
+    <p>In addition to spitting out content, Apache SSI gives you
+    the option of setting variables, and using those variables in
+    comparisons and conditionals.</p>
+
+    <h3><a id="caveat" name="caveat">Caveat</a></h3>
+
+    <p>Most of the features discussed in this article are only
+    available to you if you are running Apache 1.2 or later. Of
+    course, if you are not running Apache 1.2 or later, you need to
+    upgrade immediately, if not sooner. Go on. Do it now. We'll
+    wait.</p>
+    <hr />
+
+    <h2><a id="settingvariables" name="settingvariables">Setting
+    variables</a></h2>
+
+    <p>Using the <code>set</code> directive, you can set variables
+    for later use. We'll need this later in the discussion, so
+    we'll talk about it here. The syntax of this is as follows:</p>
+<pre>
+        &lt;!--#set var="name" value="Rich" --&gt;
+</pre>
+
+    <p>In addition to merely setting values literally like that,
+    you can use any other variable, including
+    <a href="../env.html">environment variables</a>, or some of the
+    variables we discussed above (like <code>LAST_MODIFIED</code>, for
+    example) to give values to your variables. You will specify that
+    something is a variable, rather than a literal string, by using
+    the dollar sign ($) before the name of the variable.</p>
+<pre>
+        &lt;!--#set var="modified" value="$LAST_MODIFIED" --&gt;
+</pre>
+
+    <p>To put a literal dollar sign into the value of your
+    variable, you need to escape the dollar sign with a
+    backslash.</p>
+<pre>
+        &lt;!--#set var="cost" value="\$100" --&gt;
+</pre>
+
+    <p>Finally, if you want to put a variable in the midst of a
+    longer string, and there's a chance that the name of the
+    variable will run up against some other characters, and thus be
+    confused with those characters, you can place the name of the
+    variable in braces, to remove this confusion. (It's hard to
+    come up with a really good example of this, but hopefully
+    you'll get the point.)</p>
+<pre>
+        &lt;!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --&gt;
+</pre>
+    <hr />
+
+    <h2><a id="conditionalexpressions"
+    name="conditionalexpressions">Conditional expressions</a></h2>
+
+    <p>Now that we have variables, and are able to set and compare
+    their values, we can use them to express conditionals. This
+    lets SSI be a tiny programming language of sorts.
+    <code>mod_include</code> provides an <code>if</code>,
+    <code>elif</code>, <code>else</code>, <code>endif</code>
+    structure for building conditional statements. This allows you
+    to effectively generate multiple logical pages out of one
+    actual page.</p>
+
+    <p>The structure of this conditional construct is:</p>
+<pre>
+        &lt;!--#if expr="test_condition" --&gt;
+    &lt;!--#elif expr="test_condition" --&gt;
+    &lt;!--#else --&gt;
+    &lt;!--#endif --&gt;
+</pre>
+
+    <p>A <em>test_condition</em> can be any sort of logical
+    comparison - either comparing values to one another, or testing
+    the ``truth'' of a particular value. (A given string is true if
+    it is nonempty.) For a full list of the comparison operators
+    available to you, see the <code>mod_include</code>
+    documentation. Here are some examples of how one might use this
+    construct.</p>
+
+    <p>In your configuration file, you could put the following
+    line:</p>
+<pre>
+        BrowserMatchNoCase macintosh Mac
+        BrowserMatchNoCase MSIE InternetExplorer
+</pre>
+
+    <p>This will set environment variables ``Mac'' and
+    ``InternetExplorer'' to true, if the client is running Internet
+    Explorer on a Macintosh.</p>
+
+    <p>Then, in your SSI-enabled document, you might do the
+    following:</p>
+<pre>
+        &lt;!--#if expr="${Mac} &amp;&amp; ${InternetExplorer}" --&gt;
+        Apologetic text goes here
+        &lt;!--#else --&gt;
+        Cool JavaScript code goes here
+        &lt;!--#endif --&gt;
+</pre>
+
+    <p>Not that I have anything against IE on Macs - I just
+    struggled for a few hours last week trying to get some
+    JavaScript working on IE on a Mac, when it was working
+    everywhere else. The above was the interim workaround.</p>
+
+    <p>Any other variable (either ones that you define, or normal
+    environment variables) can be used in conditional statements.
+    With Apache's ability to set environment variables with the
+    <code>SetEnvIf</code> directives, and other related directives,
+    this functionality can let you do some pretty involved dynamic
+    stuff without ever resorting to CGI.</p>
+    <hr />
+
+    <h2><a id="conclusion" name="conclusion">Conclusion</a></h2>
+
+    <p>SSI is certainly not a replacement for CGI, or other
+    technologies used for generating dynamic web pages. But it is a
+    great way to add small amounts of dynamic content to pages,
+    without doing a lot of extra work.</p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/howto/ssi.html.html b/htdocs/manual/howto/ssi.html.html
new file mode 100644 (file)
index 0000000..868693b
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="ssi.html.en" -->
+
diff --git a/htdocs/manual/howto/ssi.html.ja.jis b/htdocs/manual/howto/ssi.html.ja.jis
new file mode 100644 (file)
index 0000000..9024a9f
--- /dev/null
@@ -0,0 +1,548 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</title>
+
+  </head>
+  <!-- English revision: 1.15 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%A%e!<%H%j%"%k\e(B:
+    Server Side Includes \e$BF~Lg\e(B</h1>
+    <a id="__index__" name="__index__"></a> <!-- INDEX BEGIN -->
+
+
+    <ul>
+      <li><a
+      href="#apachetutorial:introductiontoserversideincludes">Apache
+      \e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</a></li>
+
+      <li><a href="#whataressi">SSI \e$B$H$O\e(B?</a></li>
+
+      <li><a href="#configuringyourservertopermitssi">SSI
+      \e$B$r5v2D$9$k$?$a$N%5!<%P$N@_Dj\e(B</a></li>
+
+      <li>
+        <a href="#basicssidirectives">\e$B4pK\E*$J\e(B SSI \e$B%G%#%l%/%F%#%V\e(B</a>
+
+        <ul>
+          <li><a href="#today'sdate">\e$B:#F|$NF|IU\e(B</a></li>
+
+          <li><a href="#modificationdateofthefile">\e$B%U%!%$%k$NJQ99F|\e(B</a></li>
+
+          <li><a href="#includingtheresultsofacgiprogram">CGI
+          \e$B%W%m%0%i%`$N7k2L$r<h$j9~$`\e(B</a></li>
+        </ul>
+      </li>
+
+
+      <li>
+        <a href="#additionalexamples">\e$BDI2C$NNc\e(B</a>
+
+        <ul>
+          <li><a href="#whenwasthisdocumentmodified"
+          >\e$B$$$D$3$N%I%-%e%a%s%H$O=$@5$5$l$?$N$+\e(B?</a></li>
+
+          <li><a href="#includingastandardfooter"
+          >\e$BI8=`$N%U%C%?$rA^F~$9$k\e(B</a></li>
+
+          <li><a href="#whatelsecaniconfig"
+          >\e$BB>$K2?$,@_Dj$G$-$k$N$+\e(B?</a></li>
+
+          <li><a href="#executingcommands">\e$B%3%^%s%I$N<B9T\e(B</a>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#advancedssitechniques">\e$B9bEY$J\e(B SSI \e$B%F%/%K%C%/\e(B</a>
+
+
+        <ul>
+          <li><a href="#settingvariables">\e$BJQ?t$r@_Dj$9$k\e(B</a>
+          </li>
+
+          <li><a href="#conditionalexpressions">\e$B>r7o<0\e(B</a></li>
+        </ul>
+      </li>
+
+
+      <li><a href="#conclusion">\e$B=*$o$j$K\e(B</a></li>
+    </ul>
+    <!-- INDEX END -->
+    <hr />
+
+    <h2><a id="apachetutorial:introductiontoserversideincludes"
+    name="apachetutorial:introductiontoserversideincludes">Apache
+    \e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+         <br />
+         <a href="../mod/mod_include.html">mod_include</a><br />
+         <a href="../mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="../mod/mod_expires.html">mod_expires</a><br />
+         </td>
+
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a href="../mod/core.html#options">Options</a><br />
+         <a
+        href="../mod/mod_include.html#xbithack">XBitHack</a><br />
+         <a href="../mod/mod_mime.html#addtype">AddType</a><br />
+         <a
+        href="../mod/mod_mime.html#addhandler">AddHandler</a><br />
+         <a href="../mod/mod_setenvif.html#browsermatchnocase"
+        >BrowserMatchNoCase</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>\e$B$3$N5-;v$O!"DL>o$OC1$K\e(B SSI \e$B$H8F$P$l$k\e(B Server Side Includes
+    \e$B$r07$$$^$9!#$3$N5-;v$K$*$$$F$O!"%5!<%P$G$N\e(B SSI \e$B$r5v2D$9$k$?$a$N@_Dj$H!"\e(B
+    \e$B8=:_$N\e(B HTML \e$B%Z!<%8$KF0E*$J%3%s%F%s%D$r2C$($k$?$a$N$$$/$D$+$N4pK\E*$J\e(B
+    SSI \e$B5;=Q$r>R2p$7$^$9!#\e(B</p>
+
+    <p>\e$B5-;v$N8eH>$G$O!"\e(BSSI \e$B%G%#%l%/%F%#%V$G\e(B SSI
+    \e$B$H6&$K<B9T$9$k$3$H$,$G$-$k>r7oJ8$N$h$&$J\e(B
+    \e$B4vJ,9bEY$J;vJA$K$D$$$F=R$Y$F$$$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="whataressi" name="whataressi">SSI \e$B$H$O\e(B?</a></h2>
+
+    <p>SSI (Server Side Includes) \e$B$O!"\e(BHTML
+    \e$B%Z!<%8Cf$KG[CV$5$l$k%G%#%l%/%F%#%V$G$"$j!"\e(B
+    \e$B%5!<%P$G%Z!<%8$rDs6!$9$k;~$KI>2A$5$l$^$9!#\e(BSSI \e$B$O!"\e(BCGI
+    \e$B%W%m%0%i%`$d$=$NB>$NF0E*$J5;=Q$GA4$F$N%Z!<%8$rDs6!$;$:$K!"\e(B
+    \e$BF0E*$K@8@.$5$l$?%3%s%F%s%D$r8=:_$N\e(B HTML \e$B%Z!<%8$K2C$($^$9!#\e(B</p>
+
+    <p>\e$B$I$&$$$&>l9g$K\e(B SSI \e$B$r;H$$!"$I$&$$$&>l9g$K%W%m%0%i%`$G\e(B
+    \e$B%Z!<%8$r40A4$K@8@.$9$k$+$O!"%Z!<%8$N$&$A$I$NDxEY$,@EE*$G$"$j!"\e(B
+    \e$B%Z!<%8$,Ds6!$5$l$k$?$S$K:F7W;;$9$kI,MW$,$I$NDxEY$"$k$+$GDL>o$O7hDj$7$^$9!#\e(B
+    SSI \e$B$O8=:_;~9o$N$h$&$J>.$5$$>pJs$r2C$($k$K$O$&$C$F$D$1$NJ}K!$G$9!#\e(B
+    \e$B$7$+$7!"$=$N%Z!<%8$N$[$H$s$I$NItJ,$,Ds6!;~$K@8@.$5$l$k>l9g$O!"\e(B
+    \e$BB>$NJ}K!$rC5$9I,MW$,$"$j$^$9!#\e(B
+    </p>
+    <hr />
+
+
+    <h2><a id="configuringyourservertopermitssi"
+    name="configuringyourservertopermitssi">SSI
+    \e$B$r5v2D$9$k$?$a$N%5!<%P$N@_Dj\e(B</a></h2>
+
+    <p>\e$B%5!<%P$G\e(B SSI \e$B$r5v2D$9$k$K$O!"\e(B<a
+    href="../mod/mod_include.html">mod_include</a>
+    \e$B$r%$%s%9%H!<%k!"M-8z2=$9$kI,MW$,$"$j$^$9!#$5$i$K!"\e(B
+    <code>httpd.conf</code> \e$B%U%!%$%k$^$?$O\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$K<!$N%G%#%l%/%F%#%V$r;XDj$9$kI,MW$,$"$j$^$9\e(B:</p>
+<pre>
+        Options +Includes
+</pre>
+
+    <p>\e$B$3$N;XDj$O!"%U%!%$%k$r\e(B SSI \e$B%G%#%l%/%F%#%V$G2r@O$5$;$k$3$H$r5v2D$9$k\e(B
+    \e$B$H$$$&$3$H$r\e(B Apache \e$B$KEA$($^$9!#\e(B
+    \e$B$[$H$s$I$N@_Dj$G$O$*8_$$$r>e=q$-$G$-$k!"J#?t$N\e(B
+    <a href="../mod/core.html#options">Options</a> \e$B$,$"$k$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#$*$=$i$/!"@_Dj$,:G8e$KI>2A$5$l$k$3$H$r\e(B
+    \e$BJ]>Z$5$l$k$?$a$K!"\e(BSSI \e$B$r;HMQ$7$?$$%G%#%l%/%H%j$K\e(B <code>Options</code>
+    \e$B%G%#%l%/%F%#%V$rE,MQ$9$kI,MW$,$"$k$G$7$g$&!#\e(B</p>
+
+    <p>\e$BA4$F$N%U%!%$%k$,\e(B SSI \e$B%G%#%l%/%F%#%V$G2r@O$5$l$k$H$$$&$o$1$G$O$"$j$^$;$s!#\e(B
+    \e$B$I$N%U%!%$%k$,2r@O$5$l$k$+$r\e(B Apache \e$B$KEA$($kI,MW$,$"$j$^$9!#\e(B
+    \e$B$3$l$r9T$J$&$K$OFs$DJ}K!$,$"$j$^$9!#<!$N%G%#%l%/%F%#%V$r;H$&$3$H$G!"\e(B
+    \e$BNc$($P\e(B <code>.shtml</code> \e$B$N$h$&$JFCJL$J%U%!%$%k3HD%;R$r;}$D\e(B
+    \e$B%U%!%$%k$r2r@O$9$k$h$&\e(B Apache \e$B$KEA$($k$3$H$,$G$-$^$9\e(B:</p>
+<pre>
+        AddType text/html .shtml
+        AddHandler server-parsed .shtml
+</pre>
+
+    <p>\e$B$3$NJ}K!$N7gE@$O!"$b$78=:_$N%Z!<%8$K\e(B SSI
+    \e$B%G%#%l%/%F%#%V$r2C$($?$$>l9g!"$=$l$i$N%G%#%l%/%F%#%V$,<B9T$5$l$k$h$&$K\e(B
+    <code>.shtml</code> \e$B3HD%;R$K$9$k$?$a!"$=$N%Z!<%8$NL>A0$H!"\e(B
+    \e$B$=$N%Z!<%8$X$NA4$F$N%j%s%/$rJQ99$7$J$1$l$P$J$i$J$$$3$H$G$9!#\e(B
+    </p>
+
+    <p>\e$B$b$&0l$D$NJ}K!$O!"\e(B<code>XBitHack</code>
+    \e$B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9\e(B:</p>
+<pre>
+        XBitHack on
+</pre>
+
+    <p><code>XBitHack</code> \e$B$O!"%U%!%$%k$N<B9T%S%C%H$,N)$C$F$$$k>l9g!"\e(B
+    SSI \e$B%G%#%l%/%F%#%V$K$h$j2r@O$9$k$3$H$r\e(B Apache \e$B$KEA$($^$9!#\e(B
+    \e$B=>$C$F!"\e(BSSI \e$B%G%#%l%/%F%#%V$r8=:_$N%Z!<%8$K2C$($k$?$a$K$O!"\e(B
+    \e$B%U%!%$%kL>$rJQ99$7$J$/$F$b$h$/!"C1$K\e(B <code>chmod</code>
+    \e$B$r;HMQ$7$F%U%!%$%k$r<B9T2DG=$K$9$k$@$1$G:Q$_$^$9!#\e(B</p>
+<pre>
+        chmod +x pagename.html
+</pre>
+
+    <p>\e$B9T$J$&$Y$-$G$O$J$$$3$H$K4X$9$kC;$$%3%a%s%H!#;~!9C/$+$,!"A4$F$N\e(B
+    <code>.html</code> \e$B%U%!%$%k$r\e(B SSI \e$B$G2r@O$9$k$h$&\e(B Apache \e$B$KEA$($l$P!"\e(B
+    \e$B$o$6$o$6\e(B <code>.shtml</code> \e$B$H$$$&%U%!%$%kL>$K$9$kI,MW$,$J$$$H$$$C$F\e(B
+    \e$BA&$a$k$N$r8+$k$3$H$G$7$g$&!#$3$&$$$&?M$?$A$O!"$*$=$i$/\e(B
+    <code>XBitHack</code> \e$B$K$D$$$FJ9$$$?$3$H$,$J$$$N$G$7$g$&!#\e(B
+    \e$B$3$NJ}K!$K$D$$$FCm0U$9$k$3$H$O!"$?$H$(\e(B SSI
+    \e$B%G%#%l%/%F%#%V$rA4$/4^$^$J$$>l9g$G$b!"\e(BApache \e$B$,%/%i%$%"%s%H$K\e(B
+    \e$BAw$kA4$F$N%U%!%$%k$r:G8e$^$GFI$_9~$^$;$k$3$H$K$J$j$^$9!#\e(B
+    \e$B$3$NJ}K!$O$+$J$j=hM}$rCY$/$9$k$b$N$G$"$j!"NI$/$J$$%"%$%G%"$G$9!#\e(B</p>
+
+    <p>\e$B$b$A$m$s!"\e(BWindows \e$B$G$O$=$N$h$&$J<B9T%S%C%H$r%;%C%H\e(B
+    \e$B$9$k$h$&$J$b$N$O$"$j$^$;$s$N$G%*%W%7%g%s$,>/$7@)8B$5$l$F$$$^$9!#\e(B</p>
+
+    <p>\e$B%G%U%)%k%H$N@_Dj$G$O!"\e(BApache \e$B$O\e(B SSI \e$B%Z!<%8$K$D$$$F:G=*JQ99;~9o$d\e(B
+    \e$B%3%s%F%s%D$ND9$5$r\e(B HTTP \e$B%X%C%@$KAw$j$^$;$s!#\e(B
+    \e$BF0E*$J%3%s%F%s%D$G$"$k$?$a!"$=$l$i$NCM$r7W;;$9$k$N$,Fq$7$$$+$i$G$9!#\e(B
+    \e$B$3$N$?$a%I%-%e%a%s%H$,%-%c%C%7%e$5$l$J$/$J$j!"\e(B
+    \e$B7k2L$H$7$F%/%i%$%"%s%H$N@-G=$,CY$/$J$C$?$h$&$K46$8$5$;$k$3$H$K$J$j$^$9!#\e(B
+    \e$B$3$l$r2r7h$9$kJ}K!$,Fs$D$"$j$^$9\e(B:</p>
+
+    <ol> 
+      <li><code>XBitHack Full</code> \e$B@_Dj$r;HMQ$9$k!#\e(B
+      \e$B$3$N@_Dj$K$h$j!"$b$H$b$HMW5a$5$l$?%U%!%$%k$N;~9o$r;2>H$7!"\e(B
+      \e$BFI$_9~$^$l$k%U%!%$%k$NJQ99;~9o$rL5;k$7$F:G=*JQ99;~9o$r7hDj$9$k$h$&\e(B
+      Apache \e$B$KEA$($^$9!#\e(B</li>
+
+      <li><a href="../mod/mod_expires.html">mod_expires</a>
+      \e$B$GDs6!$5$l$F$$$k%G%#%l%/%F%#%V$r;HMQ$7$F!"\e(B
+      \e$B%U%!%$%k$,L58z$K$J$k;~9o$rL@<($7$^$9!#$3$l$K$h$j!"\e(B
+      \e$B%V%i%&%6$H%W%m%-%7$K%-%c%C%7%e$,M-8z$G$"$k$3$H$rDLCN$7$^$9!#\e(B
+      </li>
+    </ol>
+    <hr />
+
+    <h2><a id="basicssidirectives" name="basicssidirectives">\e$B4pK\E*$J\e(B
+    SSI \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>SSI \e$B%G%#%l%/%F%#%V$O0J2<$NJ8K!$G5-=R$7$^$9\e(B:</p>
+<pre>
+        &lt;!--#element attribute=value attribute=value ... --&gt;
+</pre>
+
+    <p>HTML \e$B$N%3%a%s%H$N$h$&$J=q<0$r$7$F$$$k$N$G!"$b$7\e(B SSI
+    \e$B$r@5$7$/F0:n2DG=$K$7$J$1$l$P!"%V%i%&%6$O$=$l$rL5;k$9$k$G$7$g$&!#\e(B
+    \e$B$7$+$7!"\e(BHTML \e$B%=!<%9Cf$G$O8+$($^$9!#$b$7\e(B SSI \e$B$r@5$7$/@_Dj$7$?$J$i!"\e(B
+    \e$B%G%#%l%/%F%#%V$O$=$N7k2L$HCV$-49$($i$l$^$9!#\e(B
+    </p>
+
+    <p>element \e$B$O$?$/$5$s$"$k$b$N$+$i0l$D;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B;XDj$G$-$k$b$N$NBgB??t$K$D$$$F$O!"<!2s$b$&>/$7>\$7$/@bL@$7$^$9!#\e(B
+    \e$B$3$3$G$O!"\e(BSSI \e$B$G9T$J$&$3$H$,$G$-$kNc$r$$$/$D$+<($7$^$9!#\e(B
+    </p>
+
+    <h3><a id="todaysdate" name="todaysdate">\e$B:#F|$NF|IU\e(B</a></h3>
+<pre>
+        &lt;!--#echo var="DATE_LOCAL" --&gt;
+</pre>
+
+
+    <p><code>echo</code> \e$BMWAG$OC1$KJQ?t$NCM$r=PNO$7$^$9!#\e(B
+    CGI \e$B%W%m%0%i%`$KMxMQ2DG=$J4D6-JQ?t$NA4$F$N\e(B
+    \e$B%;%C%H$r4^$`B?$/$NI8=`JQ?t$,$"$j$^$9!#$^$?!"\e(B<code>set</code>
+    \e$BMWAG$rMQ$$$k$3$H$G!"FH<+$NJQ?t$rDj5A$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p>\e$B=PNO$5$l$kF|IU$N=q<0$,9%$-$G$O$J$$>l9g!"$=$N=q<0$r=$@5$9$k$?$a$K!"\e(B
+    <code>config</code> \e$BMWAG$K\e(B <code>timefmt</code>
+    \e$BB0@-$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B</p>
+<pre>
+        &lt;!--#config timefmt="%A %B %d, %Y" --&gt;
+        Today is &lt;!--#echo var="DATE_LOCAL" --&gt;
+</pre>
+
+    <h3><a id="modificationdateofthefile"
+    name="modificationdateofthefile">\e$B%U%!%$%k$NJQ99F|\e(B</a></h3>
+<pre>
+        This document last modified &lt;!--#flastmod file="index.html" --&gt;
+</pre>
+
+
+    <p>\e$B$3$NMWAG$b\e(B <code>timefmt</code>
+    \e$B%U%)!<%^%C%H$N@_Dj$K=>$$$^$9!#\e(B</p>
+
+    <h3><a name="includingtheresultsofacgiprogram"
+    id="includingtheresultsofacgiprogram">CGI
+    \e$B%W%m%0%i%`$N7k2L$r<h$j9~$`\e(B</a></h3>
+
+    <p>\e$B$3$l$O!"A4$F$N?M$N$*5$$KF~$j$G$"$k\e(B ``\e$B%R%C%H%+%&%s%?\e(B'' \e$B$N$h$&$J\e(B
+    CGI \e$B%W%m%0%i%`$N7k2L$r=PNO$9$k\e(B SSI
+    \e$B$N$h$j0lHLE*$J;HMQ$N$&$A$N0l$D$G$9!#\e(B</p>
+<pre>
+        &lt;!--#include virtual="/cgi-bin/counter.pl" --&gt;
+</pre>
+    <hr />
+
+    <h2><a id="additionalexamples"
+    name="additionalexamples">\e$BDI2C$NNc\e(B</a></h2>
+
+    <p>\e$B0J2<$O!"\e(BSSI \e$B$r;HMQ$7$F\e(B HTML
+   \e$B%I%-%e%a%s%H$K$*$$$F$G$-$k$3$H$N$$$/$D$+$NFCJL$JNc$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a name="whenwasthisdocumentmodified"
+    id="whenwasthisdocumentmodified"
+    >\e$B$$$D$3$N%I%-%e%a%s%H$O=$@5$5$l$?$N$+\e(B?</a></h2>
+
+    <p>\e$B@h$K!"%I%-%e%a%s%H$,:G8e$KJQ99$5$l$?$N$O$$$D$J$N$+$r\e(B
+    \e$B%f!<%6$KDLCN$9$k$?$a$K\e(B SSI \e$B$r;HMQ$9$k$3$H$,$G$-$k$3$H$r=R$Y$^$7$?!#\e(B
+    \e$B$7$+$7$J$,$i!"<B:]$NJ}K!$O!"$$$/$V$sLdBj$N$^$^$K$7$F$*$-$^$7$?!#\e(B
+    HTML \e$B%I%-%e%a%s%H$KG[CV$5$l$?<!$N%3!<%I$O!"%Z!<%8$K$=$N$h$&$J\e(B
+    \e$B%?%$%`%9%?%s%W$rF~$l$k$G$7$g$&!#$b$A$m$s!">e=R$N$h$&$K!"\e(B
+    SSI \e$B$r@5$7$/F0:n2DG=$K$7$F$*$/I,MW$,$"$j$^$9!#\e(B</p>
+<pre>
+        &lt;!--#config timefmt="%A %B %d, %Y" --&gt;
+        This file last modified &lt;!--#flastmod file="ssi.shtml" --&gt;
+</pre>
+
+    <p>\e$B$b$A$m$s!"\e(B<code>ssi.shtml</code>
+    \e$B$NItJ,$r<B:]$NEv3:%U%!%$%kL>$HCV$-49$($kI,MW$,$"$j$^$9!#\e(B
+    \e$B$b$7!"$"$i$f$k%U%!%$%k$KD%$k$3$H$,$G$-$k0lHLE*$J%3!<%I$rC5$7$F$$$k$J$i!"\e(B
+    \e$B$3$l$OITJX$G$"$k$+$b$7$l$^$;$s!#$*$=$i$/$=$N>l9g$O!"\e(B
+    \e$B$=$&$9$kBe$o$j$KJQ?t\e(B <code>LAST_MODIFIED</code>
+    \e$B$r;HMQ$7$?$$$H9M$($k$G$7$g$&\e(B:</p>
+<pre>
+        &lt;!--#config timefmt="%D" --&gt;
+        This file last modified &lt;!--#echo var="LAST_MODIFIED" --&gt;
+</pre>
+
+    <p><code>timefmt</code>
+    \e$B=q<0$K$D$$$F$N$h$j>\:Y$K$D$$$F$O!"$*9%$_$N8!:w%5%$%H$K9T$-!"\e(B
+    <code>strftime</code> \e$B$G8!:w$7$F$_$F$/$@$5$$!#J8K!$OF1$8$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="includingastandardfooter"
+    name="includingastandardfooter">\e$BI8=`$N%U%C%?$rA^F~$9$k\e(B</a></h2>
+
+
+    <p>\e$B$b$7?t%Z!<%8$rD6$($k%Z!<%8$r;}$D%5%$%H$r4IM}$7$F$$$k$J$i$P!"\e(B
+    \e$BA4%Z!<%8$KBP$7$FJQ99$r9T$J$&$3$H$,K\Ev$K6lDK$H$J$jF@$k$3$H$,\e(B
+    \e$BJ,$+$k$G$7$g$&!#A4$F$N%Z!<%8$KEO$C$F$"$k<o$NI8=`E*$J304Q$r\e(B
+    \e$B0];}$7$h$&$H$7$F$$$k$J$i$PFC$K$=$&$G$7$g$&!#\e(B</p>
+
+    <p>\e$B%X%C%@$d%U%C%?MQ$NA^F~MQ%U%!%$%k$r;HMQ$9$k$3$H$G!"\e(B
+    \e$B$3$N$h$&$J99?7$K$+$+$kIiC4$r8:$i$9$3$H$,$G$-$^$9!#\e(B
+    \e$B0l$D$N%U%C%?%U%!%$%k$r:n@.$7!"$=$l$r\e(B <code>include</code>
+    SSI \e$B%3%^%s%I$G3F%Z!<%8$KF~$l$k$@$1$G:Q$_$^$9!#\e(B<code>include</code>
+    \e$BMWAG$O!"\e(B<code>file</code> \e$BB0@-$^$?$O\e(B <code>virtual</code>
+    \e$BB0@-$N$$$:$l$+$r;HMQ$7$F$I$N%U%!%$%k$rA^F~$9$k$+$r7h$a$k$3$H$,$G$-$^$9!#\e(B
+    <code>file</code> \e$BB0@-$O!"\e(B
+    <em>\e$B%+%l%s%H%G%#%l%/%H%j$+$i$NAjBP%Q%9$G<($5$l$?\e(B</em>\e$B%U%!%$%k%Q%9$G$9!#\e(B
+    \e$B$=$l$O\e(B / \e$B$G;O$^$k@dBP%U%!%$%k%Q%9$K$O$G$-$:!"$^$?!"$=$N%Q%9$N0lIt$K\e(B ../
+    \e$B$r4^$`$3$H$,$G$-$J$$$3$H$r0UL#$7$^$9!#\e(B<code>virtual</code>
+    \e$BB0@-$O!"$*$=$i$/$h$jJXMx$@$H;W$$$^$9$,!"Ds6!$9$k%I%-%e%a%s%H$+$i$NAjBP\e(B
+    URL \e$B$G;XDj$9$Y$-$G$9!#$=$l$O\e(B / \e$B$G;O$a$k$3$H$,$G$-$^$9$,!"\e(B
+    \e$BDs6!$9$k%U%!%$%k$HF1$8%5!<%P>e$KB8:_$7$J$/$F$O$J$j$^$;$s!#\e(B</p>
+<pre>
+        &lt;!--#include virtual="/footer.html" --&gt;
+</pre>
+
+    <p>\e$B;d$O:G8e$NFs$D$rAH$_9g$o$;$F!"\e(B<code>LAST_MODIFIED</code>
+    \e$B%G%#%l%/%F%#%V$r%U%C%?%U%!%$%k$NCf$KCV$/$3$H$,$h$/$"$j$^$9!#\e(B
+    SSI \e$B%G%#%l%/%F%#%V$O!"A^F~MQ$N%U%!%$%k$K4^$^$;$?$j!"\e(B
+    \e$BA^F~%U%!%$%k$N%M%9%H$r$7$?$j$9$k$3$H$,$G$-$^$9!#$9$J$o$A!"\e(B
+    \e$BA^F~MQ$N%U%!%$%k$OB>$N%U%!%$%k$r:F5"E*$KA^F~$9$k$3$H$,$G$-$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a name="whatelsecaniconfig"
+    id="whatelsecaniconfig">\e$BB>$K2?$,@_Dj$G$-$k$N$+\e(B?</a></h2>
+
+    <p>\e$B;~9o=q<0$r\e(B <code>config</code> \e$B$G@_Dj$G$-$k$3$H$K2C$($F!"\e(B
+    \e$B99$KFs$D\e(B <code>config</code> \e$B$G@_Dj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BDL>o!"\e(BSSI \e$B%G%#%l%/%F%#%V$G2?$+$,$&$^$/$$$+$J$$$H$-$O!"\e(B
+    \e$B<!$N%a%C%;!<%8$,=PNO$5$l$^$9!#\e(B</p>
+<pre>
+        [an error occurred while processing this directive]
+</pre>
+
+    <p>\e$B$3$N%a%C%;!<%8$rB>$N$b$N$K$7$?$$>l9g!"\e(B<code>config</code>
+    \e$BMWAG$N\e(B <code>errmsg</code> \e$BB0@-$GJQ99$9$k$3$H$,$G$-$^$9\e(B:</p>
+
+<pre>
+        &lt;!--#config errmsg="[It appears that you don't know how to use SSI]" --&gt;
+</pre>
+
+    <p>\e$B$*$=$i$/!"%(%s%I%f!<%6$O$3$N%a%C%;!<%8$r7h$7$F8+$k$3$H$O$"$j$^$;$s!#\e(B
+    \e$B$J$<$J$i!"$=$N%5%$%H$,@8$-$?>uBV$K$J$kA0$K\e(B SSI \e$B%G%#%l%/%F%#%V$K4X$9$k\e(B
+    \e$BA4$F$NLdBj$r2r7h$7$F$$$k$O$:$@$+$i$G$9!#\e(B(\e$B$=$&$G$9$h$M\e(B?)</p>
+
+    <p>\e$B$=$7$F!"\e(B<code>config</code> \e$B$K$*$$$F\e(B <code>sizefmt</code>
+    \e$BB0@-$r;HMQ$9$k$3$H$G!"\e(B
+    \e$BJV$5$l$k%U%!%$%k%5%$%:$N=q<0$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%P%$%H?t$K$O\e(B <code>bytes</code> \e$B$r!"E,Ev$K\e(B Kb \e$B$d\e(B Mb
+    \e$B$KC;=L$5$;$k$K$O\e(B <code>abbrev</code> \e$B$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="executingcommands"
+    name="executingcommands">\e$B%3%^%s%I$N<B9T\e(B</a></h2>
+
+    <p>\e$B:#8e?t%v7n$N$&$A$K!">.$5$J\e(B CGI \e$B%W%m%0%i%`$H\e(B SSI
+    \e$B$r;HMQ$9$k5-;v$r=P$7$?$$$H9M$($F$$$^$9!#$3$3$G$O$=$l$H$OJL$K!"\e(B
+    <code>exec</code> \e$BMWAG$K$h$C$F9T$J$&$3$H$,$G$-$k$3$H$r<($7$^$9!#\e(B
+    SSI \e$B$K%7%'%k\e(B (\e$B@53N$K$O\e(B <code>/bin/sh</code>\e$B!#\e(BWin32 \e$B$J$i$P\e(B DOS \e$B%7%'%k\e(B)
+    \e$B$r;HMQ$7$F%3%^%s%I$r<B9T$5$;$k$3$H$,$G$-$^$9!#\e(B
+    \e$B2<5-$NNc$G$O!"%G%#%l%/%H%j%j%9%H=PNO$r9T$J$$$^$9!#\e(B</p>
+
+<pre>
+        &lt;pre&gt;
+        &lt;!--#exec cmd="ls" --&gt;
+        &lt;/pre&gt;
+</pre>
+
+    <p>Windows \e$B>e$G$O!"\e(B</p>
+<pre>
+        &lt;pre&gt;
+        &lt;!--#exec cmd="dir" --&gt;
+        &lt;/pre&gt;
+</pre>
+
+    <p>Windows \e$B>e$G$O!"$3$N%G%#%l%/%F%#%V$K$h$C$F$$$/$D$+$N4qL/$J\e(B
+    \e$B=q<0$K5$$E$/$G$7$g$&!#$J$<$J$i\e(B <code>dir</code> \e$B$N=PNO$,J8;zNs\e(B
+    ``&lt;<code>dir</code>&gt;'' \e$B$r4^$_!"%V%i%&%6$r:.Mp$5$;$k$+$i$G$9!#\e(B
+    </p>
+
+    <p>\e$B$3$N5!G=$OHs>o$K4m81$G$"$j!"$I$s$J%3!<%I$G$b\e(B <code>exec</code>
+    \e$B%?%0$KKd$a9~$^$l$F$7$^$($P<B9T$9$k$3$H$KCm0U$7$F$/$@$5$$!#Nc$($P\e(B
+    `` \e$B%2%9%H%V%C%/\e(B '' \e$B$N$h$&$K!"$b$7!"\e(B
+    \e$B%f!<%6$,%Z!<%8$NFbMF$rJT=8$G$-$k>u67$K$"$k$J$i$P!"\e(B
+    \e$B$3$N5!G=$r3N<B$KM^@)$7$F$/$@$5$$!#\e(B<code>Options</code>
+    \e$B%G%#%l%/%F%#%V$N\e(B <code>IncludesNOEXEC</code> \e$B0z?t$r;XDj$9$k$3$H$G!"\e(B
+    SSI \e$B$O5v2D$9$k$1$l$I\e(B <code>exec</code>
+    \e$B5!G=$O5v2D$7$J$$$h$&$K$9$k$3$H$,$G$-$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="advancedssitechniques"
+    name="advancedssitechniques">\e$B9bEY$J\e(B SSI \e$B%F%/%K%C%/\e(B</a></h2>
+
+    <p>\e$B%3%s%F%s%D$r=PNO$9$k$3$H$K2C$(!"\e(BApache SSI \e$B$OJQ?t$r@_Dj$7!"\e(B
+    \e$B$=$7$FHf3S$H>r7oJ,4t$K$=$NJQ?t$r;HMQ$G$-$k5!G=$rDs6!$7$F$$$^$9!#\e(B
+    </p>
+
+    <h3><a id="caveat" name="caveat">\e$B7Y9p\e(B</a></h3>
+
+    <p>\e$B$3$N5-;v$G=R$Y$?BgItJ,$N5!G=$O!"\e(BApache 1.2
+    \e$B0J9_$r;HMQ$7$F$$$k>l9g$N$_MxMQ2DG=$G$9!#EvA3$J$,$i!"$b$7\e(B Apache 1.2
+    \e$B0J9_$r;HMQ$7$F$J$$>l9g!"D>$A$K%"%C%W%0%l!<%I$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$B$5$!!":#$=$l$r9T$J$$$J$5$$!#$=$l$^$GBT$C$F$$$^$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="settingvariables"
+    name="settingvariables">\e$BJQ?t$r@_Dj$9$k\e(B</a></h2>
+
+    <p><code>set</code> \e$B%G%#%l%/%F%#%V$r;HMQ$7$F!"\e(B
+    \e$B8e$G;HMQ$9$k$?$a$KJQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$l$O8e$N@bL@$GI,MW$K$J$k$N$G!"$3$3$G$=$l$K$D$$$F=R$Y$F$$$^$9!#\e(B
+    \e$BJ8K!$O0J2<$N$H$*$j$G$9\e(B:</p>
+<pre>
+        &lt;!--#set var="name" value="Rich" --&gt;
+</pre>
+
+    <p>\e$B$3$N$h$&$KC1=c$KJ8;z$I$*$j$K@_Dj$9$k$3$H$K2C$(!"\e(B
+    <a href="../env.html">\e$B4D6-JQ?t\e(B</a>\e$B$d>e$G=R$Y$?JQ?t\e(B
+    (\e$BNc$($P\e(B <code>LAST_MODIFIED</code>\e$B$N$h$&$J\e(B)
+    \e$B$r4^$`B>$N$"$i$f$kJQ?t$rCM$r@_Dj$9$k$N$K;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$BJQ?tL>$NA0$K%I%k5-9f\e(B ($) \e$B$r;HMQ$9$k$3$H$G!"\e(B
+    \e$B$=$l$,%j%F%i%kJ8;zNs$G$O$J$/$FJQ?t$G$"$k$3$H$r<($7$^$9!#\e(B</p>
+<pre>
+        &lt;!--#set var="modified" value="$LAST_MODIFIED" --&gt;
+</pre>
+
+    <p>\e$B%I%k5-9f\e(B ($) \e$B$rJ8;z$H$7$FJQ?t$NCM$KF~$l$k$K$O!"\e(B
+    \e$B%P%C%/%9%i%C%7%e$K$h$C$F%I%k5-9f$r%(%9%1!<%W$9$kI,MW$,$"$j$^$9!#\e(B
+    </p>
+<pre>
+        &lt;!--#set var="cost" value="\$100" --&gt;
+</pre>
+
+    <p>\e$B:G8e$K$J$j$^$9$,!"D9$$J8;zNs$NCf$KJQ?t$rCV$-$?$$>l9g$G!"\e(B
+    \e$BJQ?tL>$,B>$NJ8;z$H$V$D$+$k2DG=@-$,$"$j!"\e(B
+    \e$B$=$l$i$NJ8;z$K$D$$$F:.Mp$7$F$7$^$&>l9g!"$3$N:.Mp$r<h$j=|$/$?$a!"\e(B
+    \e$BJQ?tL>$rCf3g8L$G0O$`$3$H$,$G$-$^$9\e(B
+    (\e$B$3$l$K$D$$$F$NNI$$Nc$r<($9$N$OFq$7$$$N$G$9$,!"\e(B
+    \e$B$*$=$i$/J,$+$C$F$$$?$@$1$k$G$7$g$&\e(B)\e$B!#\e(B
+    </p>
+<pre>
+        &lt;!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --&gt;
+</pre>
+    <hr />
+
+    <h2><a id="conditionalexpressions"
+    name="conditionalexpressions">\e$B>r7o<0\e(B</a></h2>
+
+    <p>\e$B$5$F!"JQ?t$r;}$C$F$$$F!"\e(B
+    \e$B$=$l$i$NCM$r@_Dj$7$FHf3S$9$k$3$H$,$G$-$k$N$G$9$+$i!"\e(B
+    \e$B>r7o$rI=$9$?$a$K$=$l$i$r;HMQ$9$k$3$H$,$G$-$^$9!#$3$l$K$h$j\e(B
+    SSI \e$B$O$"$k<o$N>.$5$J%W%m%0%i%_%s%08@8l$K$J$C$F$$$^$9!#\e(B
+    <code>mod_include</code> \e$B$O>r7o$rI=8=$9$k$?$a$K\e(B <code>if</code>,
+    <code>elif</code>, <code>else</code>, <code>endif</code>
+    \e$B9=B$$rDs6!$7$F$$$^$9!#$3$l$K$h$C$F!"\e(B
+    \e$B0l$D$N<B:]$N%Z!<%8$+$iJ#?t$NO@M}%Z!<%8$r8z2LE*$K@8@.$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B>r7o9=B$$O0J2<$N$H$*$j$G$9\e(B:</p>
+<pre>
+        &lt;!--#if expr="test_condition" --&gt;
+        &lt;!--#elif expr="test_condition" --&gt;
+        &lt;!--#else --&gt;
+        &lt;!--#endif --&gt;
+</pre>
+
+    <p><em>test_condition</em>
+    \e$B$O$"$i$f$k<oN`$NO@M}E*Hf3S$r$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$BCM$rHf3S$7$?$j!"$=$NCM$,\e(B ``\e$B??\e(B'' \e$B$+$I$&$+$rI>2A$7$^$9\e(B
+    (\e$B6u$G$J$$$J$iM?$($i$l$?J8;zNs$O??$G$9\e(B)\e$B!#\e(B
+    \e$BMxMQ2DG=$JHf3S1i;;;R$NA4$F$N%j%9%H$K$D$$$F$O!"\e(B
+    <code>mod_include</code> \e$B%I%-%e%a%s%F!<%7%g%s$r;2>H$7$F$/$@$5$$!#\e(B
+    \e$B$3$3$G$O!"$3$N9=B$$r$I$&;HMQ$9$k$+$NNc$r$$$/$D$+<($7$^$9!#\e(B</p>
+
+<p>\e$B@_Dj%U%!%$%k$G<!$N9T$r5-=R$7$^$9\e(B:</p>
+
+<pre>
+        BrowserMatchNoCase macintosh Mac
+        BrowserMatchNoCase MSIE InternetExplorer
+</pre>
+
+    <p>\e$B$3$l$O%/%i%$%"%s%H$,\e(B Macintosh
+    \e$B>e$G%$%s%?!<%M%C%H%(%/%9%W%m!<%i$,F0$$$F$$$k>l9g!"4D6-JQ?t\e(B
+    ``Mac'' \e$B$H\e(B ``InternetExplorer'' \e$B$r??$H@_Dj$7$^$9!#\e(B</p>
+
+    <p>\e$B<!$K!"\e(BSSI \e$B$,2DG=$K$J$C$?%I%-%e%a%s%H$G0J2<$r9T$J$$$^$9\e(B:</p>
+
+<pre>
+        &lt;!--#if expr="${Mac} &amp;&amp; ${InternetExplorer}" --&gt;
+        Apologetic text goes here
+        &lt;!--#else --&gt;
+        Cool JavaScript code goes here
+        &lt;!--#endif --&gt;
+</pre>
+
+    <p>Mac \e$B>e$N\e(B IE \e$B$KBP$7$F2?$+;W$&$H$3$m$,$"$k$o$1$G$"$j$^$;$s!#\e(B
+    \e$BB>$G$O<B9T$G$-$F$$$k$$$/$D$+$N\e(B JavaScript \e$B$r\e(B Mac \e$B>e$N\e(B IE
+    \e$B$G<B9T$5$;$k$N$K!"@h=5?t;~4V6lO+$7$?$H$$$&$@$1$N$3$H$G$9!#\e(B
+    \e$B>e$NNc$O$=$N;CDjE*$JBP=hJ}K!$G$9!#\e(B</p>
+
+    <p>\e$BB>$N$I$s$JJQ?t\e(B (\e$B$"$J$?$,Dj5A$9$k$b$N!"\e(B
+    \e$B$^$?$OIaDL$N4D6-JQ?t$N$$$:$l$+\e(B) \e$B$b!">r7oJ8$K;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    Apache \e$B$O\e(B <code>SetEnvIf</code> \e$B%G%#%l%/%F%#%V$dB>$N4XO"\e(B
+    \e$B%G%#%l%/%F%#%V$r;HMQ$7$F4D6-JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$N5!G=$K$h$j!"\e(BCGI
+    \e$B$KMj$k$3$H$J$/$+$J$jJ#;($JF0E*$J$3$H$r$5$;$k$3$H$,$G$-$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="conclusion" name="conclusion">\e$B=*$o$j$K\e(B</a></h2>
+
+    <p>SSI \e$B$O3N$+$K\e(B CGI
+    \e$B$dF0E*$J%&%'%V%Z!<%8$r@8@.$9$kB>$N5;=Q$KBe$o$k$b$N$G$O$"$j$^$;$s!#\e(B
+    \e$B$7$+$7!"$?$/$5$s$NM>J,$J:n6H$r$;$:$K!"\e(B
+    \e$B>/NL$NF0E*$J%3%s%F%s%D$r2C$($k$K$O$9$0$l$?J}K!$G$9!#\e(B</p>
+  </body>
+</html>
diff --git a/htdocs/manual/images/apache_header.gif b/htdocs/manual/images/apache_header.gif
new file mode 100644 (file)
index 0000000..260e421
Binary files /dev/null and b/htdocs/manual/images/apache_header.gif differ
diff --git a/htdocs/manual/images/custom_errordocs.gif b/htdocs/manual/images/custom_errordocs.gif
new file mode 100644 (file)
index 0000000..d566c5d
Binary files /dev/null and b/htdocs/manual/images/custom_errordocs.gif differ
diff --git a/htdocs/manual/images/home.gif b/htdocs/manual/images/home.gif
new file mode 100644 (file)
index 0000000..11299c1
Binary files /dev/null and b/htdocs/manual/images/home.gif differ
diff --git a/htdocs/manual/images/index.gif b/htdocs/manual/images/index.gif
new file mode 100644 (file)
index 0000000..741c893
Binary files /dev/null and b/htdocs/manual/images/index.gif differ
diff --git a/htdocs/manual/images/mod_rewrite_fig1.fig b/htdocs/manual/images/mod_rewrite_fig1.fig
new file mode 100644 (file)
index 0000000..7c80fea
--- /dev/null
@@ -0,0 +1,60 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+0 32 #efefef
+0 33 #cfcfef
+0 34 #bebebe
+2 1 0 4 4 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        6675 5250 6900 5250 6900 4650 4950 4650 4950 4050 5475 4050
+2 1 0 4 4 7 0 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 240.00
+        6900 4050 7650 4050
+2 1 0 4 4 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        9375 4050 9900 4050 9900 4650 7200 4650 7200 5250 7650 5250
+2 1 0 4 9 7 0 0 -1 0.000 0 0 -1 1 0 4
+       1 1 2.00 120.00 240.00
+        9300 5250 9900 5250 9900 6300 6975 6300
+2 1 2 4 0 7 0 0 -1 7.500 1 1 -1 0 0 2
+        3900 2100 3900 1500
+2 1 2 4 0 7 0 0 -1 7.500 1 1 -1 0 0 2
+        3900 7950 3900 7350
+2 1 1 4 9 7 0 0 -1 10.000 0 0 -1 1 0 4
+       1 1 2.00 120.00 240.00
+        5625 6300 2700 6300 2700 7050 3225 7050
+2 1 0 4 9 7 0 0 -1 0.000 0 0 -1 1 0 4
+       1 1 2.00 120.00 240.00
+        5550 3000 2700 3000 2700 5250 3225 5250
+2 1 1 4 9 7 0 0 -1 10.000 0 0 -1 1 0 4
+       1 1 2.00 120.00 240.00
+        9225 2325 9900 2325 9900 3000 6975 3000
+2 1 0 4 9 7 0 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 240.00
+        4800 5250 5550 5250
+2 4 0 2 9 7 0 0 -1 0.000 0 0 7 0 0 5
+        6900 3300 5700 3300 5700 2700 6900 2700 6900 3300
+2 4 0 2 9 7 0 0 -1 0.000 0 0 7 0 0 5
+        6900 6600 5700 6600 5700 6000 6900 6000 6900 6600
+4 0 0 0 0 0 20 0.0000 4 195 1455 3300 5400 RewriteRule\001
+4 0 0 0 0 1 20 0.0000 4 210 1440 7800 4200 CondPattern\001
+4 0 0 0 0 1 20 0.0000 4 270 1110 5625 4200 TestString\001
+4 0 0 0 0 0 20 0.0000 4 195 1905 3300 4200 RewriteCond     \001
+4 0 0 0 0 1 20 0.0000 4 210 1320 7800 5400 Substitution\001
+4 0 0 0 0 1 20 0.0000 4 195 825 5700 5400 Pattern\001
+4 0 0 0 0 0 20 0.0000 4 195 1455 3300 7200 RewriteRule\001
+4 0 0 0 0 0 20 0.0000 4 195 1455 3300 2400 RewriteRule\001
+4 0 0 0 0 1 20 0.0000 4 195 825 5700 7200 Pattern\001
+4 0 0 0 0 1 20 0.0000 4 210 1320 7800 7200 Substitution\001
+4 0 0 0 0 1 20 0.0000 4 210 1320 7800 2400 Substitution\001
+4 0 0 0 0 1 20 0.0000 4 195 825 5700 2400 Pattern\001
+4 0 9 0 0 18 12 0.0000 4 135 645 6000 2925 current\001
+4 0 9 0 0 18 12 0.0000 4 135 375 6075 3150 URL\001
+4 0 9 0 0 18 12 0.0000 4 135 825 5925 6225 rewritten\001
+4 0 9 0 0 18 12 0.0000 4 135 375 6075 6450 URL\001
diff --git a/htdocs/manual/images/mod_rewrite_fig1.gif b/htdocs/manual/images/mod_rewrite_fig1.gif
new file mode 100644 (file)
index 0000000..664ac1e
Binary files /dev/null and b/htdocs/manual/images/mod_rewrite_fig1.gif differ
diff --git a/htdocs/manual/images/mod_rewrite_fig2.fig b/htdocs/manual/images/mod_rewrite_fig2.fig
new file mode 100644 (file)
index 0000000..facf410
--- /dev/null
@@ -0,0 +1,50 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+0 32 #efefef
+0 33 #cfcfef
+0 34 #bebebe
+2 1 2 4 0 7 0 0 -1 10.000 1 1 -1 0 0 2
+        4050 3750 4050 4425
+2 1 0 2 9 7 0 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 240.00
+        4950 4800 5550 4800
+2 1 0 2 9 7 0 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 240.00
+        4950 3600 5550 3600
+2 1 0 2 9 7 0 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 240.00
+        6600 5700 7725 5700
+2 1 0 2 9 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        6600 5550 6900 5550 6900 5100 4950 5100 4950 2850 5550 2850
+2 1 0 2 4 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        9525 4800 9750 4800 9750 5100 7200 5100 7200 5550 7725 5550
+2 1 0 2 4 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        9450 3000 9750 3000 9750 3225 5100 3225 5100 3450 5550 3450
+2 1 0 2 4 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        9450 3600 9750 3600 9750 3825 5100 3825 5100 4050 5550 4050
+2 1 0 2 4 7 0 0 -1 0.000 0 0 -1 1 0 6
+       1 1 2.00 120.00 240.00
+        9450 4200 9750 4200 9750 4425 5100 4425 5100 4650 5550 4650
+4 0 0 0 0 0 20 0.0000 4 195 1905 3300 4800 RewriteCond     \001
+4 0 0 0 0 1 20 0.0000 4 210 1620 7800 4800 CondPatternN\001
+4 0 0 0 0 0 20 0.0000 4 195 1905 3300 3600 RewriteCond     \001
+4 0 0 0 0 1 20 0.0000 4 210 1575 7800 3600 CondPattern2\001
+4 0 0 0 0 1 20 0.0000 4 270 1290 5625 4800 TestStringN\001
+4 0 0 0 0 1 20 0.0000 4 270 1245 5625 3600 TestString2\001
+4 0 0 0 0 0 20 0.0000 4 195 1905 3300 3000 RewriteCond     \001
+4 0 0 0 0 1 20 0.0000 4 270 1245 5625 3000 TestString1\001
+4 0 0 0 0 1 20 0.0000 4 210 1575 7800 3000 CondPattern1\001
+4 0 0 0 0 1 20 0.0000 4 210 1320 7800 5700 Substitution\001
+4 0 0 0 0 1 20 0.0000 4 195 825 5700 5700 Pattern\001
+4 0 0 0 0 0 20 0.0000 4 195 1455 3300 5700 RewriteRule\001
diff --git a/htdocs/manual/images/mod_rewrite_fig2.gif b/htdocs/manual/images/mod_rewrite_fig2.gif
new file mode 100644 (file)
index 0000000..3ea8cb6
Binary files /dev/null and b/htdocs/manual/images/mod_rewrite_fig2.gif differ
diff --git a/htdocs/manual/images/pixel.gif b/htdocs/manual/images/pixel.gif
new file mode 100644 (file)
index 0000000..c080147
Binary files /dev/null and b/htdocs/manual/images/pixel.gif differ
diff --git a/htdocs/manual/images/sub.gif b/htdocs/manual/images/sub.gif
new file mode 100644 (file)
index 0000000..93061c5
Binary files /dev/null and b/htdocs/manual/images/sub.gif differ
diff --git a/htdocs/manual/index.html.en b/htdocs/manual/index.html.en
new file mode 100644 (file)
index 0000000..eba1c93
--- /dev/null
@@ -0,0 +1,311 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache HTTP Server Version 1.3 Documentation</title>
+  </head>
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <div align="center">
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center"><img src="images/apache_header.gif"
+          width="600" height="62" border="0"
+          alt="[Apache Documentation]" /></td>
+        </tr>
+
+        <tr>
+          <td align="center" bgcolor="#4f4f4f">
+            <table cellspacing="1" cellpadding="4" border="0"
+            width="100%">
+              <tr>
+                <td align="center" bgcolor="#bebebe"><a
+                href="misc/FAQ.html"><strong>FAQ</strong></a> </td>
+
+               <td align="center" bgcolor="#bebebe"><a
+               href="sitemap.html"><strong>SiteMap</strong></a></td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="mod/directives.html"><strong>Directives</strong></a>
+                </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="mod/"><strong>Modules</strong></a> </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="http://search.apache.org/"><strong>Search</strong></a>
+                </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+
+        <tr>
+          <td>&nbsp;</td>
+        </tr>
+
+        <tr>
+          <td align="center" height="30">
+            <h3>Apache HTTP Server Version 1.3</h3>
+          </td>
+        </tr>
+      </table>
+    </div>
+
+    <div align="center">
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center">
+            <form method="post" action="http://search.apache.org/">
+              <input type="hidden" name="what" value="docs1" />
+              <input type="text" name="query" size="20" />
+              <input type="submit" value="Search" />
+            </form>
+          </td>
+        </tr>
+      </table>
+
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center" valign="top">
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>Release Notes</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="new_features_1_3.html">New Features in
+                Version 1.3</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="upgrading_to_1_3.html">Upgrading to
+                Version 1.3</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="LICENSE">Apache License</a> </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>Reference Manual</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="install.html">Compiling and
+                Installing</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="invoking.html">Starting</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="stopping.html">Stopping or
+                Restarting</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="mod/directives.html">Run-time
+                Configuration Directives</a> </td>
+              </tr>
+
+              <tr>
+                <td>Modules: <a href="mod/index-bytype.html">By
+                Type</a> or <a
+                href="mod/index.html">Alphabetical</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="programs/">Server and Supporting
+                Programs</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="dso.html">Dynamic Shared Object (DSO)
+                Support</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/API.html">The Apache API</a>
+                </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>Platform Specific Notes</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="windows.html">Microsoft Windows</a> |
+                <a href="cygwin.html">Cygwin</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="netware.html">Novell Netware</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="mpeix.html">HP MPE/iX</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="unixware.html">UnixWare</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="readme-tpf.html">TPF</a> </td>
+              </tr>
+            </table>
+          </td>
+
+          <td align="center" valign="top" bgcolor="#cccccc">
+            <table border="0" cellpadding="0" cellspacing="0"
+            bgcolor="#cccccc">
+              <tr>
+                <td align="center"><img src="images/pixel.gif"
+                width="1" height="1" border="0" alt="." /></td>
+              </tr>
+            </table>
+          </td>
+
+          <td align="center" valign="top">
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Using
+                the Apache HTTP Server</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/auth.html">Authentication,
+                Authorization, and Access Control</a></td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/cgi.html">CGI: Dynamic Content with
+                CGI</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="configuring.html">Configuration
+                Files</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="content-negotiation.html">Content
+                negotiation</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="env.html">Environment Variables</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/perf-tuning.html">General
+                Performance hints</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="handler.html">Handlers</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="logs.html">Log Files</a> </td>
+              </tr>
+
+             <tr>
+                <td><a href="misc/security_tips.html">Security
+                tips</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="howto/ssi.html">Server Side
+                Includes</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="server-wide.html">Server-Wide
+                Configuration</a> </td>
+              </tr>
+
+             <tr>
+                <td><a href="suexec.html">suexec: Using SetUserID Execution
+                for CGI</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="urlmapping.html">URL Mapping: Mapping 
+                URLs to the Filesystem</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/rewriteguide.html">URL Rewriting
+                Guide</a> </td>
+              </tr>
+
+               <tr>
+                <td><a href="vhosts/index.html">Virtual Hosts</a>
+                </td>
+              </tr>
+
+           </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Other
+                Topics</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/FAQ.html">Frequently Asked
+                Questions</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="sitemap.html">SiteMap</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/tutorials.html">Tutorials</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/">Other Notes</a> </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+      </table>
+      <br />
+      <br />
+    </div>
+
+    <p align="center">Maintained by the <a
+    href="http://httpd.apache.org/docs-project/">Apache HTTP Server
+    Documentation Project</a>.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/index.html.fr b/htdocs/manual/index.html.fr
new file mode 100644 (file)
index 0000000..153575f
--- /dev/null
@@ -0,0 +1,281 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Documentation du serveur HTTP Apache version 1.3</title>
+  </head>
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <div align="center">
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center"><img src="images/apache_header.gif"
+          width="600" height="62" border="0"
+          alt="[Documentation d'Apache]" /></td>
+        </tr>
+
+        <tr>
+          <td align="center" bgcolor="#4f4f4f">
+            <table cellspacing="1" cellpadding="4" border="0"
+            width="100%">
+              <tr>
+                <td align="center" bgcolor="#bebebe"><a
+                href="misc/FAQ.html"><strong>FAQ</strong></a> </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="mod/directives.html"><strong>Directives</strong></a>
+                </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="mod/"><strong>Modules</strong></a> </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="http://search.apache.org/"><strong>Rechercher</strong></a>
+                </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+
+        <tr>
+          <td>&nbsp;</td>
+        </tr>
+
+        <tr>
+          <td align="center" height="30">
+            <h3>Serveur HTTP Apache version 1.3</h3>
+          </td>
+        </tr>
+      </table>
+    </div>
+
+    <div align="center">
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center">
+            <form method="post" action="http://search.apache.org/">
+              <input type="hidden" name="what" value="docs1" />
+              <input type="text" name="query" size="20" />
+              <input type="submit" value="Search" />
+            </form>
+          </td>
+        </tr>
+      </table>
+
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center" valign="top">
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Notes
+                sur cette version</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="new_features_1_3.html">Nouvelles
+                fonctionnalit&eacute;s de la version 1.3</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="upgrading_to_1_3.html">Migrer vers la
+                version 1.3</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="LICENSE">Licence Apache</a> </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Manuel
+                de r&eacute;f&eacute;rence</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="install.html">Compilation et
+                installation</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="invoking.html">D&eacute;marrage</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="stopping.html">Arr&ecirc;t et
+                red&eacute;marrage</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="mod/directives.html">Directives de
+                configuration de l'ex&eacute;cution</a> </td>
+              </tr>
+
+              <tr>
+                <td>Modules: <a href="mod/index-bytype.html">par
+                type</a> or <a href="mod/index.html">par ordre
+                alphab&eacute;tique</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="dso.html">Support des Objets
+                partag&eacute;s dynamiques (DSO)</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/API.html">L'API Apache</a> </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Notes
+                li&eacute;es aux plates-formes</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="windows.html">Microsoft Windows</a> |
+                <a href="cygwin.html">Cygwin</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="netware.html">Novell Netware</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="mpeix.html">HP MPE/iX</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="unixware.html">UnixWare</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="readme-tpf.html">TPF</a> </td>
+              </tr>
+            </table>
+          </td>
+
+          <td align="center" valign="top" bgcolor="#cccccc">
+            <table border="0" cellpadding="0" cellspacing="0"
+            bgcolor="#cccccc">
+              <tr>
+                <td align="center"><img src="images/pixel.gif"
+                width="1" height="1" border="0" alt="." /></td>
+              </tr>
+            </table>
+          </td>
+
+          <td align="center" valign="top">
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>Utilisation du serveur HTTP Apache</strong>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="configuring.html">Fichiers de
+                configuration</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="server-wide.html">Configuration
+                globale du serveur</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="vhosts/index.html">H&ocirc;tes
+                virtuels</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/ssi.html">Inclusion
+                c&ocirc;t&eacute; serveur (SSI)</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/cgi.html">Contenu dynamique avec
+                les CGI</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="handler.html">Handlers</a> </td>
+              </tr>
+
+              <tr>
+                <td><a
+                href="content-negotiation.html">N&eacute;gotiation
+                de contenu</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="env.html">Variables
+                d'environnement</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="suexec.html">Using SetUserID Execution
+                for CGI</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/perf-tuning.html">Aides sur les
+                performances g&eacute;n&eacute;rales</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/security_tips.html">Trucs sur la
+                s&eacute;curit&eacute;</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/rewriteguide.html">Guide de
+                r&eacute;&eacute;criture d'URLs</a> </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Autres
+                sujets</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/FAQ.html">Foires aux
+                questions</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/tutorials.html">Tutoriels</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/">Autres notes</a> </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/index.html.html b/htdocs/manual/index.html.html
new file mode 100644 (file)
index 0000000..f271091
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="index.html.en" -->
+
diff --git a/htdocs/manual/index.html.ja.jis b/htdocs/manual/index.html.ja.jis
new file mode 100644 (file)
index 0000000..f6693ad
--- /dev/null
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+
+    <title>Apache HTTP \e$B%5!<%P\e(B \e$B%P!<%8%g%s\e(B 1.3 \e$B%I%-%e%a%s%H\e(B</title>
+  </head>
+  <!-- English revision: 1.57 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <div align="center">
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center"><img src="images/apache_header.gif"
+          width="600" height="62" border="0"
+          alt="[Apache \e$B%I%-%e%a%s%H\e(B]" /></td>
+        </tr>
+
+        <tr>
+          <td align="center" bgcolor="#4f4f4f">
+            <table cellspacing="1" cellpadding="4" border="0"
+            width="100%">
+              <tr>
+                <td align="center" bgcolor="#bebebe"><a
+                href="misc/FAQ.html"><strong>FAQ</strong></a> </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+               href="sitemap.html"><strong>\e$B%5%$%H%^%C%W\e(B</strong></a></td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="mod/directives.html"><strong>\e$B%G%#%l%/%F%#%V\e(B</strong></a>
+                </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="mod/"><strong>\e$B%b%8%e!<%k\e(B</strong></a> </td>
+
+                <td align="center" bgcolor="#bebebe"><a
+                href="http://search.apache.org/"><strong>\e$B8!:w\e(B</strong></a>
+                </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+
+        <tr>
+          <td>&nbsp;</td>
+        </tr>
+
+        <tr>
+          <td align="center" height="30">
+            <h3>Apache HTTP Server Version 1.3</h3>
+          </td>
+        </tr>
+      </table>
+    </div>
+
+    <div align="center">
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center">
+            <form method="post" action="http://search.apache.org/">
+              <input type="hidden" name="what" value="docs1" />
+              <input type="text" name="query" size="20" />
+              <input type="submit" value="Search" />
+            </form>
+          </td>
+        </tr>
+      </table>
+
+      <table cellspacing="0" cellpadding="0" border="0"
+      width="600">
+        <tr>
+          <td align="center" valign="top">
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>\e$B%j%j!<%9%N!<%H\e(B</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="new_features_1_3.html">Apache 1.3 \e$B$N?75!G=\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="upgrading_to_1_3.html">Apache 1.3
+                \e$B$X$N%"%C%W%0%l!<%I\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="LICENSE">Apache \e$B$N%i%$%;%s%9\e(B</a> </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>\e$B%j%U%!%l%s%9%^%K%e%"%k\e(B</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="install.html">\e$B%3%s%Q%$%k$H%$%s%9%H!<%k\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="invoking.html">\e$B5/F0\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="stopping.html">\e$B=*N;$^$?$O:F5/F0\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="mod/directives.html">\e$B<B9T;~$N@_DjJ}K!\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td>\e$B%b%8%e!<%k\e(B: <a href="mod/index-bytype.html"
+                >\e$B<oN`JL\e(B</a> \e$B$H\e(B
+                <a href="mod/index.html">\e$B%"%k%U%!%Y%C%H=g\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="programs/">\e$B%5!<%P$H%5%]!<%H%W%m%0%i%`\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="dso.html">Dynamic Shared Object (DSO)
+                \e$B$N%5%]!<%H\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/api.html">Apache API</a>
+                </td>
+              </tr>
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>\e$B%W%i%C%H%U%)!<%`8GM-$N>pJs\e(B</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="windows.html">Microsoft Windows</a> |
+                <a href="cygwin.html">Cygwin</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="netware.html">Novell Netware</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="mpeix.html">HP MPE/iX</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="unixware.html">UnixWare</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="readme-tpf.html">TPF</a> </td>
+              </tr>
+            </table>
+          </td>
+
+          <td align="center" valign="top" bgcolor="#cccccc">
+            <table border="0" cellpadding="0" cellspacing="0"
+            bgcolor="#cccccc">
+              <tr>
+                <td align="center"><img src="images/pixel.gif"
+                width="1" height="1" border="0" alt="." /></td>
+              </tr>
+            </table>
+          </td>
+
+          <td align="center" valign="top">
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9"><strong>Apache
+                HTTP \e$B%5!<%P$r;H$&\e(B</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/auth.html">\e$BG'>Z!"5v2D!"\e(B
+                \e$B%"%/%;%9@)8f\e(B</a></td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/cgi.html">CGI
+                \e$B$K$h$kF0E*%3%s%F%s%D\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="configuring.html">\e$B@_Dj%U%!%$%k\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="content-negotiation.html"
+                >\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="env.html">\e$B4D6-JQ?t\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/perf-tuning.html"
+                >\e$B0lHLE*$J@-G=$K4X$9$k%R%s%H\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="handler.html">\e$B%O%s%I%i\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="logs.html">\e$B%m%0%U%!%$%k\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/security_tips.html">
+                \e$B%;%-%e%j%F%#>pJs\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="howto/ssi.html">Server Side Include</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="server-wide.html">\e$B%5!<%PA4BN$N@_Dj\e(B</a>
+              </td>
+            </tr>
+
+              <tr>
+                <td><a href="suexec.html">CGI \e$B$G\e(B SetUserID
+                \e$B<B9T$r;H$&\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="urlmapping.html">URL
+                \e$B$r%U%!%$%k%7%9%F%`$K%^%C%W$9$k\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/rewriteguide.html">URL Rewriting
+                \e$B$N%,%$%I\e(B</a> </td>
+              </tr>
+
+              <tr>
+                <td><a href="vhosts/index.html">\e$B%P!<%A%c%k%[%9%H\e(B</a>
+                </td>
+              </tr>
+
+            </table>
+
+            <table border="0" cellpadding="4" cellspacing="0"
+            bgcolor="#ffffff" width="280">
+              <tr>
+                <td align="center" bgcolor="#e9e9e9">
+                <strong>\e$B$=$NB>\e(B</strong> </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/FAQ.html">FAQ</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="sitemap.html">\e$B%5%$%H%^%C%W\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/tutorials.html">\e$B%A%e!<%H%j%"%k\e(B</a>
+                </td>
+              </tr>
+
+              <tr>
+                <td><a href="misc/">\e$B$=$NB>\e(B</a> </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+      </table>
+      <br />
+      <br />
+    </div>
+
+    <p align="center"><a
+    href="http://httpd.apache.org/docs-project/">Apache HTTP Server
+    Documentation Project</a> \e$B$K$h$j%a%s%F%J%s%9$5$l$F$$$^$9!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/install-tpf.html b/htdocs/manual/install-tpf.html
new file mode 100644 (file)
index 0000000..e9600d7
--- /dev/null
@@ -0,0 +1,978 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=us-ascii" />
+
+    <title>Installing Apache on TPF4.1</title>
+    <style type="text/css">
+    /*<![CDATA[*/
+    <!-- 
+            .indented { margin-left: 25pt; } 
+            .output { padding-left: 20px; padding-right: 20px; background-color: #dadada;  }
+            --> 
+    /*]]>*/
+    </style>
+</head>
+
+<body>
+    <center>
+        <h2><a id="top"
+           name="top"></a>Installing the Apache 1.3 HTTP Server on
+           TPF4.1</h2>
+        <hr />
+        [ <a href="#download">Download</a> |
+        <a href="#compilation">Compilation</a> |
+        <a href="#installation">Installation</a> |
+        <a href="#linkmap">Link Map</a>&nbsp;] 
+        <hr />
+    </center>
+
+    <p>This document outlines the steps needed to install Apache
+    onto an IBM TPF4.1 system. (There are separate
+    <a href="install-ztpf.html">installation instructions for
+    z/TPF</a>.)</p>
+
+    <p>You should first review
+    <a href="readme-tpf.html">readme-tpf.html</a> for basic
+    information on the port of Apache to TPF including a list of
+    supported modules and required PUT levels.</p>
+
+    <p>The allocated <tt>CHTA</tt> program name is used throughout
+    these instructions to refer to Apache. You can use a different
+    program name if you wish.<br />
+     Likewise the directory structure <tt>apache/src</tt> is used
+    for the Apache source code directory. You can use different
+    directories than <tt>apache</tt> if you wish.</p>
+
+    <p>If you change the program or directory names be sure to
+    change the entries shown in these instructions.</p><br />
+     
+
+    <center>
+        <h2><a id="download"
+           name="download"></a>Download</h2>
+    </center>
+
+    <p>Releases of the Apache server are compressed into a
+    "tarball" file which must be downloaded to your PC.
+    Additionally the source code from the tarball will need to be
+    copied onto an OS/390 UNIX System Services machine (later
+    referred to simply as "OS/390 UNIX") for compiling. Here are
+    all the details on how to get Apache and how to get it where it
+    needs to be:</p>
+
+    <ol>
+        <li>
+            <p>Download the compressed Apache files (the "tarball")
+            to your PC. The file name on the web site will be
+            <tt>apache_1.3.<i>vv</i>.tar.Z</tt>.</p>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            Be sure to keep the <tt>.tar.Z</tt> extension when
+            saving the file.</p>
+        </li>
+
+        <li>
+            <p>Decompress the tarball on your PC using WinZip or
+            some other PC decompression tool.</p>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            If you are using WinZip verify that the <i>"TAR File
+            Smart CR/LF Conversion"</i> option (under Options,
+            Configuration) is <em>not</em> checked.</p>
+
+            <p>This is what you can expect if you use WinZip:</p>
+
+            <ul>
+                <li>open the tarball with WinZip (this can usually
+                be done simply by double-clicking on the downloaded
+                tarball)</li>
+
+                <li>you will be told that the archive contains one
+                file (apache_1.3.<i>vv</i>.tar) - allow WinZip to
+                decompress it to a temporary folder</li>
+
+                <li>extract the archived files onto your PC -
+                you'll be using files from the&nbsp; <tt>conf,
+                htdocs,</tt> and <tt>icons</tt> directories later
+                in the install phase<br />
+                <br /></li>
+            </ul>
+        </li>
+
+        <li>
+            <p>FTP the tarball to your OS/390 UNIX machine using
+            binary mode:</p>
+
+            <ul>
+                <li>activate FTP in an MSDOS window:<br />
+                 <b><tt>&nbsp;&nbsp;&nbsp;ftp&nbsp;<i>your.os390.unix.machine.com</i></tt></b>&nbsp;</li>
+
+                <li>sign in&nbsp;</li>
+
+                <li>set mode to
+                binary:&nbsp;&nbsp;<b><tt>binary</tt></b>&nbsp;</li>
+
+                <li>send the file to OS/390 UNIX:<br />
+                 <b><tt>&nbsp;&nbsp;&nbsp;send&nbsp;"c:/<i>path</i>/apache_1.3.
+                <i>vv</i>.tar.Z"&nbsp;apache_1.3.<i>vv</i>.tar.Z</tt></b></li>
+
+                <li>exit FTP:&nbsp;&nbsp;<b><tt>bye</tt></b></li>
+            </ul>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            UNIX file names are case sensitive. If you use an NFS
+            client to transfer files from your PC to OS/390 UNIX
+            (instead of using FTP as described above) verify that
+            the NFS drive will transfer the file names with
+            upper/lower case preserved.</p>
+        </li>
+
+        <li>
+            <p>Decompress and extract the archived files necessary
+            for compiling Apache:</p>
+
+            <p class="indented">
+            <b><tt>pax&nbsp;-rvzkf&nbsp;apache_1.3.<i>vv</i>.tar.Z&nbsp;-o&nbsp;from=ISO8859-1,to=IBM-1047&nbsp;"*/src"</tt></b></p>
+        </li>
+
+        <li>
+            <p><a id="delete-expat"
+               name="delete-expat"></a> Remove unnecessary
+               subdirectories:</p>
+
+            <p class="indented">
+            <b><tt>cd&nbsp;apache_1.3.<em>vv</em>/src/lib<br />
+             rm&nbsp;-r&nbsp;expat-lite&nbsp;sdbm<br />
+             cd&nbsp;../os<br />
+             rm -fr bs2000 cygwin mpeix netware os2 os390 unix
+            win32<br />
+             cd&nbsp;..</tt></b></p>
+        </li>
+    </ol>
+
+    <center>
+        <h2><a id="compilation"
+           name="compilation"></a>Compilation</h2>
+    </center>
+
+    <p>Apache supports the notion of "optional modules". However,
+    the server has to know which modules are compiled into it. In
+    order for those modules to be effective, it is necessary to
+    generate a short bit of code (modules.c) which simply has a
+    list of them. If you are using the <tt>Configure</tt> utility
+    and <tt>make</tt>, modules.c and other necessary files will be
+    created for you automatically.</p>
+
+    <p>The provided instructions assume a c89 compiler and have
+    been tested on an OS/390 UNIX machine running at version 2.6
+    that contained both OS/390 UNIX and TPF C header files. If you
+    are using a platform other that OS/390 UNIX you may need to
+    modify src/os/tpf/TPFExport and src/Configure to match your
+    environment.</p>
+
+    <p><font color="#CC6600"><font size="+1">TIP:</font></font>
+    Editing files on your PC prior to moving them to OS/390 UNIX
+    may result in the loss/addition of unprintable characters.
+    Files of concern include shell scripts and src/Configuration.
+    The most common problems are with tab characters and CR/LF
+    characters. Most editors will handle the CR/LF problem
+    correctly but none seem to handle tab characters. If you need
+    to edit files prior to moving them to OS/390 UNIX, edit them in
+    a UNIX editor such as vi or emacs.</p>
+
+    <p>Note that OS/390 UNIX commands in this section are shown in
+    <b><tt>bold</tt></b>, are case sensitive, and must be made from
+    the "src" directory.</p>
+
+    <ol>
+        <li>
+            <p>Switch to the Apache source code subdirectory:</p>
+
+            <p class="indented">
+            <b><tt>cd&nbsp;apache_1.3.<em>vv</em>/src</tt></b></p>
+        </li>
+
+        <li>
+            <p>Overlay src/Configuration with
+            src/Configuration.tmpl:</p>
+
+            <p class="indented">
+            <b><tt>cp&nbsp;Configuration.tmpl&nbsp;Configuration</tt></b></p>
+        </li>
+
+        <li>
+            <p>The src/Configuration file controls which optional
+            modules are compiled into Apache.<br />
+             Leave the file as-is if you want to use the default
+            set of modules.<br />
+             Otherwise edit the src/Configuration file to customize
+            which modules are used:</p>
+
+            <ul>
+                <li>Comment out (by preceding the line with a "#")
+                lines corresponding to those modules you do
+                <em>not</em> wish to include.</li>
+
+                <li>Uncomment (by removing the initial "#", if
+                present) lines corresponding to those modules you
+                wish to include.<br />
+                 (The <a href="readme-tpf.html">readme-tpf.html</a>
+                document lists the modules that have been tested on
+                TPF).</li>
+
+                <li>Add lines for any custom or third party modules
+                you wish to include.<br />
+                 The modules placed in the Apache distribution are
+                the ones that have been tested and are used
+                regularly by various members of the Apache
+                development group. Additional modules contributed
+                by members or third parties with specific needs or
+                functions are available at
+                <a href="http://modules.apache.org/">http://modules.apache.org/</a>.
+                There are instructions on that page for linking
+                these modules into the core Apache code.</li>
+
+                <li>If you did not delete the src/lib/expat-lite
+                directory as noted in the
+                <a href="#delete-expat">download instructions</a>,
+                add "<tt>Rule&nbsp;EXPAT=no</tt>" to the
+                src/Configuration file.</li>
+
+                <li>Adjust the other rules, <tt>EXTRA_CFLAGS</tt>,
+                <tt>EXTRA_LIBS</tt>, <tt>EXTRA_LDFLAGS</tt>, and
+                <tt>EXTRA_INCLUDES</tt> settings if you feel so
+                inclined.<br />
+                 &nbsp;</li>
+            </ul>
+        </li>
+
+        <li>
+            <p>Indicate whether the <tt>non_socket_select</tt>
+            function is implemented on your system.</p>
+
+            <p>If you are on a PUT12 or higher system, or have
+            PJ26895 installed, then you probably support
+            <tt>non_socket_select</tt>.<br />
+             You can verify this by looking for the
+            <tt>non_socket_select</tt> prototype in your system
+            header files (specifically <tt>i$pwbl.h</tt>).</p>
+
+            <p>If your TPF system supports
+            <tt>non_socket_select</tt> do <em>one</em> of the
+            following:</p>
+
+            <ul>
+                <li>add
+                "<tt>#define&nbsp;TPF_HAVE_NONSOCKET_SELECT</tt>"
+                to
+                <tt>src/os/tpf/os.h</tt>&nbsp;&nbsp;&nbsp;<em>or</em></li>
+
+                <li>add "<tt>-DTPF_HAVE_NONSOCKET_SELECT</tt>" to
+                the <tt>_C89_OPTIONS</tt> export in
+                src/os/tpf/TPFExport</li>
+            </ul>
+
+            <p>Otherwise:</p>
+
+            <ul>
+                <li>add
+                "<tt>#define&nbsp;TPF_NO_NONSOCKET_SELECT</tt>" to
+                <tt>src/os/tpf/os.h</tt>&nbsp;&nbsp;&nbsp;<em>or</em></li>
+
+                <li>add "<tt>-DTPF_NO_NONSOCKET_SELECT</tt>" to the
+                <tt>_C89_OPTIONS</tt> export in
+                src/os/tpf/TPFExport</li>
+            </ul>
+
+            <p>Without <tt>non_socket_select</tt> CGI output is
+            buffered and only sent to the browser when the CGI
+            program finishes.</p>
+        </li>
+
+        <li>
+            <p>Indicate whether the <tt>tpf_sawnc</tt> function is
+            implemented on your system.</p>
+
+            <p>If you are on a PUT10 or higher system, or have
+            PJ27387/PJ26188 installed, then you probably support
+            <tt>tpf_sawnc</tt>.<br />
+             You can verify this by looking for the
+            <tt>tpf_sawnc</tt> prototype in your system header
+            files (either <tt>tpfapi.h</tt> or
+            <tt>i$fsdd.h</tt>).</p>
+
+            <p>If your TPF system supports <tt>tpf_sawnc</tt> do
+            <em>one</em> of the following:</p>
+
+            <ul>
+                <li>add "<tt>#define&nbsp;TPF_HAVE_SAWNC</tt>" to
+                <tt>src/os/tpf/os.h</tt>&nbsp;&nbsp;&nbsp;<em>or</em></li>
+
+                <li>add "<tt>-DTPF_HAVE_SAWNC</tt>" to the
+                <tt>_C89_OPTIONS</tt> export in
+                src/os/tpf/TPFExport</li>
+            </ul>
+
+            <p>Otherwise:</p>
+
+            <ul>
+                <li>add "<tt>#define&nbsp;TPF_NO_SAWNC</tt>" to
+                <tt>src/os/tpf/os.h</tt>&nbsp;&nbsp;&nbsp;<em>or</em></li>
+
+                <li>add "<tt>-DTPF_NO_SAWNC</tt>" to the
+                <tt>_C89_OPTIONS</tt> export in
+                src/os/tpf/TPFExport</li>
+            </ul>
+
+            <p>The use of <tt>tpf_sawnc</tt> allows for a cleaner
+            shutdown of Apache.</p>
+        </li>
+
+        <li>
+            <p><a id="syslog"
+               name="syslog"></a>Indicate if you have the Syslog
+               Daemon message logging facility.</p>
+
+            <p>If you are on a PUT13 or higher system, or have
+            PJ27214 installed, you can use syslog for Apache's
+            ErrorLog.<br />
+             To have the option of using syslog you must do
+            <em>one</em> of the following:</p>
+
+            <ul>
+                <li>add "<tt>#define&nbsp;HAVE_SYSLOG</tt>" to
+                <tt>src/os/tpf/os.h</tt>&nbsp;&nbsp;&nbsp;<em>or</em></li>
+
+                <li>add "<tt>-DHAVE_SYSLOG</tt>" to the
+                <tt>_C89_OPTIONS</tt> export in
+                src/os/tpf/TPFExport</li>
+            </ul>
+
+            <p>You also need to add "<tt>INCLUDE
+            OBJLIB(CSYLOG40)</tt>" to your link JCL.</p>
+
+            <p>See the <a href="readme-tpf.html#syslog">syslog
+            section of readme-tpf.html</a> for more
+            information.</p>
+        </li>
+
+        <li>
+            <p>Indicate if you would like to use the TCP/IP network
+            services database. (This only applies if you are using
+            TCP/IP native stack.)</p>
+
+            <p>If you are on a PUT16 or higher system, or have
+            PJ28195 installed, you can use the TCP/IP network
+            services database. To do so, you must do <em>one</em>
+            of the following:</p>
+
+            <ul>
+                <li>add "<tt>#define&nbsp;TPF_HAVE_NSD</tt>" to
+                <tt>src/os/tpf/os.h</tt>&nbsp;&nbsp;&nbsp;<em>or</em></li>
+
+                <li>add "<tt>-DTPF_HAVE_NSD</tt>" to the
+                <tt>_C89_OPTIONS</tt> export in
+                src/os/tpf/TPFExport</li>
+            </ul>
+
+            <p>See "Network Services Database Support" in the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details.</p>
+        </li>
+
+        <li>
+            <p><a id="export"
+               name="export"></a>Set the TPF environment
+               variables:</p>
+
+            <p class="indented">
+            <b><tt>.&nbsp;os/tpf/TPFExport</tt></b>&nbsp;</p>
+
+            <p>This script will set the environment variables
+            required to compile the programs for TPF. Verify that
+            the export variables are valid for your installation,
+            in particular, the system include file directories. The
+            system include files must reside on your OS/390 UNIX
+            system in the appropriate file structure similar to
+            /usr/include and /usr/include/sys. Do <em>not</em>
+            modify the <tt>TPF=YES</tt> export variable. If this is
+            changed, the "Configure" script will not recognize
+            TPF.</p>
+        </li>
+
+        <li>
+            <p><a id="run-configure"
+               name="run-configure"></a>Run the "Configure" script
+               to generate modules.c, include/ap_config_auto.h, and
+               necessary Makefiles:</p>
+
+            <p class="indented"><b><tt>Configure</tt></b></p>
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+Using config file:
+Configuration
+Creating Makefile
++ configured for TPF platform
++ setting C compiler to c89
++ setting C pre-processor to c89 -E
++ using "tr [a-z] [A-Z]" to uppercase
++ checking for system header files
++ adding selected modules
++ checking sizeof various data types
+Creating Makefile in support
+Creating Makefile in regex
+Creating Makefile in os/tpf
+Creating Makefile in ap
+Creating Makefile in main
+Creating Makefile in modules/standard
+$
+                        </pre>
+                    </td>
+                </tr>
+            </table>
+
+            <p class="indented">Use the <tt>-file</tt> option if
+            you want to maintain multiple configurations:</p>
+
+            <p class="indented">
+            <b><tt>Configure&nbsp;-file&nbsp;Configuration.2nd</tt></b></p>
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+Using config file: Configuration.2nd 
+Creating Makefile
++ configured for TPF platform
++ setting C compiler to c89
+<em>et cetera</em>
+                        </pre>
+                    </td>
+                </tr>
+            </table>
+
+            <p>If you receive an error such as "<tt>Configure 146:
+            FSUM7351 not found</tt>" the most likely explanation is
+            that one or more of the <tt>make</tt> related files
+            were edited on a non-UNIX platform, corrupting the
+            end-of-line marks. Verify that lines ending with "\" in
+            the flagged file do not have trailing spaces. Using the
+            vi editor and the sample error above as an
+            example...</p>
+
+            <table class="indented">
+                <tr>
+                    <td>pull up the flagged file:</td>
+
+                    <td><tt><b>vi Configure</b></tt></td>
+                </tr>
+
+                <tr>
+                    <td>turn on punctuation:</td>
+
+                    <td><tt><b>:set list</b></tt></td>
+                </tr>
+
+                <tr>
+                    <td>go to the line in
+                    question:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+                    <td><tt><b>146G</b></tt></td>
+                </tr>
+
+                <tr>
+                    <td><em>or</em> find a line with a "\":</td>
+
+                    <td><tt><b>/\\</b></tt></td>
+                </tr>
+
+                <tr>
+                    <td></td>
+
+                    <td></td>
+                </tr>
+            </table>
+
+            <p class="indented">The end of line should display as
+            "<tt>\$</tt>". If it is displayed as
+            "<tt>\&nbsp;$</tt>" (with a blank between \ and $) then
+            you should revert to the distributed version of the
+            file and make the site-specific changes again using a
+            UNIX compatible editor such as vi or emacs. Then try
+            the Configure command again.</p>
+
+            <table class="indented">
+                <tr>
+                    <td>close the
+                    file:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+                    <td><tt><b>:q</b> (<em>or</em>
+                    <b>:quit!</b>)</tt></td>
+                </tr>
+            </table>&nbsp;
+        </li>
+
+        <li>
+            <p>Edit src/os/tpf/os.h if you want to use the
+            <tt>sigaction()</tt> function.</p>
+
+            <p>The <tt>sigaction()</tt> function supersedes the
+            <tt>signal()</tt> interface and should be used in
+            preference. This function was implemented with APAR
+            PJ26188 which shipped with PUT10.</p>
+
+            <p>To use <tt>sigaction()</tt> remove <tt>#define
+            NO_USE_SIGACTION</tt> in os.h.</p>
+
+            <p>The change will only take effect after Apache is
+            (re)compiled.</p>
+        </li>
+
+        <li>
+            <p>Edit src/os/tpf/os.h if you do <em>not</em> want the
+            scoreboard kept in shared memory.</p>
+
+            <p>The default behavior for Apache on all platforms
+            <em>except</em> TPF is to use the file system for
+            maintaining the scoreboard (which holds current Apache
+            children status). The default behavior for Apache on
+            TPF is to use shared memory. This reduces file activity
+            and improves performance.</p>
+
+            <p>If you are on a pre-PUT10 system, or for some reason
+            you do not want to use shared memory for the
+            scoreboard, you must remove
+            "<tt>#define&nbsp;USE_SHMGET_SCOREBOARD</tt>" from
+            os.h</p>
+
+            <p>The change will only take effect after Apache is
+            (re)compiled.</p>
+        </li>
+
+        <li>
+            <p>Now compile the programs:</p>
+
+            <p class="indented"><b><tt>make</tt></b></p>
+
+            <p>Besides compiling, <tt>make</tt> also runs
+            src/main/gen_test_char.c and src/main/gen_uri_delims.c
+            in order to create src/main/test_char.h and
+            src/main/uri_delims.h respectively</p>
+
+            <p>The following compilation warning may or may not
+            occur. It should be ignored:</p>
+
+            <p class="indented">
+            main/http_main.c:&nbsp;&nbsp;&nbsp;<tt>Infinite loop
+            detected in function child_main. Program may not
+            stop.</tt></p>
+
+            <p>If during compilation you get a warning about a
+            missing 'regex.h', set <tt>WANTHSREGEX=yes</tt> in the
+            src/Configuration file and start back at the
+            <a href="#run-configure"><tt><b>Configure</b></tt></a>
+            step.</p>
+
+            <p>If you get a
+            '<tt>Duplicate&nbsp;type&nbsp;specifier&nbsp;"long"&nbsp;ignored</tt>'
+            error, add "<tt>-W&nbsp;0,langlvl(extended)</tt>" to
+            the <tt>_C89_OPTIONS</tt> export in
+            src/os/tpf/TPFExport and start back at the
+            <a href="#export"><tt><b>export</b></tt></a> step</p>
+        </li>
+    </ol><br />
+     
+
+    <center>
+        <h2><a id="installation"
+           name="installation"></a>Installation</h2>
+    </center>
+
+    <p>The allocated <tt>CHTA</tt> program name is used throughout
+    these instructions to refer to Apache. You can use a different
+    program name if you wish.</p>
+
+    <ol>
+        <li>
+            <p>Link the compiled object files into a DLL. Sample
+            link JCL has been included as
+            src/os/tpf/samples/linkhttp.jcl. You will need to
+            modify this JCL:</p>
+
+            <ul>
+                <li>Change the IDs, data set names, and libraries
+                for your particular site.</li>
+
+                <li>Add/remove <tt>mod_<i>xxx</i>.o</tt> files so
+                they correspond to the <tt>mod_<i>xxx</i>.o</tt>
+                lines in your src/Configuration file.</li>
+            </ul>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            Do <em>not</em> include gen_test_char.o or
+            gen_uri_delims.o in the link JCL since these files are
+            only used during the <tt>make</tt> step.</p>
+
+            <p>If you receive an "Unresolved references" error for
+            "<tt>XML_ErrorString</tt>" you probably need to
+            <a href="#delete-expat">remove the expat-lite
+            directory</a> and start back at the
+            "<a href="#run-configure">Run the Configure script"
+            step</a></p>
+
+            <p>If you receive an "unable to open" error for
+            <tt>lib/expat-lite/hashtable.o</tt>" you probably need
+            to remove all of the expat-lite .o's from your link
+            JCL</p>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            Apache uses cinet6 from CLTY, which is part of the
+            Internet Daemon (ZINET). Ensure that you link Apache
+            with the proper version of CLTY for your system. If you
+            apply changes to CLTY you should re-link Apache to
+            prevent the <code>inetd_getServer</code> and/or
+            <code>inetd_getServerStatus</code> functions from
+            failing.</p>
+        </li>
+
+        <li>
+            <p>Create a loadset. Sample loadset JCL has been
+            included as src/os/tpf/samples/loadset.jcl. You will
+            need to modify this JCL for your particular site.</p>
+
+            <p>A JCL condition code of 4 is expected since the C
+            load module will contain no link map data.</p>
+
+            <p>If you require a link map refer to the
+            <a href="#linkmap">instructions below</a>.</p>
+        </li>
+
+        <li>
+            <p>Load (<tt>ZOLDR LOAD</tt>) and activate (<tt>ZOLDR
+            ACT</tt>) the loadset on your test system.</p>
+        </li>
+
+        <li>
+            <p>Ensure that the program name you are using for
+            Apache has <tt>RESTRICT</tt> and <tt>KEY0</tt>
+            authorization:</p>
+
+            <p class="indented"><tt><b>zdpat chta</b>
+            (c-c)</tt></p>
+
+            <p>If necessary you can use the <tt>zapat</tt> entry to
+            alter the authorization:</p>
+
+            <p class="indented"><tt><b>zapat chta restrict key0</b>
+            (c-c)</tt></p>
+
+            <p>Note that if the program name is unallocated, you
+            must have the loadset for it activated or you will
+            receive <tt>INVALID PROGRAM NAME</tt> from the
+            <tt>zdpat/zapat</tt> entries.</p>
+        </li>
+
+        <li>
+            <p>General documentation for Apache is located at
+            <a href="http://httpd.apache.org/docs/">http://httpd.apache.org/docs/</a>
+            and in the HTML pages included with the distribution
+            (tarball) under the <tt>htdocs/manual</tt>
+            directory.</p>
+        </li>
+
+        <li>
+            <p>Create the Apache run-time configuration file. The
+            server requires a configuration file to initialize
+            itself during activation.<br />
+             Copy the distribution version, conf/httpd.conf-dist,
+            to conf/httpd.conf and then edit the conf/httpd.conf
+            copy with your site specific information.</p>
+
+            <p>You must change every occurrence of
+            "<tt>@@ServerRoot@@</tt>" to your document server root
+            (for example "<tt>/usr/local/apache</tt>")</p>
+
+            <p>You should also add the following line to the
+            httpd.conf file to prevent Apache from doing a host
+            name lookup on your test system:</p>
+
+            <p class="indented"><tt>ServerName 127.0.0.1</tt></p>
+        </li>
+
+        <li>
+            <p>On TPF activate your TCP/IP Offload (ZCLAW) or
+            Native Stack communications device.<br />
+             Refer to the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details.</p>
+        </li>
+
+        <li>
+            <p>Using either TFTP or FTP, transfer the configuration
+            file, icons, and web pages to your TPF system. A
+            typical directory structure for Apache is as
+            follows:</p>
+
+            <p class="indented"><tt>/usr/local/apache/conf<br />
+             /usr/local/apache/logs<br />
+             /usr/local/apache/icons<br />
+             /usr/local/apache/htdocs<br /></tt></p>
+
+            <p>At a minimum you will need these files on TPF:</p>
+
+            <p class="indented">
+            <tt>/usr/local/apache/conf/httpd.conf<br />
+             /usr/local/apache/conf/mime.types<br />
+             /usr/local/apache/htdocs/index.html.en<br />
+             /usr/local/apache/htdocs/apache_pb.gif<br /></tt></p>
+
+            <p>All gif, jpg, and zip files should be transferred as
+            binary; the configuration file and html pages should be
+            transferred as text.</p>
+
+            <p>Refer to the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details on TFTP
+            and FTP.</p>
+        </li>
+
+        <li>
+            <p>The logs directory must exist and be accessible in
+            order to avoid an <tt>fopen</tt> error while running
+            Apache:</p>
+
+            <p>If you're running a PUT10 or higher version of TPF
+            make the directory using a zfile commands:</p>
+
+            <p class="indented">
+            <b><tt>zfile&nbsp;mkdir&nbsp;/usr/local/apache/logs<br />
+
+             zfile chmod 777 /usr/local/apache/logs</tt></b></p>
+
+            <p>If you're running TPF version PUT09 TFTP an empty
+            file into the logs subdirectory to create
+            it.&nbsp;<br />
+             Then make sure Apache can write into the logs
+            subdirectory:</p>
+
+            <p class="indented"><b><tt>zfile chmod 777
+            /usr/local/apache/logs</tt></b></p>
+        </li>
+
+        <li>
+            <p>Add Apache to the Internet Daemon's tables using
+            ZINET entries</p>
+
+            <p>For PUT11 and later use the DAEMON model for
+            Apache:</p>
+
+            <p class="indented">
+            <tt><b>ZINET&nbsp;ADD&nbsp;S-APACHE&nbsp;PGM-chta&nbsp;MODEL-DAEMON&nbsp;USER-root</b></tt></p>
+
+            <p>On pre-PUT11 systems use the NOLISTEN model
+            instead:</p>
+
+            <p class="indented">
+            <tt><b>ZINET&nbsp;ADD&nbsp;S-APACHE&nbsp;PGM-chta&nbsp;MODEL-NOLISTEN</b></tt></p>
+
+            <p><font color="#CC6600"
+                  size="4">TIP:</font> Logic changes implemented
+                  with PUT11 cause ZINET to <i>not</i> restart
+                  NOLISTEN servers after <tt>ZOLDR&nbsp;ACT</tt>
+                  and <tt>ZOLDR&nbsp;DEACT</tt> entries. This means
+                  that Apache running as NOLISTEN on a PUT11 or
+                  later system will exit whenever any
+                  <tt>ZOLDR&nbsp;ACT</tt> or
+                  <tt>ZOLDR&nbsp;DEACT</tt> entry is made.
+                  Therefore at PUT11 you should switch to the
+                  DAEMON model and ensure that you have APARs
+                  PJ25761 and PJ27363 applied.</p>
+
+            <p>Refer to the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details on the
+            Internet Daemon and ZINET commands.</p>
+        </li>
+
+        <li>
+            <p>Start the server:</p>
+
+            <p class="indented">
+            <b><tt>zinet&nbsp;start&nbsp;s-apache</tt></b></p>
+        </li>
+
+        <li>
+            <p>Verify Apache was successfully started:</p>
+
+            <p class="indented"><b><tt>zfile cat
+            /usr/local/apache/logs/error_log</tt></b></p>
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+[<i>timestamp</i>] [notice] Apache/1.3.<i>vv</i> (TPF) configured -- resuming normal operations
+[<i>timestamp</i>] [notice] Accept mutex: tpfcore (Default: tpfcore)
+                        </pre>
+                    </td>
+                </tr>
+            </table>
+
+            <p>If there are severe errors correct the conf file and
+            restart the server:</p>
+
+            <p class="indented">
+            <b><tt>zinet&nbsp;stop&nbsp;s-apache</tt></b><br />
+             correct the httpd.conf file and transfer it to
+            TPF<br />
+             <b><tt>zfile&nbsp;rm&nbsp;/usr/local/apache/logs/error_log</tt></b><br />
+
+             <b><tt>zinet&nbsp;start&nbsp;s-apache</tt></b></p>
+        </li>
+
+        <li>
+            <p>Request a page from your browser:</p>
+
+            <p class="indented">
+            <tt><b>http://<i>xx.xx.xx.xx</i></b></tt>&nbsp;&nbsp;&nbsp;(where
+            <i>xx.xx.xx.xx</i> is your test system IP address)</p>
+        </li>
+    </ol><br />
+     
+
+    <center>
+        <h2><a id="linkmap"
+           name="linkmap"></a>Generating an Apache Link Map</h2>
+    </center>
+
+    <p>Three different tools can be used to generate a link map for
+    Apache: TPF Build Tools, TPF Toolkit, and VisualAge TPF.</p>
+
+    <h3>TPF Build Tools on OS/390 UNIX</h3>
+
+    <ol>
+        <li>Download and install the
+       <a href="http://www.ibm.com/software/htp/tpf/download/bldtools.htm"
+        >TPF Build Tools</a> if you have not already done so.</li>
+
+        <li>Follow the instructions to set up any necessary
+        variables for your installation.</li>
+
+        <li>
+            Create a shell script in your Apache <code>src</code>
+            directory: 
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+ld -M --dlm -O'&lt;your-dsd-dsn&gt;(CHTA&lt;vv&gt;)' \
+CSTRTD40 \
+CINET640 \
+buildmark.o \
+modules.o \
+ap/ap_base64.o \
+   .
+   .
+   .
+regex/regexec.o \
+regex/regfree.o
+                        </pre>
+                    </td>
+                </tr>
+            </table>In your script... 
+
+            <ul>
+                <li>Each line must end with a backwards slash (\)
+                except for the last line. Be sure there are no
+                trailing blanks after the backward slashes.</li>
+
+                <li>Replace the two items in angle brackets (&lt;
+                &gt;) with your dataset name and program
+                version.</li>
+
+                <li>Add any additional libraries prior to the first
+                ".o" line.</li>
+
+                <li>Add a line for each .o to be linked into your
+                configuration of Apache.</li>
+            </ul><br />
+        </li>
+
+        <li>Change the shell script's permission settings to
+        executable using the <code>chmod</code> command.</li>
+
+        <li>Run the script.</li>
+    </ol>
+
+    <h3>TPF Toolkit</h3>
+
+    <ol>
+        <li>Copy the sample <tt>linkhttp.dlm</tt> file from the
+        <tt>src/os/tpf/samples</tt> directory to your Apache
+        <tt>src</tt> directory on OS/390 UNIX.</li>
+
+        <li>This sample file contains the components for the
+        default configuration of Apache. Add and delete components
+        (such as modules) as necessary so it matches your
+        configuration of Apache. Basically, it should match your
+        link JCL with the "<tt>.../apache/src</tt>" portion of the
+        filenames removed.</li>
+
+        <li>Change items in angle brackets (&lt; &gt;) to also
+        match your JCL. Be sure to remove the angle brackets as
+        well.</li>
+
+        <li>In the TPF Toolkit create a project with your modified
+        dlm file as its sole contents.</li>
+
+        <li>Right click on the dlm file in your new project and
+        choose "Build DLM".</li>
+    </ol>
+
+    <h3>VisualAge TPF</h3>
+
+    <ol>
+        <li>Copy the sample <tt>linkhttp.dlm</tt> file from the
+        <tt>src/os/tpf/samples</tt> directory to your Apache
+        <tt>src</tt> directory on OS/390 UNIX.</li>
+
+        <li>This sample file contains the components for the
+        default configuration of Apache. Add and delete components
+        (such as modules) as necessary so it matches your
+        configuration of Apache. Basically, it should match your
+        link JCL with the "<tt>.../apache/src</tt>" portion of the
+        filenames removed.</li>
+
+        <li>Change items in angle brackets (&lt; &gt;) to also
+        match your JCL. Be sure to remove the angle brackets as
+        well.</li>
+
+        <li>In VisualAge TPF create a container with your modified
+        dlm file as its sole contents.</li>
+
+        <li>Right click on the dlm file in your new container and
+        choose "Build DLM".</li>
+    </ol>
+    <hr />
+
+    <center>
+        [ <a href="#top">top</a> | <a href="#download">Download</a>
+        | <a href="#compilation">Compilation</a> |
+        <a href="#installation">Installation</a> |
+        <a href="#linkmap">Link Map</a>&nbsp;]
+    </center>
+</body>
+</html>
diff --git a/htdocs/manual/install-ztpf.html b/htdocs/manual/install-ztpf.html
new file mode 100644 (file)
index 0000000..85e80ed
--- /dev/null
@@ -0,0 +1,555 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=us-ascii" />
+
+    <title>Installing Apache on z/TPF</title>
+    <style type="text/css">
+    /*<![CDATA[*/
+    <!-- 
+            .indented { margin-left: 25pt; } 
+            .output { padding-left: 20px; padding-right: 20px; background-color: #dadada;  }
+            --> 
+    /*]]>*/
+    </style>
+</head>
+
+<body>
+    <center>
+        <h2><a id="top"
+           name="top"></a>Installing the Apache 1.3 HTTP Server on
+           z/TPF</h2>
+        <hr />
+        [ <a href="#download">Download</a> |
+        <a href="#setup">MakeTPF Setup</a> |
+        <a href="#compilation">Compilation</a> |
+        <a href="#installation">Installation</a>&nbsp;] 
+        <hr />
+    </center>
+
+    <p>This document outlines the steps needed to install Apache
+    onto an IBM z/TPF Enterprise Edition V1 R1 system. (There are
+    separate <a href="install-tpf.html">installation instructions
+    for TPF4.1</a>.)</p>
+
+    <p>You should first review
+    <a href="readme-tpf.html">readme-tpf.html</a> for basic
+    information on the port of Apache to TPF including a list of
+    supported modules.</p>
+
+    <p>The allocated <tt>CHTA</tt> program name is used throughout
+    these instructions to refer to Apache. You can use a different
+    program name if you wish.<br />
+     Likewise the directory structure
+    <tt>opensource/apache/src</tt> is used for the Apache source
+    code directory. You can use different directories than
+    <tt>opensource/apache</tt> if you wish.</p>
+
+    <p>If you change the program or directory names be sure to
+    change the entries shown in these instructions, all
+    MakeTPF-related files, and the sample files
+    accordingly.</p><br />
+     
+
+    <center>
+        <h2><a id="download"
+           name="download"></a>Download</h2>
+    </center>
+
+    <p>Releases of the Apache server are compressed into a
+    "tarball" file which must be downloaded to your PC.
+    Additionally the source code from the tarball will need to be
+    copied onto your Linux build system for compiling. Here are all
+    the details on how to get Apache and how to get it where it
+    needs to be:</p>
+
+    <ol>
+        <li>
+            <p>Download the compressed Apache files (the "tarball")
+            to your PC. The file name on the web site will be
+            <tt>apache_1.3.<i>vv</i>.tar.Z</tt>.</p>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            Be sure to keep the <tt>.tar.Z</tt> extension when
+            saving the file.</p>
+        </li>
+
+        <li>
+            <p>Decompress the tarball on your PC using WinZip or
+            some other PC decompression tool.</p>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            If you are using WinZip verify that the <i>"TAR File
+            Smart CR/LF Conversion"</i> option (under Options,
+            Configuration) is <em>not</em> checked.</p>
+
+            <p>This is what you can expect if you use WinZip:</p>
+
+            <ul>
+                <li>open the tarball with WinZip (this can usually
+                be done simply by double-clicking on the downloaded
+                tarball)</li>
+
+                <li>you will be told that the archive contains one
+                file (apache_1.3.<i>vv</i>.tar) - allow WinZip to
+                decompress it to a temporary folder</li>
+
+                <li>extract the archived files onto your PC -
+                you'll be using files from the&nbsp; <tt>conf,
+                htdocs,</tt> and <tt>icons</tt> directories later
+                in the install phase<br />
+                <br /></li>
+            </ul>
+        </li>
+
+        <li>
+            <p>FTP the tarball to your Linux build machine using
+            binary mode:</p>
+
+            <ul>
+                <li>activate FTP in an MSDOS window:<br />
+                 <b><tt>&nbsp;&nbsp;&nbsp;ftp&nbsp;<i>your.linux.build.machine.com</i></tt></b>&nbsp;</li>
+
+                <li>sign in&nbsp;</li>
+
+                <li>set mode to
+                binary:&nbsp;&nbsp;<b><tt>binary</tt></b>&nbsp;</li>
+
+                <li>send the file to your Linux build
+                machine:<br />
+                 <b><tt>&nbsp;&nbsp;&nbsp;send&nbsp;"c:/<i>path</i>/apache_1.3.
+                <i>vv</i>.tar.Z"&nbsp;apache_1.3.<i>vv</i>.tar.Z</tt></b></li>
+
+                <li>exit FTP:&nbsp;&nbsp;<b><tt>bye</tt></b></li>
+            </ul>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            Linux file names are case sensitive.</p>
+        </li>
+
+        <li>
+            <p>Decompress and extract the archived files necessary
+            for compiling Apache:</p>
+
+            <p class="indented"><b><tt>tar -xzkf
+            apache_1.3.<i>vv</i>.tar.Z "*/src"</tt></b></p>
+
+            <p>Note that the following "<tt>src</tt>"
+            subdirectories are not used for Apache on z/TPF and may
+            be removed if desired:</p>
+
+            <p class="indented"><tt>lib/expat-lite</tt>,
+            <tt>lib/sdbm</tt>, <tt>regex</tt>, and all <tt>os</tt>
+            subdirectories except for <tt>os/tpf</tt>.</p>
+        </li>
+
+        <li>
+            <p>Create header files that are automatically generated
+            for other platforms but are not for z/TPF:</p>
+
+            <p class="indented"><b><tt>cp
+            apache_1.3.<i>vv</i>/src/os/tpf/samples/test_char.txt&nbsp;&nbsp;apache_1.3.<i>
+            vv</i>/src/main/test_char.h<br />
+             cp
+            apache_1.3.<i>vv</i>/src/os/tpf/samples/uri_delims.txt
+            apache_1.3.<i>vv</i>/src/main/uri_delims.h</tt></b></p>
+        </li>
+    </ol><br />
+     
+
+    <center>
+        <h2><a id="setup"
+           name="setup"></a>MakeTPF Setup</h2>
+    </center>
+
+    <ol>
+        <li>
+            <p>Move the source code into your desired directory
+            structure for MakeTPF with the following entries.<br />
+             Replace "<tt>foobar</tt>" below with your actual
+            directory name:</p>
+
+            <p class="indented"><b><tt>mkdir -p
+            foobar/opensource<br />
+             export AROOT="foobar/opensource/apache"<br />
+             mv apache_1.3.<i>vv</i> $AROOT<br /></tt></b></p>
+        </li>
+
+        <li>
+            <p>CHTA is already in the <tt>tpf_app_base.cntl</tt>
+            control file. Adjust any settings if necessary.</p>
+        </li>
+
+        <li>
+            <p>Create an environment file for Apache named
+            <tt>maketpf.env_apache</tt> using
+            <tt>$AROOT/src/os/tpf/samples/sample_env.txt</tt> as a
+            guide.<br />
+             Place <tt>maketpf.env_apache</tt> in the same
+            directory as your other environment files.</p>
+        </li>
+
+        <li>
+            <p>Create a .mak file for Apache named
+            <tt>$AROOT/src/chta.mak</tt> using
+            <tt>$AROOT/src/os/tpf/samples/sample_mak.txt</tt> as a
+            guide<br />
+             Verify that the <tt>maketpf_env</tt> assignments in
+            <tt>chta.mak</tt> are correct for your build
+            environment.</p>
+        </li>
+
+        <li>
+            <p>Create a configuration file named
+            <tt>$AROOT/src/maketpf.cfg</tt>.<br />
+             Ensure that the first assignment of <tt>TPF_ROOT</tt>
+            in <tt>maketpf.cfg</tt> is the absolute path to your
+            "<tt>foobar</tt>" directory.</p>
+        </li>
+
+        <li>
+            <p>Later if you want to include Apache in your full
+            build add <tt>APACHE=YES</tt> to the <tt>CONFIG</tt>
+            macro in your Stage 1 deck.</p>
+        </li>
+    </ol><br />
+     
+
+    <center>
+        <h2><a id="compilation"
+           name="compilation"></a>Compilation</h2>
+    </center>
+
+    <ol>
+        <li>
+            <p>Switch to the Apache source code subdirectory:</p>
+
+            <p class="indented"><b><tt>cd $AROOT/src</tt></b></p>
+        </li>
+
+        <li>
+            <p>Overlay src/Configuration with
+            src/Configuration.tmpl:</p>
+
+            <p class="indented">
+            <b><tt>cp&nbsp;Configuration.tmpl&nbsp;Configuration</tt></b></p>
+        </li>
+
+        <li>
+            <p>The src/Configuration file controls which optional
+            modules are compiled into Apache.<br />
+             Leave the file as-is if you want to use the default
+            set of modules.<br />
+             Otherwise edit the src/Configuration file to customize
+            which modules are used:</p>
+
+            <ul>
+                <li>Comment out (by preceding the line with a "#")
+                lines corresponding to those modules you do
+                <em>not</em> wish to include.</li>
+
+                <li>Uncomment (by removing the initial "#", if
+                present) lines corresponding to those modules you
+                wish to include.<br />
+                 (The <a href="readme-tpf.html">readme-tpf.html</a>
+                document lists the modules that have been tested on
+                TPF).</li>
+
+                <li>Add lines for any custom or third party modules
+                you wish to include.<br />
+                 The modules placed in the Apache distribution are
+                the ones that have been tested and are used
+                regularly by various members of the Apache
+                development group. Additional modules contributed
+                by members or third parties with specific needs or
+                functions are available at
+                <a href="http://modules.apache.org/">http://modules.apache.org/</a>.
+                There are instructions on that page for linking
+                these modules into the core Apache code.<br />
+                 &nbsp;</li>
+            </ul>
+        </li>
+
+        <li>
+            <p>If you would like to use the TCP/IP network services
+            database add "<tt>CFLAGS_CHTA += -DTPF_HAVE_NSD</tt>"
+            to either <tt>src/chta.mak</tt> or
+            <tt>src/maketpf.cfg</tt>. See "Network Services
+            Database Support" in the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details.</p>
+        </li>
+
+        <li>
+            <p><a id="run-configure"
+               name="run-configure"></a>Run the "Configure"
+               script:</p>
+
+            <p class="indented"><b><tt>export TPF=YES; export
+            TPF64BIT=YES<br />
+             Configure</tt></b></p>
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+Using config file: Configuration
+Creating Makefile
++ configured for TPF platform
++ setting C compiler to c89
++ setting C pre-processor to /usr/bin/cpp 
++ using "tr [a-z] [A-Z]" to uppercase
++ checking for system header files
++ adding selected modules
++ checking sizeof various data types
+Creating Makefile in support
+Creating Makefile in os/tpf
+Creating Makefile in ap
+Creating Makefile in main
+Creating Makefile in modules/standard
+$
+                        </pre>
+                    </td>
+                </tr>
+            </table>
+
+            <p>This generates modules.c and the apache.modules text
+            file for use later by MakeTPF.<br />
+             (Other files created by <tt>Configure</tt> are
+            <em>not</em> used on z/TPF such as
+            include/ap_config_auto.h and the various Makefiles, so
+            don't be concerned that the C compiler and
+            pre-processor shown in the <tt>Configure</tt> output
+            are incorrect.)</p>
+
+            <p class="indented">Use the <tt>-file</tt> option if
+            you want to maintain multiple configurations:</p>
+
+            <p class="indented">
+            <b><tt>Configure&nbsp;-file&nbsp;Configuration.2nd</tt></b></p>
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+Using config file: Configuration.2nd
+Creating Makefile
++ configured for TPF platform
++ setting C compiler to c89
+<em>et cetera</em>
+                        </pre>
+                    </td>
+                </tr>
+            </table>&nbsp;
+        </li>
+
+        <li>
+            <p>Edit src/os/tpf/os.h if you do <em>not</em> want the
+            scoreboard kept in shared memory.</p>
+
+            <p>The default behavior for Apache on all platforms
+            <em>except</em> TPF is to use the file system for
+            maintaining the scoreboard (which holds current Apache
+            children status). The default behavior for Apache on
+            TPF is to use shared memory. This reduces file activity
+            and improves performance.</p>
+
+            <p>If for some reason you do not want to use shared
+            memory for the scoreboard, you must remove
+            "<tt>#define&nbsp;USE_SHMGET_SCOREBOARD</tt>" from the
+            <tt>os.h</tt>. The change will only take effect after
+            Apache is (re)compiled.</p>
+        </li>
+
+        <li>
+            <p>Compile and link Apache:</p>
+
+            <p class="indented"><b><tt>maketpf chta -f</tt></b></p>
+
+            <p>
+            <font color="#CC6600"><font size="+1">TIP:</font></font>
+            Apache uses cinet6 from CLTY, which is part of the
+            Internet Daemon (ZINET). Ensure that you link Apache
+            with the proper version of CLTY for your system. If you
+            apply changes to CLTY you should re-link Apache to
+            prevent the <code>inetd_getServer</code> and/or
+            <code>inetd_getServerStatus</code> functions from
+            failing.</p>
+        </li>
+    </ol><br />
+     
+
+    <center>
+        <h2><a id="installation"
+           name="installation">Installation</a></h2>
+    </center>
+
+    <ol>
+        <li>
+            <p>Load and activate Apache on your test system.</p>
+        </li>
+
+        <li>
+            <p>Ensure that the program name you are using for
+            Apache has <tt>RESTRICT</tt> and <tt>KEY0</tt>
+            authorization:</p>
+
+            <p class="indented"><tt><b>zdpat chta</b></tt></p>
+
+            <p>If necessary you can use the <tt>zapat</tt> entry to
+            alter the authorization:</p>
+
+            <p class="indented"><tt><b>zapat chta restrict
+            key0</b></tt></p>
+        </li>
+
+        <li>
+            <p>General documentation for Apache is located at
+            <a href="http://httpd.apache.org/docs/">http://httpd.apache.org/docs/</a>
+            and in the HTML pages included with the distribution
+            (tarball) under the <tt>htdocs/manual</tt>
+            directory.</p>
+        </li>
+
+        <li>
+            <p>Create the Apache run-time configuration file. The
+            server requires a configuration file to initialize
+            itself during activation.<br />
+             Copy the distribution version, conf/httpd.conf-dist,
+            to conf/httpd.conf and then edit the conf/httpd.conf
+            copy with your site specific information.</p>
+
+            <p>You must change every occurrence of
+            "<tt>@@ServerRoot@@</tt>" to your document server root
+            (for example "<tt>/usr/local/apache</tt>")</p>
+
+            <p>You should also add the following line to the
+            httpd.conf file to prevent Apache from doing a host
+            name lookup on your test system:</p>
+
+            <p class="indented"><tt>ServerName 127.0.0.1</tt></p>
+        </li>
+
+        <li>
+            <p>Be sure your Native Stack communications device is
+            active on TPF.<br />
+             Refer to the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details.</p>
+        </li>
+
+        <li>
+            <p>Using either TFTP or FTP, transfer the configuration
+            file, icons, and web pages to your TPF system. A
+            typical directory structure for Apache is as
+            follows:</p>
+
+            <p class="indented"><tt>/usr/local/apache/conf<br />
+             /usr/local/apache/logs<br />
+             /usr/local/apache/icons<br />
+             /usr/local/apache/htdocs<br /></tt></p>
+
+            <p>At a minimum you will need these files on TPF:</p>
+
+            <p class="indented">
+            <tt>/usr/local/apache/conf/httpd.conf<br />
+             /usr/local/apache/conf/mime.types<br />
+             /usr/local/apache/htdocs/index.html.en<br />
+             /usr/local/apache/htdocs/apache_pb.gif<br /></tt></p>
+
+            <p>All gif, jpg, and zip files should be transferred as
+            binary; the configuration file and html pages should be
+            transferred as text.</p>
+
+            <p>Refer to the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details on TFTP
+            and FTP.</p>
+        </li>
+
+        <li>
+            <p>The logs directory must exist and be accessible in
+            order to avoid an <tt>fopen</tt> error while running
+            Apache:</p>
+
+            <p class="indented"><b><tt>zfile mkdir
+            /usr/local/apache/logs<br />
+             zfile chmod 777
+            /usr/local/apache/logs<br /></tt></b></p>
+        </li>
+
+        <li>
+            <p>Add Apache to the Internet Daemon's tables using
+            ZINET entries:</p>
+
+            <p class="indented">
+            <tt><b>zinet&nbsp;add&nbsp;s-apache&nbsp;pgm-chta&nbsp;model-daemon&nbsp;user-root</b></tt></p>
+
+            <p>Refer to the
+            <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+            TPF Product Information Center</a> for details on the
+            Internet Daemon and ZINET commands.</p>
+        </li>
+
+        <li>
+            <p>Start the server:</p>
+
+            <p class="indented">
+            <b><tt>zinet&nbsp;start&nbsp;s-apache</tt></b></p>
+        </li>
+
+        <li>
+            <p>Verify Apache was successfully started:</p>
+
+            <p class="indented"><b><tt>zfile cat
+            /usr/local/apache/logs/error_log</tt></b></p>
+
+            <p>The output should be similar to this:</p>
+
+            <table class="indented">
+                <tr>
+                    <td class="output">
+                        <pre>
+[<i>timestamp</i>] [notice] Apache/1.3.<i>vv</i> (TPF) configured -- resuming normal operations
+[<i>timestamp</i>] [notice] Accept mutex: tpfcore (Default: tpfcore)
+                        </pre>
+                    </td>
+                </tr>
+            </table>
+
+            <p>If there are severe errors correct the conf file and
+            restart the server:</p>
+
+            <p class="indented">
+            <b><tt>zinet&nbsp;stop&nbsp;s-apache</tt></b><br />
+             correct the httpd.conf file and transfer it to
+            TPF<br />
+             <b><tt>zfile&nbsp;rm&nbsp;/usr/local/apache/logs/error_log</tt></b><br />
+
+             <b><tt>zinet&nbsp;start&nbsp;s-apache</tt></b></p>
+        </li>
+
+        <li>
+            <p>Request a page from your browser:</p>
+
+            <p class="indented">
+            <tt><b>http://<i>xx.xx.xx.xx</i></b></tt>&nbsp;&nbsp;&nbsp;(where
+            <i>xx.xx.xx.xx</i> is your test system IP address)</p>
+        </li>
+    </ol>
+    <hr />
+
+    <center>
+        [ <a href="#top">top</a> | <a href="#download">Download</a>
+        [ <a href="#setup">MakeTPF Setup</a> |
+        <a href="#compilation">Compilation</a> |
+        <a href="#installation">Installation</a>&nbsp;]
+    </center>
+</body>
+</html>
diff --git a/htdocs/manual/install.html.en b/htdocs/manual/install.html.en
new file mode 100644 (file)
index 0000000..d0c885c
--- /dev/null
@@ -0,0 +1,415 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Compiling and Installing Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+  alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Compiling and Installing Apache 1.3</h1>
+
+    <ul>
+      <li><a href="#download">Downloading Apache</a></li>
+      <li><a href="#intro">Introduction</a></li>
+      <li><a href="#apaci">Installing the Apache 1.3 HTTP server with APACI</a></li>
+      <ul>
+          <li><a href="#requirements">System requirements</a></li>
+          <li><a href="#configure">Configuring the source tree</a></li>
+          <li><a href="#build">Building the package</a></li>
+          <li><a href="#installing">Installing the package</a></li>
+      </ul>
+      <li><a href="#traditional">Building and installing the traditional way</a></li>
+      <ul>
+            <li><a href="#trad_configure">Configuring the installation</a></li>
+            <li><a href="#trad_compile">Compiling Apache</a></li>
+            <li><a href="#trad_install">Installing Apache</a></li>
+      </ul>
+      <li><a href="#testing">Testing the package</a></li>
+      <li><a href="#time">Set your system time correctly</a></li>
+    </ul>
+
+    <p>This document covers compilation and installation of Apache on Unix
+    systems. For compiling and installation on other platforms, see</p>
+
+    <ul>
+      <li><a href="windows.html">Using Apache with Microsoft Windows</a></li>
+      <li><a href="cygwin.html">Using Apache with Cygwin</a></li>
+      <li><a href="netware.html">Using Apache with Novell Netware</a></li>
+      <li><a href="mpeix.html">Using Apache with HP MPE/iX</a></li>
+      <li><a href="unixware.html">Compiling Apache under UnixWare</a></li>
+      <li><a href="readme-tpf.html">Overview of the Apache TPF Port</a></li>
+    </ul>
+
+    <h2><a id="download" name="download">Downloading Apache</a></h2>
+
+    <p>You may download the latest version of Apache either directly from the
+    <a href="http://httpd.apache.org/download.cgi">Download Page</a>.</p>
+
+    <h2><a id="intro" name="intro">Introduction</a></h2>
+
+    <p>Like all good things, there are two ways to configure, compile, and
+    install Apache. You can go for the 3-minute installation process using
+    the APACI process described below; or, you can opt for the same mechanism
+    used in previous versions of Apache, as described in the file
+    'src/INSTALL'. Each mechanism has its benefits and drawbacks - APACI is
+    newer and a little more raw, but it gets you up and running the least
+    amount of time, whereas the "Configuration.tmpl" mechanism may be more
+    familiar and give you some more flexibility to the power user. We'd be
+    very interested in your comments and feedback regarding each
+    approach.</p>
+
+    <h2><a id="apaci" name="apaci">Installing the Apache 1.3 HTTP server with
+    APACI</a></h2>
+
+    <h3>Overview for the impatient</h3>
+<pre>
+     $ ./configure --prefix=PREFIX
+     $ make
+     $ make install
+     $ PREFIX/bin/apachectl start
+</pre>
+
+    <p><b>NOTE:</b> <code>PREFIX</code> is not the string "PREFIX". Instead
+    use the Unix filesystem path under which Apache should be installed. For
+    instance use "<code>/usr/local/apache</code>" for PREFIX above.</p>
+
+    <h3><a id="requirements" name="requirements">Requirements</a></h3>
+
+    <p>The following requirements exist for building Apache:</p>
+
+    <dl>
+      <dt><b>Disk Space:</b></dt>
+
+      <dd>Make sure you have approximately 12 MB of temporary free disk space
+      available. After installation Apache occupies approximately 3 MB of
+      disk space (the actual required disk space depends on the amount of
+      compiled in third party modules, etc).</dd>
+
+      <dt><b>ANSI-C Compiler:</b></dt>
+
+      <dd>Make sure you have an ANSI-C compiler installed. The GNU C compiler
+      (GCC) from the Free Software Foundation (FSF) is recommended (version
+      2.7.2 is fine). If you don't have GCC then at least make sure your
+      vendors compiler is ANSI compliant. You can find the homepage of GNU at
+      http://www.gnu.org/ and the GCC distribution under
+      http://www.gnu.org/order/ftp.html .</dd>
+
+      <dt><b>Perl 5 Interpreter [OPTIONAL]:</b></dt>
+
+      <dd>For some of the support scripts like `apxs' or `dbmmanage' (which
+      are written in Perl) the Perl 5 interpreter is required (versions 5.003
+      and 5.004 are fine). If no such interpreter is found by APACI's
+      `configure' script this is no harm. Of course, you still can build and
+      install Apache 1.3. Only those support scripts cannot be used. If you
+      have multiple Perl interpreters installed (perhaps a Perl 4 from the
+      vendor and a Perl 5 from your own), then it is recommended to use the
+      --with-perl option (see below) to make sure the correct one is selected
+      by APACI.</dd>
+
+      <dt><b>Dynamic Shared Object (DSO) support [OPTIONAL]:</b></dt>
+
+      <dd>
+        <p>To provide maximum flexibility Apache now is able to load modules
+        under runtime via the DSO mechanism by using the pragmatic
+        dlopen()/dlsym() system calls. These system calls are not available
+        under all operating systems therefore you cannot use the DSO
+        mechanism on all platforms. And Apache currently has only limited
+        built-in knowledge on how to compile shared objects because this is
+        heavily platform-dependent. The current state is this:</p>
+
+        <ul>
+          <li>
+            Out-of-the-box supported platforms are: 
+
+            <p>
+            <table border="0">
+              <tr>
+                <td>Linux</td>
+                <td>SunOS</td>
+                <td>UnixWare</td>
+                <td>Darwin/Mac OS</td>
+              </tr>
+              <tr>
+                <td>FreeBSD</td>
+                <td>Solaris</td>
+                <td>AIX</td>
+                <td>OpenStep/Mach</td>
+              </tr>
+              <tr>
+                <td>OpenBSD</td>
+                <td>IRIX</td>
+                <td>SCO</td>
+                <td>DYNIX/ptx</td>
+              </tr>
+              <tr>
+                <td>NetBSD</td>
+                <td>HPUX</td>
+                <td>ReliantUNIX</td>
+                <td>BSDI</td>
+              </tr>
+              <tr>
+                <td>Digital Unix</td>
+                <td>DGUX</td>
+              </tr>
+            </table>
+            </p>
+          </li>
+
+          <li>
+            Entirely unsupported platforms are: 
+
+            <p>Ultrix</p>
+          </li>
+        </ul>
+
+        <p>If your system is not on these lists but has the dlopen-style
+        interface, you either have to provide the appropriate compiler and
+        linker flags (see CFLAGS_SHLIB, LDFLAGS_SHLIB and
+        LDFLAGS_SHLIB_EXPORT below) manually or at least make sure a Perl 5
+        interpreter is installed from which Apache can guess the options.</p>
+
+        <p>For more in-depth information about DSO support in Apache 1.3
+        please read the document htdocs/manual/dso.html carefully. Especially
+        the section entitled "Advantages &amp; Disadvantages" because using
+        the DSO mechanism can have strange side-effects if you are not
+        careful. BE WARNED!</p>
+      </dd>
+    </dl>
+
+    <h3><a name="configure">Configuring the source tree</a></h3>
+
+    <p>The next step is to configure the Apache source tree for your
+    particular platform and personal requirements. The most important setup
+    here is the location prefix where Apache is to be installed later,
+    because Apache has to be configured for this location to work correctly.
+    But there are a lot of other options available for your pleasure.</p>
+
+    <p>For a short impression of what possibilities you have, here is a
+    typical example which compiles Apache for the installation tree
+    /sw/pkg/apache with a particular compiler and flags plus the two
+    additional modules mod_rewrite and mod_proxy for later loading through
+    the DSO mechanism:</p>
+<pre>
+     $ CC="pgcc" OPTIM="-O2" \
+       ./configure --prefix=/usr/local/apache \
+                   --enable-module=rewrite --enable-shared=rewrite \
+                   --enable-module=proxy   --enable-shared=proxy
+</pre>
+
+    <p>For a complete list of the available options, type the following
+    command:</p>
+  <p><code>./configure --help</code></p>
+
+ <p>See also the file <code>README.configure</code> for listings of
+ example configurations.</p>
+
+    <h3><a name="build">Building the package</a></h3>
+
+    <p>Now you can build the various parts which form the Apache package by
+    simply running the command</p>
+<pre>
+        $ make 
+</pre>
+
+    <p>Please be patient here, this takes approximately 2 minutes to complete
+    under a Pentium-166/FreeBSD-2.2 system, dependent on the amount of
+    modules you have enabled.</p>
+
+    <h3><a name="installing">Installing the package</a></h3>
+
+    <p>Now its time to install the package under the configured installation
+    <code>PREFIX</code> (see the <code>--prefix</code> option above):</p>
+<pre>
+        $ make install
+</pre>
+
+   <p>In the following examples, <code>PREFIX</code> is not the literal string
+       "PREFIX", but whatever argument you provided to
+       the<code>--prefix</code> option.</p>
+
+<!-- Building and installing Apache in the traditional way -->
+
+    <h2><a name="traditional">Building and installing Apache in the traditional way</a></h2>
+
+    Before the advent of APACI, there was just one way to build and
+    install Apache. While APACI gave a configuration interface which is
+    more familiar to some people, the older method gives a way to
+    configure the installation without typing a large number of
+    command-line options.
+
+    <h3><a name="trad_configure">Configuring the installation</a></h3>
+
+    Compiling Apache consists of three steps: First select which
+    Apache <strong>modules</strong> you want to include into the
+    server. Second create a configuration for your operating
+    system. Third compile the executable. 
+
+    <p>All configuration of Apache is performed in the
+    <code>src</code> directory of the Apache distribution. Change
+    into this directory.</p>
+
+    <ol>
+      <li>
+        Select modules to compile into Apache in the <code>Configuration</code>
+        file <code>src/Configuration.tmpl</code>. Uncomment lines
+        corresponding to those optional modules you wish to include
+        (among the AddModule lines at the bottom of the file), or
+        add new lines corresponding to additional modules you have
+        downloaded or written. (See <a
+        href="misc/API.html">API.html</a> for preliminary docs on
+        how to write Apache modules). Advanced users can comment
+        out some of the default modules if they are sure they will
+        not need them (be careful though, since many of the default
+        modules are vital for the correct operation and security of
+        the server). 
+
+        <p>You should also read the instructions in the
+        <code>Configuration</code> file to see if you need to set
+        any of the <code>Rule</code> lines.</p>
+      </li>
+
+      <li>
+        Configure Apache for your operating system. Normally you
+        can just run the <code>Configure</code> script as given
+        below. However if this fails or you have any special
+        requirements (<em>e.g.</em>, to include an additional
+        library required by an optional module) you might need to
+        edit one or more of the following options in the
+        <code>Configuration</code> file: <code>EXTRA_CFLAGS, LIBS,
+        LDFLAGS, INCLUDES</code>. 
+
+        <p>Run the <code>Configure</code> script:</p>
+
+        <blockquote>
+<pre>
+    % Configure
+    Using 'Configuration' as config file
+     + configured for &lt;whatever&gt; platform
+     + setting C compiler to &lt;whatever&gt; *
+     + setting C compiler optimization-level to &lt;whatever&gt; *
+     + Adding selected modules
+     + doing sanity check on compiler and options
+    Creating Makefile in support
+    Creating Makefile in main
+    Creating Makefile in os/unix
+    Creating Makefile in modules/standard
+  
+</pre>
+        </blockquote>
+        (*: Depending on Configuration and your system, Configure
+        might not print these lines. That's OK). 
+
+        <p>This generates a Makefile for use in stage 3. It also
+        creates a Makefile in the support directory, for
+        compilation of the optional support programs.</p>
+
+        <p>(If you want to maintain multiple configurations, you
+        can give an option to <code>Configure</code> to tell it to
+        read an alternative Configuration file, such as
+        <code>Configure -file Configuration.ai</code>).</p>
+      </li>
+
+<h3><a name="trad_compile">Compiling Apache</a></h3>
+
+      <li>Type <code>make</code>.</li>
+    </ol>
+    The modules we place in the Apache distribution are the ones we
+    have tested and are used regularly by various members of the
+    Apache development group. Additional modules contributed by
+    members or third parties with specific needs or functions are
+    available at &lt;<a
+    href="http://www.apache.org/dist/httpd/contrib/modules/">http://www.apache.org/dist/httpd/contrib/modules/</a>&gt;.
+    There are instructions on that page for linking these modules
+    into the core Apache code. 
+
+    <h3><a name="trad_install">Installing Apache</a></h3>
+    You will have a binary file called <code>httpd</code> in the
+    <code>src</code> directory. A binary distribution of Apache
+    will supply this file. 
+
+    <p>The next step is to install the program and configure it.
+    Apache is designed to be configured and run from the same set
+    of directories where it is compiled. If you want to run it from
+    somewhere else, make a directory and copy the
+    <code>conf</code>, <code>logs</code> and <code>icons</code>
+    directories into it. In either case you should read the <a
+    href="misc/security_tips.html#serverroot">security tips</a>
+    describing how to set the permissions on the server root
+    directory.</p>
+
+    <p>The next step is to edit the configuration files for the
+    server. This consists of setting up various
+    <strong>directives</strong> in up to three central
+    configuration files. By default, these files are located in the
+    <code>conf</code> directory and are called
+    <code>srm.conf</code>, <code>access.conf</code> and
+    <code>httpd.conf</code>. To help you get started there are same
+    files in the <code>conf</code> directory of the distribution,
+    called <code>srm.conf-dist</code>,
+    <code>access.conf-dist</code> and <code>httpd.conf-dist</code>.
+    Copy or rename these files to the names without the
+    <code>-dist</code>. Then edit each of the files. Read the
+    comments in each file carefully. Failure to setup these files
+    correctly could lead to your server not working or being
+    insecure. You should also have an additional file in the
+    <code>conf</code> directory called <code>mime.types</code>.
+    This file usually does not need editing.</p>
+
+    <p>First edit <code>httpd.conf</code>. This sets up general
+    attributes about the server: the port number, the user it runs
+    as, <em>etc.</em> Next edit the <code>srm.conf</code> file;
+    this sets up the root of the document tree, special functions
+    like server-parsed HTML or internal imagemap parsing,
+    <em>etc.</em> Finally, edit the <code>access.conf</code> file
+    to at least set the base cases of access.</p>
+
+    <p>In addition to these three files, the server behavior can be
+    configured on a directory-by-directory basis by using
+    <code>.htaccess</code> files in directories accessed by the
+    server.</p>
+
+    <h3>Compiling Support Programs</h3>
+    In addition to the main <code>httpd</code> server which is
+    compiled and configured as above, Apache includes a number of
+    support programs. These are not compiled by default. The
+    support programs are in the <code>support</code> directory of
+    the distribution. To compile the support programs, change into
+    this directory and type 
+<pre>
+    make
+</pre>
+
+    <h2><a name="testing">Testing the package</a></h2>
+
+    <p>Now you can fire up your Apache HTTP server by immediately running</p>
+<pre>
+        $ PREFIX/bin/apachectl start
+</pre>
+
+    <p>and then you should be able to request your first document via URL
+    http://localhost/ (when you built and installed Apache as root or at
+    least used the --without-confadjust option) or http://localhost:8080/
+    (when you built and installed Apache as a regular user). Then stop the
+    server again by running:</p>
+<pre>
+        $ PREFIX/bin/apachectl stop
+</pre>
+
+    <h2><a name="time">Set your system time properly!</a></h2>
+    Proper operation of a public web server requires accurate time
+    keeping, since elements of the HTTP protocol are expressed as
+    the time of day. So, it's time to investigate setting up NTP or
+    some other time synchronization system on your Unix box, or
+    the <code>net time</code> command on NT.
+
+   <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/install.html.es b/htdocs/manual/install.html.es
new file mode 100644 (file)
index 0000000..213b617
--- /dev/null
@@ -0,0 +1,233 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- translation 1.31 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Compilaci&oacute;n e Instalaci&oacute;n de
+    Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Compilaci&oacute;n e Instalaci&oacute;n de
+    Apache 1.3</h1>
+
+    <p>Este documento cubre la compilaci&oacute;n e
+    instalaci&oacute;n de Apache en sistemas Unix, usando el
+    m&eacute;todo manual de construcci&oacute;n e
+    instalaci&oacute;n. Si desea usar la interfaz estilo autoconf,
+    deber&aacute; leer el fichero <code>INSTALL</code> en el
+    directorio ra&iacute;z de la distribuci&oacute;n fuente de
+    Apache. Para la compilaci&oacute;n e instalaci&oacute;n en
+    plataformas espec&iacute;ficas, consulte</p>
+
+    <ul>
+      <li><a href="windows.html">Usar Apache con Microsoft
+      Windows</a></li>
+
+      <li><a href="cygwin.html">Usar Apache con Cygwin</a></li>
+
+      <li><a href="netware.html">Usar Apache con Novell Netware
+      5</a></li>
+
+      <li><a href="mpeix.html">Usar Apache con HP MPE/iX</a></li>
+
+      <li><a href="unixware.html">Compilaci&oacute;n de Apache bajo
+      UnixWare</a></li>
+
+      <li><a href="readme-tpf.html">Vistazo general de la
+      versi&oacute;n TPF de Apache</a></li>
+    </ul>
+
+    <h2>Bajarse Apache</h2>
+
+    <p>La informaci&oacute;n de la &uacute;ltima versi&oacute;n de
+    Apache puede encontrarla en <a
+    href="http://www.apache.org/">http://www.apache.org/</a>. En
+    esta web podr&aacute; encontrar las versiones finales,
+    versiones beta e informaci&oacute;n de sitios y r&eacute;plicas
+    en la web y por ftp an&oacute;nimo.</p>
+
+    <p>Si se ha bajado la distribuci&oacute;n binaria, vaya a <a
+    href="#installing">Instalaci&oacute;n de Apache</a>. Si no es
+    as&iacute; lea la siguiente secci&oacute;n como compilar el
+    servidor.</p>
+
+    <h2>Compilaci&oacute;n de Apache</h2>
+
+    <p>La compilaci&oacute;n de Apache consiste en tres pasos.
+    Primero seleccionar qu&eacute; <strong>m&oacute;dulos</strong>
+    de Apache quiere incluir en el servidor. Segundo crear una
+    configuraci&oacute;n para su sistema operativo. Tercero
+    compilar el ejecutable.</p>
+
+    <p>Toda la configuraci&oacute;n de Apache est&aacute; en el
+    directorio <code>src</code> de la distribuci&oacute;n. Vaya al
+    directorio <code>src</code>.</p>
+
+    <ol>
+      <li>
+        <p>Seleccione m&oacute;dulos para compilar, en el fichero
+        de <code>configuraci&oacute;n</code> de Apache. Descomente
+        las l&iacute;neas correspondientes a los m&oacute;dulos
+        opcionales que desee incluir (entre las l&iacute;neas
+        <code>AddModule</code> al final del fichero), o escriba
+        nuevas l&iacute;neas correspondientes a m&oacute;dulos
+        adicionales que haya bajado o programado. (Vea <a
+        href="misc/API.html">API.html</a> para ver la
+        documentaci&oacute;n preliminar de c&oacute;mo escribir
+        m&oacute;dulos Apache). Los usuarios avanzados pueden
+        comentar los m&oacute;dulos por defecto si est&aacute;n
+        seguros de que no los necesitan (tenga cuidado, ya que
+        algunos de estos m&oacute;dulos son necesarios para el buen
+        funcionamiento y una correcta seguridad del servidor).</p>
+
+        <p>Deber&iacute;a leer tambi&eacute;n las instrucciones del
+        fichero de <code>Configuraci&oacute;n</code> para comprobar
+        si necesita configurar unas <code>l&iacute;neas</code> u
+        otras.</p>
+      </li>
+
+      <li>
+        <p>Configure Apache para su sistema operativo. Usted puede
+        ejecutar un script como el mostrado m&aacute;s abajo.
+        Aunque si esto falla o usted tiene alg&uacute;n
+        requerimiento especial (<i>por ejemplo</i> incluir una
+        librer&iacute;a adicional exigida por un m&oacute;dulo
+        opcional) puede editarlo para utilizar en el fichero de
+        <code>Configuraci&oacute;n</code> las siguientes opciones:
+        <code>EXTRA_CFLAGS, LIBS, LDFLAGS,INCLUDES.</code></p>
+
+        <p>Ejecute el script de
+        <code>configuraci&oacute;n</code>:</p>
+
+        <blockquote>
+<pre>
+    % Configure
+    Using 'Configuration' as config file
+     + configured for &lt;whatever&gt; platform
+     + setting C compiler to &lt;whatever&gt; *
+     + setting C compiler optimization-level to &lt;whatever&gt; *
+     + Adding selected modules
+     + doing sanity check on compiler and options
+    Creating Makefile in support
+    Creating Makefile in main
+    Creating Makefile in os/unix
+    Creating Makefile in modules/standard
+</pre>
+        </blockquote>
+
+        <p>(*: Dependiendo de la configuraci&oacute;n y de su
+        sistema. El resultado podr&iacute;a no coincidir con el
+        mostrado; no hay problema).</p>
+
+        <p>Esto genera un fichero <code>Makefile</code> a ser usado
+        en el tercer paso. Tambi&eacute;n crea un
+        <code>Makefile</code> en el directorio
+        <code>support</code>, para la compilaci&oacute;n de
+        programas de soporte.</p>
+
+        <p>(Si quiere mantener varias configuraciones, puede
+        indicarle a <code>Configure</code> una de las opciones en
+        un fichero, como <code>Configure -fichero
+        configuraci&oacute;n.ai</code>).</p>
+      </li>
+
+      <li>Escriba <code>make</code>.</li>
+    </ol>
+
+    <p>Los m&oacute;dulos de la distribuci&oacute;n de Apache son
+    aquellos que hemos probado y utilizado regularmente varios
+    miembros del grupo de desarrollo de Apache. Los m&oacute;dulos
+    adicionales (creados por miembros del grupo o por terceras
+    personas) para necesidades o funciones espec&iacute;ficas
+    est&aacute;n disponibles en &lt;<a
+    href="http://www.apache.org/dist/httpd/contrib/modules/">http://www.apache.org/dist/httpd/contrib/modules/</a>&gt;.
+    Hay instrucciones en esa p&aacute;gina para a&ntilde;adir estos
+    m&oacute;dulos en el n&uacute;cleo de Apache.</p>
+
+    <h2><a id="installing" name="installing">Instalaci&oacute;n de
+    Apache</a></h2>
+
+    <p>Tendr&aacute; un fichero binario llamado <code>hhtpd</code>
+    en el directorio <code>src</code>. Una distribuci&oacute;n
+    binaria de Apache ya traer&aacute; este fichero.</p>
+
+    <p>El pr&oacute;ximo paso es instalar el programa y
+    configurarlo. Apache esta dise&ntilde;ado para ser configurado
+    y ejecutado desde los directorios donde fue compilado. Si
+    quiere ejecutarlo desde otro lugar, cree un directorio y copie
+    los directorios <code>conf</code>, <code>logs</code> e
+    <code>icons</code>. En cualquier caso deber&iacute;a leer las
+    <a href="misc/security_tips.html#serverroot">sugerencias de
+    seguridad</a> que describen c&oacute;mo poner los permisos del
+    directorio ra&iacute;z.</p>
+
+    <p>El paso siguiente es editar los ficheros de
+    configuraci&oacute;n del servidor. Consiste en configurar
+    varias <strong>directivas</strong> en los tres ficheros
+    principales. Por defecto, estos ficheros est&aacute;n en el
+    directorio <code>conf</code> y se llaman <code>srm.conf</code>,
+    <code>access.conf</code> y <code>httpd.conf</code>. Para
+    ayudarle a comenzar, hay ejemplos de estos ficheros en el
+    directorio de la distribuci&oacute;n, llamados
+    <code>srm.conf-dist</code>, <code>access.conf-dist</code> y
+    <code>httpd.conf-dist</code>. Copie o renombre estos ficheros a
+    los correspondientes nombres sin la terminaci&oacute;n
+    <code>-dist</code>. Edite cada uno de ellos. Lea los
+    comentarios cuidadosamente. Un error en la configuraci&oacute;n
+    de estos ficheros podr&iacute;a provocar fallos en el servidor
+    o volverlo inseguro. Tendr&aacute; tambi&eacute;n un fichero
+    adicional en el directorio <code>conf</code> llamado
+    <code>mime.conf</code>. Este fichero normalmente no tiene que
+    ser editado.</p>
+
+    <p>Primero edite el fichero <code>http.conf</code>. Este
+    configura atributos generales del servidor: el n&uacute;mero de
+    puerto, el usuario que lo ejecuta, <i>etc.</i> El siguiente a
+    editar es <code>srm.conf</code>; este fichero configura la
+    ra&iacute;z del &aacute;rbol de los documentos, funciones
+    especiales como HTML analizado sint&aacute;cticamente por el
+    servidor, mapa de imagen, <i>etc.</i> Finalmente, edite
+    <code>access.conf</code> que configura los accesos.</p>
+
+    <p>Adem&aacute;s de estos tres ficheros, el comportamiento del
+    servidor puede ser modificado directorio a directorio usando
+    los ficheros <code>.htaccess</code> para los directorios en los
+    que acceda el servidor.</p>
+
+    <h3>&iexcl;Configure el sistema de tiempo correctamente!</h3>
+
+    <p>Una operaci&oacute;n de un servidor web requiere un tiempo
+    concreto, ya que algunos elementos del protocolo HTTP se
+    expresan en funci&oacute;n de la hora y el d&iacute;a. Por eso,
+    es hora de investigar la configuraci&oacute;n de NTP o de otro
+    sistema de sincronizaci&oacute;n de su Unix o lo que haga de
+    equivalente en NT.</p>
+
+    <h2>Programas de soporte para la compilaci&oacute;n</h2>
+
+    <p>Adem&aacute;s del servidor principal <code>httpd</code> que
+    se compila y configura como hemos visto, Apache incluye
+    programas de soporte. Estos no son compilados por defecto. Los
+    programas de soporte est&aacute;n en el directorio
+    <code>support</code>. Para compilar esos programas, entre en el
+    directorio indicado y ejecute el comando:</p>
+
+    <blockquote>
+<pre>
+    make
+</pre>
+    </blockquote>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/install.html.fr b/htdocs/manual/install.html.fr
new file mode 100644 (file)
index 0000000..7fe6b0e
--- /dev/null
@@ -0,0 +1,325 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Compilation et installation d'Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Compilation et installation d'Apache
+    1.3</h1>
+
+    <p>Ce document d&eacute;crit la compilation et l'installation
+    d'Apache sur les syst&egrave;mes Unix, en employant la
+    compilation et l'installation manuelle. Si vous souhaitez
+    utiliser l'interface de configuration semblable &agrave;
+    autoconf, il est conseill&eacute; de lire plut&ocirc;t le
+    fichier INSTALL situ&eacute; dans la racine des fichiers
+    sources de la distribution d'Apache. Pour compiler et installer
+    Apache sur d'autres plates-formes, consultez</p>
+
+    <ul>
+      <li><a href="windows.html">Utilisation d'Apache sur Microsoft
+      Windows</a></li>
+
+      <li><a href="cygwin.html">Utilisation d'Apache sur
+      Cygwin</a></li>
+
+      <li><a href="netware.html">Utilisation d'Apache sur Novell
+      Netware</a></li>
+
+      <li><a href="mpeix.html">Utilisation d'Apache sur HP
+      MPE/iX</a></li>
+
+      <li><a href="unixware.html">Utilisation d'Apache sur
+      UnixWare</a></li>
+
+      <li><a href="readme-tpf.html">Aper&ccedil;u du portage
+      d'Apache sur TPF</a></li>
+    </ul>
+
+    <h2>T&eacute;l&eacute;chargement d'Apache</h2>
+    Les informations sur la derni&egrave;re version d'Apache se
+    trouvent sur le site web d'Apache &agrave; l'adresse <a
+    href="http://www.apache.org/">http://www.apache.org/</a>. Ce
+    site r&eacute;unit la version actuelle, les r&eacute;centes
+    versions beta, ainsi que la liste des sites miroirs web et ftp
+    anonymes. 
+
+    <p>Si vous avez t&eacute;l&eacute;charg&eacute; une
+    distribution compos&eacute;e des binaires, passez directement
+    &agrave; l'<a href="#installing">installation d'Apache</a>. Sinon
+    lisez la section suivante afin de savoir comment compiler le
+    serveur.</p>
+
+    <h2>Compilation d'Apache</h2>
+    La compilation d'Apache se compose de trois &eacute;tapes : la
+    s&eacute;lection des <strong>modules</strong> que vous
+    souhaitez inclure dans le serveur; la cr&eacute;ation de la
+    configuration pour votre syst&egrave;me d'exploitation; la
+    compilation les sources pour cr&eacute;er les
+    ex&eacute;cutables. 
+
+    <p>La configuration d'Apache s'effectue dans le
+    r&eacute;pertoire <code>src</code> de la distribution. Entrez
+    dans ce r&eacute;pertoire.</p>
+
+    <ol>
+      <li>
+        S&eacute;lection des modules &agrave; compiler dans Apache
+        d&eacute;finis dans le fichier <code>Configuration</code>.
+        D&eacute;commentez les lignes correspondant aux modules que
+        vous souhaitez inclure (parmi les lignes commen&ccedil;ant
+        par AddModule situ&eacute;es &agrave; la fin du fichier),
+        ou ajoutez de nouvelles lignes correspondant &agrave; des
+        modules additionnels que vous avez
+        t&eacute;l&eacute;charg&eacute;s ou &eacute;crits. (Voir <a
+        href="misc/API.html">API.html</a> comme documentation
+        pr&eacute;liminaire &agrave; l'&eacute;criture de modules
+        Apache). Les utilisateurs avertis peuvent commenter
+        certains des modules actifs par d&eacute;faut si ils sont
+        s&ucirc;rs qu'ils n'en ont pas besoin (il faut
+        n&eacute;anmoins faire attention, car la plupart des
+        modules actifs par d&eacute;faut sont vitaux au bon
+        fonctionnement et &agrave; la s&eacute;curit&eacute; du
+        serveur). 
+
+        <p>Vous pouvez &eacute;galement lire les instructions
+        contenues dans le fichier <code>Configuration</code> afin
+        de savoir si devez activer certaines lignes
+        commen&ccedil;ant par <code>Rule</code>.</p>
+      </li>
+
+      <li>
+        Cr&eacute;ation de la configuration pour votre
+        syst&egrave;me d'exploitation. Normalement vous n'avez
+        qu'&agrave; ex&eacute;cuter le script
+        <code>Configure</code> comme d&eacute;crit ci-dessous.
+        Cependant si le script &eacute;choue ou si vous avez des
+        besoins particuliers (par exemple inclure une librairie
+        n&eacute;cessaire &agrave; un module optionnel) vous devrez
+        modifier une ou plusieurs des options contenues dans le
+        fichier <code>Configuration</code> : <code>EXTRA_CFLAGS,
+        LIBS, LDFLAGS, INCLUDES</code>. 
+
+        <p>Lancement du script <code>Configure</code> :</p>
+
+        <blockquote>
+<pre>
+    % Configure
+    Using 'Configuration' as config file
+     + configured for &lt;whatever&gt; platform
+     + setting C compiler to &lt;whatever&gt; *
+     + setting C compiler optimization-level to &lt;whatever&gt; *
+     + Adding selected modules
+     + doing sanity check on compiler and options
+    Creating Makefile in support
+    Creating Makefile in main
+    Creating Makefile in os/unix
+    Creating Makefile in modules/standard
+  
+</pre>
+        </blockquote>
+        (*: selon le fichier Configuration et votre syst&egrave;me,
+        Configure peut ne pas afficher ces lignes). 
+
+        <p>Ceci cr&eacute;e un fichier Makefile qui sera
+        utilis&eacute; lors de l'&eacute;tape trois. Il cr&eacute;e
+        &eacute;galement un fichier Makefile dans le
+        r&eacute;pertoire <code>support</code>, pour compiler les
+        programmes optionnels d'assistance.</p>
+
+        <p>(Si vous souhaitez maintenir diff&eacute;rentes
+        configurations, <code>Configure</code> accepte une option
+        lui disant de lire un autre fichier de configuration, comme
+        : <code>Configure -file Configuration.ai</code>).</p>
+      </li>
+
+      <li>
+        Compilation des sources. Tapez : 
+<pre>
+make
+</pre>
+      </li>
+    </ol>
+    Les modules contenus dans la distribution Apache sont ceux que
+    nous avons test&eacute;s et qui ont &eacute;t&eacute;
+    utilis&eacute;s par plusieurs membres de l'&eacute;quipe de
+    d&eacute;veloppement d'Apache. Les modules additionnels
+    propos&eacute;s par les membres ou par d'autres contributeurs
+    correspondant &agrave; des besoins ou des fonctions
+    sp&eacute;cifiques sont disponibles &agrave; l'adresse &lt;<a
+    href="http://www.apache.org/dist/httpd/contrib/modules/">http://www.apache.org/dist/httpd/contrib/modules/</a>&gt;.
+    Des instructions sont fournies sur cette page pour lier ces
+    modules au noyau d'Apache. 
+
+    <h2><a id="installing" name="installing">Installation
+    d'Apache</a></h2>
+    Vous devez avoir un ex&eacute;cutable appel&eacute;
+    <code>httpd</code> dans le r&eacute;pertoire <code>src</code>.
+    Une distribution des binaires doit fournir ce fichier. 
+
+    <p>La prochaine &eacute;tape est d'installer le programme et de
+    le configurer. Apache est con&ccedil;u pour &ecirc;tre
+    configur&eacute; et lanc&eacute; &agrave; partir du m&ecirc;me
+    groupe de r&eacute;pertoires que celui o&ugrave; il a
+    &eacute;t&eacute; compil&eacute;. Si vous souhaitez le lancer
+    d'un autre emplacement, cr&eacute;er un r&eacute;pertoire et y
+    copier les r&eacute;pertoires <code>conf</code>,
+    <code>logs</code> et <code>icons</code>. Dans tous les cas
+    lisez le document <a
+    href="misc/security_tips.html#serverroot">trucs sur la
+    s&eacute;curit&eacute;</a> qui d&eacute;crit comment affecter
+    les droits sur le r&eacute;pertoire racine du serveur.</p>
+
+    <p>L'&eacute;tape suivante est la modification des fichiers de
+    configuration du serveur. Cela consiste &agrave; d&eacute;finir
+    diff&eacute;rentes <strong>directives</strong> dans les trois
+    fichiers centraux de configuration. Par d&eacute;faut ces
+    fichiers sont situ&eacute;s dans le r&eacute;pertoire
+    <code>conf</code> et s'appellent <code>srm.conf</code>,
+    <code>access.conf</code> et <code>httpd.conf</code>. Pour vous
+    aider, les m&ecirc;mes fichiers existent dans le
+    r&eacute;pertoire <code>conf</code> de la distribution et sont
+    appel&eacute;s <code>srm.conf-dist</code>,
+    <code>access.conf-dist</code> et <code>httpd.conf-dist</code>.
+    Copiez ou renommez ces fichiers en supprimant le
+    <code>-dist</code> pour le nouveau nom. Ensuite &eacute;ditez
+    chacun de ces fichiers. Lisez attentivement les commentaires de
+    chacun de ces fichiers. Une mauvaise configuration de ces
+    fichiers emp&ecirc;cherait votre serveur de d&eacute;marrer, ou
+    introduirait un probl&egrave;me de s&eacute;curit&eacute;. Vous
+    devez &eacute;galement trouver dans le r&eacute;pertoire
+    <code>conf</code> un fichier <code>mime.types</code>.
+    G&eacute;n&eacute;ralement, ce fichier n'a pas besoin
+    d'&ecirc;tre modifi&eacute;.</p>
+
+    <p>Premi&egrave;rement &eacute;ditez le fichier
+    <code>httpd.conf</code>. Celui ci fixe les param&egrave;tres
+    g&eacute;n&eacute;raux du serveur : le num&eacute;ro de port,
+    l'utilisateur qui l'ex&eacute;cute, etc. Ensuite &eacute;ditez
+    le fichier <code>srm.conf</code>. Ce fichier d&eacute;finit la
+    racine de l'arborescence des documents, les fonctions
+    sp&eacute;ciales telles que les pages HTML dynamiques,
+    l'analyse des imagemap, etc. Enfin, &eacute;ditez le fichier
+    <code>access.conf</code> pour au moins d&eacute;finir les
+    sch&eacute;mas d'acc&egrave;s de base.</p>
+
+    <p>En plus de ces trois fichiers, le comportement du serveur
+    peut &ecirc;tre configur&eacute; dans chaque r&eacute;pertoire
+    en utilisant les fichiers <code>.htaccess</code> pour les
+    r&eacute;pertoires acc&eacute;d&eacute;s par le serveur.</p>
+
+    <h3>D&eacute;finissez l'heure du syst&egrave;me correctement
+    !</h3>
+    Un bon fonctionnement d'un site web public n&eacute;cessite une
+    heure juste, car des &eacute;l&eacute;ments du protocole HTTP
+    sont exprim&eacute;s en termes de date et heure du jour. Il est
+    donc temps de chercher comment configurer NTP ou un autre
+    produit de synchronisation temporelle sur votre syst&egrave;me
+    UNIX, ou un &eacute;quivalent sous NT. 
+
+    <h3>D&eacute;marrage et arr&ecirc;t du serveur</h3>
+    Pour d&eacute;marrer le serveur, ex&eacute;cutez
+    <code>httpd</code>. Il cherchera le fichier
+    <code>httpd.conf</code> &agrave; l'emplacement
+    sp&eacute;cifi&eacute; lors de la compilation (par
+    d&eacute;faut <code>/usr/local/apache/conf/httpd.conf</code>).
+    Si ce fichier est situ&eacute; autre part, vous pouvez indiquer
+    son emplacement en utilisant l'option -f. Par exemple : 
+<pre>
+    /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf
+</pre>
+    Si tout se passe bien, vous devez vous retrouver de nouveau sur
+    l'invite de commande. Ceci indique que le serveur est actif et
+    s'ex&eacute;cute. Si quelque chose se passe mal durant
+    l'initialisation du serveur, un message d'erreur s'affichera
+    &agrave; l'&eacute;cran. Si le serveur d&eacute;marre
+    correctement, vous pouvez utiliser votre navigateur, vous
+    connecter au serveur et lire la documentation. Si vous lancez
+    le navigateur &agrave; partir de la machine o&ugrave;
+    s'ex&eacute;cute le serveur et que vous utilisez le port par
+    d&eacute;faut 80, une URL valide &agrave; taper dans votre
+    navigateur est : 
+<pre>
+    http://localhost/
+</pre>
+
+    <p>Notez que lors du d&eacute;marrage du serveur un certain
+    nombre de processus <em>fils</em> sont cr&eacute;&eacute;s afin
+    de traiter les requ&ecirc;tes. Si vous d&eacute;marrez le
+    serveur en &eacute;tant root, le processus p&egrave;re
+    s'ex&eacute;cutera avec les droits de root, tandis que les
+    processus fils s'ex&eacute;cuteront avec les droits de
+    l'utilisateur d&eacute;fini dans le fichier httpd.conf.</p>
+
+    <p>Si au lancement de <code>httpd</code> celui ci indique qu'il
+    n'arrive pas &agrave; s'attacher &agrave; une adresse, cela
+    signifie soit qu'un autre processus s'ex&eacute;cute
+    d&eacute;j&agrave; en utilisant le num&eacute;ro de port
+    d&eacute;fini dans la configuration d'Apache, soit que vous
+    essayez de lancer httpd en tant qu'utilisateur normal et que
+    vous essayez d'utiliser un port inf&eacute;rieur &agrave; 1024
+    (comme le port 80 par exemple).</p>
+
+    <p>Si le serveur ne s'ex&eacute;cute pas, lisez le message
+    affich&eacute; quand vous lancez httpd. Vous devez
+    &eacute;galement v&eacute;rifier le fichier error_log pour plus
+    d'informations (dans la configuration par d&eacute;faut ce
+    fichier est situ&eacute; dans le fichier <code>error_log</code>
+    du r&eacute;pertoire <code>logs</code>).</p>
+
+    <p>Si vous voulez que votre serveur continue &agrave;
+    s'ex&eacute;cuter apr&egrave;s une relance du syst&egrave;me,
+    vous devez ajouter un appel &agrave; <code>httpd</code> dans
+    vos fichiers de d&eacute;marrage du syst&egrave;me (typiquement
+    <code>rc.local</code> ou un fichier dans un r&eacute;pertoire
+    <code>rc.<em>N</em></code>). Ceci lancera le serveur Apache
+    avec les droits de root. Avant de le faire, v&eacute;rifiez que
+    votre serveur est correctement configur&eacute; au niveau de la
+    s&eacute;curit&eacute; et des restrictions d'acc&egrave;s.</p>
+
+    <p>Pour arr&ecirc;ter Apache, envoyez au processus parent un
+    signal TERM. Le PID de ce processus est &eacute;crit dans le
+    fichier <code>httpd.pid</code> situ&eacute; dans le
+    r&eacute;pertoire <code>logs</code> (&agrave; moins qu'Apache
+    soit configur&eacute; autrement). N'essayez pas de supprimer
+    les processus fils car d'autres seront cr&eacute;&eacute;s par
+    le processus p&egrave;re. Une commande typique pour
+    arr&ecirc;ter le serveur est :</p>
+<pre>
+    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+
+    <p>Pour plus d'information sur les options de la ligne de
+    commande, sur les fichiers de configuration et les fichiers de
+    trace, voir <a href="invoking.html">D&eacute;marrage
+    d'Apache</a>. Pour un guide de r&eacute;f&eacute;rence de
+    toutes les directives Apache autoris&eacute;es par les modules
+    distribu&eacute;s, voir les <a
+    href="mod/directives.html">directives Apache</a> .</p>
+
+    <h2>Compilation des programmes d'assistance</h2>
+    En plus du serveur <code>httpd</code> qui est compil&eacute; et
+    configur&eacute; comme ci dessus, Apache inclut un certain
+    nombre de programmes d'assistance. Ceux ci ne sont pas
+    compil&eacute;s par d&eacute;faut. Les programmes d'assistance
+    sont situ&eacute;s dans le r&eacute;pertoire
+    <code>support</code> de la distribution. Pour les compiler,
+    allez dans ce r&eacute;pertoire et tapez : 
+<pre>
+    make
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/install.html.html b/htdocs/manual/install.html.html
new file mode 100644 (file)
index 0000000..21e6e1b
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="install.html.en" -->
+
diff --git a/htdocs/manual/install.html.ja.jis b/htdocs/manual/install.html.ja.jis
new file mode 100644 (file)
index 0000000..4c75fff
--- /dev/null
@@ -0,0 +1,422 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Compiling and Installing Apache</title>
+
+  </head>
+  <!-- English revision: 1.40 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000080"
+  alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache 1.3 \e$B$N%3%s%Q%$%k!&%$%s%9%H!<%k\e(B</h1>
+
+    <ul>
+      <li><a href="#download">Apache \e$B$N%@%&%s%m!<%I\e(B</a></li>
+      <li><a href="#intro">\e$BF3F~\e(B</a></li>
+      <li><a href="#apaci">APACI \e$B$r;H$C$?\e(B Apache 1.3 HTTP \e$B%5!<%P$N%$%s%9%H!<%k\e(B</a></li>
+      <ul>
+          <li><a href="#requirements">\e$BI,MW$J%7%9%F%`\e(B</a></li>
+          <li><a href="#configure">\e$B%=!<%9%D%j!<$N@_Dj\e(B</a></li>
+          <li><a href="#build">\e$B%Q%C%1!<%8$N%S%k%I\e(B</a></li>
+          <li><a href="#installing">\e$B%Q%C%1!<%8$N%$%s%9%H!<%k\e(B</a></li>
+      </ul>
+      <li><a href="#traditional">\e$BEAE}E*$JJ}K!$K$h$k%S%k%I$H%$%s%9%H!<%k\e(B</a></li>
+      <ul>
+            <li><a href="#trad_configure">\e$B%$%s%9%H!<%k$N@_Dj\e(B</a></li>
+            <li><a href="#trad_compile">Apache \e$B$N%3%s%Q%$%k\e(B</a></li>
+            <li><a href="#trad_install">Apache \e$B$N%$%s%9%H!<%k\e(B</a></li>
+      </ul>
+      <li><a href="#testing">\e$B%Q%C%1!<%8$N%F%9%H\e(B</a></li>
+      <li><a href="#time">\e$B@5$7$$%7%9%F%`;~4V$N@_Dj\e(B</a></li>
+    </ul>
+
+    <p>\e$B$3$NJ8=q$O\e(B Apache \e$B$r\e(B Unix \e$B%7%9%F%`>e$G!"%3%s%Q%$%k5Z$S%$%s%9%H!<%k\e(B
+    \e$B$9$k$?$a$N$b$N$G$9!#$=$l0J30$N%W%i%C%H%[!<%`>e$G$N%3%s%Q%$%k5Z$S\e(B
+    \e$B%$%s%9%H!<%k$K$D$$$F$O!"0J2<$N9`L\$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <ul>
+      <li><a href="windows.html">Microsoft Windows \e$B>e$G$N\e(B Apache\e$B$N;HMQ\e(B</a></li>
+      <li><a href="cygwin.html">Cygwin \e$B>e$G$N\e(B Apache \e$B$N;HMQ\e(B</a></li>
+      <li><a href="netware.html">Novell Netware \e$B>e$G$N\e(B Apache \e$B$N;HMQ\e(B</a></li>
+      <li><a href="mpeix.html">HP MPE/iX \e$B>e$G$N\e(B Apache \e$B$N;HMQ\e(B</a></li>
+      <li><a href="unixware.html">UnixWare \e$B>e$G$N\e(B Apache \e$B$N%3%s%Q%$%k\e(B</a></li>
+      <li><a href="readme-tpf.html">Apache \e$B$N\e(B TPF Port \e$B$N35MW\e(B</a>
+      </li>
+    </ul>
+
+    <h2><a id="download" name="download">Apache \e$B$N%@%&%s%m!<%I\e(B</a></h2>
+
+    <p>Apache \e$B$N:G?7HG$O\e(B <a
+    href="http://httpd.apache.org/download.cgi">Download Page</a>
+    \e$B$+$iD>@\%@%&%s%m!<%I$9$k$3$H$,=PMh$^$9!#\e(B</p>
+
+    <h2><a id="intro" name="intro">\e$BF3F~\e(B</a></h2>
+
+    <p>\e$B$9$Y$F$NNI$$J*$HF1MM!"\e(BApache \e$B$r@_Dj!"%3%s%Q%$%k!"%$%s%9%H!<%k\e(B
+    \e$B$9$kJ}K!$OFs$D$"$j$^$9!#0J2<$G@bL@$9$k\e(B APACI \e$B%W%m%;%9$r;H$C$?\e(B
+    3\e$BJ,%$%s%9%H!<%k!"$^$?$O\e(B &apos;src/INSTALL&apos; \e$B%U%!%$%k$G@bL@$5$l$F$$$k!"\e(B
+    \e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$HF1$85!9=$rA*Br$9$k$3$H$,=PMh$^$9!#\e(B
+    \e$B$=$l$>$l$KMxE@$H7gE@$,$"$j$^$9!#\e(B- APACI \e$B$O$h$j?7$7$/!"\e(B
+    \e$B>/$7=O@.$5$l$F$$$^$;$s$,$=$l$KHq$d$9;~4V$O:G>.8B$G:Q$_$^$9!#\e(B
+    \e$BBP$7$F!"\e(B&quot;Configuration.tmpl&quot;
+    \e$B$N5!9=$r;H$C$?=>Mh$NJ}K!$O%Q%o!<%f!<%6$K$H$C$F$O$h$j=@Fp$K07$&$3$H$,=PMh$^$9!#\e(B
+    \e$B2f!9$O!"$=$l$>$l$N$d$jJ}$KBP$9$k0U8+$d%U%#!<%I%P%C%/$K$OBgJQ6=L#$,$"$j$^$9\e(B
+    </p>
+
+    <h2><a id="apaci" name="apaci">APACI \e$B$r;H$C$?\e(B Apache 1.3 HTTP
+    \e$B%5!<%P$N%$%s%9%H!<%k\e(B</a></h2>
+
+    <h3>Overview for the impatient</h3>
+<pre>
+     $ ./configure --prefix=PREFIX
+     $ make
+     $ make install
+     $ PREFIX/bin/apachectl start
+</pre>
+
+    <p><b>\e$BCm0U\e(B:</b> <code>PREFIX</code> \e$B$O\e(B &quot;PREFIX&quot;
+    \e$B$H$$$&J8;zNs$G$O$"$j$^$;$s!#Be$o$j$K\e(B Apache \e$B$r%$%s%9%H!<%k$7$?$$\e(B
+    Unix \e$B$N%U%!%$%k%7%9%F%`>e$N%Q%9$r;H$$$^$9!#$?$H$($P>e$N\e(B PREFIX
+    \e$B$NItJ,$K$O\e(B &quot;<code>/usr/local/apache</code>&quot; \e$B$,F~$j$^$9!#\e(B</p>
+
+    <h3><a id="requirements" name="requirements">\e$BI,MW$J%7%9%F%`\e(B</a></h3>
+    <p>Apache \e$B$N%S%k%I$K$O0J2<$K5s$2$k$b$N$,I,MW$K$J$j$^$9\e(B</p>
+
+    <dl>
+      <dt><b>\e$B%G%#%9%/%9%Z!<%9\e(B</b></dt>
+
+      <dd>\e$BLs\e(B 12 MB \e$B$N%G%#%9%/%9%Z!<%9$,0l;~E*$KI,MW$K$J$k$3$H$r3NG'$7$F$/$@$5$$!#\e(B
+      \e$B%$%s%9%H!<%k8e$K$OLs\e(B 3 MB \e$B$N%G%#%9%/%9%Z!<%9$,I,MW$K$J$j$^$9!#\e(B
+      (\e$B<B:]$KI,MW$K$J%G%#%9%/%9%Z!<%9$OAH$_9~$^$l$?%5!<%I%Q!<%F%#!<$N\e(B
+      \e$B%b%8%e!<%kEy$K0M$j$^$9\e(B)\e$B!#\e(B</dd>
+
+      <dt><b>ANSI-C \e$B%3%s%Q%$%i\e(B</b></dt>
+
+      <dd>ANSI-C \e$B%3%s%Q%$%i$,%$%s%9%H!<%k$5$l$F$$$k$3$H$r3NG'$7$F$/$@$5$$!#\e(B
+      Free Software Foundation (FSF) \e$B$K$h$k\e(B GNU C \e$B%3%s%Q%$%i\e(B (GCC)
+      \e$B$r?d>)$7$^$9\e(B(\e$B%P!<%8%g%s\e(B 2.7.2 \e$B$GBg>fIW\e(B)\e$B!#\e(BGCC \e$B$r;}$C$F$$$J$$>l9g$O\e(B
+      \e$B%Y%s%@$K$h$k%3%s%Q%$%i$,:GDc8B\e(B ANSI \e$B8_49$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#\e(B
+      GNU \e$B$N%[!<%`%Z!<%8$O\e(B http://www.gnu.org/ \e$B$K!"\e(BGCC \e$BG[I[$O\e(B
+      http://www.gnu.org/order/ftp.html \e$B$+$i8+$D$1$k$3$H$,=PMh$^$9!#\e(B</dd>
+
+      <dt><b>Perl 5 \e$B%$%s%?%W%j%?\e(B [\e$B%*%W%7%g%s\e(B]</b></dt>
+
+      <dd>`apxs' \e$B$d\e(B `dbmmanage' \e$B$N$h$&$J\e(B(Perl \e$B$G=q$+$l$?\e(B)
+      \e$B%5%]!<%H%9%/%j%W%H$NCf$K$O\e(B Perl 5 \e$B%$%s%?%W%j%?\e(B (\e$B%P!<%8%g%s\e(B 5.003
+      \e$B$^$?$O\e(B 5.004 \e$B$,K>$^$7$$\e(B) \e$B$,I,MW$J$b$N$,$"$j$^$9!#\e(BAPACI \e$B$N\e(B
+      `configure' \e$B%9%/%j%W%H$K$=$N$h$&$J%$%s%?%W%j%?$,8+$D$+$i$J$+$C$?>l9g!"\e(B
+      \e$B32$K$O$J$j$^$;$s!#EvA3!"\e(BApache 1.3 \e$B$r%S%k%I5Z$S%$%s%9%H!<%k\e(B
+      \e$B$9$k$3$H$,$G$-$^$9!#$b$7!"J#?t$N\e(B Perl \e$B%$%s%?%W%j%?$,%$%s%9%H!<%k\e(B
+      \e$B$5$l$F$$$k>l9g\e(B (\e$B62$i$/$O%Y%s%@$K$h$k\e(B Perl 4 \e$B$H<+J,$GF3F~$7$?\e(B Perl 5)\e$B!"\e(B
+      --with-perl \e$B%*%W%7%g%s\e(B (\e$B0J2<;2>H\e(B) \e$B$r;H$C$F@5$7$$$b$N$rA*Br$7\e(B APACI
+      \e$B$KCN$i$;$F$d$k$3$H$r?d>)$7$^$9!#\e(B</dd>
+
+      <dt><b>\e$BF0E*6&M-%*%V%8%'%/%H\e(B (DSO) \e$B%5%]!<%H\e(B [\e$B%*%W%7%g%s\e(B]</b></dt>
+
+      <dd>
+        <p>\e$B8=:_!":GBg8B$N=@Fp@-$N$?$a$K\e(B Apache \e$B$O\e(B dlopen()/dlsym()
+        \e$B%7%9%F%`%3!<%k$rMxMQ$7$?\e(B DSO \e$B5!9=$r7PM3$5$;$?%i%s%?%$%`$K$h$j!"\e(B
+        \e$B%b%8%e!<%k$r%m!<%I$9$k$3$H$,=PMh$^$9!#$3$l$i$N%7%9%F%`%3!<%k$O$9$Y$F$N\e(B
+        OS \e$B$GM-8z$J$o$1$G$O$J$$$N$G$I$N%W%i%C%H%[!<%`$G$b\e(B DSO
+        \e$B5!9=$r;H$($k$H$O8B$j$^$;$s!#%7%'%"!<%I%*%V%8%'%/%H$N%3%s%Q%$%k$O\e(B
+        \e$BHs>o$K%W%i%C%H%U%)!<%`$K0MB8$7$?$b$N$G$"$k$?$a!"\e(BApache \e$B$O8=;~E@$G$O\e(B
+        \e$B$$$/$D$+$N%W%i%C%H%U%)!<%`$K4X$7$F$N$_$=$NJ}K!$rCN$C$F$$$^$9!#\e(B
+        \e$B8=:_$N>u67$O$3$N$h$&$K$J$j$^$9!#\e(B</p>
+
+        <ul>
+          <li>
+            \e$B%5%]!<%H$5$l$F$$$k%W%i%C%H%U%)!<%`\e(B: 
+
+            <p>
+            <table border="0">
+              <tr>
+                <td>Linux</td>
+                <td>SunOS</td>
+                <td>UnixWare</td>
+                <td>Darwin/Mac OS</td>
+              </tr>
+              <tr>
+                <td>FreeBSD</td>
+                <td>Solaris</td>
+                <td>AIX</td>
+                <td>OpenStep/Mach</td>
+              </tr>
+              <tr>
+                <td>OpenBSD</td>
+                <td>IRIX</td>
+                <td>SCO</td>
+                <td>DYNIX/ptx</td>
+              </tr>
+              <tr>
+                <td>NetBSD</td>
+                <td>HPUX</td>
+                <td>ReliantUNIX</td>
+                <td>BSDI</td>
+              </tr>
+              <tr>
+                <td>Digital Unix</td>
+                <td>DGUX</td>
+              </tr>
+            </table>
+            </p>
+          </li>
+
+          <li>
+            \e$B40A4$K%5%]!<%H30$N%W%i%C%H%U%)!<%`\e(B:
+
+            <p>Ultrix</p>
+          </li>
+        </ul>
+
+        <p>\e$B$"$J$?$N%7%9%F%`$,$3$N%j%9%H$K$J$$$1$l$I!"\e(Bdlopen
+        \e$B7A<0$N%$%s%?%U%'!<%9$,$"$k>l9g!"E,@Z$J%3%s%Q%$%i$H%j%s%+%U%i%0\e(B
+        (CFLAGS_SHLIB, LDFLAGS_SHLIB \e$B5Z$S\e(B LDFLAGS_SHLIB_EXPORT \e$B;2>H\e(B)
+        \e$B$r<jF0$GM?$($F$d$k$+!":GDc8B\e(B Apache \e$B$,%*%W%7%g%s$r?d;!$G$-$k$h$&$K!"\e(B
+        Perl 5 \e$B%$%s%?%W%j%?$,$I$3$K%$%s%9%H!<%k\e(B
+        \e$B$5$l$F$$$k$+$r;XDj$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+        <p>Apache 1.3 \e$B$G$N\e(B DSO \e$B%5%]!<%H$K4X$9$k!"$h$j:YIt$N>pJs$K$D$$$F$O\e(B
+        htdocs/manual/dso.html \e$B$NJ8=q$r$h$/FI$s$G$/$@$5$$!#\e(B
+        \e$B==J,$KCm0U$7$J$$$G\e(B DSO \e$B5!9=$r;H$&$HL/$JI{:nMQ$,H/@8$9$k$3$H$,$"$k$?$a!"\e(B
+        \e$BFC$K\e(B
+        &quot;Advantages &amp; Disadvantages&quot; \e$B$HL>IU$1$i$l$?@a$O\e(B
+        \e$BCm0U$7$FFI$s$G$/$@$5$$!#7Y9p$O$7$^$7$?$h\e(B!</p>
+      </dd>
+    </dl>
+
+    <h3><a id="configure" name="configure">\e$B%=!<%9%D%j!<$N@_Dj\e(B</a></h3>
+
+    <p>\e$B<!$NCJ3,$O\e(B Apache \e$B%=!<%9%D%j!<$rFCDj$N%W%i%C%H%[!<%`$d\e(B
+    \e$B8D!9$NI,MW$K9g$o$;$F@_Dj$7$^$9!#$3$N@_Dj$G:G$b=EMW$J$3$H$O8e$G\e(B
+    Apache \e$B$,%$%s%9%H!<%k$5$l$k0LCV$N7hDj$G$9!#$H$$$&$N$O\e(B
+    Apache \e$B$,@5$7$/F0:n$9$k$?$a$K$3$N0LCV$K9g$o$;$F@_Dj$5$l$k$+$i$G$9!#\e(B
+    \e$BB>$K$b4uK>$K1~$8$FB?$/$N%*%W%7%g%s$,M-8z$G$9!#\e(B</p>
+
+    <p>\e$B$I$s$J$3$H$,=PMh$k$N$+4JC1$K46$8$F$b$i$&$?$a!"$3$3$G$O\e(B
+    \e$BI8=`E*$JNc$H$7$F!"%$%s%9%H!<%k%D%j!<$r\e(B /sw/pkg/apache,
+    \e$BFCDj$N%3%s%Q%$%i5Z$S%U%i%0!"$=$7$F\e(B 2 \e$B$D$NDI2C%b%8%e!<%k\e(B mod_rewrite
+    \e$B5Z$S\e(B mod_proxy \e$B$r8e$G\e(B DSO \e$B5!9=$K$h$j%m!<%I$5$;$k$h$&$K\e(B Apache
+    \e$B$r%3%s%Q%$%k$9$k$b$N$H$7$^$9\e(B>\e$B!#\e(B</p>
+<pre>
+     $ CC="pgcc" OPTIM="-O2" \
+       ./configure --prefix=/usr/local/apache \
+                   --enable-module=rewrite --enable-shared=rewrite \
+                   --enable-module=proxy   --enable-shared=proxy
+</pre>
+
+    <p>\e$BM-8z$J%*%W%7%g%s$N40A4$J%j%9%H$O0J2<$N%3%^%s%I$rBG$A9~$s$G$/$@$5$$!#\e(B
+    </p>
+  <p><code>./configure --help</code></p>
+
+   <p>\e$B@_DjNc$N%j%9%H$O\e(B <code>README.configure</code>
+   \e$B%U%!%$%k$b8+$F$/$@$5$$!#\e(B</p>
+
+    <h3><a id="build" name="build">\e$B%Q%C%1!<%8$N%S%k%I\e(B</a></h3>
+
+    <p>\e$B$3$l$G\e(B Apache \e$B%Q%C%1!<%8$N3FItJ,$r%3%^%s%I\e(B</p>
+<pre>
+        $ make 
+</pre>
+
+    <p>\e$B$r<B9T$9$k$3$H$K$h$j%S%k%I$9$k$3$H$,=PMh$^$9!#\e(B
+    \e$B$3$l$K$OM-8z$K$7$?%b%8%e!<%k$NNL$K$b$h$j$^$9$,\e(B Pentium-166/FreeBSD-2.2
+    \e$B%7%9%F%`$N>l9g$GLs\e(B 2 \e$BJ,$+$+$j$^$9!#$8$C$HBT$C$F$/$@$5$$!#\e(B
+    </p>
+
+    <h3><a id="installing" name="installing">\e$B%Q%C%1!<%8$N%$%s%9%H!<%k\e(B</a></h3>
+
+    <p>\e$B%$%s%9%H!<%k$N\e(B <code>PREFIX</code> (\e$B>e$N\e(B <code>--prefix</code>
+    \e$B%*%W%7%g%s;2>H\e(B)\e$B@_Dj$K$h$j%Q%C%1!<%8$r%$%s%9%H!<%k$9$k;~$G$9!#\e(B</p>
+<pre>
+        $ make install
+</pre>
+
+   <p>\e$B0J2<$NNc$G$O\e(B <code>PREFIX</code> \e$B$O$=$N$^$^\e(B &quot;PREFIX&quot;
+   \e$B$G$O$J$/!"\e(B<code>--prefix</code>
+   \e$B%*%W%7%g%s$K$h$jM?$($i$l$?0z?t$K$J$j$^$9!#\e(B</p>
+
+<!-- Building and installing Apache in the traditional way -->
+
+    <h2><a id="traditional" name="traditional">\e$BEAE}E*$JJ}K!$K$h$k%S%k%I$H%$%s%9%H!<%k\e(B</a></h2>
+
+    <p>APACI \e$B$,=P$F$/$k0JA0$O\e(B Apache \e$B$N%S%k%I5Z$S%$%s%9%H!<%k$NJ}K!$O\e(B
+    1 \e$B$D$7$+$"$j$^$;$s$G$7$?!#\e(BAPACI \e$B$O\e(B
+    \e$B?M$K$h$C$F$O$h$j$o$+$j$d$9$$@_Dj$N%$%s%?!<%U%'!<%9$rDs6!$7$^$9$,!"\e(B
+    \e$B=>Mh$+$i$NJ}K!$OBgNL$N%3%^%s%I%i%$%s\e(B
+    \e$B%*%W%7%g%s$rBG$A9~$`$3$H$J$/%$%s%9%H!<%k$N@_Dj$r\e(B
+    \e$B=PMh$kJ}K!$,MQ0U$5$l$F$$$^$9!#\e(B</p>
+
+    <h3><a id="trad_configure" name="trad_configure">\e$B%$%s%9%H!<%k$N@_Dj\e(B</a></h3>
+
+    <p>Apache \e$B$N%3%s%Q%$%k$O;0CJ3,$G9=@.$5$l$^$9!#\e(B
+    \e$B$^$:%5!<%P$K4^$a$?$$\e(B Apache <strong>\e$B%b%8%e!<%k\e(B</strong>
+    \e$B$rA*Br$7$F$/$@$5$$!#<!$K!"\e(BOS \e$B$K9g$o$;$?@_Dj$r$7$^$9!#\e(B
+    \e$B:G8e$K%3%s%Q%$%k$r$7$^$9!#\e(B</p>
+
+    <p>Apache \e$B$NA4$F$N@_Dj$O!"\e(BApache \e$BG[I[$N\e(B <code>src</code>
+    \e$B%G%#%l%/%H%j$G9T$o$l$^$9!#$3$N%G%#%l%/%H%j$KF~$C$F$/$@$5$$!#\e(B
+    </p>
+
+    <ol>
+      <li>
+        <code>Configuration</code> \e$B%U%!%$%k\e(B <code>src/Configuration.tmpl</code> 
+        \e$B$NCf$G\e(B Apache
+        \e$B$K%3%s%Q%$%k$9$k%b%8%e!<%k$rA*Br$7$^$9!#<BAu$7$?$$%*%W%7%g%s$N\e(B
+        \e$B%b%8%e!<%k$N9T$N%3%a%s%H$r30$9$+\e(B (\e$B%U%!%$%k$N=*$o$j$K$"$k\e(B
+        AddModule \e$B9T$G\e(B) \e$B!"%@%&%s%m!<%I$7$?$j!":n@.$7$?DI2C$N%b%8%e!<%k$N\e(B
+        \e$B?7$7$$9T$rDI2C$7$^$9\e(B (\e$B$I$N$h$&$K\e(B Apache \e$B%b%8%e!<%k$r:n@.$9$k$N$+\e(B?
+        \e$B$K$D$$$F$N%I%-%e%a%s%H$O\e(B<a href="misc/api.html">API.html</a>
+        \e$B$r;2>H$7$F$/$@$5$$\e(B) \e$B!#\e(B
+        \e$B$"$k%b%8%e!<%k$,3N<B$KI,MW$G$J$$$3$H$,$o$+$C$F$$$k$J$i$P!"\e(B
+        \e$B$$$/$D$+$N%G%U%)%k%H%b%8%e!<%k$r%3%a%s%H%"%&%H$9$k$3$H$,$G$-$^$9\e(B
+        (\e$B$?$@$7!"%G%U%)%k%H$N%b%8%e!<%k$NB?$/$O%5!<%P$N@53N$JA`:n$H\e(B
+        \e$B%;%-%e%j%F%#$K$H$C$F=EMW$J$N$GCm0U$7$F$/$@$5$$\e(B) \e$B!#\e(B
+
+
+        <p><code>Rule</code>
+        \e$B9T$N$$$/$D$+$r@_Dj$9$kI,MW$,$"$k$+$I$&$+$rCN$k$?$a$K\e(B
+        <code>Configuration</code> \e$B%U%!%$%k$N;X<($bFI$s$G$/$@$5$$!#\e(B</p>
+      </li>
+
+      <li>
+        Apache \e$B$r\e(B OS \e$B$K9g$o$;$F@_Dj$7$^$9!#DL>o$O$?$@\e(B
+        <code>Configure</code> \e$B%9%/%j%W%H$r2<5-$NNc$N$h$&$K<B9T$7$^$9!#\e(B
+        \e$B$7$+$7!"$3$l$,<:GT$9$k$H$-$d2?$+FC<l$JMW5a$,$"$k$H$-\e(B
+        (<em>\e$BNc$($P\e(B</em>\e$B!"DI2C$7$?%b%8%e!<%k$K$h$C$F2?$i$+$N%i%$%V%i%j$,\e(B
+        \e$BI,MW$J>l9g$J$I\e(B) \e$B$K$O\e(B <code>Configure</code>
+        \e$B%U%!%$%k$N<!$N%*%W%7%g%s$N$$$/$D$+$rJT=8$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#\e(B 
+        <code>EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES</code>.
+
+
+        <p><code>Configure</code> \e$B%9%/%j%W%H$r<B9T$7$^$9\e(B</p>
+
+        <blockquote>
+<pre>
+    % Configure
+    Using 'Configuration' as config file
+     + configured for &lt;whatever&gt; platform
+     + setting C compiler to &lt;whatever&gt; *
+     + setting C compiler optimization-level to &lt;whatever&gt; *
+     + Adding selected modules
+     + doing sanity check on compiler and options
+    Creating Makefile in support
+    Creating Makefile in main
+    Creating Makefile in os/unix
+    Creating Makefile in modules/standard
+
+</pre>
+        </blockquote>
+        (*: \e$B@_DjFbMF$H%7%9%F%`$K$h$C$F$O!"\e(BConfigure \e$B$O$3$NDL$j$K\e(B
+        \e$BI=<($7$J$$$3$H$,$"$j$^$9$,!"$=$l$GLdBj$"$j$^$;$s!#\e(B)
+
+        <p>\e$B$3$l$G\e(B 3 \e$B$NCJ3,$G;H$o$l$k\e(B Makefile \e$B$,@8@.$5$l$^$9!#\e(B
+        \e$B$^$?!"%*%W%7%g%s$N%5%]!<%H%W%m%0%i%`$r%3%s%Q%$%k$9$k$?$a$K!"\e(B
+        \e$B%5%]!<%H%G%#%l%/%H%j$NCf$K\e(B Makefile \e$B$,@8@.$5$l$^$9!#\e(B</p>
+
+        <p>(\e$B$b$7!"MM!9$J@_Dj$r4IM}$9$k$D$b$j$J$i$P!"\e(B
+        <code>Configure</code> \e$B$K\e(B <code>Configure -file
+        Configuration.ai</code> \e$B$N$h$&$K!"JL$N\e(B Configuration
+        \e$B%U%!%$%k$rFI$_9~$`$h$&$K%*%W%7%g%s$rIU$1$k$H$$$$$G$7$g$&!#\e(B)</p>
+      </li>
+
+    <h3><a id="trad_compile" name="trad_compile">Apache \e$B$N%3%s%Q%$%k\e(B</a></h3>
+
+      <li><code>make</code> \e$B$r<B9T$7$F$/$@$5$$!#\e(B</li>
+    </ol>
+    Apache \e$BG[I[J*$K$"$k%b%8%e!<%k$O\e(B Apache \e$B3+H/%0%k!<%W$K$h$C$F%F%9%H$,9T$o$l!"\e(B
+    \e$BB?$/$N%a%s%P!<$K$h$C$FF|>oE*$K;H$o$l$F$$$k$b$N$G$9!#\e(B
+    \e$B%a%s%P!<$d%5!<%I%Q!<%F%#$K$h$C$F3+H/$5$l$?FCDj$N%K!<%:$d5!G=$r$b$D\e(B
+    \e$BDI2C%b%8%e!<%k$O!"\e(B&lt;<a
+    href="http://www.apache.org/dist/httpd/contrib/modules/"
+    >http://www.apache.org/dist/httpd/contrib/modules/</a>&gt;.
+    \e$B$+$iF~<j$9$k$3$H$,$G$-$^$9!#$3$N%Z!<%8$K$O!"$3$l$i$N%b%8%e!<%k$r\e(B
+    Apache \e$B%3%"%3!<%I$K%j%s%/$5$;$k$?$a$N@bL@$,=q$$$F$"$j$^$9!#\e(B
+
+    <h3><a id="trad_install" name="trad_install">Apache \e$B$N%$%s%9%H!<%k\e(B</a></h3>
+
+    \e$B%3%s%Q%$%k$r9T$&$H!"\e(B<code>httpd</code> \e$B$H$$$&%P%$%J%j%U%!%$%k$,\e(B 
+    <code>src</code> \e$B%G%#%l%/%H%j$K:n@.$5$l$^$9!#\e(BApache
+    \e$B$N%P%$%J%jG[I[$O$3$N%U%!%$%k$rDs6!$7$^$9!#\e(B
+
+    <p>\e$B<!$N%9%F%C%W$O%W%m%0%i%`$r%$%s%9%H!<%k$7!"$=$l$r@_Dj$9$k$3$H$G$9!#\e(B
+    Apache \e$B$O%3%s%Q%$%k$5$l$?%G%#%l%/%H%j$HF1$8%G%#%l%/%H%j$N%;%C%H$G\e(B
+    \e$B@_Dj!"<B9T$5$l$k$h$&$K$J$C$F$$$^$9!#\e(B
+    \e$B$b$7$I$3$+B>$N$H$3$m$+$i<B9T$5$;$?$$>l9g$O!"%G%#%l%/%H%j$r:n@.$7!"\e(B
+    \e$B$=$3$K\e(B <code>conf</code>, <code>logs</code> \e$B5Z$S\e(B <code>icons</code>
+    \e$B%G%#%l%/%H%j$r%3%T!<$7$F$/$@$5$$!#$I$A$i$N>l9g$G$b!"\e(B
+    \e$B%5!<%P%k!<%H$N%G%#%l%/%H%j$N%Q!<%_%C%7%g%s$r$I$&@_Dj$9$k$+$K$D$$$F!"\e(B
+    <a href="misc/security_tips.html#serverroot">security \e$B>pJs\e(B</a>
+    \e$B$rFI$`$Y$-$G$9!#\e(B</p>
+
+    <p>\e$B<!$K!"%5!<%P$N@_Dj%U%!%$%k$rJT=8$7$^$9!#\e(B3\e$B$D$N@_Dj%U%!%$%k$G\e(B 
+    <strong>\e$B%G%#%l%/%F%#%V\e(B</strong> \e$B$r@_Dj$7$^$9!#I8=`>uBV$G$O!"\e(B
+    \e$B$3$l$i$N%U%!%$%k$O\e(B <code>conf</code> \e$B%G%#%l%/%H%j$KG[CV$5$l$k!"\e(B
+    <code>srm.conf</code>, <code>access.conf</code>, <code>httpd.conf</code>
+    \e$B$G$9!#@_Dj$N;29M$K$J$k$h$&$K!"G[I[$N\e(B <code>conf</code>
+    \e$B%G%#%l%/%H%j$KF1$8FbMF$N%U%!%$%k!"\e(B<code>srm.conf-dist</code>,
+    <code>access.conf-dist</code>, <code>httpd.conf-dist</code>
+    \e$B$,$"$j$^$9!#\e(B<code>-dist</code> \e$B$J$7$G!"\e(B
+    \e$B$=$NL>A0$N$3$l$i$N%U%!%$%k$r%3%T!<$9$k$+!"L>A0$rJQ$($F$/$@$5$$!#\e(B
+    \e$B$=$l$+$i$=$l$>$l$N%U%!%$%k$rJT=8$7$F$/$@$5$$!#\e(B
+    \e$B$=$l$>$l$N%U%!%$%k$K$"$k%3%a%s%H$rCm0U?<$/FI$s$G$/$@$5$$!#\e(B
+    \e$B$3$l$i$N%U%!%$%k$N@53N$J@_Dj$K<:GT$9$k$H!"%5!<%P$,F0$+$J$/$J$C$?$j!"\e(B
+    \e$B%;%-%e%j%F%#E*$K4m81$K$J$C$?$j$7$^$9!#\e(B
+    <code>conf</code> \e$B%G%#%l%/%H%j$K$O\e(B <code>mime.types</code>
+    \e$B$H$$$&DI2C%U%!%$%k$,$"$j$^$9!#\e(B
+    \e$BDL>o$3$N%U%!%$%k$rJT=8$9$kI,MW$O$"$j$^$;$s!#\e(B</p>
+
+    <p>\e$B:G=i$K\e(B <code>httpd.conf</code> \e$B$rJT=8$7$F$/$@$5$$!#\e(B
+    \e$B$3$N%U%!%$%k$O%5!<%P$K4X$9$k0lHLE*$JB0@-$r@_Dj$7$^$9\e(B;
+    \e$B%]!<%HHV9f$d5/F0%f!<%6\e(B <em>\e$BEy!9\e(B</em>\e$B$G$9!#<!$K\e(B <code>srm.conf</code>
+    \e$B%U%!%$%k$rJT=8$7$F$/$@$5$$\e(B; \e$B$3$l$O%I%-%e%a%s%H%D%j!<$N%k!<%H!"\e(B
+    server-parsed HTML \e$B$dFbItE*$J%$%a!<%8%^%C%W$N2r@O$N$h$&$JFCJL$J5!G=\e(B
+    <em>\e$BEy!9\e(B</em> \e$B$r@_Dj$7$^$9!#:G8e$K%"%/%;%9$K4X$9$k4pK\;v9`$r\e(B
+    \e$B@_Dj$9$k$?$a$K\e(B access.conf \e$B%U%!%$%k$rJT=8$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$l$i\e(B3\e$B$D$N%U%!%$%k$K2C$($F!"%5!<%P$NF0:n$O%"%/%;%9$5$l$?\e(B
+    \e$B%G%#%l%/%H%j$K$"$k\e(B <code>.htaccess</code> \e$B%U%!%$%k$r;H$&$3$H$K$h$C$F!"\e(B
+    \e$B%G%#%l%/%H%jKh$K@_Dj$G$-$^$9!#\e(B</p>
+
+
+    <h3>\e$B%5%]!<%H%W%m%0%i%`$N%3%s%Q%$%k\e(B</h3>
+    \e$B>e5-$G%3%s%Q%$%k!"@_Dj$5$l$k%a%$%s$N\e(B <code>httpd</code>
+    \e$B%5!<%P$NB>$K!"\e(BApache \e$B$K$OB??t$N%5%]!<%H%W%m%0%i%`$,4^$^$l$F$$$^$9!#\e(B
+    \e$B$3$l$i$OI8=`$G$O%3%s%Q%$%k$5$l$^$;$s!#%5%]!<%H%W%m%0%i%`$O\e(B
+    <code>support</code> \e$B%G%#%l%/%H%j$K$"$j$^$9!#\e(B
+    \e$B%5%]!<%H%W%m%0%i%`$r%3%s%Q%$%k$9$k$K$O!"$3$N%G%#%l%/%H%j$KF~$j!"\e(B
+    \e$B0J2<$N$h$&$KF~NO$7$F$/$@$5$$!#\e(B
+<pre>
+    make
+</pre>
+
+    <h2><a id="testing" name="testing">\e$B%Q%C%1!<%8$N%F%9%H\e(B</a></h2>
+
+    <p>\e$B$3$3$G!"0J2<$N%3%^%s%I$r<B9T$9$k$3$H$G!"\e(BApache HTTP \e$B$r$9$0$K\e(B
+    \e$B<B9T$G$-$k$h$&$K$J$C$F$$$^$9!#\e(B</p>
+<pre>
+        $ PREFIX/bin/apachectl start
+</pre>
+
+    <p>\e$B$=$l$+$i\e(B URL http://localhost/ (Apache \e$B$r\e(B root \e$B$H$7$F$"$k$$$O\e(B
+    --without-confadjust \e$B%*%W%7%g%s$r;H$C$F%S%k%I!"%$%s%9%H!<%k$7$?>l9g\e(B)
+    \e$B$^$?$O\e(B http://localhost:8080/ (Apache \e$B$rIaDL$N%f!<%6$G%S%k%I!"\e(B
+    \e$B%$%s%9%H!<%k$7$?>l9g\e(B) \e$B$K$h$j:G=i$NJ8=q$r%j%/%(%9%H$G$-$^$9!#\e(B 
+    \e$B$=$l$+$i0J2<$K$h$j%5!<%P$r;_$a$F$/$@$5$$!#\e(B</p>
+<pre>
+        $ PREFIX/bin/apachectl stop
+</pre>
+
+    <h2><a id="time" name="time">\e$B@5$7$$%7%9%F%`;~4V$N@_Dj\e(B!</a></h2>
+    <p>\e$B8x3+$5$l$k%&%'%V%5!<%P$NE,@Z$JA`:n$K$O!"\e(BHTTP
+    \e$B%W%m%H%3%k$NMWAG$,$=$NF|$N;~4V$H$7$F<($5$l$k$?$a!"\e(B
+    \e$B@53N$J;~4V$,I,MW$H$5$l$^$9!#$G$9$+$i!"$3$l$r5!2q$K\e(B UNIX \e$B$K$*$$$F$O\e(B
+    NTP \e$B$d$J$s$i$+$N;~4V$NF14|$r<h$k%7%9%F%`!"\e(BNT
+    \e$B$K$*$$$F$b2?$+$=$l$HF1$8F/$-$r$9$k$b$N$rF3F~$7$F$/$@$5$$!#\e(B</p>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/invoking.html.en b/htdocs/manual/invoking.html.en
new file mode 100644 (file)
index 0000000..5beffce
--- /dev/null
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Starting Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Starting Apache</h1>
+
+    <ul>
+      <li><a href="#windows">Starting Apache on Windows</a></li>
+
+      <li>
+        <a href="#unix">Starting Apache on Unix</a> 
+
+        <ul>
+          <li><a href="#errors">Errors During Start-up</a></li>
+
+          <li><a href="#boot">Starting at Boot-Time</a></li>
+
+          <li><a href="#info">Additional Information</a></li>
+        </ul>
+      </li>
+    </ul>
+    <hr />
+
+    <h2><a id="windows" name="windows">Starting Apache On
+    Windows</a></h2>
+
+    <p>On Windows, Apache is normally run as a service on Windows
+    NT, or as a console application on Windows 95. This does not
+    apply in its full extend for the Cygwin platform. For details,
+    see <a href="windows.html#run">running Apache for
+    Windows</a>.</p>
+
+    <h2><a id="unix" name="unix">Starting Apache on Unix</a></h2>
+
+    <p>On Unix, the <a href="programs/httpd.html">httpd</a> program
+    is run as a daemon which executes continuously in the
+    background to handle requests. It is possible to have Apache
+    invoked by the Internet daemon <code>inetd</code> each time a
+    connection to the HTTP service is made using the <a
+    href="mod/core.html#servertype">ServerType</a> directive, but
+    this is not recommended.</p>
+
+    <p>If the <a href="mod/core.html#port">Port</a> specified in
+    the configuration file is the default of 80 (or any other port
+    below 1024), then it is necessary to have root privileges in
+    order to start Apache, so that it can bind to this privileged
+    port. Once the server has started and completed a few
+    preliminary activities such as opening its log files, it will
+    launch several <em>child</em> processes which do the work of
+    listening for and answering requests from clients. The main
+    <code>httpd</code> process continues to run as the root user,
+    but the child processes run as a less privileged user. This is
+    controlled by Apache's <a
+    href="server-wide.html#process">process creation
+    directives</a>.</p>
+
+    <p>The first thing that <code>httpd</code> does when it is
+    invoked is to locate and read the <a
+    href="configuring.html">configuration file</a>
+    <code>httpd.conf</code>. The location of this file is set at
+    compile-time, but it is possible to specify its location at run
+    time using the <code>-f</code> command-line option as in</p>
+
+    <blockquote>
+      <code>/usr/local/apache/bin/httpd -f
+      /usr/local/apache/conf/httpd.conf</code>
+    </blockquote>
+
+    <p>As an alternative to invoking the <code>httpd</code> binary
+    directly, a shell script called <a
+    href="programs/apachectl.html">apachectl</a> is provided which
+    can be used to control the daemon process with simple commands
+    such as <code>apachectl start</code> and <code>apachectl
+    stop</code>.</p>
+
+    <p>If all goes well during startup, the server will detach from
+    the terminal and the command prompt will return almost
+    immediately. This indicates that the server is up and running.
+    You can then use your browser to connect to the server and view
+    the test page in the <a
+    href="mod/core.html#documentroot">DocumentRoot</a> directory
+    and the local copy of the documentation linked from that
+    page.</p>
+
+    <h3><a id="errors" name="errors">Errors During
+    Start-up</a></h3>
+
+    <p>If Apache suffers a fatal problem during startup, it will
+    write a message describing the problem either to the console or
+    to the <a href="mod/core.html#errorlog">ErrorLog</a> before
+    exiting. One of the most common error messages is "<code>Unable
+    to bind to Port ...</code>". This message is usually caused by
+    either:</p>
+
+    <ul>
+      <li>Trying to start the server on a privileged port when not
+      logged in as the root user; or</li>
+
+      <li>Trying to start the server when there is another instance
+      of Apache or some other web server already bound to the same
+      port.</li>
+    </ul>
+
+    <p>For further trouble-shooting instructions, consult the
+    Apache <a href="misc/FAQ.html">FAQ</a>.</p>
+
+    <h3><a id="boot" name="boot">Starting at Boot-Time</a></h3>
+
+    <p>If you want your server to continue running after a system
+    reboot, you should add a call to <code>httpd</code> or
+    <code>apachectl</code> to your system startup files (typically
+    <code>rc.local</code> or a file in an <code>rc.N</code>
+    directory). This will start Apache as root. Before doing this
+    ensure that your server is properly configured for security and
+    access restrictions. The <code>apachectl</code> script is
+    designed so that it can often be linked directly as an init
+    script, but be sure to check the exact requirements of your
+    system.</p>
+
+    <h3><a id="info" name="info">Additional Information</a></h3>
+
+    <p>Additional information about the command-line options of <a
+    href="programs/httpd.html">httpd</a> and <a
+    href="programs/apachectl.html">apachectl</a> as well as other
+    support programs included with the server is available on the
+    <a href="programs/">Server and Supporting Programs</a> page.
+    There is also documentation on all the <a
+    href="mod/">modules</a> included with the Apache distribution
+    and the <a href="mod/directives.html">directives</a> that they
+    provide.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/invoking.html.fr b/htdocs/manual/invoking.html.fr
new file mode 100644 (file)
index 0000000..54666bd
--- /dev/null
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--English revision 1.34 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>D&eacute;marrage d'Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">D&eacute;marrage d'Apache</h1>
+
+    <ul>
+      <li><a href="#windows">D&eacute;marrage d'Apache sur
+      Windows</a></li>
+
+      <li>
+        <a href="#unix">D&eacute;marrage d'Apache sur Unix</a> 
+
+        <ul>
+          <li><a href="#errors">Erreurs durant
+          l'initialisation</a></li>
+
+          <li><a href="#boot">D&eacute;marrage &agrave;
+          l'initialisation du syst&egrave;me</a></li>
+
+          <li><a href="#info">Informations
+          compl&eacute;mentaires</a></li>
+        </ul>
+      </li>
+    </ul>
+    <hr />
+
+    <h2><a id="windows" name="windows">D&eacute;marrage d'Apache
+    sur Windows</a></h2>
+
+    <p>Sur Windows, Apache est normalement lanc&eacute; en tant que
+    service sur Windows NT, ou en tant qu'application en mode
+    console sur Windows 95. Pour plus de d&eacute;tails, voir <a
+    href="windows.html#run">lancer Apache pour Windows</a>.</p>
+
+    <h2>D&eacute;marrage d'Apache sur Unix</h2>
+
+    <p>Sur Unix, le programme <code>httpd</code> est lanc&eacute;
+    en tant que d&eacute;mon qui s'ex&eacute;cute en t&acirc;che de
+    fond pour traiter les requ&ecirc;tes. Il est possible
+    d'invoquer Apache par le d&eacute;mon Internet
+    <code>inetd</code> &agrave; chaque fois qu'une connexion au
+    service HTTP est faite (if faut pour cela utiliser la directive
+    <a href="mod/core.html#servertype">ServerType</a>) mais cela
+    n'est pas recommand&eacute;.</p>
+
+    <p>Si le <a href="mod/core.html#port">Port</a>
+    sp&eacute;cifi&eacute; dans le fichier de configuration est le
+    port par d&eacute;faut 80 (ou tout autre port in&eacute;rieur
+    &agrave; 1024), il est alors n&eacute;cessaire d'avoir les
+    privil&egrave;ges root pour lancer Apache. Une fois que
+    l'initialisation du serveur s'est achev&eacute;e ainsi que
+    quelques activit&eacute;s pr&eacute;liminaires telles que
+    l'ouverture des fichiers de trace, le serveur lance un certain
+    nombre de processus <em>fils</em> ayant pour r&ocirc;le
+    d'attendre et de r&eacute;pondre aux requ&ecirc;tes des
+    clients. Le processus p&egrave;re <code>httpd</code> continue
+    &agrave; s'ex&eacute;cuter avec les privil&egrave;ges root,
+    mais les processus fils s'ex&eacute;cute sous un utilisateur
+    avec moins de privil&egrave;ges. Ceci est contr&ocirc;l&eacute;
+    par les directives de cr&eacute;ation de <a
+    href="server-wide.html#process">processus</a></p>
+
+    <p>La premi&egrave;re chose qu'<code>httpd</code> fait
+    lorsqu'il est appel&eacute; est de chercher et lire le <a
+    href="configuring.html">fichier de configuration</a>
+    <code>httpd.conf</code>. L'emplacement de ce fichier est
+    d&eacute;fini &agrave; la compilation, mais il est possible de
+    sp&eacute;cifier son emplacement &agrave; l'ex&eacute;cution en
+    utilisant l'option <code>-f</code>. Exemple :</p>
+
+    <blockquote>
+      <code>/usr/local/apache/bin/httpd -f
+      /usr/local/apache/conf/httpd.conf</code>
+    </blockquote>
+
+    <p>Comme alternative &agrave; l'appel direct de
+    l'ex&eacute;cutable <code>httpd</code> un script appel&eacute;
+    <a href="programs/apachectl.html">apachectl</a> est fourni qui
+    permet de contr&ocirc;ler le processus d&eacute;mon avec des
+    commandes simples telles que <code>apachectl start</code> ou
+    <code>apachectl stop</code>.</p>
+
+    <p>Si tout ce passe correctement durant l'initialisation, le
+    serveur se d&eacute;tache du terminal et l'invite de commande
+    r&eacute;appara&icirc;t presque imm&eacute;diatement. Ceci
+    indique que le serveur est actif et s'ex&eacute;cute. Vous
+    pouvez utiliser un navigateur pour vous connecter au serveur et
+    voir la page de test situ&eacute;e dans le r&eacute;pertoire <a
+    href="mod/core.html#documentroot">DocumentRoot</a> ainsi qu'une
+    copie locale de la documentation &agrave; partir d'un lien de
+    cette page.</p>
+
+    <h3><a id="errors" name="errors">Erreurs durant
+    l'initialisation</a></h3>
+
+    <p>Si Apache rencontre un probl&egrave;me fatal durant
+    l'initialisation, il &eacute;crira, avant de se terminer, un
+    message d&eacute;crivant le probl&egrave;me, soit sur la
+    console, soit dans le fichier <a
+    href="mod/core.html#errorlog">ErrorLog</a>. Un des messages les
+    plus courants est "<code>Unable to bind to Port ...</code>". Ce
+    message est g&eacute;n&eacute;ralement d&ucirc; &agrave;</p>
+
+    <ul>
+      <li>une tentative de lancer le serveur sur un port
+      privil&eacute;gi&eacute; alors que vous n'&ecirc;tes pas
+      connect&eacute; comme utilisateur root, ou &agrave;</li>
+
+      <li>une tentative de lancer le serveur alors qu'une autre
+      instance d'Apache ou d'un autre serveur web est
+      d&eacute;j&agrave; connect&eacute;e &agrave; ce port.</li>
+    </ul>
+
+    <p>Pour plus d'informations sur la correction des
+    probl&egrave;mes, consultez la <a href="misc/FAQ.html">FAQ</a>
+    d'Apache.</p>
+
+    <h3><a id="boot" name="boot">D&eacute;marrage &agrave;
+    l'initialisation du syst&egrave;me</a></h3>
+
+    <p>Si vous souhaitez que votre serveur continue &agrave;
+    s'ex&eacute;cuter apr&egrave;s une relance du syst&egrave;me,
+    vous devez ajouter un appel &agrave; <code>httpd</code> ou
+    <code>apachectl</code> dans votre fichier de lancement du
+    syst&egrave;me (g&eacute;n&eacute;ralement
+    <code>rc.local</code> ou un fichier dans un r&eacute;pertoire
+    <code>rc.N</code>). Ceci lancera Apache sous l'utilisateur
+    root. Avant de le faire, v&eacute;rifiez que votre serveur est
+    correctement configur&eacute; en termes de
+    s&eacute;curit&eacute; et de restrictions d'acc&egrave;s. Le
+    script <code>apachectl</code> est con&ccedil;u de
+    mani&egrave;re &agrave; ce qu'il soit directement li&eacute;
+    comme script d'initialisation, mais assurez vous qu'il
+    correspond aux besoins pr&eacute;cis de votre
+    syst&egrave;me.</p>
+
+    <h3><a id="info" name="info">Informations
+    compl&eacute;mentaires</a></h3>
+
+    <p>Des informations compl&eacute;mentaires sur les options en
+    ligne de commande d'<a href="programs/httpd.html">httpd</a> et
+    d'<a href="programs/apachectl.html">apachectl</a> ainsi que des
+    autres programmes d'assistance inclus avec le serveur, sont
+    disponibles &agrave; la page <a href="programs/">Serveur et
+    programmes d'assistance</a>. Il existe &eacute;galement une
+    documentation de tous les <a href="mod/">modules</a> inclus
+    dans la distribution Apache ainsi que les <a
+    href="mod/directives.html">directives</a> qu'ils
+    fournissent.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/invoking.html.html b/htdocs/manual/invoking.html.html
new file mode 100644 (file)
index 0000000..2817fc9
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="invoking.html.en" -->
+
diff --git a/htdocs/manual/invoking.html.ja.jis b/htdocs/manual/invoking.html.ja.jis
new file mode 100644 (file)
index 0000000..fbb79fb
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B$N3+;O\e(B</title>
+
+  </head>
+  <!-- English Revision: 1.2 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B$N3+;O\e(B</h1>
+
+    <ul>
+      <li><a href="#windows">Apache \e$B$r\e(B Windows \e$B$G3+;O$9$k\e(B</a></li>
+
+      <li>
+        <a href="#unix">Apache \e$B$r\e(B Unix \e$B$G3+;O$9$k\e(B</a>
+
+        <ul>
+          <li><a href="#errors">\e$B3+;O;~$N%(%i!<\e(B</a></li>
+
+          <li><a href="#boot">\e$B%V!<%H;~$N3+;O\e(B</a></li>
+
+          <li><a href="#info">\e$BDI2C$N>pJs\e(B</a></li>
+        </ul>
+      </li>
+    </ul>
+    <hr />
+
+    <h2><a id="windows" name="windows">Apache \e$B$r\e(B
+    Windows \e$B$G3+;O$9$k\e(B</a></h2>
+
+    <p>Windows \e$B>e$G$O!"\e(BApache \e$B$ODL>o!"\e(B Windows NT, 2000, XP
+    \e$B$G$O%5!<%S%9$H$7$F!"\e(BWindows 95, ME 
+    \e$B$G$O%3%s%=!<%k%"%W%j%1!<%7%g%s$H$7$F<B9T$5$l$^$9!#$3$N$3$H$O!"\e(B
+    Cygwin \e$B%W%i%C%H%U%)!<%`$K$D$$$F$O40A4$K$O$"$F$O$^$j$^$;$s!#\e(B
+    \e$B>\:Y$O\e(B <a href="windows.html#run">Windows \e$BMQ$N\e(B Apache \e$B$r<B9T$9$k\e(B</a>
+    \e$B$r8+$F$/$@$5$$!#\e(B</p>
+
+    <h2><a id="unix" name="unix">Apache \e$B$r\e(B Unix \e$B$G3+;O$9$k\e(B</a></h2>
+
+    <p>Unix \e$B$G$O\e(B <a href="programs/httpd.html">httpd</a>
+    \e$B%W%m%0%i%`$O%P%C%/%0%i%&%s%I$G7QB3E*$KF0:n$7$F%j%/%(%9%H$r=hM}$9$k\e(B
+    \e$B%G!<%b%s$H$7$F<B9T$5$l$^$9!#\e(BApache \e$B$O\e(B <a
+    href="mod/core.html#servertype">ServerType</a>
+    \e$B%G%#%l%/%F%#%V$K$h$C$F\e(BHTTP \e$B%5!<%S%9$X$N@\B3$N$?$S$K\e(B
+    \e$B%$%s%?!<%M%C%H%G!<%b%s\e(B <code>inetd</code> \e$B$+$i5/F0$9$k;v$b\e(B
+    \e$B2DG=$G$9$,$3$l$O?d>)$5$l$^$;$s!#\e(B</p>
+
+    <p>\e$B$b$7@_Dj%U%!%$%k$G;XDj$7$?\e(B<a href="mod/core.html#port">\e$B%]!<%H\e(B</a>\e$B$,\e(B
+    \e$B%G%U%)%k%H$N\e(B 80 (\e$B$b$7$/$O\e(B 1024 \e$BL$K~$N%]!<%H$N$I$l$+\e(B) \e$B$G$"$k$J$i!"\e(B
+    \e$B$3$NFC8"%]!<%H$K%P%$%s%I$G$-$k$h$&$K!"\e(BApache \e$B$N5/F0$K$O\e(B root
+    \e$B8"8B$,I,MW$G$9!#%5!<%P$,!"%m%0%U%!%$%k$r3+$/$J$I$$$/$D$+=`Hw$NF0:n$r=*$($k$H!"\e(B
+    \e$BBT$A<u$1$F%/%i%$%"%s%H$N%j%/%(%9%H$K1~Ez$9$k\e(B<em>\e$B;R\e(B</em>\e$B%W%m%;%9$r$$$/$D$+\e(B
+    \e$B%9%?!<%H$7$^$9!#%a%$%s$N\e(B <code>httpd</code> \e$B%W%m%;%9$O\e(B root
+    \e$B%f!<%6$H$7$FF0$-B3$1$^$9$,!";R%W%m%;%9$O$h$jDc$$8"8B$N%f!<%6$H$7$FF0$-$^$9!#\e(B
+    \e$B$3$l$O\e(B Apache \e$B$N\e(B<a
+    href="server-wide.html#process">\e$B%W%m%;%9@8@.%G%#%l%/%F%#%V\e(B</a>
+    \e$B$K$h$j@)8f$5$l$^$9!#\e(B</p>
+
+    <p><code>httpd</code> \e$B$N5/F0;~$K:G=i$K$9$k$3$H$O\e(B<a
+    href="configuring.html">\e$B@_Dj%U%!%$%k\e(B</a> <code>httpd.conf</code>
+    \e$B$r8+$D$1$FFI$_9~$`$3$H$G$9!#$3$N%U%!%$%k$N0LCV$O%3%s%Q%$%k;~$K@_Dj$5$l$^$9$,!"\e(B
+    \e$B%3%^%s%I%i%$%s%*%W%7%g%s\e(B <code>-f</code> \e$B$r;H$C$F<B9T;~$K\e(B
+    \e$B$=$N0LCV$r;XDj$9$k$3$H$,2DG=$G$9!#\e(B</p>
+
+    <blockquote>
+      <code>/usr/local/apache/bin/httpd -f
+      /usr/local/apache/conf/httpd.conf</code>
+    </blockquote>
+
+    <p><code>httpd</code> \e$B%P%$%J%j$rD>@\5/F0$9$kBe$o$j$K\e(B <a
+    href="programs/apachectl.html">apachectl</a>
+    \e$B$H8F$P$l$k%7%'%k%9%/%j%W%H$r;H$&$3$H$b=PMh$^$9!#$3$l$K$h$j%G!<%b%s%W%m%;%9$r\e(B
+    <code>apachectl start</code> \e$B$d\e(B <code>apachectl stop</code>
+    \e$B$J$I$N4JC1$J%3%^%s%I$K$h$C$F@)8f$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B3+;O$NCJ3,$,$9$Y$F$&$^$/9T$1$P!"%5!<%P$O%?!<%_%J%k$r@Z$jN%$7!"\e(B
+    \e$B%3%^%s%I%W%m%s%W%H$,$[$\0l=V$GLa$C$FMh$^$9!#$3$l$O!"\e(B
+    \e$B%5!<%P$,F0:n$7$F$$$k$3$H$r<($7$F$$$^$9!#$=$N8e$G!"%V%i%&%6$r;HMQ$7$F\e(B
+    \e$B%5!<%P$K@\B3$7!"\e(B<a href="mod/core.html#documentroot">DocumentRoot</a>
+    \e$B%G%#%l%/%H%j$N%F%9%H%Z!<%8$d$=$N%Z!<%8$+$i%j%s%/$5$l$?J8=q$N\e(B
+    \e$B%m!<%+%k%3%T!<$r8+$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <h3><a id="errors" name="errors">\e$B3+;O;~$N%(%i!<\e(B</a></h3>
+
+    <p>\e$B$b$7\e(B Apache \e$B$,3+;O;~$KCWL?E*$JLdBj$KAx$&$H!"\e(B
+    \e$B=*N;$9$kA0$KLdBj$r@bL@$9$k%a%C%;!<%8$r%3%s%=!<%k$^$?$O\e(B
+    <a href="mod/core.html#errorlog">ErrorLog</a> \e$B$K=q$-$@$7$^$9!#\e(B
+    \e$B:G$b$h$/$"$k%(%i!<%a%C%;!<%8$N0l$D$O\e(B
+    &quot;<code>Unable to bind to Port ...</code>&quot;
+    \e$B$G$9!#$3$N%a%C%;!<%8$ODL>o$3$l$i$N860x$,$"$j$^$9\e(B:</p>
+
+    <ul>
+      <li>root \e$B%f!<%6$H$7$F%m%0%$%s$7$F$$$J$$;~$KFC8"%]!<%H$G\e(B
+      \e$B%5!<%P$r;O$a$h$&$H$7$?\e(B;</li>
+
+      <li>\e$BB>$N\e(B Apache \e$B$^$?$OB>$N%&%'%V%5!<%P$,4{$KF1$8%]!<%H$K\e(B
+      \e$B%P%$%s%I$7$F$$$k;~$K%5!<%P$r;O$a$h$&$H$7$?!#\e(B</li>
+    </ul>
+
+    <p>\e$B%H%i%V%k%7%e!<%F%#%s%0$N<j=g$O!"\e(BApache
+    <a href="misc/FAQ.html">FAQ</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <h3><a id="boot" name="boot">\e$B%V!<%H;~$N5/F0\e(B</a></h3>
+
+    <p>\e$B%7%9%F%`$N%j%V!<%H8e$K$b%5!<%P$r<B9T$7B3$1$5$;$?$$>l9g$O!"\e(B
+    <code>httpd</code> \e$B$^$?$O\e(B <code>apachectl</code>
+    \e$B$N8F$S=P$7$r%7%9%F%`$N%9%?!<%H%"%C%W%U%!%$%k\e(B(\e$BI8=`$G$O\e(B
+    <code>rc.local</code> \e$B$^$?$O!"\e(B<code>rc.N</code>
+    \e$B%G%#%l%/%H%j$N%U%!%$%k\e(B)\e$B$KDI2C$7$F2<$5$$!#$3$l$O\e(B root \e$B$G\e(B Apache
+    \e$B$r3+;O$7$^$9!#$3$N@_Dj$r$9$kA0$K%;%-%e%j%F%#$d%"%/%;%9@)8B$,\e(B
+    \e$B%5!<%P$KBP$7$FE,@Z$K@_Dj$5$l$k$h$&$K$7$F$/$@$5$$!#\e(B
+    <code>apachectl</code> \e$B%9%/%j%W%H$O\e(B init
+    \e$B%9%/%j%W%H$H$7$FD>@\%j%s%/$G$-$k$h$&$K@_7W$5$l$F$$$^$9$,!"\e(B
+    \e$B%7%9%F%`$N@53N$J;EMM$rGD0.$7$F$+$i;HMQ$7$F$/$@$5$$!#\e(B</p>
+
+    <h3><a id="info" name="info">\e$BDI2C$N>pJs\e(B</a></h3>
+
+    <p>\e$B%5!<%P$K4^$^$l$F$$$kB>$N%5%]!<%H%W%m%0%i%`$HF1MM$K\e(B
+    <a href="programs/httpd.html">httpd</a> \e$B$H\e(B
+    <a href="programs/apachectl.html">apachectl</a>
+    \e$B$N%3%^%s%I%i%$%s%*%W%7%g%s$K$D$$$F$NDI2C$N>pJs$O!"\e(B
+    <a href="programs/">\e$B%5!<%P$H%5%]!<%H%W%m%0%i%`\e(B</a>
+    \e$B%Z!<%8$GF~<j2DG=$G$9!#\e(BApache \e$BG[I[$K4^$^$l$F$$$k$9$Y$F$N\e(B
+    <a href="mod/">\e$B%b%8%e!<%k\e(B</a> \e$B$d$=$l$K$h$jDs6!$5$l$k\e(B
+    <a href="mod/directives.html">\e$B%G%#%l%/%F%#%V\e(B</a>
+    \e$B$NJ8=q$b$"$j$^$9!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/keepalive.html.en b/htdocs/manual/keepalive.html.en
new file mode 100644 (file)
index 0000000..3f8ec14
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Keep-Alive Support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Keep-Alive Support</h1>
+    <hr />
+
+    <h2>What is Keep-Alive?</h2>
+    The Keep-Alive extension to HTTP, as defined by the
+    <code>HTTP/1.1</code> draft, allows persistent connections.
+    These long-lived HTTP sessions allow multiple requests to be
+    send over the same TCP connection, and in some cases have been
+    shown to result in an almost 50% speedup in latency times for
+    HTML documents with lots of images. 
+
+    <h2>Enabling Keep-Alive Support</h2>
+    Apache 1.1 comes with Keep-Alive support on by default, however
+    there are some directives you can use to modify Apache's
+    behavior: 
+
+    <p><strong>Note</strong>: Apache 1.2 uses a different syntax
+    for the <a href="mod/core.html#keepalive">KeepAlive</a>
+    directive.</p>
+
+    <h3>KeepAlive</h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> KeepAlive
+    <em>max-requests</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>KeepAlive
+    5</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core 
+
+    <p>This directive enables Keep-Alive support. Set
+    <em>max-requests</em> to the maximum number of requests you
+    want Apache to entertain per connection. A limit is imposed to
+    prevent a client from hogging your server resources. Set this
+    to <code>0</code> to disable support.</p>
+
+    <h3>KeepAliveTimeout</h3>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout
+    <em>seconds</em><br />
+     <a href="mod/directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>KeepAliveTimeout
+    15</code><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core 
+
+    <p>The number of seconds Apache will wait for a subsequent
+    request before closing the connection. Once a request has been
+    received, the timeout value specified by the <a
+    href="mod/core.html#timeout"><code>Timeout</code></a> directive
+    applies.</p>
+
+    <h2>When Keep-Alive Is Used</h2>
+    In order for Keep-Alive support to be used, first the browser
+    must support it. Many current browsers, including Netscape
+    Navigator 2.0, and Spyglass Mosaic-based browsers (including
+    Microsoft Internet Explorer) do. Note, however, that some
+    Windows 95-based browsers misbehave with Keep-Alive-supporting
+    servers; they may occasionally hang on a connect. This has been
+    observed with several Windows browsers, and occurs when
+    connecting to any Keep-Alive server, not just Apache. Netscape
+    3.0b5 and later versions are known to work around this problem.
+    
+
+    <p>However, Keep-Alive support only is active with files where
+    the length is known beforehand. This means that most CGI
+    scripts, server-side included files and directory listings will
+    not use the Keep-Alive protocol. While this should be
+    completely transparent to the end user, it is something the
+    web-master may want to keep in mind.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/keepalive.html.html b/htdocs/manual/keepalive.html.html
new file mode 100644 (file)
index 0000000..4a89f0d
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="keepalive.html.en" -->
+
diff --git a/htdocs/manual/keepalive.html.ja.jis b/htdocs/manual/keepalive.html.ja.jis
new file mode 100644 (file)
index 0000000..c1b8c42
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B$N\e(B keep-alive \e$B%5%]!<%H\e(B</title>
+    <!-- English revision:1.12 -->
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B$G%5%]!<%H$9$k\e(B keep-alive</h1>
+    <hr />
+
+    <h2>keep-alive \e$B$H$O\e(B</h2>
+    <code>HTTP/1.1</code> \e$B%I%i%U%H$KDj5A$5$l$F$$$k$h$&$K!"\e(BHTTP
+    \e$B$N3HD%5!G=$G$"$k\e(B keep-alive \e$B$K$h$C$F;}B3E*$J%3%M%/%7%g%s$,2DG=$K$J$j$^$9!#\e(B
+    \e$B$3$l$i$N;}B3E*$J\e(B HTTP \e$B%;%C%7%g%s$N$*$+$2$G!"J#?t$N%j%/%(%9%H$rF10l$N\e(B
+    TCP \e$B%3%M%/%7%g%s$r7PM3$7$FAw?.$9$k$3$H$,2DG=$H$J$j$^$9!#\e(B
+    \e$BB??t$N%$%a!<%8$rE=$jIU$1$F$"$k\e(B HTML \e$B%I%-%e%a%s%H$rAw?.$9$k$H$-$K!"\e(B
+    \e$B>l9g$K$h$C$F$O!"BT$A;~4V$,$[$\\e(B 50% \e$B$H$J$k$[$IB.$/$J$k$3$H$,<($5$l$F$$$^$9!#\e(B
+
+    <h2>Keep-Alive \e$B$N%5%]!<%H$rM-8z$K$9$k\e(B</h2>
+    Apache 1.1 \e$B$G$O%G%U%)%k%H$G\e(B keep-alive \e$B$N%5%]!<%H$OM-8z$K$J$C$F$$$^$9!#\e(B
+    \e$B$3$l$@$1$G$O$J$/!"\e(BApache \e$B$NF0:n$rJQ99$G$-$k%G%#%l%/%F%#%V$,\e(B
+    \e$B0J2<$N$h$&$K$$$/$D$+$"$j$^$9!#\e(B
+
+    <p><strong>\e$BCm0U\e(B</strong>: Apache 1.2 \e$B$G$O\e(B <a
+    href="mod/core.html#keepalive">KeepAlive</a>
+    \e$B%G%#%l%/%F%#%V$N9=J8$O0[$J$j$^$9!#\e(B</p>
+
+    <h3>KeepAlive</h3>
+    <a href="mod/directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> KeepAlive
+    <em>max-requests</em><br />
+     <a href="mod/directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>KeepAlive
+    5</code><br />
+     <a href="mod/directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="mod/directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$G\e(B keep-alive \e$B$N%5%]!<%H$rM-8z$K$7$^$9!#\e(B
+    <em>max-requests</em> \e$B$K$D$$$F$O\e(B Apache \e$B$K<u$1F~$l$5$;$?$$\e(B
+    1 \e$B%3%M%/%7%g%sEv$?$j$N%j%/%(%9%H$N:GBg?t$r@_Dj$7$F$/$@$5$$!#\e(B
+    \e$B@)8B$r@_$1$F%/%i%$%"%s%H$K%5!<%P$N;q8;$rO2Hq$5$;$J$$$h$&$K$7$^$9!#\e(B
+    \e$B%5%]!<%H$rL58z$K$9$k$K$O$3$N9`L\$K\e(B <code>0</code> \e$B$r@_Dj$7$F$/$@$5$$!#\e(B</p>
+
+    <h3>KeepAliveTimeout</h3>
+    <a href="mod/directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> KeepAliveTimeout
+    <em>seconds</em><br />
+     <a href="mod/directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>KeepAliveTimeout
+    15</code><br />
+     <a href="mod/directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="mod/directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core
+
+    <p>Apache \e$B$K8eB3$N%j%/%(%9%H$,E~Ce$9$k$N$r\e(B <em>seconds</em>
+    \e$BIC$@$1BT$?$;$?8e!"\e(B(\e$B%j%/%(%9%H$,E~Ce$7$J$$>l9g$K$O\e(B)
+    \e$B%3%M%/%7%g%s$r%/%m!<%:$7$^$9!#%j%/%(%9%H$r<u?.$7$?>l9g$K$O!"\e(B
+    <a href="mod/core.html#timeout"><code>Timeout</code></a>
+    \e$B%G%#%l%/%F%#%V$G;XDj$7$?\e(B timeout \e$BCM$rE,MQ$7$^$9!#\e(B</p>
+
+    <h2>keep-alive \e$B$,;HMQ$5$l$k>l9g\e(B</h2>
+    keep-alive \e$B%5%]!<%H$r;HMQ$9$k$K$O!"$^$:!"%V%i%&%6$,\e(B keep-alive \e$B$r%5%]!<%H\e(B
+    \e$B$7$F$$$J$1$l$P$J$j$^$;$s!#8=:_$NB?$/$N%V%i%&%6!"Nc$($P\e(B Netscape Navigator
+    2.0 \e$B$d\e(B (Microsoft Internet Explorer \e$B$J$I$N\e(B) Spyglass Mosaic
+    \e$B$K4p$E$/%V%i%&%6$O$3$N5!G=$r%5%]!<%H$7$F$$$^$9!#$7$+$7!"\e(BWindows 95
+    \e$B%Y!<%9$N$$$/$D$+$N%V%i%&%6$O!"\e(Bkeep-alive \e$B$r%5%]!<%H$7$F$$$k%5!<%P$K\e(B
+    \e$BBP$7$F8mF0:n$9$k$3$H$KCm0U$7$F$/$@$5$$!#$3$l$i$N%V%i%&%6$O%3%M%/%H\e(B
+    \e$B;~$K%O%s%0$9$k$3$H$,$"$j$^$9!#$3$N8mF0:n$O$$$/$D$+$N\e(B Windows
+    \e$B$N%V%i%&%6$K8+$i$l!"\e(BApache \e$B$@$1$G$O$J$/\e(B keep-alive \e$B$r%5%]!<%H$9$k\e(B
+    \e$B$9$Y$F$N%5!<%P$H%3%M%/%H$9$k$H$-$KH/@8$7$^$9!#\e(BNetscape 3.0b5
+    \e$B0J9_$N%P!<%8%g%s$K$D$$$F$O$3$NLdBj$X$NBP=h$,$J$5$l$F$$$^$9!#\e(B
+
+    <p>\e$B$?$@$7!"\e(B keep-alive \e$B%5%]!<%H$,M-8z$K$J$k$N$O!"\e(B
+    \e$B$"$i$+$8$aD9$5$,H=L@$7$F$$$k%U%!%$%k$KBP$7$F$N$_$G$9!#\e(B
+    \e$B$=$N$?$a!"BgItJ,$N\e(B CGI \e$B%9%/%j%W%H!"%5!<%P%5%$%I%$%s%/%k!<%I%U%!%$%k!"\e(B
+    \e$B%G%#%l%/%H%j%j%9%H$G$O!"\e(Bkeep-alive \e$B%W%m%H%3%k$r;HMQ$7$J$$$3$H$K$J$j$^$9!#\e(B
+    \e$B$3$l$O%(%s%I%f!<%6$K$O40A4$KF)2aE*$K$J$C$F$$$k$Y$-$b$N$G$9$,!"\e(B
+    \e$B%&%'%V%^%9%?$OCN$C$F$*$$$?J}$,NI$$$3$H$G$7$g$&!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/location.html.en b/htdocs/manual/location.html.en
new file mode 100644 (file)
index 0000000..beb55a4
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Access Control by URL</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Access Control by URL</h1>
+
+    <h2><a id="location" name="location">The
+    <code>&lt;Location&gt;</code> Directive</a></h2>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;Location <em>URL
+    prefix</em>&gt;<br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     
+
+    <p>The &lt;Location&gt; directive provides for access control
+    by URL. It is comparable to the <a
+    href="mod/core.html#directory">&lt;Directory&gt;</a> directive,
+    and should be matched with a &lt;/Location&gt; directive.
+    Directives that apply to the URL given should be listed between
+    them. <code>&lt;Location&gt;</code> sections are processed in
+    the order they appear in the configuration file, after the
+    &lt;Directory&gt; sections and <code>.htaccess</code> files are
+    read.</p>
+
+    <p>Note that, due to the way HTTP functions, <em>URL
+    prefix</em> should, save for proxy requests, be of the form
+    <code>/path/</code>, and should not include the
+    <code>http://servername</code>. It doesn't necessarily have to
+    protect a directory (it can be an individual file, or a number
+    of files), and can include wild-cards. In a wild-card string,
+    `?' matches any single character, and `*' matches any sequences
+    of characters.</p>
+
+    <p>This functionality is especially useful when combined with
+    the <code><a
+    href="mod/mod_mime.html#sethandler">SetHandler</a></code>
+    directive. For example, to enable status requests, but allow
+    them only from browsers at foo.com, you might use:</p>
+<pre>
+    &lt;Location /status&gt;
+    SetHandler server-status
+    Order Deny,Allow
+    Deny from all
+    Allow from .foo.com
+    &lt;/Location&gt;
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/location.html.html b/htdocs/manual/location.html.html
new file mode 100644 (file)
index 0000000..4267dff
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="location.html.en" -->
+
diff --git a/htdocs/manual/location.html.ja.jis b/htdocs/manual/location.html.ja.jis
new file mode 100644 (file)
index 0000000..8d72958
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+    <title>URL \e$B$G$N%"%/%;%9@)8f\e(B</title>
+  </head>
+  <!-- English revision: 1.15 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">URL \e$B$G$N%"%/%;%9@)8f\e(B</h1>
+
+    <h2><a id="location" name="location">
+    <code>&lt;Location&gt;</code> \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;Location
+    <em>URL \e$B%W%l%U%#%/%9\e(B</em>&gt;<br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> \e$B%3%"\e(B<br />
+
+    <p>&lt;Location&gt; \e$B%G%#%l%/%F%#%V$O\e(B URL
+    \e$B$G$N%"%/%;%9@)8f$rDs6!$7$^$9!#$3$l$O\e(B<a
+    href="mod/core.html#directory">&lt;Directory&gt;</a>
+    \e$B%G%#%l%/%F%#%V$HI$E($7!"\e(B&lt;/Location&gt; \e$B$HJ;$;$F;H$$$^$9!#\e(B
+    \e$B;XDj$5$l$?\e(B URL
+    \e$B$KBP$7$FE,MQ$5$;$k%G%#%l%/%F%#%V$O!"$=$l$i$N4V$KNs5s$7$^$9!#\e(B
+    <code>&lt;Location&gt;</code> \e$B%;%/%7%g%s$O\e(B &lt;Directory&gt;
+    \e$B%;%/%7%g%s5Z$S\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$,FI$^$l$?8e!"@_Dj%U%!%$%k$K8=$l$?=g$K=hM}$5$l$^$9!#\e(B</p>
+
+    <p>HTTP \e$B$NF0:nJ}K!$N$?$a!"\e(B<em>URL
+    \e$B@\F,<-\e(B</em>\e$B$O!"%W%m%-%7%j%/%(%9%H$r=|$$$F!"\e(B<code>/path/</code> \e$B$H$$$&\e(B
+    \e$B7A<0$K$J$C$F$$$k$Y$-$G!"\e(B<code>http://servername</code> \e$B$r4^$a$F$$$O\e(B
+    \e$B$$$1$J$$$3$H$KCm0U$7$F$/$@$5$$!#$^$?!"I,$:$7$b%G%#%l%/%H%j\e(B
+    \e$B$rJ]8n$9$kI,MW$,$"$k$o$1$G$O$J$/\e(B (\e$B8D!9$N%U%!%$%k!"\e(B
+    \e$B$^$?$OB?$/$N%U%!%$%k$G$b9=$$$^$;$s\e(B)\e$B!"\e(B
+    \e$B%o%$%k%I%+!<%I$r4^$`$3$H$b$G$-$^$9!#%o%$%k%I%+!<%I$K$D$$$F$O!"\e(B
+    `?' \e$B$O2?$+0lJ8;z!"\e(B`*' \e$B$O$9$Y$F$NJ8;zNs$K%^%C%A$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$N5!G=$O!"\e(B<code><a
+    href="mod/mod_mime.html#sethandler">SetHandler</a></code>
+    \e$B%G%#%l%/%F%#%V$HAH$_9g$o$;$F;H$&$HFC$KM-1W$G$9!#\e(B
+    \e$BNc$($P!"%9%F!<%?%9MW5a$r2DG=$K$9$k$1$l$I$b!"\e(Bfoo.com
+    \e$B$+$iMh$?%V%i%&%6$@$1$K5v2D$r8BDj$7$?$$>l9g$O0J2<$r;H$&$3$H$,$G$-$^$9\e(B:</p>
+<pre>
+    &lt;Location /status&gt;
+    SetHandler server-status
+    Order Deny,Allow
+    Deny from all
+    Allow from .foo.com
+    &lt;/Location&gt;
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/logs.html b/htdocs/manual/logs.html
new file mode 100644 (file)
index 0000000..cd4ea09
--- /dev/null
@@ -0,0 +1,650 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Log Files - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Log Files</h1>
+
+    <p>In order to effectively manage a web server, it is necessary
+    to get feedback about the activity and performance of the
+    server as well as any problems that may be occuring. The Apache
+    HTTP Server provides very comprehensive and flexible logging
+    capabilities. This document describes how to configure its
+    logging capabilities, and how to understand what the logs
+    contain.</p>
+
+    <ul>
+      <li><a href="#security">Security Warning</a></li>
+
+      <li><a href="#errorlog">Error Log</a></li>
+
+      <li>
+        <a href="#accesslog">Access Log</a> 
+
+        <ul>
+          <li><a href="#common">Common Log Format</a></li>
+
+          <li><a href="#combined">Combined Log Format</a></li>
+
+          <li><a href="#multiple">Multiple Access Logs</a></li>
+
+          <li><a href="#conditional">Conditional Logging</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#rotation">Log Rotation</a></li>
+
+      <li><a href="#piped">Piped Logs</a></li>
+
+      <li><a href="#virtualhosts">Virtual Hosts</a></li>
+
+      <li>
+        <a href="#other">Other Log Files</a> 
+
+        <ul>
+          <li><a href="#pidfile">PID File</a></li>
+
+          <li><a href="#scriptlog">Script Log</a></li>
+
+          <li><a href="#rewritelog">Rewrite Log</a></li>
+        </ul>
+      </li>
+    </ul>
+    <hr />
+
+    <h2><a id="security" name="security">Security Warning</a></h2>
+
+    <p>Anyone who can write to the directory where Apache is
+    writing a log file can almost certainly gain access to the uid
+    that the server is started as, which is normally root. Do
+    <em>NOT</em> give people write access to the directory the logs
+    are stored in without being aware of the consequences; see the
+    <a href="misc/security_tips.html">security tips</a> document
+    for details.</p>
+
+    <p>In addition, log files may contain information supplied
+    directly by the client, without escaping. Therefore, it is
+    possible for malicious clients to insert control-characters in
+    the log files, so care must be taken in dealing with raw
+    logs.</p>
+    <hr />
+
+    <h2><a id="errorlog" name="errorlog">Error Log</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/core.html#errorlog">ErrorLog</a><br />
+         <a href="mod/core.html#loglevel">LogLevel</a> </td>
+      </tr>
+    </table>
+
+    <p>The server error log, whose name and location is set by the
+    <a href="mod/core.html#errorlog">ErrorLog</a> directive, is the
+    most important log file. This is the place where Apache httpd
+    will send diagnostic information and record any errors that it
+    encounters in processing requests. It is the first place to
+    look when a problem occurs with starting the server or with the
+    operation of the server, since it will often contain details of
+    what went wrong and how to fix it.</p>
+
+    <p>The error log is usually written to a file (typically
+    <code>error_log</code> on unix systems and
+    <code>error.log</code> on Windows and OS/2). On unix systems it
+    is also possible to have the server send errors to
+    <code>syslog</code> or <a href="#piped">pipe them to a
+    program</a>.</p>
+
+    <p>The format of the error log is relatively free-form and
+    descriptive. But there is certain information that is contained
+    in most error log entries. For example, here is a typical
+    message.</p>
+
+    <blockquote>
+      <code>[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1]
+      client denied by server configuration:
+      /export/home/live/ap/htdocs/test</code>
+    </blockquote>
+
+    <p>The first item in the log entry is the date and time of the
+    message. The second entry lists the severity of the error being
+    reported. The <a href="mod/core.html#loglevel">LogLevel</a>
+    directive is used to control the types of errors that are sent
+    to the error log by restricting the severity level. The third
+    entry gives the IP address of the client that generated the
+    error. Beyond that is the message itself, which in this case
+    indicates that the server has been configured to deny the
+    client access. The server reports the file-system path (as
+    opposed to the web path) of the requested document.</p>
+
+    <p>A very wide variety of different messages can appear in the
+    error log. Most look similar to the example above. The error
+    log will also contain debugging output from CGI scripts. Any
+    information written to <code>stderr</code> by a CGI script will
+    be copied directly to the error log.</p>
+
+    <p>It is not possible to customize the error log by adding or
+    removing information. However, error log entries dealing with
+    particular requests have corresponding entries in the <a
+    href="#accesslog">access log</a>. For example, the above example
+    entry corresponds to an access log entry with status code 403.
+    Since it is possible to customize the access log, you can
+    obtain more information about error conditions using that log
+    file.</p>
+
+    <p>During testing, it is often useful to continuously monitor
+    the error log for any problems. On unix systems, you can
+    accomplish this using:</p>
+
+    <blockquote>
+      <code>tail -f error_log</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="accesslog" name="accesslog">Access Log</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_log_config.html">mod_log_config</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+         <a
+        href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+         <a href="mod/mod_setenvif.html#setenvif">SetEnvIf</a>
+        </td>
+      </tr>
+    </table>
+
+    <p>The server access log records all requests processed by the
+    server. The location and content of the access log are
+    controlled by the <a
+    href="mod/mod_log_config.html#customlog">CustomLog</a>
+    directive. The <a
+    href="mod/mod_log_config.html#logformat">LogFormat</a>
+    directive can be used to simplify the selection of the contents
+    of the logs. This section describes how to configure the server
+    to record information in the access log.</p>
+
+    <p>Of course, storing the information in the access log is only
+    the start of log management. The next step is to analyze this
+    information to produce useful statistics. Log analysis in
+    general is beyond the scope of this document, and not really
+    part of the job of the web server itself. For more information
+    about this topic, and for applications which perform log
+    analysis, check the <a
+    href="http://dmoz.org/Computers/Software/Internet/Site_Management/Log_Analysis/">
+    Open Directory</a> or <a
+    href="http://dir.yahoo.com/Computers_and_Internet/Software/Internet/World_Wide_Web/Servers/Log_Analysis_Tools/">
+    Yahoo</a>.</p>
+
+    <p>Various versions of Apache httpd have used other modules and
+    directives to control access logging, including
+    mod_log_referer, mod_log_agent, and the
+    <code>TransferLog</code> directive. The <code>CustomLog</code>
+    directive now subsumes the functionality of all the older
+    directives.</p>
+
+    <p>The format of the access log is highly configurable. The
+    format is specified using a <a
+    href="mod/mod_log_config.html#formats">format string</a> that
+    looks much like a C-style printf(1) format string. Some
+    examples are presented in the next sections. For a complete
+    list of the possible contents of the format string, see the <a
+    href="mod/mod_log_config.html">mod_log_config
+    documentation</a>.</p>
+
+    <h3><a id="common" name="common">Common Log Format</a></h3>
+
+    <p>A typical configuration for the access log might look as
+    follows.</p>
+
+    <blockquote>
+      <code>LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<br />
+       CustomLog logs/access_log common</code>
+    </blockquote>
+
+    <p>This defines the <em>nickname</em> <code>common</code> and
+    associates it with a particular log format string. The format
+    string consists of percent directives, each of which tell the
+    server to log a particular piece of information. Literal
+    characters may also be placed in the format string and will be
+    copied directly into the log output. The quote character
+    (<code>"</code>) must be escaped by placing a back-slash before
+    it to prevent it from being interpreted as the end of the
+    format string. The format string may also contain the special
+    control characters "<code>\n</code>" for new-line and
+    "<code>\t</code>" for tab.</p>
+
+    <p>The <code>CustomLog</code> directive sets up a new log file
+    using the defined <em>nickname</em>. The filename for the
+    access log is relative to the <a
+    href="mod/core.html#serverroot">ServerRoot</a> unless it begins
+    with a slash.</p>
+
+    <p>The above configuration will write log entries in a format
+    known as the Common Log Format (CLF). This standard format can
+    be produced by many different web servers and read by many log
+    analysis programs. The log file entries produced in CLF will
+    look something like this:</p>
+
+    <blockquote>
+      <code>127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
+      /apache_pb.gif HTTP/1.0" 200 2326</code>
+    </blockquote>
+
+    <p>Each part of this log entry is described below.</p>
+
+    <dl>
+      <dt><code>127.0.0.1</code> (<code>%h</code>)</dt>
+
+      <dd>This is the IP address of the client (remote host) which
+      made the request to the server. If <a
+      href="mod/core.html#hostnamelookups">HostnameLookups</a> is
+      set to <code>On</code>, then the server will try to determine
+      the hostname and log it in place of the IP address. However,
+      this configuration is not recommended since it can
+      significantly slow the server. Instead, it is best to use a
+      log post-processor such as <a
+      href="programs/logresolve.html">logresolve</a> to determine
+      the hostnames. The IP address reported here is not
+      necessarily the address of the machine at which the user is
+      sitting. If a proxy server exists between the user and the
+      server, this address will be the address of the proxy, rather
+      than the originating machine.</dd>
+
+      <dt><code>-</code> (<code>%l</code>)</dt>
+
+      <dd>The "hyphen" in the output indicates that the requested
+      piece of information is not available. In this case, the
+      information that is not available is the RFC 1413 identity of
+      the client determined by <code>identd</code> on the clients
+      machine. This information is highly unreliable and should
+      almost never be used except on tightly controlled internal
+      networks. Apache httpd will not even attempt to determine
+      this information unless <a
+      href="mod/core.html#identitycheck">IdentityCheck</a> is set
+      to <code>On</code>.</dd>
+
+      <dt><code>frank</code> (<code>%u</code>)</dt>
+
+      <dd>This is the userid of the person requesting the document
+      as determined by HTTP authentication. The same value is
+      typically provided to CGI scripts in the
+      <code>REMOTE_USER</code> environment variable. If the status
+      code for the request (see below) is 401, then this value
+      should not be trusted because the user is not yet
+      authenticated. If the document is not password protected,
+      this entry will be "<code>-</code>" just like the previous
+      one.</dd>
+
+      <dt><code>[10/Oct/2000:13:55:36 -0700]</code>
+      (<code>%t</code>)</dt>
+
+      <dd>
+        The time that the server finished processing the request.
+        The format is: 
+
+        <blockquote>
+          <code>[day/month/year:hour:minute:second zone]<br />
+           day = 2*digit<br />
+           month = 3*letter<br />
+           year = 4*digit<br />
+           hour = 2*digit<br />
+           minute = 2*digit<br />
+           second = 2*digit<br />
+           zone = (`+' | `-') 4*digit</code>
+        </blockquote>
+        It is possible to have the time displayed in another format
+        by specifying <code>%{format}t</code> in the log format
+        string, where <code>format</code> is as in
+        <code>strftime(3)</code> from the C standard library.
+      </dd>
+
+      <dt><code>"GET /apache_pb.gif HTTP/1.0"</code>
+      (<code>\"%r\"</code>)</dt>
+
+      <dd>The request line from the client is given in double
+      quotes. The request line contains a great deal of useful
+      information. First, the method used by the client is
+      <code>GET</code>. Second, the client requested the resource
+      <code>/apache_pb.gif</code>, and third, the client used the
+      protocol <code>HTTP/1.0</code>. It is also possible to log
+      one or more parts of the request line independently. For
+      example, the format string "<code>%m %U%q %H</code>" will log
+      the method, path, query-string, and protocol, resulting in
+      exactly the same output as "<code>%r</code>".</dd>
+
+      <dt><code>200</code> (<code>%&gt;s</code>)</dt>
+
+      <dd>This is the status code that the server sends back to the
+      client. This information is very valuable, because it reveals
+      whether the request resulted in a successful response (codes
+      beginning in 2), a redirection (codes beginning in 3), an
+      error caused by the client (codes beginning in 4), or an
+      error in the server (codes beginning in 5). The full list of
+      possible status codes can be found in the <a
+      href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP
+      specification</a> (RFC2616 section 10).</dd>
+
+      <dt><code>2326</code> (<code>%b</code>)</dt>
+
+      <dd>The last entry indicates the size of the object returned
+      to the client, not including the response headers. If no
+      content was returned to the client, this value will be
+      "<code>-</code>". To log "<code>0</code>" for no content, use
+      <code>%B</code> instead.</dd>
+    </dl>
+
+    <h4><a id="combined" name="combined">Combined Log
+    Format</a></h4>
+
+    <p>Another commonly used format string is called the Combined
+    Log Format. It can be used as follows.</p>
+
+    <blockquote>
+      <code>LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\"
+      \"%{User-agent}i\"" combined<br />
+       CustomLog log/acces_log combined</code>
+    </blockquote>
+
+    <p>This format is exactly the same as the Common Log Format,
+    with the addition of two more fields. Each of the additional
+    fields uses the percent-directive
+    <code>%{<em>header</em>}i</code>, where <em>header</em> can be
+    any HTTP request header. The access log under this format will
+    look like:</p>
+
+    <blockquote>
+      <code>127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
+      /apache_pb.gif HTTP/1.0" 200 2326
+      "http://www.example.com/start.html" "Mozilla/4.08 [en]
+      (Win98; I ;Nav)"</code>
+    </blockquote>
+
+    <p>The additional fields are:</p>
+
+    <dl>
+      <dt><code>"http://www.example.com/start.html"</code>
+      (<code>\"%{Referer}i\"</code>)</dt>
+
+      <dd>The "Referer" (sic) HTTP request header. This gives the
+      site that the client reports having been referred from. (This
+      should be the page that links to or includes
+      <code>/apache_pb.gif</code>).</dd>
+
+      <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code>
+      (<code>\"%{User-agent}i\"</code>)</dt>
+
+      <dd>The User-Agent HTTP request header. This is the
+      identifying information that the client browser reports about
+      itself.</dd>
+    </dl>
+
+    <h3><a id="multiple" name="multiple">Multiple Access
+    Logs</a></h3>
+
+    <p>Multiple access logs can be created simply by specifying
+    multiple <code>CustomLog</code> directives in the configuration
+    file. For example, the following directives will create three
+    access logs. The first contains the basic CLF information,
+    while the second and third contain referer and browser
+    information. The last two <code>CustomLog</code> lines show how
+    to mimic the effects of the <code>ReferLog</code> and
+    <code>AgentLog</code> directives.</p>
+
+    <blockquote>
+      <code>LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<br />
+       CustomLog logs/access_log common<br />
+       CustomLog logs/referer_log "%{Referer}i -&gt; %U"<br />
+       CustomLog logs/agent_log "%{User-agent}i"</code>
+    </blockquote>
+
+    <p>This example also shows that it is not necessary to define a
+    nickname with the <code>LogFormat</code> directive. Instead,
+    the log format can be specified directly in the
+    <code>CustomLog</code> directive.</p>
+
+    <h3><a id="conditional" name="conditional">Conditional
+    Logging</a></h3>
+
+    <p>There are times when it is convenient to exclude certain
+    entries from the access logs based on characteristics of the
+    client request. This is easily accomplished with the help of <a
+    href="env.html">environment variables</a>. First, an
+    environment variable must be set to indicate that the request
+    meets certain conditions. This is usually accomplished with <a
+    href="mod/mod_setenvif.html#setenvif">SetEnvIf</a>. Then the
+    <code>env=</code> clause of the <code>CustomLog</code>
+    directive is used to include or exclude requests where the
+    environment variable is set. Some examples:</p>
+
+    <blockquote>
+      <code># Mark requests from the loop-back interface<br />
+       SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog<br />
+       # Mark requests for the robots.txt file<br />
+       SetEnvIf Request_URI "^/robots\.txt$" dontlog<br />
+       # Log what remains<br />
+       CustomLog logs/access_log common env=!dontlog</code>
+    </blockquote>
+
+    <p>As another example, consider logging requests from
+    english-speakers to one log file, and non-english speakers to a
+    different log file.</p>
+
+    <blockquote>
+      <code>SetEnvIf Accept-Language "en" english<br />
+       CustomLog logs/english_log common env=english<br />
+       CustomLog logs/non_english_log common env=!english</code>
+    </blockquote>
+
+    <p>Although we have just shown that conditional logging is very
+    powerful and flexibly, it is not the only way to control the
+    contents of the logs. Log files are more useful when they
+    contain a complete record of server activity. It is often
+    easier to simply post-process the log files to remove requests
+    that you do not want to consider.</p>
+    <hr />
+
+    <h2><a id="rotation" name="rotation">Log Rotation</a></h2>
+
+    <p>On even a moderately busy server, the quantity of
+    information stored in the log files is very large. The access
+    log file typically grows 1 MB or more per 10,000 requests. It
+    will consequently be necessary to periodically rotate the log
+    files by moving or deleting the existing logs. This cannot be
+    done while the server is running, because Apache will continue
+    writing to the old log file as long as it holds the file open.
+    Instead, the server must be <a
+    href="stopping.html">restarted</a> after the log files are
+    moved or deleted so that it will open new log files.</p>
+
+    <p>By using a <em>graceful</em> restart, the server can be
+    instructed to open new log files without losing any existing or
+    pending connections from clients. However, in order to
+    accomplish this, the server must continue to write to the old
+    log files while it finishes serving old requests. It is
+    therefore necessary to wait for some time after the restart
+    before doing any processing on the log files. A typical
+    scenario that simply rotates the logs and compresses the old
+    logs to save space is:</p>
+
+    <blockquote>
+      <code>mv access_log access_log.old<br />
+       mv error_log error_log.old<br />
+       apachectl graceful<br />
+       sleep 600<br />
+       gzip access_log.old error_log.old</code>
+    </blockquote>
+
+    <p>Another way to perform log rotation is using <a
+    href="#piped">piped logs</a> as discussed in the next
+    section.</p>
+    <hr />
+
+    <h2><a id="piped" name="piped">Piped Logs</a></h2>
+
+    <p>Apache httpd is capable of writing error and access log
+    files through a pipe to another process, rather than directly
+    to a file. This capability dramatically increases the
+    flexibility of logging, without adding code to the main server.
+    In order to write logs to a pipe, simply replace the filename
+    with the pipe character "<code>|</code>", followed by the name
+    of the executable which should accept log entries on its
+    standard input. Apache will start the piped-log process when
+    the server starts, and will restart it if it crashes while the
+    server is running. (This last feature is why we can refer to
+    this technique as "reliable piped logging".)</p>
+
+    <p>Piped log processes are spawned by the parent Apache httpd
+    process, and inherit the userid of that process. This means
+    that piped log programs usually run as root. It is therefore
+    very important to keep the programs simple and secure.</p>
+
+    <p>One important use of piped logs is to allow log rotation
+    without having to restart the server. The Apache HTTP Server
+    includes a simple program called <a
+    href="programs/rotatelogs.html">rotatelogs</a> for this
+    purpose. For example, to rotate the logs every 24 hours, you
+    can use:</p>
+
+    <blockquote>
+      <code>CustomLog "|/usr/local/apache/bin/rotatelogs
+      /var/log/access_log 86400" common</code>
+    </blockquote>
+
+    <p>A similar, but much more flexible log rotation program
+    called <a href="http://www.cronolog.org/">cronolog</a>
+    is available at an external site.</p>
+
+    <p>As with conditional logging, piped logs are a very powerful
+    tool, but they should not be used where a simpler solution like
+    off-line post-processing is available.</p>
+    <hr />
+
+    <h2><a id="virtualhosts" name="virtualhosts">Virtual
+    Hosts</a></h2>
+
+    <p>When running a server with many <a href="vhosts/">virtual
+    hosts</a>, there are several options for dealing with log
+    files. First, it is possible to use logs exactly as in a
+    single-host server. Simply by placing the logging directives
+    outside the <code>&lt;VirtualHost&gt;</code> sections in the
+    main server context, it is possible to log all requests in the
+    same access log and error log. This technique does not allow
+    for easy collection of statistics on individual virtual
+    hosts.</p>
+
+    <p>If <code>CustomLog</code> or <code>ErrorLog</code>
+    directives are placed inside a <code>&lt;VirtualHost&gt;</code>
+    section, all requests or errors for that virtual host will be
+    logged only to the specified file. Any virtual host which does
+    not have logging directives will still have its requests sent
+    to the main server logs. This technique is very useful for a
+    small number of virtual hosts, but if the number of hosts is
+    very large, it can be complicated to manage. In addition, it
+    can often create problems with <a
+    href="vhosts/fd-limits.html">insufficient file
+    descriptors</a>.</p>
+
+    <p>For the access log, there is a very good compromise. By
+    adding information on the virtual host to the log format
+    string, it is possible to log all hosts to the same log, and
+    later split the log into individual files. For example,
+    consider the following directives.</p>
+
+    <blockquote>
+      <code>LogFormat "%v %l %u %t \"%r\" %&gt;s %b"
+      comonvhost<br />
+       CustomLog logs/access_log comonvhost</code>
+    </blockquote>
+
+    <p>The <code>%v</code> is used to log the name of the virtual
+    host that is serving the request. Then a program like <a
+    href="programs/other.html">split-logfile</a> can be used to
+    post-process the access log in order to split it into one file
+    per virtual host.</p>
+
+    <p>Unfortunately, no similar technique is available for the
+    error log, so you must choose between mixing all virtual hosts
+    in the same error log and using one error log per virtual
+    host.</p>
+    <hr />
+
+    <h2><a id="other" name="other">Other Log Files</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_cgi.html">mod_cgi</a><br />
+         <a href="mod/mod_rewrite.html">mod_rewrite</a> </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/core.html#pidfile">PidFile</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteLog">RewriteLog</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a><br />
+         <a href="mod/mod_cgi.html#scriptlog">ScriptLog</a><br />
+         <a
+        href="mod/mod_cgi.html#scriptloglength">ScriptLogLength</a><br />
+         <a
+        href="mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a>
+        </td>
+      </tr>
+    </table>
+
+    <h3><a id="pidfile" name="pidfile">PID File</a></h3>
+
+    <p>On startup, Apache httpd saves the process id of the parent
+    httpd process to the file <code>logs/httpd.pid</code>. This
+    filename can be changed with the <a
+    href="mod/core.html#pidfile">PidFile</a> directive. The
+    process-id is for use by the administrator in restarting and
+    terminating the daemon by sending signals to the parent
+    process; on Windows, use the -k command line option instead.
+    For more information see the <a href="stopping.html">Stopping
+    and Restarting</a> page.</p>
+
+    <h3><a id="scriptlog" name="scriptlog">Script Log</a></h3>
+
+    <p>In order to aid in debugging, the <a
+    href="mod/mod_cgi.html#scriptlog">ScriptLog</a> directive
+    allows you to record the input to and output from CGI scripts.
+    This should only be used in testing - not for live servers.
+    More information is available in the <a
+    href="mod/mod_cgi.html">mod_cgi documentation</a>.</p>
+
+    <h3><a id="rewritelog" name="rewritelog">Rewrite Log</a></h3>
+
+    <p>When using the powerful and complex features of <a
+    href="mod/mod_rewrite.html">mod_rewrite</a>, it is almost
+    always necessary to use the <a
+    href="mod/mod_rewrite.html#RewriteLog">RewriteLog</a> to help
+    in debugging. This log file produces a detailed analysis of how
+    the rewriting engine transforms requests. The level of detail
+    is controlled by the <a
+    href="mod/mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a>
+    directive.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/man-template.html b/htdocs/manual/man-template.html
new file mode 100644 (file)
index 0000000..2203a16
--- /dev/null
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_foobar</title>
+  </head>
+  <!-- read and delete all blockquotes, and this comment -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_foobar</h1>
+
+    <blockquote>
+      <em>Add this file as a link in mod/index.html</em>
+    </blockquote>
+
+    <p>This module is contained in the <code>mod_foobar.c</code>
+    file, and <strong>is/is not</strong> compiled in by default. It
+    provides for <strong>the foobar feature</strong>. Any document
+    with the mime type <samp>foo/bar</samp> will be processed by
+    this module.</p>
+
+    <blockquote>
+      <em>Add the magic mime type to the list in
+      magic_types.html</em>
+    </blockquote>
+
+    <h2>Summary</h2>
+
+    <p><em>General module documentation here.</em></p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#adirective">ADirective</a></li>
+    </ul>
+
+    <blockquote>
+      <em>Add these directives to the list in directives.html</em>
+    </blockquote>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="adirective" name="adirective">ADirective
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ADirective <em>some
+    args</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <samp>ADirective
+    default value</samp><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> context-list<br />
+    </p>
+
+    <blockquote>
+      <em>context-list is where this directive can appear; allowed:
+      server config, virtual host, directory, .htaccess</em>
+    </blockquote>
+    <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> override <br />
+     
+
+    <blockquote>
+      <em>required if the directive is allowed in .htaccess files;
+      the AllowOverride option that allows the directive.</em>
+    </blockquote>
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> status <br />
+     
+
+    <blockquote>
+      <em>Core if in core apache, Base if in one of the standard
+      modules, Extension if in an extension module (not compiled in
+      by default) or Experimental</em>
+    </blockquote>
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_foobar <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> compatibility
+    notes 
+
+    <blockquote>
+      <em>Describe any compatibility issues, such as "Only
+      available in Apache 1.2 or later," or "The Apache syntax for
+      this directive is not compatible with the NCSA directive of
+      the same name."</em>
+    </blockquote>
+
+    <p>The ADirective directive does something.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/API.html b/htdocs/manual/misc/API.html
new file mode 100644 (file)
index 0000000..6c9bd54
--- /dev/null
@@ -0,0 +1,1243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache API notes</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache API notes</h1>
+    These are some notes on the Apache API and the data structures
+    you have to deal with, <em>etc.</em> They are not yet nearly
+    complete, but hopefully, they will help you get your bearings.
+    Keep in mind that the API is still subject to change as we gain
+    experience with it. (See the TODO file for what <em>might</em>
+    be coming). However, it will be easy to adapt modules to any
+    changes that are made. (We have more modules to adapt than you
+    do). 
+
+    <p>A few notes on general pedagogical style here. In the
+    interest of conciseness, all structure declarations here are
+    incomplete --- the real ones have more slots that I'm not
+    telling you about. For the most part, these are reserved to one
+    component of the server core or another, and should be altered
+    by modules with caution. However, in some cases, they really
+    are things I just haven't gotten around to yet. Welcome to the
+    bleeding edge.</p>
+
+    <p>Finally, here's an outline, to give you some bare idea of
+    what's coming up, and in what order:</p>
+
+    <ul>
+      <li>
+        <a href="#basics">Basic concepts.</a> 
+
+        <ul>
+          <li><a href="#HMR">Handlers, Modules, and
+          Requests</a></li>
+
+          <li><a href="#moduletour">A brief tour of a
+          module</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#handlers">How handlers work</a> 
+
+        <ul>
+          <li><a href="#req_tour">A brief tour of the
+          <code>request_rec</code></a></li>
+
+          <li><a href="#req_orig">Where request_rec structures come
+          from</a></li>
+
+          <li><a href="#req_return">Handling requests, declining,
+          and returning error codes</a></li>
+
+          <li><a href="#resp_handlers">Special considerations for
+          response handlers</a></li>
+
+          <li><a href="#auth_handlers">Special considerations for
+          authentication handlers</a></li>
+
+          <li><a href="#log_handlers">Special considerations for
+          logging handlers</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#pools">Resource allocation and resource
+      pools</a></li>
+
+      <li>
+        <a href="#config">Configuration, commands and the like</a> 
+
+        <ul>
+          <li><a href="#per-dir">Per-directory configuration
+          structures</a></li>
+
+          <li><a href="#commands">Command handling</a></li>
+
+          <li><a href="#servconf">Side notes --- per-server
+          configuration, virtual servers, <em>etc</em>.</a></li>
+        </ul>
+      </li>
+    </ul>
+
+    <h2><a id="basics" name="basics">Basic concepts.</a></h2>
+    We begin with an overview of the basic concepts behind the API,
+    and how they are manifested in the code. 
+
+    <h3><a id="HMR" name="HMR">Handlers, Modules, and
+    Requests</a></h3>
+    Apache breaks down request handling into a series of steps,
+    more or less the same way the Netscape server API does
+    (although this API has a few more stages than NetSite does, as
+    hooks for stuff I thought might be useful in the future). These
+    are: 
+
+    <ul>
+      <li>URI -&gt; Filename translation</li>
+
+      <li>Auth ID checking [is the user who they say they
+      are?]</li>
+
+      <li>Auth access checking [is the user authorized
+      <em>here</em>?]</li>
+
+      <li>Access checking other than auth</li>
+
+      <li>Determining MIME type of the object requested</li>
+
+      <li>`Fixups' --- there aren't any of these yet, but the phase
+      is intended as a hook for possible extensions like
+      <code>SetEnv</code>, which don't really fit well
+      elsewhere.</li>
+
+      <li>Actually sending a response back to the client.</li>
+
+      <li>Logging the request</li>
+    </ul>
+    These phases are handled by looking at each of a succession of
+    <em>modules</em>, looking to see if each of them has a handler
+    for the phase, and attempting invoking it if so. The handler
+    can typically do one of three things: 
+
+    <ul>
+      <li><em>Handle</em> the request, and indicate that it has
+      done so by returning the magic constant <code>OK</code>.</li>
+
+      <li><em>Decline</em> to handle the request, by returning the
+      magic integer constant <code>DECLINED</code>. In this case,
+      the server behaves in all respects as if the handler simply
+      hadn't been there.</li>
+
+      <li>Signal an error, by returning one of the HTTP error
+      codes. This terminates normal handling of the request,
+      although an ErrorDocument may be invoked to try to mop up,
+      and it will be logged in any case.</li>
+    </ul>
+    Most phases are terminated by the first module that handles
+    them; however, for logging, `fixups', and non-access
+    authentication checking, all handlers always run (barring an
+    error). Also, the response phase is unique in that modules may
+    declare multiple handlers for it, via a dispatch table keyed on
+    the MIME type of the requested object. Modules may declare a
+    response-phase handler which can handle <em>any</em> request,
+    by giving it the key <code>*/*</code> (<em>i.e.</em>, a
+    wildcard MIME type specification). However, wildcard handlers
+    are only invoked if the server has already tried and failed to
+    find a more specific response handler for the MIME type of the
+    requested object (either none existed, or they all declined). 
+
+    <p>The handlers themselves are functions of one argument (a
+    <code>request_rec</code> structure. vide infra), which returns
+    an integer, as above.</p>
+
+    <h3><a id="moduletour" name="moduletour">A brief tour of a
+    module</a></h3>
+    At this point, we need to explain the structure of a module.
+    Our candidate will be one of the messier ones, the CGI module
+    --- this handles both CGI scripts and the
+    <code>ScriptAlias</code> config file command. It's actually a
+    great deal more complicated than most modules, but if we're
+    going to have only one example, it might as well be the one
+    with its fingers in every place. 
+
+    <p>Let's begin with handlers. In order to handle the CGI
+    scripts, the module declares a response handler for them.
+    Because of <code>ScriptAlias</code>, it also has handlers for
+    the name translation phase (to recognize
+    <code>ScriptAlias</code>ed URIs), the type-checking phase (any
+    <code>ScriptAlias</code>ed request is typed as a CGI
+    script).</p>
+
+    <p>The module needs to maintain some per (virtual) server
+    information, namely, the <code>ScriptAlias</code>es in effect;
+    the module structure therefore contains pointers to a functions
+    which builds these structures, and to another which combines
+    two of them (in case the main server and a virtual server both
+    have <code>ScriptAlias</code>es declared).</p>
+
+    <p>Finally, this module contains code to handle the
+    <code>ScriptAlias</code> command itself. This particular module
+    only declares one command, but there could be more, so modules
+    have <em>command tables</em> which declare their commands, and
+    describe where they are permitted, and how they are to be
+    invoked.</p>
+
+    <p>A final note on the declared types of the arguments of some
+    of these commands: a <code>pool</code> is a pointer to a
+    <em>resource pool</em> structure; these are used by the server
+    to keep track of the memory which has been allocated, files
+    opened, <em>etc.</em>, either to service a particular request,
+    or to handle the process of configuring itself. That way, when
+    the request is over (or, for the configuration pool, when the
+    server is restarting), the memory can be freed, and the files
+    closed, <em>en masse</em>, without anyone having to write
+    explicit code to track them all down and dispose of them. Also,
+    a <code>cmd_parms</code> structure contains various information
+    about the config file being read, and other status information,
+    which is sometimes of use to the function which processes a
+    config-file command (such as <code>ScriptAlias</code>). With no
+    further ado, the module itself:</p>
+<pre>
+/* Declarations of handlers. */
+
+int translate_scriptalias (request_rec *);
+int type_scriptalias (request_rec *);
+int cgi_handler (request_rec *);
+
+/* Subsidiary dispatch table for response-phase handlers, by MIME type */
+
+handler_rec cgi_handlers[] = {
+{ "application/x-httpd-cgi", cgi_handler },
+{ NULL }
+};
+
+/* Declarations of routines to manipulate the module's configuration
+ * info.  Note that these are returned, and passed in, as void *'s;
+ * the server core keeps track of them, but it doesn't, and can't,
+ * know their internal structure.
+ */
+
+void *make_cgi_server_config (pool *);
+void *merge_cgi_server_config (pool *, void *, void *);
+
+/* Declarations of routines to handle config-file commands */
+
+extern char *script_alias(cmd_parms *, void *per_dir_config, char *fake,
+                          char *real);
+
+command_rec cgi_cmds[] = {
+{ "ScriptAlias", script_alias, NULL, RSRC_CONF, TAKE2,
+    "a fakename and a realname"},
+{ NULL }
+};
+
+module cgi_module = {
+   STANDARD_MODULE_STUFF,
+   NULL,                     /* initializer */
+   NULL,                     /* dir config creator */
+   NULL,                     /* dir merger --- default is to override */
+   make_cgi_server_config,   /* server config */
+   merge_cgi_server_config,  /* merge server config */
+   cgi_cmds,                 /* command table */
+   cgi_handlers,             /* handlers */
+   translate_scriptalias,    /* filename translation */
+   NULL,                     /* check_user_id */
+   NULL,                     /* check auth */
+   NULL,                     /* check access */
+   type_scriptalias,         /* type_checker */
+   NULL,                     /* fixups */
+   NULL,                     /* logger */
+   NULL                      /* header parser */
+};
+</pre>
+
+    <h2><a id="handlers" name="handlers">How handlers work</a></h2>
+    The sole argument to handlers is a <code>request_rec</code>
+    structure. This structure describes a particular request which
+    has been made to the server, on behalf of a client. In most
+    cases, each connection to the client generates only one
+    <code>request_rec</code> structure. 
+
+    <h3><a id="req_tour" name="req_tour">A brief tour of the
+    <code>request_rec</code></a></h3>
+    The <code>request_rec</code> contains pointers to a resource
+    pool which will be cleared when the server is finished handling
+    the request; to structures containing per-server and
+    per-connection information, and most importantly, information
+    on the request itself. 
+
+    <p>The most important such information is a small set of
+    character strings describing attributes of the object being
+    requested, including its URI, filename, content-type and
+    content-encoding (these being filled in by the translation and
+    type-check handlers which handle the request,
+    respectively).</p>
+
+    <p>Other commonly used data items are tables giving the MIME
+    headers on the client's original request, MIME headers to be
+    sent back with the response (which modules can add to at will),
+    and environment variables for any subprocesses which are
+    spawned off in the course of servicing the request. These
+    tables are manipulated using the <code>ap_table_get</code> and
+    <code>ap_table_set</code> routines.</p>
+
+    <blockquote>
+      Note that the <samp>Content-type</samp> header value
+      <em>cannot</em> be set by module content-handlers using the
+      <samp>ap_table_*()</samp> routines. Rather, it is set by
+      pointing the <samp>content_type</samp> field in the
+      <samp>request_rec</samp> structure to an appropriate string.
+      <em>E.g.</em>, 
+<pre>
+  r-&gt;content_type = "text/html";
+</pre>
+    </blockquote>
+    Finally, there are pointers to two data structures which, in
+    turn, point to per-module configuration structures.
+    Specifically, these hold pointers to the data structures which
+    the module has built to describe the way it has been configured
+    to operate in a given directory (via <code>.htaccess</code>
+    files or <code>&lt;Directory&gt;</code> sections), for private
+    data it has built in the course of servicing the request (so
+    modules' handlers for one phase can pass `notes' to their
+    handlers for other phases). There is another such configuration
+    vector in the <code>server_rec</code> data structure pointed to
+    by the <code>request_rec</code>, which contains per (virtual)
+    server configuration data. 
+
+    <p>Here is an abridged declaration, giving the fields most
+    commonly used:</p>
+<pre>
+struct request_rec {
+
+  pool *pool;
+  conn_rec *connection;
+  server_rec *server;
+
+  /* What object is being requested */
+
+  char *uri;
+  char *filename;
+  char *path_info;
+  char *args;           /* QUERY_ARGS, if any */
+  struct stat finfo;    /* Set by server core;
+                         * st_mode set to zero if no such file */
+
+  char *content_type;
+  char *content_encoding;
+
+  /* MIME header environments, in and out.  Also, an array containing
+   * environment variables to be passed to subprocesses, so people can
+   * write modules to add to that environment.
+   *
+   * The difference between headers_out and err_headers_out is that
+   * the latter are printed even on error, and persist across internal
+   * redirects (so the headers printed for ErrorDocument handlers will
+   * have them).
+   */
+
+  table *headers_in;
+  table *headers_out;
+  table *err_headers_out;
+  table *subprocess_env;
+
+  /* Info about the request itself... */
+
+  int header_only;     /* HEAD request, as opposed to GET */
+  char *protocol;      /* Protocol, as given to us, or HTTP/0.9 */
+  char *method;        /* GET, HEAD, POST, <em>etc.</em> */
+  int method_number;   /* M_GET, M_POST, <em>etc.</em> */
+
+  /* Info for logging */
+
+  char *the_request;
+  int bytes_sent;
+
+  /* A flag which modules can set, to indicate that the data being
+   * returned is volatile, and clients should be told not to cache it.
+   */
+
+  int no_cache;
+
+  /* Various other config info which may change with .htaccess files
+   * These are config vectors, with one void* pointer for each module
+   * (the thing pointed to being the module's business).
+   */
+
+  void *per_dir_config;   /* Options set in config files, <em>etc.</em> */
+  void *request_config;   /* Notes on *this* request */
+
+};
+
+</pre>
+
+    <h3><a id="req_orig" name="req_orig">Where request_rec
+    structures come from</a></h3>
+    Most <code>request_rec</code> structures are built by reading
+    an HTTP request from a client, and filling in the fields.
+    However, there are a few exceptions: 
+
+    <ul>
+      <li>If the request is to an imagemap, a type map
+      (<em>i.e.</em>, a <code>*.var</code> file), or a CGI script
+      which returned a local `Location:', then the resource which
+      the user requested is going to be ultimately located by some
+      URI other than what the client originally supplied. In this
+      case, the server does an <em>internal redirect</em>,
+      constructing a new <code>request_rec</code> for the new URI,
+      and processing it almost exactly as if the client had
+      requested the new URI directly.</li>
+
+      <li>If some handler signaled an error, and an
+      <code>ErrorDocument</code> is in scope, the same internal
+      redirect machinery comes into play.</li>
+
+      <li>
+        Finally, a handler occasionally needs to investigate `what
+        would happen if' some other request were run. For instance,
+        the directory indexing module needs to know what MIME type
+        would be assigned to a request for each directory entry, in
+        order to figure out what icon to use. 
+
+        <p>Such handlers can construct a <em>sub-request</em>,
+        using the functions <code>ap_sub_req_lookup_file</code>,
+        <code>ap_sub_req_lookup_uri</code>, and
+        <code>ap_sub_req_method_uri</code>; these construct a new
+        <code>request_rec</code> structure and processes it as you
+        would expect, up to but not including the point of actually
+        sending a response. (These functions skip over the access
+        checks if the sub-request is for a file in the same
+        directory as the original request).</p>
+
+        <p>(Server-side includes work by building sub-requests and
+        then actually invoking the response handler for them, via
+        the function <code>ap_run_sub_req</code>).</p>
+      </li>
+    </ul>
+
+    <h3><a id="req_return" name="req_return">Handling requests,
+    declining, and returning error codes</a></h3>
+    As discussed above, each handler, when invoked to handle a
+    particular <code>request_rec</code>, has to return an
+    <code>int</code> to indicate what happened. That can either be 
+
+    <ul>
+      <li>OK --- the request was handled successfully. This may or
+      may not terminate the phase.</li>
+
+      <li>DECLINED --- no erroneous condition exists, but the
+      module declines to handle the phase; the server tries to find
+      another.</li>
+
+      <li>an HTTP error code, which aborts handling of the
+      request.</li>
+    </ul>
+    Note that if the error code returned is <code>REDIRECT</code>,
+    then the module should put a <code>Location</code> in the
+    request's <code>headers_out</code>, to indicate where the
+    client should be redirected <em>to</em>. 
+
+    <h3><a id="resp_handlers" name="resp_handlers">Special
+    considerations for response handlers</a></h3>
+    Handlers for most phases do their work by simply setting a few
+    fields in the <code>request_rec</code> structure (or, in the
+    case of access checkers, simply by returning the correct error
+    code). However, response handlers have to actually send a
+    request back to the client. 
+
+    <p>They should begin by sending an HTTP response header, using
+    the function <code>ap_send_http_header</code>. (You don't have
+    to do anything special to skip sending the header for HTTP/0.9
+    requests; the function figures out on its own that it shouldn't
+    do anything). If the request is marked
+    <code>header_only</code>, that's all they should do; they
+    should return after that, without attempting any further
+    output.</p>
+
+    <p>Otherwise, they should produce a request body which responds
+    to the client as appropriate. The primitives for this are
+    <code>ap_rputc</code> and <code>ap_rprintf</code>, for
+    internally generated output, and <code>ap_send_fd</code>, to
+    copy the contents of some <code>FILE *</code> straight to the
+    client.</p>
+
+    <p>At this point, you should more or less understand the
+    following piece of code, which is the handler which handles
+    <code>GET</code> requests which have no more specific handler;
+    it also shows how conditional <code>GET</code>s can be handled,
+    if it's desirable to do so in a particular response handler ---
+    <code>ap_set_last_modified</code> checks against the
+    <code>If-modified-since</code> value supplied by the client, if
+    any, and returns an appropriate code (which will, if nonzero,
+    be USE_LOCAL_COPY). No similar considerations apply for
+    <code>ap_set_content_length</code>, but it returns an error
+    code for symmetry.</p>
+<pre>
+int default_handler (request_rec *r)
+{
+    int errstatus;
+    FILE *f;
+
+    if (r-&gt;method_number != M_GET) return DECLINED;
+    if (r-&gt;finfo.st_mode == 0) return NOT_FOUND;
+
+    if ((errstatus = ap_set_content_length (r, r-&gt;finfo.st_size))) {
+        return errstatus;
+    }
+
+    r-&gt;mtime = r-&gt;finfo.st_mtime;
+    ap_set_last_modified (r);
+
+    f = ap_pfopen (r-&gt;pool, r-&gt;filename, "r");
+
+    if (f == NULL) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
+             "file permissions deny server access: %s", r-&gt;filename);
+        return FORBIDDEN;
+    }
+
+    ap_soft_timeout ("send", r);
+    ap_send_http_header (r);
+
+    if (!r-&gt;header_only) ap_send_fd (f, r);
+    ap_pfclose (r-&gt;pool, f);
+
+    ap_kill_timeout (r);
+    return OK;
+}
+</pre>
+    Finally, if all of this is too much of a challenge, there are a
+    few ways out of it. First off, as shown above, a response
+    handler which has not yet produced any output can simply return
+    an error code, in which case the server will automatically
+    produce an error response. Secondly, it can punt to some other
+    handler by invoking <code>ap_internal_redirect</code>, which is
+    how the internal redirection machinery discussed above is
+    invoked. A response handler which has internally redirected
+    should always return <code>OK</code>. 
+
+    <p>(Invoking <code>ap_internal_redirect</code> from handlers
+    which are <em>not</em> response handlers will lead to serious
+    confusion).</p>
+
+    <h3><a id="auth_handlers" name="auth_handlers">Special
+    considerations for authentication handlers</a></h3>
+    Stuff that should be discussed here in detail: 
+
+    <ul>
+      <li>Authentication-phase handlers not invoked unless auth is
+      configured for the directory.</li>
+
+      <li>Common auth configuration stored in the core per-dir
+      configuration; it has accessors <code>ap_auth_type</code>,
+      <code>ap_auth_name</code>, and <code>ap_requires</code>.</li>
+
+      <li>Common routines, to handle the protocol end of things, at
+      least for HTTP basic authentication
+      (<code>ap_get_basic_auth_pw</code>, which sets the
+      <code>connection-&gt;user</code> structure field
+      automatically, and <code>ap_note_basic_auth_failure</code>,
+      which arranges for the proper <code>WWW-Authenticate:</code>
+      header to be sent back).</li>
+    </ul>
+
+    <h3><a id="log_handlers" name="log_handlers">Special
+    considerations for logging handlers</a></h3>
+    When a request has internally redirected, there is the question
+    of what to log. Apache handles this by bundling the entire
+    chain of redirects into a list of <code>request_rec</code>
+    structures which are threaded through the
+    <code>r-&gt;prev</code> and <code>r-&gt;next</code> pointers.
+    The <code>request_rec</code> which is passed to the logging
+    handlers in such cases is the one which was originally built
+    for the initial request from the client; note that the
+    bytes_sent field will only be correct in the last request in
+    the chain (the one for which a response was actually sent). 
+
+    <h2><a id="pools" name="pools">Resource allocation and resource
+    pools</a></h2>
+
+    <p>One of the problems of writing and designing a server-pool
+    server is that of preventing leakage, that is, allocating
+    resources (memory, open files, <em>etc.</em>), without
+    subsequently releasing them. The resource pool machinery is
+    designed to make it easy to prevent this from happening, by
+    allowing resource to be allocated in such a way that they are
+    <em>automatically</em> released when the server is done with
+    them.</p>
+
+    <p>The way this works is as follows: the memory which is
+    allocated, file opened, <em>etc.</em>, to deal with a
+    particular request are tied to a <em>resource pool</em> which
+    is allocated for the request. The pool is a data structure
+    which itself tracks the resources in question.</p>
+
+    <p>When the request has been processed, the pool is
+    <em>cleared</em>. At that point, all the memory associated with
+    it is released for reuse, all files associated with it are
+    closed, and any other clean-up functions which are associated
+    with the pool are run. When this is over, we can be confident
+    that all the resource tied to the pool have been released, and
+    that none of them have leaked.</p>
+
+    <p>Server restarts, and allocation of memory and resources for
+    per-server configuration, are handled in a similar way. There
+    is a <em>configuration pool</em>, which keeps track of
+    resources which were allocated while reading the server
+    configuration files, and handling the commands therein (for
+    instance, the memory that was allocated for per-server module
+    configuration, log files and other files that were opened, and
+    so forth). When the server restarts, and has to reread the
+    configuration files, the configuration pool is cleared, and so
+    the memory and file descriptors which were taken up by reading
+    them the last time are made available for reuse.</p>
+
+    <p>It should be noted that use of the pool machinery isn't
+    generally obligatory, except for situations like logging
+    handlers, where you really need to register cleanups to make
+    sure that the log file gets closed when the server restarts
+    (this is most easily done by using the function <code><a
+    href="#pool-files">ap_pfopen</a></code>, which also arranges
+    for the underlying file descriptor to be closed before any
+    child processes, such as for CGI scripts, are
+    <code>exec</code>ed), or in case you are using the timeout
+    machinery (which isn't yet even documented here). However,
+    there are two benefits to using it: resources allocated to a
+    pool never leak (even if you allocate a scratch string, and
+    just forget about it); also, for memory allocation,
+    <code>ap_palloc</code> is generally faster than
+    <code>malloc</code>.</p>
+
+    <p>We begin here by describing how memory is allocated to
+    pools, and then discuss how other resources are tracked by the
+    resource pool machinery.</p>
+
+    <h3>Allocation of memory in pools</h3>
+
+    <p>Memory is allocated to pools by calling the function
+    <code>ap_palloc</code>, which takes two arguments, one being a
+    pointer to a resource pool structure, and the other being the
+    amount of memory to allocate (in <code>char</code>s). Within
+    handlers for handling requests, the most common way of getting
+    a resource pool structure is by looking at the
+    <code>pool</code> slot of the relevant
+    <code>request_rec</code>; hence the repeated appearance of the
+    following idiom in module code:</p>
+<pre>
+int my_handler(request_rec *r)
+{
+    struct my_structure *foo;
+    ...
+
+    foo = (foo *)ap_palloc (r-&gt;pool, sizeof(my_structure));
+}
+</pre>
+
+    <p>Note that <em>there is no <code>ap_pfree</code></em> ---
+    <code>ap_palloc</code>ed memory is freed only when the
+    associated resource pool is cleared. This means that
+    <code>ap_palloc</code> does not have to do as much accounting
+    as <code>malloc()</code>; all it does in the typical case is to
+    round up the size, bump a pointer, and do a range check.</p>
+
+    <p>(It also raises the possibility that heavy use of
+    <code>ap_palloc</code> could cause a server process to grow
+    excessively large. There are two ways to deal with this, which
+    are dealt with below; briefly, you can use <code>malloc</code>,
+    and try to be sure that all of the memory gets explicitly
+    <code>free</code>d, or you can allocate a sub-pool of the main
+    pool, allocate your memory in the sub-pool, and clear it out
+    periodically. The latter technique is discussed in the section
+    on sub-pools below, and is used in the directory-indexing code,
+    in order to avoid excessive storage allocation when listing
+    directories with thousands of files).</p>
+
+    <h3>Allocating initialized memory</h3>
+
+    <p>There are functions which allocate initialized memory, and
+    are frequently useful. The function <code>ap_pcalloc</code> has
+    the same interface as <code>ap_palloc</code>, but clears out
+    the memory it allocates before it returns it. The function
+    <code>ap_pstrdup</code> takes a resource pool and a <code>char
+    *</code> as arguments, and allocates memory for a copy of the
+    string the pointer points to, returning a pointer to the copy.
+    Finally <code>ap_pstrcat</code> is a varargs-style function,
+    which takes a pointer to a resource pool, and at least two
+    <code>char *</code> arguments, the last of which must be
+    <code>NULL</code>. It allocates enough memory to fit copies of
+    each of the strings, as a unit; for instance:</p>
+<pre>
+     ap_pstrcat (r-&gt;pool, "foo", "/", "bar", NULL);
+</pre>
+
+    <p>returns a pointer to 8 bytes worth of memory, initialized to
+    <code>"foo/bar"</code>.</p>
+
+    <h3><a id="pools-used" name="pools-used">Commonly-used pools in
+    the Apache Web server</a></h3>
+
+    <p>A pool is really defined by its lifetime more than anything
+    else. There are some static pools in http_main which are passed
+    to various non-http_main functions as arguments at opportune
+    times. Here they are:</p>
+
+    <dl compact="compact">
+      <dt>permanent_pool</dt>
+
+      <dd>
+        <ul>
+          <li>never passed to anything else, this is the ancestor
+          of all pools</li>
+        </ul>
+      </dd>
+
+      <dt>pconf</dt>
+
+      <dd>
+        <ul>
+          <li>subpool of permanent_pool</li>
+
+          <li>created at the beginning of a config "cycle"; exists
+          until the server is terminated or restarts; passed to all
+          config-time routines, either via cmd-&gt;pool, or as the
+          "pool *p" argument on those which don't take pools</li>
+
+          <li>passed to the module init() functions</li>
+        </ul>
+      </dd>
+
+      <dt>ptemp</dt>
+
+      <dd>
+        <ul>
+          <li>sorry I lie, this pool isn't called this currently in
+          1.3, I renamed it this in my pthreads development. I'm
+          referring to the use of ptrans in the parent... contrast
+          this with the later definition of ptrans in the
+          child.</li>
+
+          <li>subpool of permanent_pool</li>
+
+          <li>created at the beginning of a config "cycle"; exists
+          until the end of config parsing; passed to config-time
+          routines <em>via</em> cmd-&gt;temp_pool. Somewhat of a
+          "bastard child" because it isn't available everywhere.
+          Used for temporary scratch space which may be needed by
+          some config routines but which is deleted at the end of
+          config.</li>
+        </ul>
+      </dd>
+
+      <dt>pchild</dt>
+
+      <dd>
+        <ul>
+          <li>subpool of permanent_pool</li>
+
+          <li>created when a child is spawned (or a thread is
+          created); lives until that child (thread) is
+          destroyed</li>
+
+          <li>passed to the module child_init functions</li>
+
+          <li>destruction happens right after the child_exit
+          functions are called... (which may explain why I think
+          child_exit is redundant and unneeded)</li>
+        </ul>
+      </dd>
+
+      <dt>ptrans</dt>
+
+      <dd>
+        <ul>
+          <li>should be a subpool of pchild, but currently is a
+          subpool of permanent_pool, see above</li>
+
+          <li>cleared by the child before going into the accept()
+          loop to receive a connection</li>
+
+          <li>used as connection-&gt;pool</li>
+        </ul>
+      </dd>
+
+      <dt>r-&gt;pool</dt>
+
+      <dd>
+        <ul>
+          <li>for the main request this is a subpool of
+          connection-&gt;pool; for subrequests it is a subpool of
+          the parent request's pool.</li>
+
+          <li>exists until the end of the request (<em>i.e.</em>,
+          ap_destroy_sub_req, or in child_main after
+          process_request has finished)</li>
+
+          <li>note that r itself is allocated from r-&gt;pool;
+          <em>i.e.</em>, r-&gt;pool is first created and then r is
+          the first thing palloc()d from it</li>
+        </ul>
+      </dd>
+    </dl>
+
+    <p>For almost everything folks do, r-&gt;pool is the pool to
+    use. But you can see how other lifetimes, such as pchild, are
+    useful to some modules... such as modules that need to open a
+    database connection once per child, and wish to clean it up
+    when the child dies.</p>
+
+    <p>You can also see how some bugs have manifested themself,
+    such as setting connection-&gt;user to a value from r-&gt;pool
+    -- in this case connection exists for the lifetime of ptrans,
+    which is longer than r-&gt;pool (especially if r-&gt;pool is a
+    subrequest!). So the correct thing to do is to allocate from
+    connection-&gt;pool.</p>
+
+    <p>And there was another interesting bug in
+    mod_include/mod_cgi. You'll see in those that they do this test
+    to decide if they should use r-&gt;pool or r-&gt;main-&gt;pool.
+    In this case the resource that they are registering for cleanup
+    is a child process. If it were registered in r-&gt;pool, then
+    the code would wait() for the child when the subrequest
+    finishes. With mod_include this could be any old #include, and
+    the delay can be up to 3 seconds... and happened quite
+    frequently. Instead the subprocess is registered in
+    r-&gt;main-&gt;pool which causes it to be cleaned up when the
+    entire request is done -- <em>i.e.</em>, after the output has
+    been sent to the client and logging has happened.</p>
+
+    <h3><a id="pool-files" name="pool-files">Tracking open files,
+    etc.</a></h3>
+
+    <p>As indicated above, resource pools are also used to track
+    other sorts of resources besides memory. The most common are
+    open files. The routine which is typically used for this is
+    <code>ap_pfopen</code>, which takes a resource pool and two
+    strings as arguments; the strings are the same as the typical
+    arguments to <code>fopen</code>, <em>e.g.</em>,</p>
+<pre>
+     ...
+     FILE *f = ap_pfopen (r-&gt;pool, r-&gt;filename, "r");
+
+     if (f == NULL) { ... } else { ... }
+</pre>
+
+    <p>There is also a <code>ap_popenf</code> routine, which
+    parallels the lower-level <code>open</code> system call. Both
+    of these routines arrange for the file to be closed when the
+    resource pool in question is cleared.</p>
+
+    <p>Unlike the case for memory, there <em>are</em> functions to
+    close files allocated with <code>ap_pfopen</code>, and
+    <code>ap_popenf</code>, namely <code>ap_pfclose</code> and
+    <code>ap_pclosef</code>. (This is because, on many systems, the
+    number of files which a single process can have open is quite
+    limited). It is important to use these functions to close files
+    allocated with <code>ap_pfopen</code> and
+    <code>ap_popenf</code>, since to do otherwise could cause fatal
+    errors on systems such as Linux, which react badly if the same
+    <code>FILE*</code> is closed more than once.</p>
+
+    <p>(Using the <code>close</code> functions is not mandatory,
+    since the file will eventually be closed regardless, but you
+    should consider it in cases where your module is opening, or
+    could open, a lot of files).</p>
+
+    <h3>Other sorts of resources --- cleanup functions</h3>
+
+    <blockquote>
+      More text goes here. Describe the the cleanup primitives in
+      terms of which the file stuff is implemented; also,
+      <code>spawn_process</code>.
+    </blockquote>
+
+    <p>Pool cleanups live until clear_pool() is called:
+    clear_pool(a) recursively calls destroy_pool() on all subpools
+    of a; then calls all the cleanups for a; then releases all the
+    memory for a. destroy_pool(a) calls clear_pool(a) and then
+    releases the pool structure itself. <em>i.e.</em>,
+    clear_pool(a) doesn't delete a, it just frees up all the
+    resources and you can start using it again immediately.</p>
+
+    <h3>Fine control --- creating and dealing with sub-pools, with
+    a note on sub-requests</h3>
+    On rare occasions, too-free use of <code>ap_palloc()</code> and
+    the associated primitives may result in undesirably profligate
+    resource allocation. You can deal with such a case by creating
+    a <em>sub-pool</em>, allocating within the sub-pool rather than
+    the main pool, and clearing or destroying the sub-pool, which
+    releases the resources which were associated with it. (This
+    really <em>is</em> a rare situation; the only case in which it
+    comes up in the standard module set is in case of listing
+    directories, and then only with <em>very</em> large
+    directories. Unnecessary use of the primitives discussed here
+    can hair up your code quite a bit, with very little gain). 
+
+    <p>The primitive for creating a sub-pool is
+    <code>ap_make_sub_pool</code>, which takes another pool (the
+    parent pool) as an argument. When the main pool is cleared, the
+    sub-pool will be destroyed. The sub-pool may also be cleared or
+    destroyed at any time, by calling the functions
+    <code>ap_clear_pool</code> and <code>ap_destroy_pool</code>,
+    respectively. (The difference is that
+    <code>ap_clear_pool</code> frees resources associated with the
+    pool, while <code>ap_destroy_pool</code> also deallocates the
+    pool itself. In the former case, you can allocate new resources
+    within the pool, and clear it again, and so forth; in the
+    latter case, it is simply gone).</p>
+
+    <p>One final note --- sub-requests have their own resource
+    pools, which are sub-pools of the resource pool for the main
+    request. The polite way to reclaim the resources associated
+    with a sub request which you have allocated (using the
+    <code>ap_sub_req_...</code> functions) is
+    <code>ap_destroy_sub_req</code>, which frees the resource pool.
+    Before calling this function, be sure to copy anything that you
+    care about which might be allocated in the sub-request's
+    resource pool into someplace a little less volatile (for
+    instance, the filename in its <code>request_rec</code>
+    structure).</p>
+
+    <p>(Again, under most circumstances, you shouldn't feel obliged
+    to call this function; only 2K of memory or so are allocated
+    for a typical sub request, and it will be freed anyway when the
+    main request pool is cleared. It is only when you are
+    allocating many, many sub-requests for a single main request
+    that you should seriously consider the
+    <code>ap_destroy_...</code> functions).</p>
+
+    <h2><a id="config" name="config">Configuration, commands and
+    the like</a></h2>
+    One of the design goals for this server was to maintain
+    external compatibility with the NCSA 1.3 server --- that is, to
+    read the same configuration files, to process all the
+    directives therein correctly, and in general to be a drop-in
+    replacement for NCSA. On the other hand, another design goal
+    was to move as much of the server's functionality into modules
+    which have as little as possible to do with the monolithic
+    server core. The only way to reconcile these goals is to move
+    the handling of most commands from the central server into the
+    modules. 
+
+    <p>However, just giving the modules command tables is not
+    enough to divorce them completely from the server core. The
+    server has to remember the commands in order to act on them
+    later. That involves maintaining data which is private to the
+    modules, and which can be either per-server, or per-directory.
+    Most things are per-directory, including in particular access
+    control and authorization information, but also information on
+    how to determine file types from suffixes, which can be
+    modified by <code>AddType</code> and <code>DefaultType</code>
+    directives, and so forth. In general, the governing philosophy
+    is that anything which <em>can</em> be made configurable by
+    directory should be; per-server information is generally used
+    in the standard set of modules for information like
+    <code>Alias</code>es and <code>Redirect</code>s which come into
+    play before the request is tied to a particular place in the
+    underlying file system.</p>
+
+    <p>Another requirement for emulating the NCSA server is being
+    able to handle the per-directory configuration files, generally
+    called <code>.htaccess</code> files, though even in the NCSA
+    server they can contain directives which have nothing at all to
+    do with access control. Accordingly, after URI -&gt; filename
+    translation, but before performing any other phase, the server
+    walks down the directory hierarchy of the underlying
+    filesystem, following the translated pathname, to read any
+    <code>.htaccess</code> files which might be present. The
+    information which is read in then has to be <em>merged</em>
+    with the applicable information from the server's own config
+    files (either from the <code>&lt;Directory&gt;</code> sections
+    in <code>access.conf</code>, or from defaults in
+    <code>srm.conf</code>, which actually behaves for most purposes
+    almost exactly like <code>&lt;Directory /&gt;</code>).</p>
+
+    <p>Finally, after having served a request which involved
+    reading <code>.htaccess</code> files, we need to discard the
+    storage allocated for handling them. That is solved the same
+    way it is solved wherever else similar problems come up, by
+    tying those structures to the per-transaction resource
+    pool.</p>
+
+    <h3><a id="per-dir" name="per-dir">Per-directory configuration
+    structures</a></h3>
+    Let's look out how all of this plays out in
+    <code>mod_mime.c</code>, which defines the file typing handler
+    which emulates the NCSA server's behavior of determining file
+    types from suffixes. What we'll be looking at, here, is the
+    code which implements the <code>AddType</code> and
+    <code>AddEncoding</code> commands. These commands can appear in
+    <code>.htaccess</code> files, so they must be handled in the
+    module's private per-directory data, which in fact, consists of
+    two separate <code>table</code>s for MIME types and encoding
+    information, and is declared as follows: 
+<pre>
+typedef struct {
+    table *forced_types;      /* Additional AddTyped stuff */
+    table *encoding_types;    /* Added with AddEncoding... */
+} mime_dir_config;
+</pre>
+    When the server is reading a configuration file, or
+    <code>&lt;Directory&gt;</code> section, which includes one of
+    the MIME module's commands, it needs to create a
+    <code>mime_dir_config</code> structure, so those commands have
+    something to act on. It does this by invoking the function it
+    finds in the module's `create per-dir config slot', with two
+    arguments: the name of the directory to which this
+    configuration information applies (or <code>NULL</code> for
+    <code>srm.conf</code>), and a pointer to a resource pool in
+    which the allocation should happen. 
+
+    <p>(If we are reading a <code>.htaccess</code> file, that
+    resource pool is the per-request resource pool for the request;
+    otherwise it is a resource pool which is used for configuration
+    data, and cleared on restarts. Either way, it is important for
+    the structure being created to vanish when the pool is cleared,
+    by registering a cleanup on the pool if necessary).</p>
+
+    <p>For the MIME module, the per-dir config creation function
+    just <code>ap_palloc</code>s the structure above, and a creates
+    a couple of <code>table</code>s to fill it. That looks like
+    this:</p>
+<pre>
+void *create_mime_dir_config (pool *p, char *dummy)
+{
+    mime_dir_config *new =
+      (mime_dir_config *) ap_palloc (p, sizeof(mime_dir_config));
+
+    new-&gt;forced_types = ap_make_table (p, 4);
+    new-&gt;encoding_types = ap_make_table (p, 4);
+
+    return new;
+}
+</pre>
+    Now, suppose we've just read in a <code>.htaccess</code> file.
+    We already have the per-directory configuration structure for
+    the next directory up in the hierarchy. If the
+    <code>.htaccess</code> file we just read in didn't have any
+    <code>AddType</code> or <code>AddEncoding</code> commands, its
+    per-directory config structure for the MIME module is still
+    valid, and we can just use it. Otherwise, we need to merge the
+    two structures somehow. 
+
+    <p>To do that, the server invokes the module's per-directory
+    config merge function, if one is present. That function takes
+    three arguments: the two structures being merged, and a
+    resource pool in which to allocate the result. For the MIME
+    module, all that needs to be done is overlay the tables from
+    the new per-directory config structure with those from the
+    parent:</p>
+<pre>
+void *merge_mime_dir_configs (pool *p, void *parent_dirv, void *subdirv)
+{
+    mime_dir_config *parent_dir = (mime_dir_config *)parent_dirv;
+    mime_dir_config *subdir = (mime_dir_config *)subdirv;
+    mime_dir_config *new =
+      (mime_dir_config *)ap_palloc (p, sizeof(mime_dir_config));
+
+    new-&gt;forced_types = ap_overlay_tables (p, subdir-&gt;forced_types,
+                                        parent_dir-&gt;forced_types);
+    new-&gt;encoding_types = ap_overlay_tables (p, subdir-&gt;encoding_types,
+                                          parent_dir-&gt;encoding_types);
+
+    return new;
+}
+</pre>
+    As a note --- if there is no per-directory merge function
+    present, the server will just use the subdirectory's
+    configuration info, and ignore the parent's. For some modules,
+    that works just fine (<em>e.g.</em>, for the includes module,
+    whose per-directory configuration information consists solely
+    of the state of the <code>XBITHACK</code>), and for those
+    modules, you can just not declare one, and leave the
+    corresponding structure slot in the module itself
+    <code>NULL</code>. 
+
+    <h3><a id="commands" name="commands">Command handling</a></h3>
+    Now that we have these structures, we need to be able to figure
+    out how to fill them. That involves processing the actual
+    <code>AddType</code> and <code>AddEncoding</code> commands. To
+    find commands, the server looks in the module's <code>command
+    table</code>. That table contains information on how many
+    arguments the commands take, and in what formats, where it is
+    permitted, and so forth. That information is sufficient to
+    allow the server to invoke most command-handling functions with
+    pre-parsed arguments. Without further ado, let's look at the
+    <code>AddType</code> command handler, which looks like this
+    (the <code>AddEncoding</code> command looks basically the same,
+    and won't be shown here): 
+<pre>
+char *add_type(cmd_parms *cmd, mime_dir_config *m, char *ct, char *ext)
+{
+    if (*ext == '.') ++ext;
+    ap_table_set (m-&gt;forced_types, ext, ct);
+    return NULL;
+}
+</pre>
+    This command handler is unusually simple. As you can see, it
+    takes four arguments, two of which are pre-parsed arguments,
+    the third being the per-directory configuration structure for
+    the module in question, and the fourth being a pointer to a
+    <code>cmd_parms</code> structure. That structure contains a
+    bunch of arguments which are frequently of use to some, but not
+    all, commands, including a resource pool (from which memory can
+    be allocated, and to which cleanups should be tied), and the
+    (virtual) server being configured, from which the module's
+    per-server configuration data can be obtained if required. 
+
+    <p>Another way in which this particular command handler is
+    unusually simple is that there are no error conditions which it
+    can encounter. If there were, it could return an error message
+    instead of <code>NULL</code>; this causes an error to be
+    printed out on the server's <code>stderr</code>, followed by a
+    quick exit, if it is in the main config files; for a
+    <code>.htaccess</code> file, the syntax error is logged in the
+    server error log (along with an indication of where it came
+    from), and the request is bounced with a server error response
+    (HTTP error status, code 500).</p>
+
+    <p>The MIME module's command table has entries for these
+    commands, which look like this:</p>
+<pre>
+command_rec mime_cmds[] = {
+{ "AddType", add_type, NULL, OR_FILEINFO, TAKE2,
+    "a mime type followed by a file extension" },
+{ "AddEncoding", add_encoding, NULL, OR_FILEINFO, TAKE2,
+    "an encoding (<em>e.g.</em>, gzip), followed by a file extension" },
+{ NULL }
+};
+</pre>
+    The entries in these tables are: 
+
+    <ul>
+      <li>The name of the command</li>
+
+      <li>The function which handles it</li>
+
+      <li>a <code>(void *)</code> pointer, which is passed in the
+      <code>cmd_parms</code> structure to the command handler ---
+      this is useful in case many similar commands are handled by
+      the same function.</li>
+
+      <li>A bit mask indicating where the command may appear. There
+      are mask bits corresponding to each
+      <code>AllowOverride</code> option, and an additional mask
+      bit, <code>RSRC_CONF</code>, indicating that the command may
+      appear in the server's own config files, but <em>not</em> in
+      any <code>.htaccess</code> file.</li>
+
+      <li>A flag indicating how many arguments the command handler
+      wants pre-parsed, and how they should be passed in.
+      <code>TAKE2</code> indicates two pre-parsed arguments. Other
+      options are <code>TAKE1</code>, which indicates one
+      pre-parsed argument, <code>FLAG</code>, which indicates that
+      the argument should be <code>On</code> or <code>Off</code>,
+      and is passed in as a boolean flag, <code>RAW_ARGS</code>,
+      which causes the server to give the command the raw, unparsed
+      arguments (everything but the command name itself). There is
+      also <code>ITERATE</code>, which means that the handler looks
+      the same as <code>TAKE1</code>, but that if multiple
+      arguments are present, it should be called multiple times,
+      and finally <code>ITERATE2</code>, which indicates that the
+      command handler looks like a <code>TAKE2</code>, but if more
+      arguments are present, then it should be called multiple
+      times, holding the first argument constant.</li>
+
+      <li>Finally, we have a string which describes the arguments
+      that should be present. If the arguments in the actual config
+      file are not as required, this string will be used to help
+      give a more specific error message. (You can safely leave
+      this <code>NULL</code>).</li>
+    </ul>
+    Finally, having set this all up, we have to use it. This is
+    ultimately done in the module's handlers, specifically for its
+    file-typing handler, which looks more or less like this; note
+    that the per-directory configuration structure is extracted
+    from the <code>request_rec</code>'s per-directory configuration
+    vector by using the <code>ap_get_module_config</code> function.
+    
+<pre>
+int find_ct(request_rec *r)
+{
+    int i;
+    char *fn = ap_pstrdup (r-&gt;pool, r-&gt;filename);
+    mime_dir_config *conf = (mime_dir_config *)
+             ap_get_module_config(r-&gt;per_dir_config, &amp;mime_module);
+    char *type;
+
+    if (S_ISDIR(r-&gt;finfo.st_mode)) {
+        r-&gt;content_type = DIR_MAGIC_TYPE;
+        return OK;
+    }
+
+    if((i=ap_rind(fn,'.')) &lt; 0) return DECLINED;
+    ++i;
+
+    if ((type = ap_table_get (conf-&gt;encoding_types, &amp;fn[i])))
+    {
+        r-&gt;content_encoding = type;
+
+        /* go back to previous extension to try to use it as a type */
+
+        fn[i-1] = '\0';
+        if((i=ap_rind(fn,'.')) &lt; 0) return OK;
+        ++i;
+    }
+
+    if ((type = ap_table_get (conf-&gt;forced_types, &amp;fn[i])))
+    {
+        r-&gt;content_type = type;
+    }
+
+    return OK;
+}
+
+</pre>
+
+    <h3><a id="servconf" name="servconf">Side notes --- per-server
+    configuration, virtual servers, <em>etc</em>.</a></h3>
+    The basic ideas behind per-server module configuration are
+    basically the same as those for per-directory configuration;
+    there is a creation function and a merge function, the latter
+    being invoked where a virtual server has partially overridden
+    the base server configuration, and a combined structure must be
+    computed. (As with per-directory configuration, the default if
+    no merge function is specified, and a module is configured in
+    some virtual server, is that the base configuration is simply
+    ignored). 
+
+    <p>The only substantial difference is that when a command needs
+    to configure the per-server private module data, it needs to go
+    to the <code>cmd_parms</code> data to get at it. Here's an
+    example, from the alias module, which also indicates how a
+    syntax error can be returned (note that the per-directory
+    configuration argument to the command handler is declared as a
+    dummy, since the module doesn't actually have per-directory
+    config data):</p>
+<pre>
+char *add_redirect(cmd_parms *cmd, void *dummy, char *f, char *url)
+{
+    server_rec *s = cmd-&gt;server;
+    alias_server_conf *conf = (alias_server_conf *)
+            ap_get_module_config(s-&gt;module_config,&amp;alias_module);
+    alias_entry *new = ap_push_array (conf-&gt;redirects);
+
+    if (!ap_is_url (url)) return "Redirect to non-URL";
+
+    new-&gt;fake = f; new-&gt;real = url;
+    return NULL;
+}
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-A.html b/htdocs/manual/misc/FAQ-A.html
new file mode 100644 (file)
index 0000000..ff0d7e2
--- /dev/null
@@ -0,0 +1,395 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.13 $ ($Date: 2002/12/23 02:12:13 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="1">
+        <strong>Background</strong> 
+
+        <ol>
+          <li><a href="#what">What is Apache?</a></li>
+
+          <li><a href="#why">How and why was Apache
+          created?</a></li>
+
+          <li><a href="#name">Why the name "Apache"?</a></li>
+
+          <li><a href="#compare">OK, so how does Apache compare to
+          other servers?</a></li>
+
+          <li><a href="#tested">How thoroughly tested is
+          Apache?</a></li>
+
+          <li><a href="#future">What are the future plans for
+          Apache?</a></li>
+
+          <li><a href="#support">Whom do I contact for
+          support?</a></li>
+
+          <li><a href="#more">Is there any more information on
+          Apache?</a></li>
+
+          <li><a href="#where">Where can I get Apache?</a></li>
+
+          <li><a href="#logo">May I use the Apache logo on my
+          product or Web site?</a></li>
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>A. Background</h3>
+
+    <ol>
+      <li>
+        <a id="what" name="what"><strong>What is
+        Apache?</strong></a> 
+
+        <p>The Apache httpd server</p>
+
+        <ul>
+          <li>is a powerful, flexible, HTTP/1.1 compliant web
+          server</li>
+
+          <li>implements the latest protocols, including HTTP/1.1
+          (RFC2616)</li>
+
+          <li>is highly configurable and extensible with
+          third-party modules</li>
+
+          <li>can be customised by writing 'modules' using the
+          Apache module API</li>
+
+          <li>provides full source code and comes with an
+          unrestrictive license</li>
+
+          <li>runs on Windows NT/9x, Netware 5.x and above, OS/2, and most
+          versions of Unix, as well as several other operating
+          systems</li>
+
+          <li>is actively being developed</li>
+
+          <li>encourages user feedback through new ideas, bug
+          reports and patches</li>
+
+          <li>
+            implements many frequently requested features,
+            including:<br />
+            <br />
+             
+
+            <dl>
+              <dt>DBM databases for authentication</dt>
+
+              <dd>allows you to easily set up password-protected
+              pages with enormous numbers of authorized users,
+              without bogging down the server.</dd>
+
+              <dt>Customized responses to errors and problems</dt>
+
+              <dd>Allows you to set up files, or even CGI scripts,
+              which are returned by the server in response to
+              errors and problems, e.g. setup a script to intercept
+              <strong>500 Server Error</strong>s and perform
+              on-the-fly diagnostics for both users and
+              yourself.</dd>
+
+              <dt>Multiple DirectoryIndex directives</dt>
+
+              <dd>Allows you to say <code>DirectoryIndex index.html
+              index.cgi</code>, which instructs the server to
+              either send back <code>index.html</code> or run
+              <code>index.cgi</code> when a directory URL is
+              requested, whichever it finds in the directory.</dd>
+
+              <dt>Unlimited flexible URL rewriting and
+              aliasing</dt>
+
+              <dd>Apache has no fixed limit on the numbers of
+              Aliases and Redirects which may be declared in the
+              config files. In addition, a powerful rewriting
+              engine can be used to solve most URL manipulation
+              problems.</dd>
+
+              <dt>Content negotiation</dt>
+
+              <dd>i.e. the ability to automatically serve clients
+              of varying sophistication and HTML level compliance,
+              with documents which offer the best representation of
+              information that the client is capable of
+              accepting.</dd>
+
+              <dt>Virtual Hosts</dt>
+
+              <dd>A much requested feature, sometimes known as
+              multi-homed servers. This allows the server to
+              distinguish between requests made to different IP
+              addresses or names (mapped to the same machine).
+              Apache also offers dynamically configurable
+              mass-virtual hosting.</dd>
+
+              <dt>Configurable Reliable Piped Logs</dt>
+
+              <dd>You can configure Apache to generate logs in the
+              format that you want. In addition, on most Unix
+              architectures, Apache can send log files to a pipe,
+              allowing for log rotation, hit filtering, real-time
+              splitting of multiple vhosts into separate logs, and
+              asynchronous DNS resolving on the fly.</dd>
+            </dl>
+          </li>
+        </ul>
+        <hr />
+      </li>
+
+      <li>
+        <a id="why" name="why"><strong>How and why was Apache
+        created?</strong></a> 
+
+        <p>The <a
+        href="http://httpd.apache.org/ABOUT_APACHE.html">About
+        Apache</a> document explains how the Apache project evolved
+        from its beginnings as an outgrowth of the NCSA httpd
+        project to its current status as one of the fastest, most
+        efficient, and most functional web servers in
+        existence.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="name" name="name"><strong>Why the name
+        "Apache"?</strong></a> 
+
+        <p>The name 'Apache' was chosen from respect for
+        the Native American Indian tribe of Apache (Ind&eacute;),
+        <a href="http://www.indians.org/welker/apache.htm">well-known
+        for their superior skills in warfare strategy and their
+        inexhaustible endurance</a>. For more information on the
+        Apache Nation, we suggest searching
+        <a href="http://www.google.com/search?q=Apache+Nation">Google</a>,
+        <a href="http://www.northernlight.com/nlquery.fcg?qr=Apache+Nation"
+          >Northernlight</a>, or
+        <a href="http://www.alltheweb.com/cgi-bin/asearch?query=Apache+Nation"
+          >AllTheWeb</a>.</p>
+
+        <p>Secondarily, and more popularly (though incorrectly) accepted,
+        it's a considered cute name which stuck. Apache is "<strong>A
+        PA</strong>t<strong>CH</strong>y server". It was based on
+        some existing code and a series of "patch files".</p>
+
+        <hr />
+      </li>
+
+      <li>
+        <a id="compare" name="compare"><strong>OK, so how does
+        Apache compare to other servers?</strong></a> 
+
+        <p>For an independent assessment, see <a
+        href="http://webcompare.internet.com/">Web
+        Compare</a>.</p>
+
+        <p>Apache has been shown to be substantially faster, more
+        stable, and more feature-full than many other web servers.
+        Although certain commercial servers have claimed to surpass
+        Apache's speed (it has not been demonstrated that any of
+        these "benchmarks" are a good way of measuring WWW server
+        speed at any rate), we feel that it is better to have a
+        mostly-fast free server than an extremely-fast server that
+        costs thousands of dollars. Apache is run on sites that get
+        millions of hits per day, and they have experienced no
+        performance difficulties.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="tested" name="tested"><strong>How thoroughly tested
+        is Apache?</strong></a> 
+
+        <p>Apache is run on over 6 million Internet servers (as of
+        February 2000). It has been tested thoroughly by both
+        developers and users. The Apache Group maintains rigorous
+        standards before releasing new versions of their server,
+        and our server runs without a hitch on over one half of all
+        WWW servers available on the Internet. When bugs do show
+        up, we release patches and new versions as soon as they are
+        available.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="future" name="future"><strong>What are the future
+        plans for Apache?</strong></a> 
+
+        <ul>
+          <li>to continue to be an "open source" no-charge-for-use
+          HTTP server,</li>
+
+          <li>to keep up with advances in HTTP protocol and web
+          developments in general,</li>
+
+          <li>to collect suggestions for fixes/improvements from
+          its users,</li>
+
+          <li>to respond to needs of large volume providers as well
+          as occasional users.</li>
+        </ul>
+        <hr />
+      </li>
+
+      <li>
+        <a id="support" name="support"><strong>Whom do I contact
+        for support?</strong></a> 
+
+        <p>There is no official support for Apache. None of the
+        developers want to be swamped by a flood of trivial
+        questions that can be resolved elsewhere. Bug reports and
+        suggestions should be sent <em>via</em> <a
+        href="http://httpd.apache.org/bug_report.html">the bug
+        report page</a>. Other questions should be directed to the
+        <a href="http://httpd.apache.org/userslist.html">Apache HTTP
+        Server Users List</a> or the
+        <a
+        href="news:comp.infosystems.www.servers.unix">comp.infosystems.www.servers.unix</a>
+        or <a
+        href="news:comp.infosystems.www.servers.ms-windows">comp.infosystems.www.servers.ms-windows</a>
+        newsgroup (as appropriate for the platform you use), where
+        some of the Apache team lurk, in the company of many other
+        httpd gurus who should be able to help.</p>
+
+        <p>Commercial support for Apache is, however, available
+        from a number of third parties.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="more" name="more"><strong>Is there any more
+        information available on Apache?</strong></a> 
+
+        <p>Indeed there is. See the main <a
+        href="http://httpd.apache.org/">Apache web site</a>. There
+        is also a regular electronic publication called <a
+        href="http://www.apacheweek.com/" rel="Help"><cite>Apache
+        Week</cite></a> available. Links to relevant <cite>Apache
+        Week</cite> articles are included below where appropriate.
+        There are also some <a
+        href="http://httpd.apache.org/info/apache_books.html">Apache-specific
+        books</a> available.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="where" name="where"><strong>Where can I get
+        Apache?</strong></a> 
+
+        <p>You can find out how to download the source for Apache
+        at the project's <a href="http://httpd.apache.org/">main
+        web page</a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="logo" name="logo"><b>May I use the Apache logo on my
+        product or Web site?</b></a> 
+
+        <p>You may <b>NOT</b> use any original artwork from the
+        Apache Software Foundation, nor make or use modified
+        versions of such artwork, except under the following
+        conditions:</p>
+
+        <ul>
+          <li>You may use the <a
+          href="../../apache_pb.gif">'Powered by Apache'
+          graphic</a> on a Web site that is being served by the
+          Apache HTTP server software.</li>
+
+          <li>You may use the aforementioned 'Powered by Apache'
+          graphic or the <a
+          href="http://www.apache.org/images/asf_logo.gif">
+          Apache Software Foundation logo</a> in product
+          description and promotional material <b>IF and ONLY
+          IF</b> such use can in no way be interpreted as anything
+          other than an attribution. Using the Apache name and
+          artwork in a manner that implies endorsement of a product
+          or service is <b>strictly forbidden</b>.</li>
+        </ul>
+        <hr />
+      </li>
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-B.html b/htdocs/manual/misc/FAQ-B.html
new file mode 100644 (file)
index 0000000..2a89938
--- /dev/null
@@ -0,0 +1,464 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.14 $ ($Date: 2003/06/07 06:01:40 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="2">
+        <strong>General Technical Questions</strong> 
+
+        <ol>
+          <li><a href="#what2do">"Why can't I ...? Why won't ...
+          work?" What to do in case of problems</a></li>
+
+          <li><a href="#compatible">How compatible is Apache with
+          my existing NCSA 1.3 setup?</a></li>
+
+          <li><a href="#year2000">Is Apache Year 2000
+          compliant?</a></li>
+
+          <li><a href="#submit_patch">How do I submit a patch to
+          the Apache Group?</a></li>
+
+          <li><a href="#domination">Why has Apache stolen my
+          favourite site's Internet address?</a></li>
+
+          <li><a href="#apspam">Why am I getting spam mail from the
+          Apache site?</a></li>
+
+          <li><a href="#redist">May I include the Apache software
+          on a CD or other package I'm distributing?</a></li>
+
+          <li><a href="#zoom">What's the best hardware/operating
+          system/... How do I get the most out of my Apache Web
+          server?</a></li>
+
+          <li><a href="#regex">What are "regular
+          expressions"?</a></li>
+
+          <li><a href="#binaries">Why isn't there a binary for my
+          platform?</a></li>
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>B. General Technical Questions</h3>
+
+    <ol>
+      <li>
+        <a id="what2do" name="what2do"><strong>"Why can't I ...?
+        Why won't ... work?" What to do in case of
+        problems</strong></a> 
+
+        <p>If you are having trouble with your Apache server
+        software, you should take the following steps:</p>
+
+        <ol>
+          <li>
+            <strong>Check the errorlog!</strong> 
+
+            <p>Apache tries to be helpful when it encounters a
+            problem. In many cases, it will provide some details by
+            writing one or messages to the server error log.
+            Sometimes this is enough for you to diagnose &amp; fix
+            the problem yourself (such as file permissions or the
+            like). The default location of the error log is
+            <samp>/usr/local/apache/logs/error_log</samp>, but see
+            the <a
+            href="../mod/core.html#errorlog"><samp>ErrorLog</samp></a>
+            directive in your config files for the location on your
+            server.</p>
+          </li>
+
+          <li>
+            <strong>Check the <a
+            href="http://httpd.apache.org/docs/misc/FAQ.html">FAQ</a>!</strong>
+            
+
+            <p>The latest version of the Apache Frequently-Asked
+            Questions list can always be found at the main Apache
+            web site.</p>
+          </li>
+
+          <li>
+            <strong>Check the Apache bug database</strong> 
+
+            <p>Most problems that get reported to The Apache Group
+            are recorded in the <a
+            href="http://bugs.apache.org/">bug database</a>.
+            <em><strong>Please</strong> check the existing reports,
+            open <strong>and</strong> closed, before adding
+            one.</em> If you find that your issue has already been
+            reported, please <em>don't</em> add a "me, too" report.
+            If the original report isn't closed yet, we suggest
+            that you check it periodically. You might also consider
+            contacting the original submitter, because there may be
+            an email exchange going on about the issue that isn't
+            getting recorded in the database.</p>
+          </li>
+
+          <li>
+            <strong>Ask in a user support group.</strong> 
+
+            <p>A lot of common problems never make it to the bug
+            database because there's already high Q&amp;A traffic
+            about them in the <a
+            href="http://httpd.apache.org/userslist.html">Users
+            mailing list</a> or <a
+            href="news:comp.infosystems.www.servers.unix"><samp>comp.infosystems.www.servers.unix</samp></a>
+            and related newsgroups. These newsgroups are also
+            available via <a
+            href="http://groups.google.com/groups?group=comp.infosystems.www.servers">
+            Google</a>. Many Apache users, and some of the developers,
+            can be found roaming their virtual halls, so it is suggested
+            that you seek wisdom there. The chances are good that
+            you'll get a faster answer there than from the bug
+            database, even if you <em>don't</em> see your question
+            already posted.</p>
+          </li>
+
+          <li>
+            <strong>If all else fails, report the problem in the
+            bug database</strong> 
+
+            <p>If you've gone through those steps above that are
+            appropriate and have obtained no relief, then please
+            <em>do</em> let The Apache Group know about the problem
+            by <a
+            href="http://httpd.apache.org/bug_report.html">logging
+            a bug report</a>.</p>
+
+            <p>If your problem involves the server crashing and
+            generating a core dump, please include a backtrace (if
+            possible). As an example,</p>
+
+            <dl>
+              <dd><code># cd <em>ServerRoot</em><br />
+               # dbx httpd core<br />
+               (dbx) where</code></dd>
+            </dl>
+
+            <p>(Substitute the appropriate locations for your
+            <samp>ServerRoot</samp> and your <samp>httpd</samp> and
+            <samp>core</samp> files. You may have to use
+            <code>gdb</code> instead of <code>dbx</code>.)</p>
+          </li>
+        </ol>
+        <hr />
+      </li>
+
+      <li>
+        <a id="compatible" name="compatible"><strong>How compatible
+        is Apache with my existing NCSA 1.3 setup?</strong></a> 
+
+        <p>Apache attempts to offer all the features and
+        configuration options of NCSA httpd 1.3, as well as many of
+        the additional features found in NCSA httpd 1.4 and NCSA
+        httpd 1.5.</p>
+
+        <p>NCSA httpd appears to be moving toward adding
+        experimental features which are not generally required at
+        the moment. Some of the experiments will succeed while
+        others will inevitably be dropped. The Apache philosophy is
+        to add what's needed as and when it is needed.</p>
+
+        <p>Friendly interaction between Apache and NCSA developers
+        should ensure that fundamental feature enhancements stay
+        consistent between the two servers for the foreseeable
+        future.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="year2000" name="year2000"><strong>Is Apache Year
+        2000 compliant?</strong></a> 
+
+        <p>Yes, Apache is Year 2000 compliant.</p>
+
+        <p>Apache internally never stores years as two digits. On
+        the HTTP protocol level RFC1123-style addresses are
+        generated which is the only format a HTTP/1.1-compliant
+        server should generate. To be compatible with older
+        applications Apache recognizes ANSI C's
+        <code>asctime()</code> and RFC850-/RFC1036-style date
+        formats, too. The <code>asctime()</code> format uses
+        four-digit years, but the RFC850 and RFC1036 date formats
+        only define a two-digit year. If Apache sees such a date
+        with a value less than 70 it assumes that the century is
+        <samp>20</samp> rather than <samp>19</samp>.</p>
+
+        <p>Although Apache is Year 2000 compliant, you may still
+        get problems if the underlying OS has problems with dates
+        past year 2000 (<em>e.g.</em>, OS calls which accept or
+        return year numbers). Most (UNIX) systems store dates
+        internally as signed 32-bit integers which contain the
+        number of seconds since 1<sup>st</sup> January 1970, so the
+        magic boundary to worry about is the year 2038 and not
+        2000. But modern operating systems shouldn't cause any
+        trouble at all.</p>
+
+        <p>Users of Apache 1.2.x should upgrade to a current
+        version of Apache 1.3 (see <a
+        href="../new_features_1_3.html#misc">year-2000 improvements
+        in Apache 1.3</a> for details).</p>
+
+        <p>The Apache HTTP Server project is an open-source
+        software product of the Apache Software Foundation. The
+        project and the Foundation <b>cannot</b> offer legal
+        assurances regarding any suitability of the software for
+        your application. There are several commercial Apache
+        support organizations and derivative server products
+        available that may be able to stand behind the software and
+        provide you with any assurances you may require. You may
+        find links to some of these vendors at <samp>&lt;<a
+        href="http://www.apache.org/info/support.cgi">http://www.apache.org/info/support.cgi</a>&gt;</samp>.</p>
+
+        <p>The Apache HTTP server software is distributed with the
+        following disclaimer, found in the software license:</p>
+<pre>
+   THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+   EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+   PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
+   ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+   OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+        <hr />
+      </li>
+
+      <li>
+        <a id="submit_patch" name="submit_patch"><strong>How do I
+        submit a patch to the Apache Group?</strong></a> 
+
+        <p>The Apache Group encourages patches from outside
+        developers. There are 2 main "types" of patches: small
+        bugfixes and general improvements. Bugfixes should be
+        submitting using the Apache <a
+        href="http://httpd.apache.org/bug_report.html">bug report
+        page</a>. Improvements, modifications, and additions should
+        follow the instructions below.</p>
+
+        <p>In general, the first course of action is to be a member
+        of the <samp>dev@httpd.apache.org</samp> mailing list. This
+        indicates to the Group that you are closely following the
+        latest Apache developments. Your patch file should be
+        generated using either '<code>diff&nbsp;-c</code>' or
+        '<code>diff&nbsp;-u</code>' against the latest CVS tree. To
+        submit your patch, send email to
+        <samp>dev@httpd.apache.org</samp> with a
+        <samp>Subject:</samp> line that starts with
+        <samp>[PATCH]</samp> and includes a general description of
+        the patch. In the body of the message, the patch should be
+        clearly described and then included at the end of the
+        message. If the patch-file is long, you can note a URL to
+        the file instead of the file itself. Use of MIME
+        enclosures/attachments should be avoided.</p>
+
+        <p>Be prepared to respond to any questions about your
+        patches and possibly defend your code. If your patch
+        results in a lot of discussion, you may be asked to submit
+        an updated patch that incorporates all changes and
+        suggestions.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="domination" name="domination"><strong>Why has Apache
+        stolen my favourite site's Internet address?</strong></a> 
+
+        <p>The simple answer is: "It hasn't." This misconception is
+        usually caused by the site in question having migrated to
+        the Apache Web server software, but not having migrated the
+        site's content yet. When Apache is installed, the default
+        page that gets installed tells the Webmaster the
+        installation was successful. The expectation is that this
+        default page will be replaced with the site's real content.
+        If it doesn't, complain to the Webmaster, not to the Apache
+        project -- we just make the software and aren't responsible
+        for what people do (or don't do) with it.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="apspam" name="apspam"><strong>Why am I getting spam
+        mail from the Apache site?</strong></a> 
+
+        <p>The short answer is: "You aren't." Usually when someone
+        thinks the Apache site is originating spam, it's because
+        they've traced the spam to a Web site, and the Web site
+        says it's using Apache. See the <a
+        href="#domination">previous FAQ entry</a> for more details
+        on this phenomenon.</p>
+
+        <p>No marketing spam originates from the Apache site. The
+        only mail that comes from the site goes only to addresses
+        that have been <em>requested</em> to receive the mail.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="redist" name="redist"><strong>May I include the
+        Apache software on a CD or other package I'm
+        distributing?</strong></a> 
+
+        <p>The detailed answer to this question can be found in the
+        Apache license, which is included in the Apache
+        distribution in the file <code>LICENSE</code>. You can also
+        find it on the Web at <samp>&lt;<a
+        href="http://www.apache.org/LICENSE.txt">http://www.apache.org/LICENSE.txt</a>&gt;</samp>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="zoom" name="zoom"><strong>What's the best
+        hardware/operating system/... How do I get the most out of
+        my Apache Web server?</strong></a> 
+
+        <p>Check out Dean Gaudet's <a
+        href="perf-tuning.html">performance tuning page</a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="regex" name="regex"><strong>What are "regular
+        expressions"?</strong></a> 
+
+        <p>Regular expressions are a way of describing a pattern -
+        for example, "all the words that begin with the letter A"
+        or "every 10-digit phone number" or even "Every sentence
+        with two commas in it, and no capital letter Q". Regular
+        expressions (aka "regex"s) are useful in Apache because
+        they let you apply certain attributes against collections
+        of files or resources in very flexible ways - for example,
+        all .gif and .jpg files under any "images" directory could
+        be written as /\/images\/.*(jpg|gif)$/.</p>
+
+        <p>The best overview around is probably the one which comes
+        with Perl. We implement a simple subset of Perl's regex
+        support, but it's still a good way to learn what they mean.
+        You can start by going to the <a
+        href="http://www.perl.com/doc/manual/html/pod/perlre.html">CPAN
+        page on regular expressions</a>, and branching out from
+        there.</p> <hr />
+      </li>
+
+      <li>
+        <a id="binaries" name="binaries"><b>Why isn't there a
+        binary for my platform?</b></a> 
+
+        <p>The developers make sure that the software builds and
+        works correctly on the platforms available to them; this
+        does <i>not</i> necessarily mean that <i>your</i> platform
+        is one of them. In addition, the Apache HTTP server project
+        is primarily source oriented, meaning that distributing
+        valid and buildable source code is the purpose of a
+        release, not making sure that there is a binary package for
+        all of the supported platforms.</p>
+
+        <p>If you don't see a kit for your platform listed in the
+        binary distribution area (&lt;URL:<a
+        href="http://httpd.apache.org/dist/httpd/binaries/">http://httpd.apache.org/dist/httpd/binaries/</a>&gt;),
+        it means either that the platform isn't available to any of
+        the developers, or that they just haven't gotten around to
+        preparing a binary for it. As this is a voluntary project,
+        they are under no obligation to do so. Users are encouraged
+        and expected to build the software themselves.</p>
+
+        <p>The sole exception to these practices is the Windows
+        package. Unlike most Unix and Unix-like platforms, Windows
+        systems do not come with a bundled software development
+        environment, so we <i>do</i> prepare binary kits for
+        Windows when we make a release. Again, however, it's a
+        voluntary thing and only a limited number of the developers
+        have the capability to build the InstallShield package, so
+        the Windows release may lag somewhat behind the source
+        release. This lag should be no more than a few days at
+        most.</p>
+        <hr />
+      </li>
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-C.html b/htdocs/manual/misc/FAQ-C.html
new file mode 100644 (file)
index 0000000..56ef285
--- /dev/null
@@ -0,0 +1,276 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.3 $ ($Date: 2001/10/08 01:26:54 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="3">
+        <strong>Building Apache</strong> 
+
+        <ol>
+          <li><a href="#bind8.1">Why do I get an error about an
+          undefined reference to "<samp>__inet_ntoa</samp>" or
+          other <samp>__inet_*</samp> symbols?</a></li>
+
+          <li><a href="#cantbuild">Why won't Apache compile with my
+          system's <samp>cc</samp>?</a></li>
+
+          <li><a href="#linuxiovec">Why do I get complaints about
+          redefinition of "<code>struct iovec</code>" when
+          compiling under Linux?</a></li>
+
+          <li><a href="#broken-gcc">I'm using gcc and I get some
+          compilation errors, what is wrong?</a></li>
+
+          <li><a href="#glibc-crypt">I'm using RedHat Linux 5.0, or
+          some other <samp>glibc</samp>-based Linux system, and I
+          get errors with the <code>crypt</code> function when I
+          attempt to build Apache 1.2.</a></li>
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>C. Building Apache</h3>
+
+    <ol>
+      <li>
+        <a id="bind8.1" name="bind8.1"><strong>Why do I get an
+        error about an undefined reference to
+        "<samp>__inet_ntoa</samp>" or other <samp>__inet_*</samp>
+        symbols?</strong></a> 
+
+        <p>If you have installed <a
+        href="http://www.isc.org/bind.html">BIND-8</a> then this is
+        normally due to a conflict between your include files and
+        your libraries. BIND-8 installs its include files and
+        libraries <code>/usr/local/include/</code> and
+        <code>/usr/local/lib/</code>, while the resolver that comes
+        with your system is probably installed in
+        <code>/usr/include/</code> and <code>/usr/lib/</code>. If
+        your system uses the header files in
+        <code>/usr/local/include/</code> before those in
+        <code>/usr/include/</code> but you do not use the new
+        resolver library, then the two versions will conflict.</p>
+
+        <p>To resolve this, you can either make sure you use the
+        include files and libraries that came with your system or
+        make sure to use the new include files and libraries.
+        Adding <code>-lbind</code> to the
+        <code>EXTRA_LDFLAGS</code> line in your
+        <samp>Configuration</samp> file, then re-running
+        <samp>Configure</samp>, should resolve the problem. (Apache
+        versions 1.2.* and earlier use <code>EXTRA_LFLAGS</code>
+        instead.)</p>
+
+        <p><strong>Note:</strong>As of BIND 8.1.1, the bind
+        libraries and files are installed under
+        <samp>/usr/local/bind</samp> by default, so you should not
+        run into this problem. Should you want to use the bind
+        resolvers you'll have to add the following to the
+        respective lines:</p>
+
+        <dl>
+          <dd><code>EXTRA_CFLAGS=-I/usr/local/bind/include<br />
+           EXTRA_LDFLAGS=-L/usr/local/bind/lib<br />
+           EXTRA_LIBS=-lbind</code></dd>
+        </dl>
+        <hr />
+      </li>
+
+      <li>
+        <a id="cantbuild" name="cantbuild"><strong>Why won't Apache
+        compile with my system's <samp>cc</samp>?</strong></a> 
+
+        <p>If the server won't compile on your system, it is
+        probably due to one of the following causes:</p>
+
+        <ul>
+          <li><strong>The <samp>Configure</samp> script doesn't
+          recognize your system environment.</strong><br />
+           This might be either because it's completely unknown or
+          because the specific environment (include files, OS
+          version, <em>et cetera</em>) isn't explicitly handled. If
+          this happens, you may need to port the server to your OS
+          yourself.</li>
+
+          <li><strong>Your system's C compiler is
+          garbage.</strong><br />
+           Some operating systems include a default C compiler that
+          is either not ANSI C-compliant or suffers from other
+          deficiencies. The usual recommendation in cases like this
+          is to acquire, install, and use <samp>gcc</samp>.</li>
+
+          <li><strong>Your <samp>include</samp> files may be
+          confused.</strong><br />
+           In some cases, we have found that a compiler
+          installation or system upgrade has left the C header
+          files in an inconsistent state. Make sure that your
+          include directory tree is in sync with the compiler and
+          the operating system.</li>
+
+          <li><strong>Your operating system or compiler may be out
+          of revision.</strong><br />
+           Software vendors (including those that develop operating
+          systems) issue new releases for a reason; sometimes to
+          add functionality, but more often to fix bugs that have
+          been discovered. Try upgrading your compiler and/or your
+          operating system.</li>
+        </ul>
+
+        <p>The Apache Group tests the ability to build the server
+        on many different platforms. Unfortunately, we can't test
+        all of the OS platforms there are. If you have verified
+        that none of the above issues is the cause of your problem,
+        and it hasn't been reported before, please submit a <a
+        href="http://httpd.apache.org/bug_report.html">problem
+        report</a>. Be sure to include <em>complete</em> details,
+        such as the compiler &amp; OS versions and exact error
+        messages.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="linuxiovec" name="linuxiovec"><strong>Why do I get
+        complaints about redefinition of "<code>struct
+        iovec</code>" when compiling under Linux?</strong></a> 
+
+        <p>This is a conflict between your C library includes and
+        your kernel includes. You need to make sure that the
+        versions of both are matched properly. There are two
+        workarounds, either one will solve the problem:</p>
+
+        <ul>
+          <li>Remove the definition of <code>struct iovec</code>
+          from your C library includes. It is located in
+          <code>/usr/include/sys/uio.h</code>.
+          <strong>Or,</strong></li>
+
+          <li>Add <code>-DNO_WRITEV</code> to the
+          <code>EXTRA_CFLAGS</code> line in your
+          <samp>Configuration</samp> and reconfigure/rebuild. This
+          hurts performance and should only be used as a last
+          resort.</li>
+        </ul>
+        <hr />
+      </li>
+
+      <li>
+        <a id="broken-gcc" name="broken-gcc"><strong>I'm using gcc
+        and I get some compilation errors, what is
+        wrong?</strong></a> 
+
+        <p>GCC parses your system header files and produces a
+        modified subset which it uses for compiling. This behavior
+        ties GCC tightly to the version of your operating system.
+        So, for example, if you were running IRIX 5.3 when you
+        built GCC and then upgrade to IRIX 6.2 later, you will have
+        to rebuild GCC. Similarly for Solaris 2.4, 2.5, or 2.5.1
+        when you upgrade to 2.6. Sometimes you can type "gcc -v"
+        and it will tell you the version of the operating system it
+        was built against.</p>
+
+        <p>If you fail to do this, then it is very likely that
+        Apache will fail to build. One of the most common errors is
+        with <code>readv</code>, <code>writev</code>, or
+        <code>uio.h</code>. This is <strong>not</strong> a bug with
+        Apache. You will need to re-install GCC.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="glibc-crypt" name="glibc-crypt"><strong>I'm using
+        RedHat Linux 5.0, or some other <samp>glibc</samp>-based
+        Linux system, and I get errors with the <code>crypt</code>
+        function when I attempt to build Apache 1.2.</strong></a> 
+
+        <p><samp>glibc</samp> puts the <code>crypt</code> function
+        into a separate library. Edit your
+        <code>src/Configuration</code> file and set this:</p>
+
+        <dl>
+          <dd><code>EXTRA_LIBS=-lcrypt</code></dd>
+        </dl>
+
+        <p>Then re-run <samp>src/Configure</samp> and re-execute
+        the make.</p>
+        <hr />
+      </li>
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-D.html b/htdocs/manual/misc/FAQ-D.html
new file mode 100644 (file)
index 0000000..1c768f2
--- /dev/null
@@ -0,0 +1,569 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.21 $ ($Date: 2003/07/01 22:42:13 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="4">
+        <strong>Error Log Messages and Problems Starting
+        Apache</strong> 
+
+        <ol>
+          <li><a href="#setgid">Why do I get "<samp>setgid: Invalid
+          argument</samp>" at startup?</a></li>
+
+          <li><a href="#nodelay">Why am I getting "<samp>httpd:
+          could not set socket option TCP_NODELAY</samp>" in my
+          error log?</a></li>
+
+          <li><a href="#peerreset">Why am I getting
+          "<samp>connection reset by peer</samp>" in my error
+          log?</a></li>
+
+          <li><a href="#wheres-the-dump">The errorlog says Apache
+          dumped core, but where's the dump file?</a></li>
+
+          <li><a href="#linux-shmget">When I run it under Linux I
+          get "shmget: function not found", what should I
+          do?</a></li>
+
+          <li><a href="#nfslocking">Server hangs, or fails to
+          start, and/or error log fills with "<samp>fcntl:
+          F_SETLKW: No record locks available</samp>" or similar
+          messages</a></li>
+
+          <li><a href="#aixccbug">Why am I getting "<samp>Expected
+          &lt;/Directory&gt; but saw &lt;/Directory&gt;</samp>"
+          when I try to start Apache?</a></li>
+
+          <li><a href="#redhat">I'm using RedHat Linux and I have
+          problems with httpd dying randomly or not restarting
+          properly</a></li>
+
+          <li><a href="#stopping">I upgraded from an Apache version
+          earlier than 1.2.0 and suddenly I have problems with
+          Apache dying randomly or not restarting properly</a></li>
+
+          <li><a href="#setservername">When I try to start Apache
+          from a DOS window, I get a message like "<samp>Cannot
+          determine host name. Use ServerName directive to set it
+          manually.</samp>" What does this mean?</a></li>
+
+          <li><a href="#ws2_32dll">When I try to start Apache for
+          Windows, I get a message like "<samp>Unable To Locate
+          WS2_32.DLL...</samp>". What should I do?</a></li>
+
+          <li><a href="#WSADuplicateSocket">Apache for Windows does
+          not start. Error log contains this message "<samp>[crit]
+          (10045) The attempted operation is not supported for the
+          type of object referenced: Parent: WSADuplicateSocket
+          failed for socket ###</samp>". What does this
+          mean?</a></li>
+
+          <li><a href="#err1067">When I try to start Apache on
+          Windows, I get a message like "<code>System error 1067
+          has occurred. The process terminated
+          unexpectedly.</code>" What does this mean?</a></li>
+
+          <li><a href="#suseFDN">On a SuSE Linux system, I try and 
+          configure access control using basic authentication.
+         Although I follow the example exactly, authentication
+         fails, and an error message "<code>admin: not a valid
+         FDN: ....</code>" is logged.</a></li>
+
+          <li><a href="#codered">Why do I have weird entries in my
+          logs asking for <code>default.ida</code> and
+          <code>cmd.exe</code>?</a></li>
+
+          <li><a href="#restart">Why am I getting server restart
+          messages periodically, when I did not restart the
+          server?</a></li>
+
+          <li><a href="#modulemagic">Why am I getting &quot;module
+          <em>module-name</em> is not compatible with this version of
+          Apache&quot; messages in my error log?</a></li>
+
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>D. Error Log Messages and Problems Starting Apache</h3>
+
+    <ol>
+      <li>
+        <a id="setgid" name="setgid"><strong>Why do I get
+        "<samp>setgid: Invalid argument</samp>" at
+        startup?</strong></a> 
+
+        <p>Your <a
+        href="../mod/core.html#group"><samp>Group</samp></a>
+        directive (probably in <samp>conf/httpd.conf</samp>) needs
+        to name a group that actually exists in the
+        <samp>/etc/group</samp> file (or your system's equivalent).
+        This problem is also frequently seen when a negative number
+        is used in the <code>Group</code> directive (<em>e.g.</em>,
+        "<code>Group&nbsp;#-1</code>"). Using a group name -- not
+        group number -- found in your system's group database
+        should solve this problem in all cases.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="nodelay" name="nodelay"><strong>Why am I getting
+        "<samp>httpd: could not set socket option
+        TCP_NODELAY</samp>" in my error log?</strong></a> 
+
+        <p>This message almost always indicates that the client
+        disconnected before Apache reached the point of calling
+        <code>setsockopt()</code> for the connection. It shouldn't
+        occur for more than about 1% of the requests your server
+        handles, and it's advisory only in any case.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="peerreset" name="peerreset"><strong>Why am I getting
+        "<samp>connection reset by peer</samp>" in my error
+        log?</strong></a> 
+
+        <p>This is a normal message and nothing about which to be
+        alarmed. It simply means that the client canceled the
+        connection before it had been completely set up - such as
+        by the end-user pressing the "Stop" button. People's
+        patience being what it is, sites with response-time
+        problems or slow network links may experience this more
+        than high capacity ones or those with large pipes to the
+        network.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="wheres-the-dump" name="wheres-the-dump"><strong>The
+        errorlog says Apache dumped core, but where's the dump
+        file?</strong></a> 
+
+        <p>In Apache version 1.2, the error log message about
+        dumped core includes the directory where the dump file
+        should be located. However, many Unixes do not allow a
+        process that has called <code>setuid()</code> to dump core
+        for security reasons; the typical Apache setup has the
+        server started as root to bind to port 80, after which it
+        changes UIDs to a non-privileged user to serve
+        requests.</p>
+
+        <p>Dealing with this is extremely operating
+        system-specific, and may require rebuilding your system
+        kernel. Consult your operating system documentation or
+        vendor for more information about whether your system does
+        this and how to bypass it. If there <em>is</em> a
+        documented way of bypassing it, it is recommended that you
+        bypass it only for the <samp>httpd</samp> server process if
+        possible.</p>
+
+        <p>The canonical location for Apache's core-dump files is
+        the <a href="../mod/core.html#serverroot">ServerRoot</a>
+        directory. As of Apache version 1.3, the location can be
+        set <em>via</em> the <a
+        href="../mod/core.html#coredumpdirectory"><samp>CoreDumpDirectory</samp></a>
+        directive to a different directory. Make sure that this
+        directory is writable by the user the server runs as (as
+        opposed to the user the server is <em>started</em> as).</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="linux-shmget" name="linux-shmget"><strong>When I run
+        it under Linux I get "shmget: function not found", what
+        should I do?</strong></a> 
+
+        <p>Your kernel has been built without SysV IPC support. You
+        will have to rebuild the kernel with that support enabled
+        (it's under the "General Setup" submenu). Documentation for
+        kernel building is beyond the scope of this FAQ; you should
+        consult the <a
+        href="http://www.redhat.com/mirrors/LDP/HOWTO/Kernel-HOWTO.html">
+        Kernel HOWTO</a>, or the documentation provided with your
+        distribution, or a <a
+        href="http://www.redhat.com/mirrors/LDP/HOWTO/META-FAQ.html">
+        Linux newsgroup/mailing list</a>. As a last-resort
+        workaround, you can comment out the
+        <code>#define&nbsp;USE_SHMGET_SCOREBOARD</code> definition
+        in the <samp>LINUX</samp> section of
+        <samp>src/conf.h</samp> and rebuild the server (prior to
+        1.3b4, simply removing
+        <code>#define&nbsp;HAVE_SHMGET</code> would have sufficed).
+        This will produce a server which is slower and less
+        reliable.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="nfslocking" name="nfslocking"><strong>Server hangs,
+        or fails to start, and/or error log fills with
+        "<samp>fcntl: F_SETLKW: No record locks available</samp>"
+        or similar messages</strong></a> 
+
+        <p>These are symptoms of a fine locking problem, which
+        usually means that the server is trying to use a
+        synchronization file on an NFS filesystem.</p>
+
+        <p>Because of its parallel-operation model, the Apache Web
+        server needs to provide some form of synchronization when
+        accessing certain resources. One of these synchronization
+        methods involves taking out locks on a file, which means
+        that the filesystem whereon the lockfile resides must
+        support locking. In many cases this means it <em>can't</em>
+        be kept on an NFS-mounted filesystem.</p>
+
+        <p>To cause the Web server to work around the NFS locking
+        limitations, include a line such as the following in your
+        server configuration files:</p>
+
+        <dl>
+          <dd><code>LockFile /var/run/apache-lock</code></dd>
+        </dl>
+
+        <p>The directory should not be generally writable
+        (<em>e.g.</em>, don't use <samp>/var/tmp</samp>). See the
+        <a
+        href="../mod/core.html#lockfile"><samp>LockFile</samp></a>
+        documentation for more information.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="aixccbug" name="aixccbug"><strong>Why am I getting
+        "<samp>Expected &lt;/Directory&gt; but saw
+        &lt;/Directory&gt;</samp>" when I try to start
+        Apache?</strong></a> 
+
+        <p>This is a known problem with certain versions of the AIX
+        C compiler. IBM are working on a solution, and the issue is
+        being tracked by <a
+        href="http://bugs.apache.org/index/full/2312">problem
+        report #2312</a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="redhat" name="redhat"><strong>I'm using RedHat Linux
+        and I have problems with httpd dying randomly or not
+        restarting properly</strong></a> 
+
+        <p>RedHat Linux versions 4.x (and possibly earlier) RPMs
+        contain various nasty scripts which do not stop or restart
+        Apache properly. These can affect you even if you're not
+        running the RedHat supplied RPMs.</p>
+
+        <p>If you're using the default install then you're probably
+        running Apache 1.1.3, which is outdated. From RedHat's ftp
+        site you can pick up a more recent RPM for Apache 1.2.x.
+        This will solve one of the problems.</p>
+
+        <p>If you're using a custom built Apache rather than the
+        RedHat RPMs then you should <code>rpm -e apache</code>. In
+        particular you want the mildly broken
+        <code>/etc/logrotate.d/apache</code> script to be removed,
+        and you want the broken <code>/etc/rc.d/init.d/httpd</code>
+        (or <code>httpd.init</code>) script to be removed. The
+        latter is actually fixed by the apache-1.2.5 RPMs but if
+        you're building your own Apache then you probably don't
+        want the RedHat files.</p>
+
+        <p>We can't stress enough how important it is for folks,
+        <em>especially vendors</em> to follow the <a
+        href="../stopping.html">stopping Apache directions</a>
+        given in our documentation. In RedHat's defense, the broken
+        scripts were necessary with Apache 1.1.x because the Linux
+        support in 1.1.x was very poor, and there were various race
+        conditions on all platforms. None of this should be
+        necessary with Apache 1.2 and later.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="stopping" name="stopping"><strong>I upgraded from an
+        Apache version earlier than 1.2.0 and suddenly I have
+        problems with Apache dying randomly or not restarting
+        properly</strong></a> 
+
+        <p>You should read <a href="#redhat">the previous note</a>
+        about problems with RedHat installations. It is entirely
+        likely that your installation has start/stop/restart
+        scripts which were built for an earlier version of Apache.
+        Versions earlier than 1.2.0 had various race conditions
+        that made it necessary to use <code>kill -9</code> at times
+        to take out all the httpd servers. But that should not be
+        necessary any longer. You should follow the <a
+        href="../stopping.html">directions on how to stop and
+        restart Apache</a>.</p>
+
+        <p>As of Apache 1.3 there is a script
+        <code>src/support/apachectl</code> which, after a bit of
+        customization, is suitable for starting, stopping, and
+        restarting your server.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="setservername" name="setservername"><b>When I try to
+        start Apache from a DOS window, I get a message like
+        "<samp>Cannot determine host name. Use ServerName directive
+        to set it manually.</samp>" What does this mean?</b></a> 
+
+        <p>It means what it says; the Apache software can't
+        determine the hostname of your system. Edit your
+        <samp>conf\httpd.conf</samp> file, look for the string
+        "ServerName", and make sure there's an uncommented
+        directive such as</p>
+
+        <dl>
+          <dd><code>ServerName localhost</code></dd>
+        </dl>
+
+        <p>or</p>
+
+        <dl>
+          <dd><code>ServerName www.foo.com</code></dd>
+        </dl>
+
+        <p>in the file. Correct it if there one there with wrong
+        information, or add one if you don't already have one.</p>
+
+        <p>Also, make sure that your Windows system has DNS
+        enabled. See the TCP/IP setup component of the Networking
+        or Internet Options control panel.</p>
+
+        <p>After verifying that DNS is enabled and that you have a
+        valid hostname in your <samp>ServerName</samp> directive,
+        try to start the server again.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="ws2_32dll" name="ws2_32dll"><b>When I try to start
+        Apache for Windows, I get a message like "<samp>Unable To
+        Locate WS2_32.DLL...</samp>". What should I do?</b></a> 
+
+        <p>Short answer: You need to install Winsock 2, available
+        from <a
+        href="http://www.microsoft.com/windows95/downloads/">http://www.microsoft.com/windows95/downloads/</a></p>
+
+        <p>Detailed answer: Prior to version 1.3.9, Apache for
+        Windows used Winsock 1.1. Beginning with version 1.3.9,
+        Apache began using Winsock 2 features (specifically,
+        WSADuplicateSocket()). WS2_32.DLL implements the Winsock 2
+        API. Winsock 2 ships with Windows NT 4.0 and Windows 98.
+        Some of the earlier releases of Windows 95 did not include
+        Winsock 2.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="WSADuplicateSocket"
+        name="WSADuplicateSocket"><b>Apache for Windows does not
+        start. Error log contains this message: "<samp>[crit]
+        (10045) The attempted operation is not supported for the
+        type of object referenced: Parent: WSADuplicateSocket
+        failed for socket ###</samp>". What does this mean?</b></a>
+        
+
+        <p>We have seen this problem when Apache is run on systems
+        along with Virtual Private Networking clients like Aventail
+        Connect. Aventail Connect is a Layered Service Provider
+        (LSP) that inserts itself, as a "shim," between the Winsock
+        2 API and Window's native Winsock 2 implementation. The
+        Aventail Connect shim does not implement
+        WSADuplicateSocket, which is the cause of the failure.</p>
+
+        <p>The shim is not unloaded when Aventail Connect is shut
+        down. Once observed, the problem persists until the shim is
+        either explicitly unloaded or the machine is rebooted.
+        Another potential solution (not tested) is to add
+        <code>apache.exe</code> to the Aventail "Connect Exclusion
+        List".</p>
+
+        <p>Apache is affected in a similar way by <em>any</em>
+        firewall program that isn't correctly configured. Assure
+        you exclude your Apache server ports (usually port 80) from
+        the list of ports to block. Refer to your firewall
+        program's documentation for the how-to.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="err1067" name="err1067"><b>When I try to start
+        Apache on Windows, I get a message like "<code>System error
+        1067 has occurred. The process terminated
+        unexpectedly</code>." What does this mean?</b></a> 
+
+        <p>This message means that the Web server was unable to
+        start correctly for one reason or another. To find out why,
+        execute the following commands in a DOS window:</p>
+<pre>
+    c:
+    cd "\Program Files\Apache Group\Apache"
+    apache
+</pre>
+
+        <p>(If you don't get the prompt back, hit Control-C to
+        cause Apache to exit.)</p>
+
+        <p>The error you see will probably be one of those
+        preceding this question in the FAQ.</p>
+
+        <p>As of Apache 1.3.14, first check the Windows NT Event
+        Log for Application errors using the Windows NT/2000 Event
+        Viewer program. Any errors that occur prior to opening the
+        Apache error log will be stored here, if Apache is run as a
+        Service on NT or 2000. As with any error, also check your
+        Apache error log.</p>
+        <hr />
+      </li>
+
+      <li><a id="suseFDN" name="suseFDN"><b>On a SuSE Linux system, I try and 
+          configure access control using basic authentication.
+         Although I follow the example exactly, authentication
+         fails, and an error message "<code>admin: not a valid
+         FDN: ....</code>" is logged.</b></a>
+
+          <p>
+         In the SuSE distribution, additional 3rd party authentication
+         modules have been added and activated by default. These modules
+         interfere with the Apache standard modules and cause Basic
+         authentication to fail. Our recommendation is to comment all
+         those modules in <code>/etc/httpd/suse_addmodule.conf</code>
+         and <code>/etc/httpd/suse_loadmodule.conf</code> which are not
+         actually required for running your server.
+          </p><hr />
+      </li>
+
+     <li><a id="codered" name="codered"><b>Why do I have weird entries in my
+          logs asking for <code>default.ida</code> and
+          <code>cmd.exe</code>?</b></a>
+      
+          <p>The host requesting pages from your website and creating
+          those entries is a Windows machine running IIS that has been
+          infected by an Internet worm such as Nimda or Code Red. You
+          can safely ignore these error messages as they do not affect
+          Apache.  ApacheWeek has an <a
+          href="http://www.apacheweek.com/features/codered">article</a>
+          with more information.</p><hr />
+     </li>
+
+    <li><a id="restart" name="restart"><b>Why am I getting server restart
+    messages periodically, when I did not restart the server?</b></a>
+
+          <p>Problem: You are noticing restart messages in your error log,
+          periodically, when you know you did not restart the server
+          yourself:</p>
+
+<pre>
+[Thu Jun  6 04:02:01 2002] [notice] SIGHUP received.  Attempting to restart
+[Thu Jun  6 04:02:02 2002] [notice] Apache configured -- resuming normal operations
+</pre>
+
+          <p>Check your cron jobs to see when/if your server logs are being
+          rotated. Compare the time of rotation to the error message time.
+          If they are the same, you can somewhat safely assume that the 
+          restart is due to your server logs being rotated.</p><hr />
+     </li>
+
+     <li><a id="modulemagic" name="modulemagic"><b>Why am I getting
+          &quot;module <em>module-name</em> is not compatible with this version
+          of Apache&quot; messages in my error log?</b></a>
+      
+          <p>Module Magic Number (MMN) is a constant defined in Apache
+          source that is associated with binary compatibility of
+          modules. It is changed when internal Apache structures,
+          function calls and other significant parts of API change in
+          such a way that binary compatibility cannot be guaranteed any
+          more. On MMN change, all third party modules have to be at
+          least recompiled, sometimes even slightly changed in order
+          to work with the new version of Apache.</p>
+
+          <p>If you're getting the above error messages, contact the
+          vendor of the module for the new binary, or compile it if
+          you have access to the source code.</p><hr />
+     </li>
+
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-E.html b/htdocs/manual/misc/FAQ-E.html
new file mode 100644 (file)
index 0000000..19b44f3
--- /dev/null
@@ -0,0 +1,972 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.26 $ ($Date: 2004/03/16 17:48:46 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="5">
+        <strong>Configuration Questions</strong> 
+
+        <ol>
+          <li><a href="#fdlim">Why can't I run more than
+          &lt;<em>n</em>&gt; virtual hosts?</a></li>
+
+          <li><a href="#freebsd-setsize">Can I increase
+          <samp>FD_SETSIZE</samp> on FreeBSD?</a></li>
+
+          <li><a href="#errordoc401">Why doesn't my
+          <code>ErrorDocument 401</code> work?</a></li>
+
+          <li><a href="#cookies1">Why does Apache send a cookie on
+          every response?</a></li>
+
+          <li><a href="#cookies2">Why don't my cookies work, I even
+          compiled in <samp>mod_cookies</samp>?</a></li>
+
+          <li><a href="#jdk1-and-http1.1">Why do my Java app[let]s
+          give me plain text when I request an URL from an Apache
+          server?</a></li>
+
+          <li><a href="#midi">How do I get Apache to send a MIDI
+          file so the browser can play it?</a></li>
+
+          <li><a href="#addlog">How do I add browsers and referrers
+          to my logs?</a></li>
+
+          <li><a href="#set-servername">Why does accessing
+          directories only work when I include the trailing "/"
+          (<em>e.g.</em>,&nbsp;<samp>http://foo.domain.com/~user/</samp>)
+          but not when I omit it
+          (<em>e.g.</em>,&nbsp;<samp>http://foo.domain.com/~user</samp>)?</a></li>
+
+          <li><a href="#no-info-directives">Why doesn't mod_info
+          list any directives?</a></li>
+
+          <li><a href="#namevhost">I upgraded to Apache 1.3 and now
+          my virtual hosts don't work!</a></li>
+
+          <li><a href="#redhat-htm">I'm using RedHat Linux and my
+          .htm files are showing up as HTML source rather than
+          being formatted!</a></li>
+
+          <li><a href="#htaccess-work">My <code>.htaccess</code>
+          files are being ignored.</a></li>
+
+          <li><a href="#forbidden">Why do I get a
+          "<samp>Forbidden</samp>" message whenever I try to access
+          a particular directory?</a></li>
+
+          <li><a href="#malfiles">Why do I get a
+          "<samp>Forbidden/You don't have permission to access / on
+          this server</samp>" message whenever I try to access my
+          server?</a></li>
+
+          <li><a href="#ie-ignores-mime">Why do my files appear
+          correctly in Internet Explorer, but show up as source or
+          trigger a save window with Netscape; or, Why doesn't
+          Internet Explorer render my text/plain document
+          correctly?</a></li>
+
+         <li><a href="#canonical-hostnames">My site is accessible
+          under many different hostnames; how do I redirect clients
+          so that they see only a single name?</a></li>
+
+          <li><a href="#firewall">Why can I access my website from the
+          server or from my local network, but I can't access it from
+          elsewhere on the Internet?</a></li>
+
+         <li><a href="#indexes">How do I turn automatic directory listings
+         on or off?</a></li>
+
+         <li><a href="#options">Why do my Options directives not have
+         the desired effect?</a></li>
+
+         <li><a href="#serverheader">How can I change the information
+         that Apache returns about itself in the headers?</a></li>
+
+         <li><a href="#proxyscan">Why do I see requests for other sites
+         appearing in my log files?</a></li>
+
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>E. Configuration Questions</h3>
+
+    <ol>
+      <li>
+        <a id="fdlim" name="fdlim"><strong>Why can't I run more
+        than &lt;<em>n</em>&gt; virtual hosts?</strong></a> 
+
+        <p>You are probably running into resource limitations in
+        your operating system. The most common limitation is the
+        <em>per</em>-process limit on <strong>file
+        descriptors</strong>, which is almost always the cause of
+        problems seen when adding virtual hosts. Apache often does
+        not give an intuitive error message because it is normally
+        some library routine (such as <code>gethostbyname()</code>)
+        which needs file descriptors and doesn't complain
+        intelligibly when it can't get them.</p>
+
+        <p>Each log file requires a file descriptor, which means
+        that if you are using separate access and error logs for
+        each virtual host, each virtual host needs two file
+        descriptors. Each <a
+        href="../mod/core.html#listen"><samp>Listen</samp></a>
+        directive also needs a file descriptor.</p>
+
+        <p>Typical values for &lt;<em>n</em>&gt; that we've seen
+        are in the neighborhood of 128 or 250. When the server
+        bumps into the file descriptor limit, it may dump core with
+        a SIGSEGV, it might just hang, or it may limp along and
+        you'll see (possibly meaningful) errors in the error log.
+        One common problem that occurs when you run into a file
+        descriptor limit is that CGI scripts stop being executed
+        properly.</p>
+
+        <p>As to what you can do about this:</p>
+
+        <ol>
+          <li>Reduce the number of <a
+          href="../mod/core.html#listen"><samp>Listen</samp></a>
+          directives. If there are no other servers running on the
+          machine on the same port then you normally don't need any
+          Listen directives at all. By default Apache listens to
+          all addresses on port 80.</li>
+
+          <li>Reduce the number of log files. You can use <a
+          href="../mod/mod_log_config.html"><samp>mod_log_config</samp></a>
+          to log all requests to a single log file while including
+          the name of the virtual host in the log file. You can
+          then write a script to split the logfile into separate
+          files later if necessary. Such a script is provided with
+          the Apache 1.3 distribution in the
+          <samp>src/support/split-logfile</samp> file.</li>
+
+          <li>
+            Increase the number of file descriptors available to
+            the server (see your system's documentation on the
+            <code>limit</code> or <code>ulimit</code> commands).
+            For some systems, information on how to do this is
+            available in the <a href="perf.html">performance
+            hints</a> page. There is a specific note for <a
+            href="#freebsd-setsize">FreeBSD</a> below. 
+
+            <p>For Windows 95, try modifying your
+            <samp>C:\CONFIG.SYS</samp> file to include a line
+            like</p>
+
+            <dl>
+              <dd><code>FILES=300</code></dd>
+            </dl>
+
+            <p>Remember that you'll need to reboot your Windows 95
+            system in order for the new value to take effect.</p>
+          </li>
+
+          <li>"Don't do that" - try to run with fewer virtual
+          hosts</li>
+
+          <li>Spread your operation across multiple server
+          processes (using <a
+          href="../mod/core.html#listen"><samp>Listen</samp></a>
+          for example, but see the first point) and/or ports.</li>
+        </ol>
+
+        <p>Since this is an operating-system limitation, there's
+        not much else available in the way of solutions.</p>
+
+        <p>As of 1.2.1 we have made attempts to work around various
+        limitations involving running with many descriptors. <a
+        href="descriptors.html">More information is
+        available.</a></p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="freebsd-setsize" name="freebsd-setsize"><strong>Can
+        I increase <samp>FD_SETSIZE</samp> on FreeBSD?</strong></a>
+        
+
+        <p>On versions of FreeBSD before 3.0, the
+        <samp>FD_SETSIZE</samp> define defaults to 256. This means
+        that you will have trouble usefully using more than 256
+        file descriptors in Apache. This can be increased, but
+        doing so can be tricky.</p>
+
+        <p>If you are using a version prior to 2.2, you need to
+        recompile your kernel with a larger
+        <samp>FD_SETSIZE</samp>. This can be done by adding a line
+        such as:</p>
+
+        <dl>
+          <dd><code>options FD_SETSIZE <em>nnn</em></code></dd>
+        </dl>
+
+        <p>to your kernel config file. Starting at version 2.2,
+        this is no longer necessary.</p>
+
+        <p>If you are using a version of 2.1-stable from after
+        1997/03/10 or 2.2 or 3.0-current from before 1997/06/28,
+        there is a limit in the resolver library that prevents it
+        from using more file descriptors than what
+        <samp>FD_SETSIZE</samp> is set to when libc is compiled. To
+        increase this, you have to recompile libc with a higher
+        <samp>FD_SETSIZE</samp>.</p>
+
+        <p>In FreeBSD 3.0, the default <samp>FD_SETSIZE</samp> has
+        been increased to 1024 and the above limitation in the
+        resolver library has been removed.</p>
+
+        <p>After you deal with the appropriate changes above, you
+        can increase the setting of <samp>FD_SETSIZE</samp> at
+        Apache compilation time by adding
+        "<samp>-DFD_SETSIZE=<em>nnn</em></samp>" to the
+        <samp>EXTRA_CFLAGS</samp> line in your
+        <samp>Configuration</samp> file.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="errordoc401" name="errordoc401"><strong>Why doesn't
+        my <code>ErrorDocument 401</code> work?</strong></a> 
+
+        <p>You need to use it with a URL in the form
+        "<samp>/foo/bar</samp>" and not one with a method and
+        hostname such as "<samp>http://host/foo/bar</samp>". See
+        the <a
+        href="../mod/core.html#errordocument"><samp>ErrorDocument</samp></a>
+        documentation for details. This was incorrectly documented
+        in the past.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="cookies1" name="cookies1"><strong>Why does Apache
+        send a cookie on every response?</strong></a> 
+
+        <p>Apache does <em>not</em> automatically send a cookie on
+        every response, unless you have re-compiled it with the <a
+        href="../mod/mod_usertrack.html"><samp>mod_usertrack</samp></a>
+        module, and specifically enabled it with the <a
+        href="../mod/mod_usertrack.html#cookietracking"><samp>CookieTracking</samp></a>
+        directive. This module has been in Apache since version
+        1.2. This module may help track users, and uses cookies to
+        do this. If you are not using the data generated by
+        <samp>mod_usertrack</samp>, do not compile it into
+        Apache.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="cookies2" name="cookies2"><strong>Why don't my
+        cookies work, I even compiled in
+        <samp>mod_cookies</samp>?</strong></a> 
+
+        <p>Firstly, you do <em>not</em> need to compile in
+        <samp>mod_cookies</samp> in order for your scripts to work
+        (see the <a href="#cookies1">previous question</a> for more
+        about <samp>mod_cookies</samp>). Apache passes on your
+        <samp>Set-Cookie</samp> header fine, with or without this
+        module. If cookies do not work it will be because your
+        script does not work properly or your browser does not use
+        cookies or is not set-up to accept them.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="jdk1-and-http1.1"
+        name="jdk1-and-http1.1"><strong>Why do my Java app[let]s
+        give me plain text when I request an URL from an Apache
+        server?</strong></a> 
+
+        <p>As of version 1.2, Apache is an HTTP/1.1 (HyperText
+        Transfer Protocol version 1.1) server. This fact is
+        reflected in the protocol version that's included in the
+        response headers sent to a client when processing a
+        request. Unfortunately, low-level Web access classes
+        included in the Java Development Kit (JDK) version 1.0.2
+        expect to see the version string "HTTP/1.0" and do not
+        correctly interpret the "HTTP/1.1" value Apache is sending
+        (this part of the response is a declaration of what the
+        server can do rather than a declaration of the dialect of
+        the response). The result is that the JDK methods do not
+        correctly parse the headers, and include them with the
+        document content by mistake.</p>
+
+        <p>This is definitely a bug in the JDK 1.0.2 foundation
+        classes from Sun, and it has been fixed in version 1.1.
+        However, the classes in question are part of the virtual
+        machine environment, which means they're part of the Web
+        browser (if Java-enabled) or the Java environment on the
+        client system - so even if you develop <em>your</em>
+        classes with a recent JDK, the eventual users might
+        encounter the problem. The classes involved are replaceable
+        by vendors implementing the Java virtual machine
+        environment, and so even those that are based upon the
+        1.0.2 version may not have this problem.</p>
+
+        <p>In the meantime, a workaround is to tell Apache to
+        "fake" an HTTP/1.0 response to requests that come from the
+        JDK methods; this can be done by including a line such as
+        the following in your server configuration files:</p>
+
+        <dl>
+          <dd><code>BrowserMatch Java1.0 force-response-1.0<br />
+           BrowserMatch JDK/1.0 force-response-1.0</code></dd>
+        </dl>
+
+        <p>More information about this issue can be found in the <a
+        href="http://httpd.apache.org/info/jdk-102.html"><cite>Java
+        and HTTP/1.1</cite></a> page at the Apache web site.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="midi" name="midi"><strong>How do I get Apache to
+        send a MIDI file so the browser can play it?</strong></a> 
+
+        <p>Even though the registered MIME type for MIDI files is
+        <samp>audio/midi</samp>, some browsers are not set up to
+        recognize it as such; instead, they look for
+        <samp>audio/x-midi</samp>. There are two things you can do
+        to address this:</p>
+
+        <ol>
+          <li>Configure your browser to treat documents of type
+          <samp>audio/midi</samp> correctly. This is the type that
+          Apache sends by default. This may not be workable,
+          however, if you have many client installations to change,
+          or if some or many of the clients are not under your
+          control.</li>
+
+          <li>
+            Instruct Apache to send a different
+            <samp>Content-type</samp> header for these files by
+            adding the following line to your server's
+            configuration files: 
+
+            <dl>
+              <dd><code>AddType audio/x-midi .mid .midi
+              .kar</code></dd>
+            </dl>
+
+            <p>Note that this may break browsers that <em>do</em>
+            recognize the <samp>audio/midi</samp> MIME type unless
+            they're prepared to also handle
+            <samp>audio/x-midi</samp> the same way.</p>
+          </li>
+        </ol>
+        <hr />
+      </li>
+
+      <li>
+        <a id="addlog" name="addlog"><strong>How do I add browsers
+        and referrers to my logs?</strong></a> 
+
+        <p>Apache provides a couple of different ways of doing
+        this. The recommended method is to compile the <a
+        href="../mod/mod_log_config.html"><samp>mod_log_config</samp></a>
+        module into your configuration and use the <a
+        href="../mod/mod_log_config.html#customlog"><samp>CustomLog</samp></a>
+        directive.</p>
+
+        <p>You can either log the additional information in files
+        other than your normal transfer log, or you can add them to
+        the records already being written. For example:</p>
+
+        <p>
+        <code>CustomLog&nbsp;logs/access_log&nbsp;"%h&nbsp;%l&nbsp;%u&nbsp;%t&nbsp;\"%r\"&nbsp;%s&nbsp;%b&nbsp;\"%{Referer}i\"&nbsp;\"%{User-Agent}i\""</code></p>
+
+        <p>This will add the values of the <samp>User-agent:</samp>
+        and <samp>Referer:</samp> headers, which indicate the
+        client and the referring page, respectively, to the end of
+        each line in the access log.</p>
+
+        <p>You may want to check out the <cite>Apache Week</cite>
+        article entitled: "<a
+        href="http://www.apacheweek.com/features/logfiles"
+        rel="Help"><cite>Gathering Visitor Information: Customizing
+        Your Logfiles</cite></a>".</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="set-servername" name="set-servername"><strong>Why
+        does accessing directories only work when I include the
+        trailing "/"
+        (<em>e.g.</em>,&nbsp;<samp>http://foo.domain.com/~user/</samp>)
+        but not when I omit it
+        (<em>e.g.</em>,&nbsp;<samp>http://foo.domain.com/~user</samp>)?</strong></a>
+        
+
+        <p>When you access a directory without a trailing "/",
+        Apache needs to send what is called a redirect to the
+        client to tell it to add the trailing slash. If it did not
+        do so, relative URLs would not work properly. When it sends
+        the redirect, it needs to know the name of the server so
+        that it can include it in the redirect. There are two ways
+        for Apache to find this out; either it can guess, or you
+        can tell it. If your DNS is configured correctly, it can
+        normally guess without any problems. If it is not, however,
+        then you need to tell it.</p>
+
+        <p>Add a <a
+        href="../mod/core.html#servername">ServerName</a> directive
+        to the config file to tell it what the domain name of the
+        server is.</p>
+
+        <p>The other thing that can occasionally cause this symptom is a
+        misunderstanding of the <a
+        href="../mod/mod_alias.html#alias">Alias</a> directive,
+        resulting in an alias working with a trailing slash, and not 
+        without one. The <code>Alias</code> directive is very literal,
+        and aliases what you tell it to. Consider the following
+        example:</p>
+
+        <pre>
+        Alias /example/ /home/www/example/
+        </pre>
+
+        <p>The above directive creates an alias for URLs starting with
+        <code>/example/</code>, but does <em>not</em> alias URLs
+        starting with <code>/example</code>. That is to say, a URL such
+        as <code>http://servername.com/example/</code> will get the
+        desired content, but a URL such as
+        <code>http://servername.com/example</code> will result in a
+        "file not found" error.</p>
+
+        <p>The following <code>Alias</code>, on the other hand, will
+        work for both cases:</p>
+
+        <pre>
+        Alias /example /home/www/example
+        </pre>
+
+        <hr />
+      </li>
+
+      <li>
+        <a id="no-info-directives"
+        name="no-info-directives"><strong>Why doesn't mod_info list
+        any directives?</strong></a> 
+
+        <p>The <a
+        href="../mod/mod_info.html"><samp>mod_info</samp></a>
+        module allows you to use a Web browser to see how your
+        server is configured. Among the information it displays is
+        the list modules and their configuration directives. The
+        "current" values for the directives are not necessarily
+        those of the running server; they are extracted from the
+        configuration files themselves at the time of the request.
+        If the files have been changed since the server was last
+        reloaded, the display will not match the values actively in
+        use. If the files and the path to the files are not
+        readable by the user as which the server is running (see
+        the <a href="../mod/core.html#user"><samp>User</samp></a>
+        directive), then <samp>mod_info</samp> cannot read them in
+        order to list their values. An entry <em>will</em> be made
+        in the error log in this event, however.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="namevhost" name="namevhost"><strong>I upgraded to
+        Apache 1.3 and now my virtual hosts don't
+        work!</strong></a> 
+
+        <p>In versions of Apache prior to 1.3b2, there was a lot of
+        confusion regarding address-based virtual hosts and
+        (HTTP/1.1) name-based virtual hosts, and the rules
+        concerning how the server processed
+        <samp>&lt;VirtualHost&gt;</samp> definitions were very
+        complex and not well documented.</p>
+
+        <p>Apache 1.3b2 introduced a new directive, <a
+        href="../mod/core.html#namevirtualhost"><samp>NameVirtualHost</samp></a>,
+        which simplifies the rules quite a bit. However, changing
+        the rules like this means that your existing name-based
+        <samp>&lt;VirtualHost&gt;</samp> containers probably won't
+        work correctly immediately following the upgrade.</p>
+
+        <p>To correct this problem, add the following line to the
+        beginning of your server configuration file, before
+        defining any virtual hosts:</p>
+
+        <dl>
+          <dd><code>NameVirtualHost <em>n.n.n.n</em></code></dd>
+        </dl>
+
+        <p>Replace the "<samp>n.n.n.n</samp>" with the IP address
+        to which the name-based virtual host names resolve; if you
+        have multiple name-based hosts on multiple addresses,
+        repeat the directive for each address.</p>
+
+        <p>Make sure that your name-based
+        <samp>&lt;VirtualHost&gt;</samp> blocks contain
+        <samp>ServerName</samp> and possibly
+        <samp>ServerAlias</samp> directives so Apache can be sure
+        to tell them apart correctly.</p>
+
+        <p>Please see the <a href="../vhosts/">Apache Virtual Host
+        documentation</a> for further details about
+        configuration.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="redhat-htm" name="redhat-htm"><strong>I'm using
+        RedHat Linux and my .htm files are showing up as HTML
+        source rather than being formatted!</strong></a> 
+
+        <p>RedHat messed up and forgot to put a content type for
+        <code>.htm</code> files into <code>/etc/mime.types</code>.
+        Edit <code>/etc/mime.types</code>, find the line containing
+        <code>html</code> and add <code>htm</code> to it. Then
+        restart your httpd server:</p>
+
+        <dl>
+          <dd><code>kill -HUP `cat /var/run/httpd.pid`</code></dd>
+        </dl>
+
+        <p>Then <strong>clear your browsers' caches</strong>. (Many
+        browsers won't re-examine the content type after they've
+        reloaded a page.)</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="htaccess-work" name="htaccess-work"><strong>My
+        <code>.htaccess</code> files are being
+        ignored.</strong></a> 
+
+        <p>This is almost always due to your <a
+        href="../mod/core.html#allowoverride">AllowOverride</a>
+        directive being set incorrectly for the directory in
+        question. If it is set to <code>None</code> then .htaccess
+        files will not even be looked for. If you do have one that
+        is set, then be certain it covers the directory you are
+        trying to use the .htaccess file in. This is normally
+        accomplished by ensuring it is inside the proper <a
+        href="../mod/core.html#directory">Directory</a>
+        container.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="forbidden" name="forbidden"><strong>Why do I get a
+        "<samp>Forbidden</samp>" message whenever I try to access a
+        particular directory?</strong></a> 
+
+        <p>This message is generally caused because either</p>
+
+        <ul>
+          <li>The underlying file system permissions do not allow
+          the User/Group under which Apache is running to access
+          the necessary files; or</li>
+
+          <li>The Apache configuration has some access restrictions
+          in place which forbid access to the files.</li>
+        </ul>
+
+        <p>You can determine which case applies to your situation
+        by checking the error log.</p>
+
+        <p>In the case where file system permission are at fault,
+        remember that not only must the directory and files in
+        question be readable, but also all parent directories must
+        be at least searchable (i.e., <i>chmod +x /directory/path</i>)
+        by the web server in order for the content to be accessible.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="malfiles" name="malfiles"><b>Why do I get a
+        "<samp>Forbidden/You don't have permission to access / on
+        this server</samp>" message whenever I try to access my
+        server?</b></a> 
+
+        <p>Search your <code>conf/httpd.conf</code> file for this
+        exact string: <code>&lt;Files ~&gt;</code>. If you find it,
+        that's your problem -- that particular &lt;Files&gt;
+        container is malformed. Delete it or replace it with
+        <code>&lt;Files ~ "^\.ht"&gt;</code> and restart your
+        server and things should work as expected.</p>
+
+        <p>This error appears to be caused by a problem with the
+        version of linuxconf distributed with Redhat 6.x. It may
+        reappear if you use linuxconf again.</p>
+
+        <p>If you don't find this string, check out the <a
+        href="#forbidden">previous question</a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="ie-ignores-mime" name="ie-ignores-mime"><strong>Why
+        do my files appear correctly in Internet Explorer, but show
+        up as source or trigger a save window with
+        Netscape; or, Why doesn't Internet Explorer render
+        my text/plain document correctly?</strong></a> 
+
+        <p>MS Internet Explorer (MSIE) and Netscape handle mime type
+        detection in different ways, and therefore will display the
+        document differently. In particular, IE sometimes relies on
+        the file extension or the contents of the file to determine
+        the mime type. This can happen when the server specifies a
+        mime type of <code>application/octet-stream</code> or
+        <code>text/plain</code>.  This behavior violates the the HTTP
+        standard and makes it impossible to deliver plain text
+        documents to MSIE clients in some cases.  More details are
+        available on MSIE's mime type detection behavior in an <a
+        href="http://msdn.microsoft.com/workshop/networking/moniker/overview/appendix_a.asp">
+        MSDN article</a> and a <a
+        href="http://ppewww.ph.gla.ac.uk/~flavell/www/content-type.html">note</a>
+        by Alan J. Flavell.</p>
+
+        <p>The best you can do as a server administrator is to
+        accurately configure the mime type of your documents by editing
+        the <code>mime.types</code> file or using an <a
+        href="../mod/mod_mime.html#addtype"><code>AddType</code></a>
+        directive in the Apache configuration files.  In some cases,
+        you may be able to fool MSIE into rendering text/plain documents
+        correctly by assuring they have a <code>.txt</code> filename
+        extension, but this will not work if MSIE thinks the content
+        looks like another file type.
+</p> <hr />
+      </li>
+      <li>
+       <a name="canonical-hostnames"><strong>My site is accessible
+        under many different hostnames; how do I redirect clients
+        so that they see only a single name?</strong></a>
+
+        <p>Many sites map a variety of hostnames to the same content.
+        For example, <code>www.example.com</code>,
+        <code>example.com</code> and <code>www.example.net</code> may
+        all refer to the same site.  It is best to make sure that,
+        regardless of the name clients use to access the site, they
+        will be redirected to a single, canonical hostname.  This
+        makes the site easier to maintain and assures that there will
+        be only one version of the site in proxy caches and search
+        engines.</p>
+
+        <p>There are two techniques to implement canonical hostnames:</p>
+
+        <ol>
+          <li>Use <a href="../mod/mod_rewrite.html">mod_rewrite</a>
+          as described in the "Canonical Hostnames" section of the
+          <a href="rewriteguide.html">URL Rewriting Guide</a>.</li>
+
+          <li>Use <a href="../vhosts/name-based.html">name-based
+          virtual hosting</a>:
+
+<blockquote><code>
+NameVirtualHost *<br />
+<br />
+&lt;VirtualHost *&gt;<br />
+&nbsp;&nbsp;ServerName www.example.net<br />
+&nbsp;&nbsp;ServerAlias example.com<br />
+&nbsp;&nbsp;Redirect permanent / http://www.example.com/<br />
+&lt;/VirtualHost&gt;<br />
+<br />
+&lt;VirtualHost *&gt;<br />
+&nbsp;&nbsp;ServerName www.example.com<br />
+&nbsp;&nbsp;DocumentRoot /usr/local/apache/htdocs<br />
+&lt;/VirtualHost&gt;
+</code></blockquote>
+          </li></ol>
+        <hr /></li>
+
+         <li><a id="firewall" name="firewall"><strong>Why can I access my
+         website from the server or from my local network, but I
+         can't access it from elsewhere on the Internet?</strong></a>
+
+         <p>There are many possible reasons for this, and almost all
+         of them are related to the configuration of your network, not
+         the configuration of the Apache HTTP Server.  One of the most
+         common problems is that a firewall blocks access to the
+         default HTTP port 80.  In particular, many consumer ISPs
+         block access to this port.  You can see if this is the case
+         by changing any <code>Port</code> and <code>Listen</code>
+         directives in <code>httpd.conf</code> to use port 8000 and
+         then request your site using
+         <code>http://yourhost.example.com:8000/</code>.  (Of course,
+         a very restrictive firewall may block this port as well.)</p>
+
+        <hr /></li>
+
+         <li><a id="indexes" name="indexes"><strong>How do I turn automatic
+         directory listings on or off?</strong></a>
+
+         <p>If a client requests a URL that designates a directory and
+         the directory does not contain a filename that matches the <a
+         href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a>
+         directive, then <a
+         href="../mod/mod_autoindex.html">mod_autoindex</a> can be
+         configured to present a listing of the directory contents.</p>
+
+         <p>To turn on automatic directory indexing, find the 
+         <a href="../mod/core.html#options">Options</a> directive that
+         applies to the directory and add the <code>Indexes</code>
+         keyword. For example:</p>
+
+         <blockquote><code>
+         &lt;Directory /path/to/directory&gt;<br />
+         &nbsp;&nbsp;&nbsp;Options +Indexes<br />
+         &lt;/Directory&gt;
+         </code></blockquote>
+         
+         <p>To turn off automatic directory indexing, remove
+         the <code>Indexes</code> keyword from the appropriate 
+         <code>Options</code> line. To turn off directory listing
+         for a particular subdirectory, you can use 
+         <code>Options -Indexes</code>. For example:</p>
+
+         <blockquote><code>
+         &lt;Directory /path/to/directory&gt;<br />
+         &nbsp;&nbsp;&nbsp;Options -Indexes<br />
+         &lt;/Directory&gt;
+         </code></blockquote>
+
+       <hr /></li>
+
+         <li><a id="options" name="options"><strong>Why do my Options
+         directives not have the desired effect?</strong></a>
+
+         <p>Directives placed in the configuration files are applied
+         in a very particular order, as described by <a
+         href="../sections.html">How Directory, Location, and Files
+         sections work</a>.  In addition, each <a
+         href="../mod/core.html#options">Options</a> directive has the
+         effect of resetting the options to <code>none</code> before
+         adding the specified options (unless only "+" and "-" options
+         are used).  The consequence is that <code>Options</code> set
+         in the main server or virtual host context (outside any
+         directory, location, or files section) will usually have no
+         effect, because they are overridden by more specific
+         <code>Options</code> directives.  For example, in the following</p>
+
+<blockquote><code>
+&lt;Directory /usr/local/apache/htdocs&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;Options Indexes<br />
+&lt;/Directory&gt;<br />
+Options Includes ExecCGI<br />
+</code></blockquote>
+    
+         <p><code>Includes</code> and <code>ExecCGI</code> will be 
+         <strong>off</strong> in the <code>/usr/local/apache/htdocs</code>
+         directory.</p>
+
+         <p>You can usually avoid problems by either finding the 
+         <code>Options</code> directive that already applies to a 
+         specific directory and changing it, or by putting your
+         <code>Options</code> directive inside the most specific possible
+         <code>&lt;Directory&gt;</code> section.</p>
+
+       <hr /></li>
+
+
+       <li><a id="serverheader" name="serverheader"><strong>How can I change
+       the information that Apache returns about itself in the
+       headers?</strong></a>
+
+    <p>When a client connects to Apache, part of the information returned in
+    the headers is the name "Apache" Additional information that can be sent
+    is the version number, such as "1.3.26", the operating system, and a
+    list of non-standard modules you have installed.</p>
+
+    <p>For example:</p>
+
+<blockquote><code>
+Server: Apache/1.3.26 (Unix) mod_perl/1.26
+</code></blockquote>
+
+    <p>Frequently, people want to remove this information, under the mistaken
+    understanding that this will make the system more secure. This is
+    probably not the case, as the same exploits will likely be attempted
+    regardless of the header information you provide.</p>
+
+    <p>There are, however, two answers to this question: the correct answer,
+    and the answer that you are probably looking for.</p>
+
+    <p>The correct answer to this question is that you should use the
+    ServerTokens directive to alter the quantity of information which is
+    passed in the headers. Setting this directive to <code>Prod</code> will
+    pass the least possible amount of information:</p>
+
+<blockquote><code>
+Server: Apache
+</code></blockquote>
+
+    <p>The answer you are probably looking for is how to make Apache lie 
+    about what what it is, ie send something like:</p>
+
+<blockquote><code>
+Server: Bob's Happy HTTPd Server
+</code></blockquote>
+
+    <p>In order to do this, you will need to modify the Apache source code and
+    rebuild Apache. This is not advised, as it is almost certain not to
+    provide you with the added security you think that you are gaining. The
+    exact method of doing this is left as an exercise for the reader, as we
+    are not keen on helping you do something that is intrinsically a bad
+    idea.</p>
+
+    <hr /></li>
+
+         <li><a id="proxyscan" name="proxyscan"><strong>Why do I see requests
+         for other sites appearing in my log files?</strong></a>
+
+         <p>A an access_log entry showing this situation could look
+         like this:</p> 
+
+         <blockquote><code> 63.251.56.142 - -
+         [25/Jul/2002:12:48:04 -0700] "GET http://www.yahoo.com/
+         HTTP/1.0" 200 1456 </code></blockquote>
+
+         <p>The question is: why did a request for
+         <code>www.yahoo.com</code> come to your server instead of
+         Yahoo's server?  And why does the response have a status 
+         code of 200 (success)?</p>
+
+         <p>This is usually the result of malicious clients trying to
+         exploit open proxy servers to access a website without
+         revealing their true location.  If you find entries like this
+         in your log, the first thing to do is to make sure you have
+         properly configured your server not to proxy for unknown
+         clients.  If you don't need to provide a proxy server at all,
+         you should simply assure that the <a
+         href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a>
+         directive is <strong>not</strong> set <code>on</code>.
+         If you do need to run a proxy server, then you must ensure
+         that you <a href="../mod/mod_proxy.html#access">secure your
+         server properly</a> so that only authorized clients can use
+         it.</p>
+
+         <p>If your server is configured properly, then the attempt to
+         proxy through your server will fail.  If you see a status
+         code of <code>404</code> (file not found) in the log, then
+         you know that the request failed.  If you see a status code
+         of <code>200</code> (success), that does not necessarily mean
+         that the attempt to proxy succeeded.  RFC2616 section 5.1.2
+         mandates that Apache must accept requests with absolute URLs
+         in the request-URI, even for non-proxy requests.  Since
+         Apache has no way to know all the different names that your
+         server may be known under, it cannot simply reject hostnames
+         it does not recognize.  Instead, it will serve requests for
+         unknown sites locally by stripping off the hostname and using
+         the default server or virtual host.  Therefore you can
+         compare the size of the file (1456 in the above example) to
+         the size of the corresponding file in your default server.
+         If they are the same, then the proxy attempt failed, since a
+         document from your server was delivered, not a document from
+         <code>www.yahoo.com</code>.</p>
+
+         <p>If you wish to prevent this type of request entirely, then
+         you need to let Apache know what hostnames to accept and what
+         hostnames to reject.  You do this by configuring name-virtual
+         hosts, where the first listed host is the default host that
+         will catch and reject unknown hostnames.  For example:</p>
+
+<blockquote>
+<pre>
+NameVirtualHost *
+
+&lt;VirtualHost *&gt;
+  ServerName default.only
+  &lt;Location /&gt;
+    Order allow,deny
+    Deny from all
+  &lt;/Location&gt;
+&lt;/VirtualHost&gt;
+
+&lt;VirtualHost *&gt;
+  ServerName realhost1.example.com
+  ServerAlias alias1.example.com alias2.example.com
+  DocumentRoot /path/to/site1
+&lt;/VirtualHost&gt;
+
+...
+</pre>
+</blockquote>
+    <hr /></li>
+
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-F.html b/htdocs/manual/misc/FAQ-F.html
new file mode 100644 (file)
index 0000000..8f1cc8c
--- /dev/null
@@ -0,0 +1,574 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.11 $ ($Date: 2002/06/07 01:48:13 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="6">
+        <strong>Dynamic Content (CGI and SSI)</strong> 
+
+        <ol>
+          <li><a href="#CGIoutsideScriptAlias">How do I enable CGI
+          execution in directories other than the
+          ScriptAlias?</a></li>
+
+          <li><a href="#premature-script-headers">What does it mean
+          when my CGIs fail with "<samp>Premature end of script
+          headers</samp>"?</a></li>
+
+          <li><a href="#POSTnotallowed">Why do I keep getting
+          "Method Not Allowed" for form POST requests?</a></li>
+
+          <li><a href="#nph-scripts">How can I get my script's
+          output without Apache buffering it? Why doesn't my server
+          push work?</a></li>
+
+          <li><a href="#cgi-spec">Where can I find the "CGI
+          specification"?</a></li>
+
+          <li><a href="#fastcgi">Why isn't FastCGI included with
+          Apache any more?</a></li>
+
+          <li><a href="#ssi-part-i">How do I enable SSI (parsed
+          HTML)?</a></li>
+
+          <li><a href="#ssi-part-ii">Why don't my parsed files get
+          cached?</a></li>
+
+          <li><a href="#ssi-part-iii">How can I have my script
+          output parsed?</a></li>
+
+          <li><a href="#ssi-part-iv">SSIs don't work for
+          VirtualHosts and/or user home directories</a></li>
+
+          <li><a href="#errordocssi">How can I use
+          <code>ErrorDocument</code> and SSI to simplify customized
+          error messages?</a></li>
+
+          <li><a href="#remote-user-var">Why is the environment
+          variable <samp>REMOTE_USER</samp> not set?</a></li>
+
+          <li><a href="#user-cgi">How do I allow each of my user
+          directories to have a cgi-bin directory?</a></li>
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>F. Dynamic Content (CGI and SSI)</h3>
+
+    <ol>
+      <li>
+        <a id="CGIoutsideScriptAlias"
+        name="CGIoutsideScriptAlias"><strong>How do I enable CGI
+        execution in directories other than the
+        ScriptAlias?</strong></a> 
+
+        <p>Apache recognizes all files in a directory named as a <a
+        href="../mod/mod_alias.html#scriptalias"><samp>ScriptAlias</samp></a>
+        as being eligible for execution rather than processing as
+        normal documents. This applies regardless of the file name,
+        so scripts in a ScriptAlias directory don't need to be
+        named "<samp>*.cgi</samp>" or "<samp>*.pl</samp>" or
+        whatever. In other words, <em>all</em> files in a
+        ScriptAlias directory are scripts, as far as Apache is
+        concerned.</p>
+
+        <p>To persuade Apache to execute scripts in other
+        locations, such as in directories where normal documents
+        may also live, you must tell it how to recognize them - and
+        also that it's okay to execute them. For this, you need to
+        use something like the <a
+        href="../mod/mod_mime.html#addhandler"><samp>AddHandler</samp></a>
+        directive.</p>
+
+        <ol>
+          <li>
+            In an appropriate section of your server configuration
+            files, add a line such as 
+
+            <dl>
+              <dd><code>AddHandler cgi-script .cgi</code></dd>
+            </dl>
+
+            <p>The server will then recognize that all files in
+            that location (and its logical descendants) that end in
+            "<samp>.cgi</samp>" are script files, not
+            documents.</p>
+          </li>
+
+          <li>Make sure that the directory location is covered by
+          an <a
+          href="../mod/core.html#options"><samp>Options</samp></a>
+          declaration that includes the <samp>ExecCGI</samp>
+          option.</li>
+        </ol>
+
+        <p>In some situations, you might not want to actually allow
+        all files named "<samp>*.cgi</samp>" to be executable.
+        Perhaps all you want is to enable a particular file in a
+        normal directory to be executable. This can be
+        alternatively accomplished <em>via</em> <a
+        href="../mod/mod_rewrite.html"><samp>mod_rewrite</samp></a>
+        and the following steps:</p>
+
+        <ol>
+          <li>
+            Locally add to the corresponding <samp>.htaccess</samp>
+            file a ruleset similar to this one: 
+
+            <dl>
+              <dd><code>RewriteEngine on<br />
+               RewriteBase /~foo/bar/<br />
+               RewriteRule ^quux\.cgi$ -
+              [T=application/x-httpd-cgi]</code></dd>
+            </dl>
+          </li>
+
+          <li>Make sure that the directory location is covered by
+          an <a
+          href="../mod/core.html#options"><samp>Options</samp></a>
+          declaration that includes the <samp>ExecCGI</samp> and
+          <samp>FollowSymLinks</samp> option.</li>
+        </ol>
+        <hr />
+      </li>
+
+      <li>
+        <a id="premature-script-headers"
+        name="premature-script-headers"><strong>What does it mean
+        when my CGIs fail with "<samp>Premature end of script
+        headers</samp>"?</strong></a> 
+
+        <p>It means just what it says: the server was expecting a
+        complete set of HTTP headers (one or more followed by a
+        blank line), and didn't get them.</p>
+
+        <p>The most common cause of this problem is the script
+        dying before sending the complete set of headers, or
+        possibly any at all, to the server. To see if this is the
+        case, try running the script standalone from an interactive
+        session, rather than as a script under the server. If you
+        get error messages, this is almost certainly the cause of
+        the "premature end of script headers" message. Even if the
+        CGI runs fine from the command line, remember that the
+        environment and permissions may be different when running
+        under the web server. The CGI can only access resources
+        allowed for the <a
+        href="../mod/core.html#user"><code>User</code></a> and <a
+        href="../mod/core.html#group"><code>Group</code></a>
+        specified in your Apache configuration. In addition, the
+        environment will not be the same as the one provided on the
+        command line, but it can be adjusted using the directives
+        provided by <a href="../mod/mod_env.html">mod_env</a>.</p>
+
+        <p>The second most common cause of this (aside from people
+        not outputting the required headers at all) is a result of
+        an interaction with Perl's output buffering. To make Perl
+        flush its buffers after each output statement, insert the
+        following statements around the <code>print</code> or
+        <code>write</code> statements that send your HTTP
+        headers:</p>
+
+        <dl>
+          <dd><code>{<br />
+           &nbsp;local ($oldbar) = $|;<br />
+           &nbsp;$cfh = select (STDOUT);<br />
+           &nbsp;$| = 1;<br />
+           &nbsp;#<br />
+           &nbsp;# print your HTTP headers here<br />
+           &nbsp;#<br />
+           &nbsp;$| = $oldbar;<br />
+           &nbsp;select ($cfh);<br />
+           }</code></dd>
+        </dl>
+
+        <p>This is generally only necessary when you are calling
+        external programs from your script that send output to
+        stdout, or if there will be a long delay between the time
+        the headers are sent and the actual content starts being
+        emitted. To maximize performance, you should turn
+        buffer-flushing back <em>off</em> (with <code>$| = 0</code>
+        or the equivalent) after the statements that send the
+        headers, as displayed above.</p>
+
+        <p>If your script isn't written in Perl, do the equivalent
+        thing for whatever language you <em>are</em> using
+        (<em>e.g.</em>, for C, call <code>fflush()</code> after
+        writing the headers).</p>
+
+        <p>Another cause for the "premature end of script headers"
+        message are the RLimitCPU and RLimitMEM directives. You may
+        get the message if the CGI script was killed due to a
+        resource limit.</p>
+
+        <p>In addition, a configuration problem in <a
+        href="../suexec.html">suEXEC</a>, mod_perl, or another
+        third party module can often interfere with the execution
+        of your CGI and cause the "premature end of script headers"
+        message.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="POSTnotallowed" name="POSTnotallowed"><strong>Why do
+        I keep getting "Method Not Allowed" for form POST
+        requests?</strong></a> 
+
+        <p>This is almost always due to Apache not being configured
+        to treat the file you are trying to POST to as a CGI
+        script. You can not POST to a normal HTML file; the
+        operation has no meaning. See the FAQ entry on <a
+        href="#CGIoutsideScriptAlias">CGIs outside ScriptAliased
+        directories</a> for details on how to configure Apache to
+        treat the file in question as a CGI.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="nph-scripts" name="nph-scripts"><strong>How can I
+        get my script's output without Apache buffering it? Why
+        doesn't my server push work?</strong></a> 
+
+        <p>As of Apache 1.3, CGI scripts are essentially not
+        buffered. Every time your script does a "flush" to output
+        data, that data gets relayed on to the client. Some
+        scripting languages, for example Perl, have their own
+        buffering for output - this can be disabled by setting the
+        <code>$|</code> special variable to 1. Of course this does
+        increase the overall number of packets being transmitted,
+        which can result in a sense of slowness for the end
+        user.</p>
+
+        <p>Prior to 1.3, you needed to use "nph-" scripts to
+        accomplish non-buffering. Today, the only difference
+        between nph scripts and normal scripts is that nph scripts
+        require the full HTTP headers to be sent.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="cgi-spec" name="cgi-spec"><strong>Where can I find
+        the "CGI specification"?</strong></a> 
+
+        <p>The Common Gateway Interface (CGI) specification can be
+        found at the original NCSA site &lt; <a
+        href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html"><samp>
+        http://hoohoo.ncsa.uiuc.edu/cgi/interface.html</samp></a>&gt;.
+        This version hasn't been updated since 1995, and there have
+        been some efforts to update it.</p>
+
+        <p>A new draft is being worked on with the intent of making
+        it an informational RFC; you can find out more about this
+        project at &lt;<a
+        href="http://web.golux.com/coar/cgi/"><samp>http://web.golux.com/coar/cgi/</samp></a>&gt;.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="fastcgi" name="fastcgi"><strong>Why isn't FastCGI
+        included with Apache any more?</strong></a> 
+
+        <p>The simple answer is that it was becoming too difficult
+        to keep the version being included with Apache synchronized
+        with the master copy at the <a
+        href="http://www.fastcgi.com/">FastCGI web site</a>. When a
+        new version of Apache was released, the version of the
+        FastCGI module included with it would soon be out of
+        date.</p>
+
+        <p>You can still obtain the FastCGI module for Apache from
+        the master FastCGI web site.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="ssi-part-i" name="ssi-part-i"><strong>How do I
+        enable SSI (parsed HTML)?</strong></a> 
+
+        <p>SSI (an acronym for Server-Side Include) directives
+        allow static HTML documents to be enhanced at run-time
+        (<em>e.g.</em>, when delivered to a client by Apache). The
+        format of SSI directives is covered in the <a
+        href="../mod/mod_include.html">mod_include manual</a>;
+        suffice it to say that Apache supports not only SSI but
+        xSSI (eXtended SSI) directives.</p>
+
+        <p>Processing a document at run-time is called
+        <em>parsing</em> it; hence the term "parsed HTML" sometimes
+        used for documents that contain SSI instructions. Parsing
+        tends to be resource-consumptive compared to serving static
+        files, and is not enabled by default. It can also interfere
+        with the cachability of your documents, which can put a
+        further load on your server. (See the <a
+        href="#ssi-part-ii">next question</a> for more information
+        about this.)</p>
+
+        <p>To enable SSI processing, you need to</p>
+
+        <ul>
+          <li>Build your server with the <a
+          href="../mod/mod_include.html"><samp>mod_include</samp></a>
+          module. This is normally compiled in by default.</li>
+
+          <li>Make sure your server configuration files have an <a
+          href="../mod/core.html#options"><samp>Options</samp></a>
+          directive which permits <samp>Includes</samp>.</li>
+
+          <li>
+            Make sure that the directory where you want the SSI
+            documents to live is covered by the "server-parsed"
+            content handler, either explicitly or in some ancestral
+            location. That can be done with the following <a
+            href="../mod/mod_mime.html#addhandler"><samp>AddHandler</samp></a>
+            directive: 
+
+            <dl>
+              <dd><code>AddHandler server-parsed .shtml</code></dd>
+            </dl>
+
+            <p>This indicates that all files ending in ".shtml" in
+            that location (or its descendants) should be parsed.
+            Note that using ".html" will cause all normal HTML
+            files to be parsed, which may put an inordinate load on
+            your server.</p>
+          </li>
+        </ul>
+
+        <p>For additional information, see the <cite>Apache
+        Week</cite> article on <a
+        href="http://www.apacheweek.com/features/ssi"
+        rel="Help"><cite>Using Server Side Includes</cite></a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="ssi-part-ii" name="ssi-part-ii"><strong>Why don't my
+        parsed files get cached?</strong></a> 
+
+        <p>Since the server is performing run-time processing of
+        your SSI directives, which may change the content shipped
+        to the client, it can't know at the time it starts parsing
+        what the final size of the result will be, or whether the
+        parsed result will always be the same. This means that it
+        can't generate <samp>Content-Length</samp> or
+        <samp>Last-Modified</samp> headers. Caches commonly work by
+        comparing the <samp>Last-Modified</samp> of what's in the
+        cache with that being delivered by the server. Since the
+        server isn't sending that header for a parsed document,
+        whatever's doing the caching can't tell whether the
+        document has changed or not - and so fetches it again to be
+        on the safe side.</p>
+
+        <p>You can work around this in some cases by causing an
+        <samp>Expires</samp> header to be generated. (See the <a
+        href="../mod/mod_expires.html"
+        rel="Help"><samp>mod_expires</samp></a> documentation for
+        more details.) Another possibility is to use the <a
+        href="../mod/mod_include.html#xbithack"
+        rel="Help"><samp>XBitHack Full</samp></a> mechanism, which
+        tells Apache to send (under certain circumstances detailed
+        in the XBitHack directive description) a
+        <samp>Last-Modified</samp> header based upon the last
+        modification time of the file being parsed. Note that this
+        may actually be lying to the client if the parsed file
+        doesn't change but the SSI-inserted content does; if the
+        included content changes often, this can result in stale
+        copies being cached.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="ssi-part-iii" name="ssi-part-iii"><strong>How can I
+        have my script output parsed?</strong></a> 
+
+        <p>So you want to include SSI directives in the output from
+        your CGI script, but can't figure out how to do it? The
+        short answer is "you can't." This is potentially a security
+        liability and, more importantly, it can not be cleanly
+        implemented under the current server API. The best
+        workaround is for your script itself to do what the SSIs
+        would be doing. After all, it's generating the rest of the
+        content.</p>
+
+        <p>This is a feature The Apache Group hopes to add in the
+        next major release after 1.3.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="ssi-part-iv" name="ssi-part-iv"><strong>SSIs don't
+        work for VirtualHosts and/or user home
+        directories.</strong></a> 
+
+        <p>This is almost always due to having some setting in your
+        config file that sets "Options Includes" or some other
+        setting for your DocumentRoot but not for other
+        directories. If you set it inside a Directory section, then
+        that setting will only apply to that directory.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="errordocssi" name="errordocssi"><strong>How can I
+        use <code>ErrorDocument</code> and SSI to simplify
+        customized error messages?</strong></a> 
+
+        <p>Have a look at <a href="custom_errordocs.html">this
+        document</a>. It shows in example form how you can a
+        combination of XSSI and negotiation to tailor a set of
+        <code>ErrorDocument</code>s to your personal taste, and
+        returning different internationalized error responses based
+        on the client's native language.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="remote-user-var" name="remote-user-var"><strong>Why
+        is the environment variable <samp>REMOTE_USER</samp> not
+        set?</strong></a> 
+
+        <p>This variable is set and thus available in SSI or CGI
+        scripts <strong>if and only if</strong> the requested
+        document was protected by access authentication. For an
+        explanation on how to implement these restrictions, see <a
+        href="http://www.apacheweek.com/"><cite>Apache
+        Week</cite></a>'s articles on <a
+        href="http://www.apacheweek.com/features/userauth"><cite>Using
+        User Authentication</cite></a> or <a
+        href="http://www.apacheweek.com/features/dbmauth"><cite>DBM
+        User Authentication</cite></a>.</p>
+
+        <p>Hint: When using a CGI script to receive the data of a
+        HTML <samp>FORM</samp> notice that protecting the document
+        containing the <samp>FORM</samp> is not sufficient to
+        provide <samp>REMOTE_USER</samp> to the CGI script. You
+        have to protect the CGI script, too. Or alternatively only
+        the CGI script (then authentication happens only after
+        filling out the form).</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="user-cgi" name="user-cgi"><strong>How do I allow
+        each of my user directories to have a cgi-bin
+        directory?</strong></a> 
+
+        <p>Remember that CGI execution does not need to be
+        restricted only to cgi-bin directories. You can <a
+        href="#CGIoutsideScriptAlias">allow CGI script execution in
+        arbitrary parts of your filesystem</a>.</p>
+
+        <p>There are many ways to give each user directory a
+        cgi-bin directory such that anything requested as
+        <samp>http://example.com/~user/cgi-bin/program</samp> will
+        be executed as a CGI script. Two alternatives are:</p>
+
+        <ol>
+          <li>
+            Place the cgi-bin directory next to the public_html
+            directory: 
+
+            <dl>
+              <dd><code>ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*)
+              /home/$1/cgi-bin/$2</code></dd>
+            </dl>
+          </li>
+
+          <li>
+            Place the cgi-bin directory underneath the public_html
+            directory: 
+
+            <dl>
+              <dd><code>&lt;Directory
+              /home/*/public_html/cgi-bin&gt;<br />
+               &nbsp;&nbsp;&nbsp;&nbsp;Options ExecCGI<br />
+               &nbsp;&nbsp;&nbsp;&nbsp;SetHandler cgi-script<br />
+               &lt;/Directory&gt;</code></dd>
+            </dl>
+          </li>
+        </ol>
+        <p>If you are using suexec, the first technique will not work
+        because CGI scripts must be stored under the <code>public_html</code>
+        directory.</p>
+
+        <hr />
+      </li>
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-G.html b/htdocs/manual/misc/FAQ-G.html
new file mode 100644 (file)
index 0000000..9732c2b
--- /dev/null
@@ -0,0 +1,461 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.11 $ ($Date: 2003/01/13 03:29:32 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="7">
+        <strong>Authentication and Access Restrictions</strong> 
+
+        <ol>
+          <li><a href="#dnsauth">Why isn't restricting access by
+          host or domain name working correctly?</a></li>
+
+          <li><a href="#user-authentication">How do I set up Apache
+          to require a username and password to access certain
+          documents?</a></li>
+
+          <li><a href="#remote-auth-only">How do I set up Apache to
+          allow access to certain documents only if a site is
+          either a local site <em>or</em> the user supplies a
+          password and username?</a></li>
+
+          <li><a href="#authauthoritative">Why does my
+          authentication give me a server error?</a></li>
+
+          <li><a href="#auth-on-same-machine">Do I have to keep the
+          (mSQL) authentication information on the same
+          machine?</a></li>
+
+          <li><a href="#msql-slow">Why is my mSQL authentication
+          terribly slow?</a></li>
+
+          <li><a href="#passwdauth">Can I use my
+          <samp>/etc/passwd</samp> file for Web page
+          authentication?</a></li>
+
+          <li><a href="#prompted-twice">Why does Apache ask for my
+          password twice before serving a file?</a></li>
+
+          <li><a href="#image-theft">How can I prevent people from
+          "stealing" the images from my web site?</a></li>
+
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>G. Authentication and Access Restrictions</h3>
+
+    <ol>
+      <li>
+        <a id="dnsauth" name="dnsauth"><strong>Why isn't
+        restricting access by host or domain name working
+        correctly?</strong></a> 
+
+        <p>Two of the most common causes of this are:</p>
+
+        <ol>
+          <li><strong>An error, inconsistency, or unexpected
+          mapping in the DNS registration</strong><br />
+           This happens frequently: your configuration restricts
+          access to <samp>Host.FooBar.Com</samp>, but you can't get
+          in from that host. The usual reason for this is that
+          <samp>Host.FooBar.Com</samp> is actually an alias for
+          another name, and when Apache performs the
+          address-to-name lookup it's getting the <em>real</em>
+          name, not <samp>Host.FooBar.Com</samp>. You can verify
+          this by checking the reverse lookup yourself. The easiest
+          way to work around it is to specify the correct host name
+          in your configuration.</li>
+
+          <li>
+            <strong>Inadequate checking and verification in your
+            configuration of Apache</strong><br />
+             If you intend to perform access checking and
+            restriction based upon the client's host or domain
+            name, you really need to configure Apache to
+            double-check the origin information it's supplied. You
+            do this by adding the <samp>-DMAXIMUM_DNS</samp> clause
+            to the <samp>EXTRA_CFLAGS</samp> definition in your
+            <samp>Configuration</samp> file. For example: 
+
+            <dl>
+              <dd><code>EXTRA_CFLAGS=-DMAXIMUM_DNS</code></dd>
+            </dl>
+
+            <p>This will cause Apache to be very paranoid about
+            making sure a particular host address is
+            <em>really</em> assigned to the name it claims to be.
+            Note that this <em>can</em> incur a significant
+            performance penalty, however, because of all the name
+            resolution requests being sent to a nameserver.</p>
+          </li>
+        </ol>
+        <hr />
+      </li>
+
+      <li>
+        <a id="user-authentication"
+        name="user-authentication"><strong>How do I set up Apache
+        to require a username and password to access certain
+        documents?</strong></a> 
+
+        <p>There are several ways to do this; some of the more
+        popular ones are to use the <a
+        href="../mod/mod_auth.html">mod_auth</a>, <a
+        href="../mod/mod_auth_db.html">mod_auth_db</a>, or <a
+        href="../mod/mod_auth_dbm.html">mod_auth_dbm</a>
+        modules.</p>
+
+        <p>For an explanation on how to implement these
+        restrictions, see <a
+        href="http://www.apacheweek.com/"><cite>Apache
+        Week</cite></a>'s articles on <a
+        href="http://www.apacheweek.com/features/userauth"><cite>Using
+        User Authentication</cite></a> or <a
+        href="http://www.apacheweek.com/features/dbmauth"><cite>DBM
+        User Authentication</cite></a>, or see the <a
+        href="../howto/auth.html">authentication tutorial</a> in the
+        Apache documentation.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="remote-auth-only"
+        name="remote-auth-only"><strong>How do I set up Apache to
+        allow access to certain documents only if a site is either
+        a local site <em>or</em> the user supplies a password and
+        username?</strong></a> 
+
+        <p>Use the <a href="../mod/core.html#satisfy">Satisfy</a>
+        directive, in particular the <code>Satisfy Any</code>
+        directive, to require that only one of the access
+        restrictions be met. For example, adding the following
+        configuration to a <samp>.htaccess</samp> or server
+        configuration file would restrict access to people who
+        either are accessing the site from a host under domain.com
+        or who can supply a valid username and password:</p>
+
+        <dl>
+          <dd><code>Deny from all<br />
+           Allow from .domain.com<br />
+           AuthType Basic<br />
+           AuthUserFile /usr/local/apache/conf/htpasswd.users<br />
+           AuthName "special directory"<br />
+           Require valid-user<br />
+           Satisfy any</code></dd>
+        </dl>
+
+        <p>See the <a href="#user-authentication">user
+        authentication</a> question and the <a
+        href="../mod/mod_access.html">mod_access</a> module for
+        details on how the above directives work.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="authauthoritative"
+        name="authauthoritative"><strong>Why does my authentication
+        give me a server error?</strong></a> 
+
+        <p>Under normal circumstances, the Apache access control
+        modules will pass unrecognized user IDs on to the next
+        access control module in line. Only if the user ID is
+        recognized and the password is validated (or not) will it
+        give the usual success or "authentication failed"
+        messages.</p>
+
+        <p>However, if the last access module in line 'declines'
+        the validation request (because it has never heard of the
+        user ID or because it is not configured), the
+        <samp>http_request</samp> handler will give one of the
+        following, confusing, errors:</p>
+
+        <ul>
+          <li><samp>check access</samp></li>
+
+          <li><samp>check user. No user file?</samp></li>
+
+          <li><samp>check access. No groups file?</samp></li>
+        </ul>
+
+        <p>This does <em>not</em> mean that you have to add an
+        '<samp>AuthUserFile&nbsp;/dev/null</samp>' line as some
+        magazines suggest!</p>
+
+        <p>The solution is to ensure that at least the last module
+        is authoritative and <strong>CONFIGURED</strong>. By
+        default, <samp>mod_auth</samp> is authoritative and will
+        give an OK/Denied, but only if it is configured with the
+        proper <samp>AuthUserFile</samp>. Likewise, if a valid
+        group is required. (Remember that the modules are processed
+        in the reverse order from that in which they appear in your
+        compile-time <samp>Configuration</samp> file.)</p>
+
+        <p>A typical situation for this error is when you are using
+        the <samp>mod_auth_dbm</samp>, <samp>mod_auth_msql</samp>,
+        <samp>mod_auth_mysql</samp>, <samp>mod_auth_anon</samp> or
+        <samp>mod_auth_cookie</samp> modules on their own. These
+        are by default <strong>not</strong> authoritative, and this
+        will pass the buck on to the (non-existent) next
+        authentication module when the user ID is not in their
+        respective database. Just add the appropriate
+        '<samp><em>XXX</em>Authoritative yes</samp>' line to the
+        configuration.</p>
+
+        <p>In general it is a good idea (though not terribly
+        efficient) to have the file-based <samp>mod_auth</samp> a
+        module of last resort. This allows you to access the web
+        server with a few special passwords even if the databases
+        are down or corrupted. This does cost a file
+        open/seek/close for each request in a protected area.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="auth-on-same-machine"
+        name="auth-on-same-machine"><strong>Do I have to keep the
+        (mSQL) authentication information on the same
+        machine?</strong></a> 
+
+        <p>Some organizations feel very strongly about keeping the
+        authentication information on a different machine than the
+        webserver. With the <samp>mod_auth_msql</samp>,
+        <samp>mod_auth_mysql</samp>, and other SQL modules
+        connecting to (R)DBMses this is quite possible. Just
+        configure an explicit host to contact.</p>
+
+        <p>Be aware that with mSQL and Oracle, opening and closing
+        these database connections is very expensive and time
+        consuming. You might want to look at the code in the
+        <samp>auth_*</samp> modules and play with the compile time
+        flags to alleviate this somewhat, if your RDBMS licences
+        allow for it.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="msql-slow" name="msql-slow"><strong>Why is my mSQL
+        authentication terribly slow?</strong></a> 
+
+        <p>You have probably configured the Host by specifying a
+        FQHN, and thus the <samp>libmsql</samp> will use a full
+        blown TCP/IP socket to talk to the database, rather than a
+        fast internal device. The <samp>libmsql</samp>, the mSQL
+        FAQ, and the <samp>mod_auth_msql</samp> documentation warn
+        you about this. If you have to use different hosts, check
+        out the <samp>mod_auth_msql</samp> code for some compile
+        time flags which might - or might not - suit you.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="passwdauth" name="passwdauth"><strong>Can I use my
+        <samp>/etc/passwd</samp> file for Web page
+        authentication?</strong></a> 
+
+        <p>Yes, you can - but it's a <strong>very bad
+        idea</strong>. Here are some of the reasons:</p>
+
+        <ul>
+          <li>The Web technology provides no governors on how often
+          or how rapidly password (authentication failure) retries
+          can be made. That means that someone can hammer away at
+          your system's <samp>root</samp> password using the Web,
+          using a dictionary or similar mass attack, just as fast
+          as the wire and your server can handle the requests. Most
+          operating systems these days include attack detection
+          (such as <em>n</em> failed passwords for the same account
+          within <em>m</em> seconds) and evasion (breaking the
+          connection, disabling the account under attack, disabling
+          <em>all</em> logins from that source, <em>et
+          cetera</em>), but the Web does not.</li>
+
+          <li>An account under attack isn't notified (unless the
+          server is heavily modified); there's no "You have 19483
+          login failures" message when the legitimate owner logs
+          in.</li>
+
+          <li>Without an exhaustive and error-prone examination of
+          the server logs, you can't tell whether an account has
+          been compromised. Detecting that an attack has occurred,
+          or is in progress, is fairly obvious, though -
+          <em>if</em> you look at the logs.</li>
+
+          <li>Web authentication passwords (at least for Basic
+          authentication) generally fly across the wire, and
+          through intermediate proxy systems, in what amounts to
+          plain text. "O'er the net we go/Caching all the way;/O
+          what fun it is to surf/Giving my password away!"</li>
+
+          <li>Since HTTP is stateless, information about the
+          authentication is transmitted <em>each and every
+          time</em> a request is made to the server. Essentially,
+          the client caches it after the first successful access,
+          and transmits it without asking for all subsequent
+          requests to the same server.</li>
+
+          <li>It's relatively trivial for someone on your system to
+          put up a page that will steal the cached password from a
+          client's cache without them knowing. Can you say
+          "password grabber"?</li>
+        </ul>
+
+        <p>If you still want to do this in light of the above
+        disadvantages, the method is left as an exercise for the
+        reader. It'll void your Apache warranty, though, and you'll
+        lose all accumulated UNIX guru points.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="prompted-twice" name="prompted-twice"><strong>Why
+        does Apache ask for my password twice before serving a
+        file?</strong></a> 
+
+        <p>If the hostname under which you are accessing the server
+        is different than the hostname specified in the <a
+        href="../mod/core.html#servername"><code>ServerName</code></a>
+        directive, then depending on the setting of the <a
+        href="../mod/core.html#usecanonicalname"><code>UseCanonicalName</code></a>
+        directive, Apache will redirect you to a new hostname when
+        constructing self-referential URLs. This happens, for
+        example, in the case where you request a directory without
+        including the trailing slash.</p>
+
+        <p>When this happens, Apache will ask for authentication
+        once under the original hostname, perform the redirect, and
+        then ask again under the new hostname. For security
+        reasons, the browser must prompt again for the password
+        when the host name changes.</p>
+
+        <p>To eliminate this problem you should</p>
+
+        <ol>
+          <li>Always use the trailing slash when requesting
+          directories;</li>
+
+          <li>Change the <code>ServerName</code> to match the name
+          you are using in the URL; and/or</li>
+
+          <li>Set <code>UseCanonicalName off</code>.</li>
+        </ol>
+        <hr />
+      </li>
+
+      <li>
+        <a id="image-theft" name="image-theft"><strong>How can I prevent
+        people from "stealing" the images from my web site?</strong></a> 
+
+        <p>The goal here is to prevent people from inlining your images
+        directly from their web site, but accessing them only if they
+        appear inline in your pages.<p>
+
+        <p>This can be accomplished with a combination of SetEnvIf and
+        the Deny and Allow directives. However, it is important to 
+        understand that any access restriction based on the REFERER
+        header is intrinsically problematic due to the fact that 
+        browsers can send an incorrect REFERER, either because they 
+        want to circumvent your restriction or simply because they don't
+        send the right thing (or anything at all).</p>
+
+        <p>The following configuration will produce the desired effect
+        if the browser passes correct REFERER headers.</p>
+
+<pre>
+SetEnvIf REFERER "www\.mydomain\.com" linked_from_here
+SetEnvIf REFERER "^$" linked_from_here
+
+&lt;Directory /www/images&gt;
+    Order deny,allow
+    Deny from all
+    Allow from env=linked_from_here
+&lt;/Directory&gt;
+</pre>
+
+<p>Further examples can be found in the <a 
+href="../env.html#examples">Environment Variables</a> documentation.</p>
+
+        <hr />
+      </li>
+
+
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-H.html b/htdocs/manual/misc/FAQ-H.html
new file mode 100644 (file)
index 0000000..d2c3396
--- /dev/null
@@ -0,0 +1,272 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.4 $ ($Date: 2001/10/08 01:26:54 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="8">
+        <strong>URL Rewriting</strong> 
+
+        <ol>
+          <li><a href="#rewrite-more-config">Where can I find
+          mod_rewrite rulesets which already solve particular
+          URL-related problems?</a></li>
+
+          <li><a href="#rewrite-article">Where can I find any
+          published information about URL-manipulations and
+          mod_rewrite?</a></li>
+
+          <li><a href="#rewrite-complexity">Why is mod_rewrite so
+          difficult to learn and seems so complicated?</a></li>
+
+          <li><a href="#rewrite-dontwork">What can I do if my
+          RewriteRules don't work as expected?</a></li>
+
+          <li><a href="#rewrite-prefixdocroot">Why don't some of my
+          URLs get prefixed with DocumentRoot when using
+          mod_rewrite?</a></li>
+
+          <li><a href="#rewrite-nocase">How can I make all my URLs
+          case-insensitive with mod_rewrite?</a></li>
+
+          <li><a href="#rewrite-virthost">Why are RewriteRules in
+          my VirtualHost parts ignored?</a></li>
+
+          <li><a href="#rewrite-envwhitespace">How can I use
+          strings with whitespaces in RewriteRule's ENV
+          flag?</a></li>
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>H. URL Rewriting</h3>
+
+    <ol>
+      <li>
+        <a id="rewrite-more-config"
+        name="rewrite-more-config"><strong>Where can I find
+        mod_rewrite rulesets which already solve particular
+        URL-related problems?</strong></a> 
+
+        <p>There is a collection of <a
+        href="http://www.engelschall.com/pw/apache/rewriteguide/">Practical
+        Solutions for URL-Manipulation</a> where you can find all
+        typical solutions the author of <a
+        href="../mod/mod_rewrite.html"><samp>mod_rewrite</samp></a>
+        currently knows of. If you have more interesting rulesets
+        which solve particular problems not currently covered in
+        this document, send it to <a
+        href="mailto:rse@apache.org">Ralf S. Engelschall</a> for
+        inclusion. The other webmasters will thank you for avoiding
+        the reinvention of the wheel.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-article"
+        name="rewrite-article"><strong>Where can I find any
+        published information about URL-manipulations and
+        mod_rewrite?</strong></a> 
+
+        <p>There is an article from <a
+        href="mailto:rse@apache.org">Ralf S. Engelschall</a> about
+        URL-manipulations based on <a
+        href="../mod/mod_rewrite.html"><samp>mod_rewrite</samp></a>
+        in the "iX Multiuser Multitasking Magazin" issue #12/96.
+        The german (original) version can be read online at &lt;<a
+        href="http://www.heise.de/ix/artikel/9612149/">http://www.heise.de/ix/artikel/9612149/</a>&gt;,
+        the English (translated) version can be found at &lt;<a
+        href="http://www.heise.de/ix/artikel/E/9612149/">http://www.heise.de/ix/artikel/E/9612149/</a>&gt;.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-complexity"
+        name="rewrite-complexity"><strong>Why is mod_rewrite so
+        difficult to learn and seems so complicated?</strong></a> 
+
+        <p>Hmmm... there are a lot of reasons. First, mod_rewrite
+        itself is a powerful module which can help you in really
+        <strong>all</strong> aspects of URL rewriting, so it can be
+        no trivial module per definition. To accomplish its hard
+        job it uses software leverage and makes use of a powerful
+        regular expression library by Henry Spencer which is an
+        integral part of Apache since its version 1.2. And regular
+        expressions itself can be difficult to newbies, while
+        providing the most flexible power to the advanced
+        hacker.</p>
+
+        <p>On the other hand mod_rewrite has to work inside the
+        Apache API environment and needs to do some tricks to fit
+        there. For instance the Apache API as of 1.x really was not
+        designed for URL rewriting at the <tt>.htaccess</tt> level
+        of processing. Or the problem of multiple rewrites in
+        sequence, which is also not handled by the API per design.
+        To provide this features mod_rewrite has to do some special
+        (but API compliant!) handling which leads to difficult
+        processing inside the Apache kernel. While the user usually
+        doesn't see anything of this processing, it can be
+        difficult to find problems when some of your RewriteRules
+        seem not to work.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-dontwork"
+        name="rewrite-dontwork"><strong>What can I do if my
+        RewriteRules don't work as expected?</strong></a> 
+
+        <p>Use "<samp>RewriteLog somefile</samp>" and
+        "<samp>RewriteLogLevel 9</samp>" and have a precise look at
+        the steps the rewriting engine performs. This is really the
+        only one and best way to debug your rewriting
+        configuration.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-prefixdocroot"
+        name="rewrite-prefixdocroot"><strong>Why don't some of my
+        URLs get prefixed with DocumentRoot when using
+        mod_rewrite?</strong></a> 
+
+        <p>If the rule starts with <samp>/somedir/...</samp> make
+        sure that really no <samp>/somedir</samp> exists on the
+        filesystem if you don't want to lead the URL to match this
+        directory, <em>i.e.</em>, there must be no root directory
+        named <samp>somedir</samp> on the filesystem. Because if
+        there is such a directory, the URL will not get prefixed
+        with DocumentRoot. This behavior looks ugly, but is really
+        important for some other aspects of URL rewriting.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-nocase" name="rewrite-nocase"><strong>How
+        can I make all my URLs case-insensitive with
+        mod_rewrite?</strong></a> 
+
+        <p>You can't! The reasons are: first, that, case
+        translations for arbitrary length URLs cannot be done
+        <em>via</em> regex patterns and corresponding
+        substitutions. One needs a per-character pattern like the
+        sed/Perl <samp>tr|..|..|</samp> feature. Second, just
+        making URLs always upper or lower case does not solve the
+        whole problem of case-INSENSITIVE URLs, because URLs
+        actually have to be rewritten to the correct case-variant
+        for the file residing on the filesystem in order to allow
+        Apache to access the file. And the Unix filesystem is
+        always case-SENSITIVE.</p>
+
+        <p>But there is a module named <code><a
+        href="../mod/mod_speling.html">mod_speling.c</a></code> in
+        the Apache distribution. Try this module to help correct
+        people who use mis-cased URLs.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-virthost"
+        name="rewrite-virthost"><strong>Why are RewriteRules in my
+        VirtualHost parts ignored?</strong></a> 
+
+        <p>Because you have to enable the engine for every virtual
+        host explicitly due to security concerns. Just add a
+        "RewriteEngine on" to your virtual host configuration
+        parts.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rewrite-envwhitespace"
+        name="rewrite-envwhitespace"><strong>How can I use strings
+        with whitespaces in RewriteRule's ENV flag?</strong></a> 
+
+        <p>There is only one ugly solution: You have to surround
+        the complete flag argument by quotation marks
+        (<samp>"[E=...]"</samp>). Notice: The argument to quote
+        here is not the argument to the E-flag, it is the argument
+        of the Apache config file parser, <em>i.e.</em>, the third
+        argument of the RewriteRule here. So you have to write
+        <samp>"[E=any text with whitespaces]"</samp>.</p>
+        <hr />
+      </li>
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ-I.html b/htdocs/manual/misc/FAQ-I.html
new file mode 100644 (file)
index 0000000..fe5f2c0
--- /dev/null
@@ -0,0 +1,336 @@
+<!--#if expr="$FAQMASTER" -->
+<!--#set var="STANDALONE" value="" -->
+<!--#set var="INCLUDED" value="YES" -->
+<!--#if expr="$QUERY_STRING = TOC" -->
+<!--#set var="TOC" value="YES" -->
+<!--#set var="CONTENT" value="" -->
+<!--#else -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="YES" -->
+<!--#endif -->
+<!--#else -->
+<!--#set var="STANDALONE" value="YES" -->
+<!--#set var="INCLUDED" value="" -->
+<!--#set var="TOC" value="" -->
+<!--#set var="CONTENT" value="" -->
+<!--#endif -->
+<!--#if expr="$STANDALONE" -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>$Revision: 1.18 $ ($Date: 2004/05/13 13:11:38 $)</p>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+
+    <ol type="A">
+      <!--#endif -->
+      <!--#if expr="$TOC || $STANDALONE" -->
+
+      <li value="9">
+        <strong>Features</strong> 
+
+        <ol>
+          <li><a href="#proxy">Does or will Apache act as a Proxy
+          server?</a></li>
+
+          <li><a href="#multiviews">What are "multiviews"?</a></li>
+
+          <li><a href="#putsupport">Why can't I publish to my
+          Apache server using PUT on Netscape Gold and other
+          programs?</a></li>
+
+          <li><a href="#SSL-i">Why doesn't Apache include
+          SSL?</a></li>
+
+          <li><a href="#footer">How can I attach a footer to my
+          documents without using SSI?</a></li>
+
+          <li><a href="#search">Does Apache include a search
+          engine?</a></li>
+
+          <li><a href="#rotate">How can I rotate my log
+          files?</a></li>
+
+          <li><a href="#conditional-logging">How do I keep certain
+          requests from appearing in my logs?</a></li>
+
+          <li><a href="#dbinteg">Does Apache include any sort of
+          database integration?</a></li>
+
+          <li><a href="#asp">Can I use Active Server Pages (ASP)
+          with Apache?</a></li>
+
+          <li><a href="#java">Does Apache come with Java
+          support?</a></li>
+        </ol>
+      </li>
+      <!--#endif -->
+      <!--#if expr="$STANDALONE" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#endif -->
+    <!--#if expr="! $TOC" -->
+
+    <h3>I. Features</h3>
+
+    <ol>
+      <li>
+        <a id="proxy" name="proxy"><strong>Does or will Apache act
+        as a Proxy server?</strong></a> 
+
+        <p>Apache version 1.1 and above comes with a <a
+        href="../mod/mod_proxy.html">proxy module</a>. If compiled
+        in, this will make Apache act as a caching-proxy
+        server.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="multiviews" name="multiviews"><strong>What are
+        "multiviews"?</strong></a> 
+
+        <p>"Multiviews" is the general name given to the Apache
+        server's ability to provide language-specific document
+        variants in response to a request. This is documented quite
+        thoroughly in the <a href="../content-negotiation.html"
+        rel="Help">content negotiation</a> description page. In
+        addition, <cite>Apache Week</cite> carried an article on
+        this subject entitled "<a
+        href="http://www.apacheweek.com/features/negotiation"
+        rel="Help"><cite>Content Negotiation
+        Explained</cite></a>".</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="putsupport" name="putsupport"><strong>Why can't I
+        publish to my Apache server using PUT on Netscape Gold and
+        other programs?</strong></a> 
+
+        <p>Because you need to install and configure a script to
+        handle the uploaded files. This script is often called a
+        "PUT" handler. There are several available, but they may
+        have security problems. Using FTP uploads may be easier and
+        more secure, at least for now. For more information, see
+        the <cite>Apache Week</cite> article <a
+        href="http://www.apacheweek.com/features/put"><cite>Publishing
+        Pages with PUT</cite></a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="SSL-i" name="SSL-i"><strong>Why doesn't Apache
+        include SSL?</strong></a> 
+
+        <p>SSL (Secure Socket Layer) data transport requires
+        encryption, and many governments have restrictions upon the
+        import, export, and use of encryption technology. If Apache
+        included SSL in the base package, its distribution would
+        involve all sorts of legal and bureaucratic issues, and it
+        would no longer be freely available. Also, some of the
+        technology required to talk to current clients using SSL is
+        patented by <a href="http://www.rsa.com/">RSA Data
+        Security</a>, who restricts its use without a license.</p>
+
+        <p>Some SSL implementations of Apache are available,
+        however; see the "<a
+        href="http://httpd.apache.org/related_projects.html">related
+        projects</a>" page at the main Apache web site.</p>
+
+        <p>You can find out more about this topic in the
+        <cite>Apache Week</cite> article about <a
+        href="http://www.apacheweek.com/features/ssl"
+        rel="Help"><cite>Apache and Secure
+        Transactions</cite></a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="footer" name="footer"><strong>How can I attach a
+        footer to my documents without using SSI?</strong></a> 
+
+        <p>You can make arbitrary changes to static documents by
+        configuring an <a
+        href="../mod/mod_actions.html#action">Action</a> which
+        launches a CGI script. The CGI is then responsible for
+        setting a content-type and delivering the requested
+        document (the location of which is passed in the
+        <samp>PATH_TRANSLATED</samp> environment variable), along
+        with whatever footer is needed.</p>
+
+        <p>Busy sites may not want to run a CGI script on every
+        request, and should consider using an Apache module to add
+        the footer. There are several third party modules available
+        through the <a href="http://modules.apache.org/">Apache
+        Module Registry</a> which will add footers to documents.
+        These include mod_trailer, PHP
+        (<samp>php3_auto_append_file</samp>), mod_layout, and
+        mod_perl (<samp>Apache::Sandwich</samp>).</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="search" name="search"><strong>Does Apache include a
+        search engine?</strong></a> 
+
+        <p>Apache does not include a search engine, but there are
+        many good commercial and free search engines which can be
+        used easily with Apache. Some of them are listed on the <a
+        href="http://www.searchtools.com/tools/tools.html">Web Site
+        Search Tools</a> page. Open source search engines that are
+        often used with Apache include <a
+        href="http://www.htdig.org/">ht://Dig</a> and <a
+        href="http://sunsite.berkeley.edu/SWISH-E/">SWISH-E</a>.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="rotate" name="rotate"><strong>How can I rotate my
+        log files?</strong></a> 
+
+        <p>The simple answer: by piping the transfer log into an
+        appropriate log file rotation utility.</p>
+
+        <p>The longer answer: In the src/support/ directory, you
+        will find a utility called <a
+        href="../programs/rotatelogs.html">rotatelogs</a> which can
+        be used like this:</p>
+<pre>
+   TransferLog "|/path/to/rotatelogs /path/to/logs/access_log 86400"
+</pre>
+
+        <p>to enable daily rotation of the log files.<br />
+         A more sophisticated solution of a logfile rotation
+        utility is available under the name <code>cronolog</code>
+        from Andrew Ford's site at <a
+        href="http://www.cronolog.org/">http://www.cronolog.org/</a>.
+        It can automatically create logfile subdirectories based on
+        time and date, and can have a constant symlink point to the
+        rotating logfiles. (As of version 1.6.1, cronolog is
+        available under the <a href="../LICENSE">Apache
+        License</a>). Use it like this:</p>
+<pre>
+   CustomLog "|/path/to/cronolog --symlink=/usr/local/apache/logs/access_log /usr/local/apache/logs/%Y/%m/access_log" combined
+</pre>
+        <hr />
+      </li>
+
+      <li>
+        <a id="conditional-logging"
+        name="conditional-logging"><strong>How do I keep certain
+        requests from appearing in my logs?</strong></a> 
+
+        <p>The maximum flexibility for removing unwanted
+        information from log files is obtained by post-processing
+        the logs, or using piped-logs to feed the logs through a
+        program which does whatever you want. However, Apache does
+        offer the ability to prevent requests from ever appearing
+        in the log files. You can do this by using the <a
+        href="../mod/mod_setenvif.html#setenvif"><code>SetEnvIf</code></a>
+        directive to set an environment variable for certain
+        requests and then using the conditional <a
+        href="../mod/mod_log_config.html#customlog-conditional"><code>
+        CustomLog</code></a> syntax to prevent logging when the
+        environment variable is set.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="dbinteg" name="dbinteg"><b>Does Apache support any
+        sort of database integration?</b></a> 
+
+        <p>No. Apache is a Web (HTTP) server, not an application
+        server. The base package does not include any such
+        functionality. See the <a href="http://www.php.net/">PHP
+        project</a> and the <a
+        href="http://perl.apache.org/">mod_perl project</a> for
+        examples of modules that allow you to work with databases
+        from within the Apache environment.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="asp" name="asp"><b>Can I use Active Server Pages
+        (ASP) with Apache?</b></a> 
+
+        <p>The base Apache Web Server package does not include ASP
+        support. However, a number of projects provide ASP or 
+        ASP-like functionality for Apache. Some of these are:</p>
+            <ul>
+            <li><a
+            href="http://www.apache-asp.org/">Apache::ASP</a></li>
+            <li><a
+            href="http://go-mono.com/archive/xsp-0.10.html">mod_mono</a></li>
+            <li><a
+            href="http://wwws.sun.com/software/chilisoft/">Chilisoft
+            ASP</a></li>
+            </ul>
+        <p>See also the <a
+        href="http://httpd.apache.org/related_projects.html">related
+        projects</a> page to find out more.</p>
+        <hr />
+      </li>
+
+      <li>
+        <a id="java" name="java"><b>Does Apache come with Java
+        support?</b></a> 
+
+        <p>The base Apache Web server package does not include
+        support for Java, Java Server Pages, Enterprise Java Beans,
+        or Java servlets. Those features are available as add-ons
+        from the Apache/Java project site, &lt;URL:<a
+        href="http://jakarta.apache.org">http://jakarta.apache.org/</a>&gt;.</p>
+        <hr />
+      </li>
+    </ol>
+    <!--#endif -->
+    <!--#if expr="$STANDALONE" -->
+    <!-- Don't forget to add HR tags at the end of each list item.. -->
+    <!--#include virtual="footer.html" -->
+    <!--#endif -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/FAQ.html b/htdocs/manual/misc/FAQ.html
new file mode 100644 (file)
index 0000000..54ebee0
--- /dev/null
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Frequently Asked Questions</title>
+    <!--#set var="FAQMASTER" value="YES" -->
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Server Frequently Asked
+    Questions</h1>
+
+    <p>The latest version of this FAQ is always available from the
+    main Apache web site, at &lt;<a
+    href="http://httpd.apache.org/docs/misc/FAQ.html"
+    rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
+    <!-- Notes about changes:                                           -->
+    <!--  - If adding a relative link to another part of the            -->
+    <!--    documentation, *do* include the ".html" portion.  There's a -->
+    <!--    good chance that the user will be reading the documentation -->
+    <!--    on his own system, which may not be configured for          -->
+    <!--    multiviews.                                                 -->
+    <!--  - When adding items, make sure they're put in the right place -->
+    <!--    - verify that the numbering matches up.                     -->
+    <!--  - *Don't* use <PRE></PRE> blocks - they don't appear          -->
+    <!--    correctly in a reliable way when this is converted to text  -->
+    <!--    with Lynx.  Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL>    -->
+    <!--    blocks inside a <P></P> instead.  This is necessary to get  -->
+    <!--    the horizontal and vertical indenting right.                -->
+    <!--  - Don't forget to include an HR tag after the last /P tag     -->
+    <!--    but before the /LI in an item.                              -->
+
+    <p>If you are reading a text-only version of this FAQ, you may
+    find numbers enclosed in brackets (such as "[12]"). These refer
+    to the list of reference URLs to be found at the end of the
+    document. These references do not appear, and are not needed,
+    for the hypertext version.</p>
+
+    <h2>The Questions</h2>
+    <!-- Stuff to Add:                                                  -->
+    <!-- - can't bind to port 80                                        -->
+    <!--   - permission denied                                          -->
+    <!--   - address already in use                                     -->
+    <!-- - mod_auth & passwd lines "user:pw:.*" - ++1st colon onward is -->
+    <!--   treated as pw, not just ++1st to \-\-2nd.                    -->
+    <!-- - SSL:                                                         -->
+    <!--   - Can I use Apache-SSL for free in Canada?                   -->
+    <!--   - Why can't I use Apache-SSL in the U.S.?                    -->
+    <!-- - How can I found out how many visitors my site gets?          -->
+    <!-- - How do I add a counter?                                      -->
+    <!-- - How do I configure Apache as a proxy?                        -->
+    <!-- - What browsers support HTTP/1.1?                              -->
+    <!-- - What's the point of vhosts-by-name is there aren't any       -->
+    <!--   HTTP/1.1 browsers?                                           -->
+    <!-- - Is there an Apache for W95/WNT?                              -->
+    <!-- - Why does Apache die when a vhost can't be DNS-resolved?      -->
+    <!-- - Why do I get "send lost connection" messages in my error     -->
+    <!--   log?                                                         -->
+    <!--   - specifically consider .pdf files which seem to cause this  -->
+    <!--     a lot when accessed via the plugin ... and also mention    -->
+    <!--     how range-requests can cause bytes served < file size      -->
+    <!-- - Why do directory indexes appear as garbage?  (A: -lucb)      -->
+    <!-- - How do I add a footer to all pages offered by my server?     -->
+    <!-- - Fix midi question; a bigger problem than midi vs. x-midi is  -->
+    <!--   the simple fact that older versions of Apache (and new ones  -->
+    <!--   that have been upgraded without upgrading the mime.types     -->
+    <!--   file) don't have the type listed at all.                     -->
+    <!-- - RewriteRule /~fraggle/* /cgi-bin/fraggle.pl does not work    -->
+    <!-- - how do I disable authentication for a subdirectory?          -->
+    <!--   (A: you can't but "Satisfy any; Allow from all" can be close -->
+    <!-- - '400 malformed request' on Win32 might mean stale proxy; see -->
+    <!--   PR #2300.                                                    -->
+    <!-- - how do I tell what version of Apache I am running?           -->
+
+    <ol type="A">
+      <!--#include virtual="FAQ-A.html?TOC" -->
+      <!--#include virtual="FAQ-B.html?TOC" -->
+      <!--#include virtual="FAQ-C.html?TOC" -->
+      <!--#include virtual="FAQ-D.html?TOC" -->
+      <!--#include virtual="FAQ-E.html?TOC" -->
+      <!--#include virtual="FAQ-F.html?TOC" -->
+      <!--#include virtual="FAQ-G.html?TOC" -->
+      <!--#include virtual="FAQ-H.html?TOC" -->
+      <!--#include virtual="FAQ-I.html?TOC" -->
+    </ol>
+    <hr />
+
+    <h2>The Answers</h2>
+    <!--#include virtual="FAQ-A.html?" -->
+    <!--#include virtual="FAQ-B.html?" -->
+    <!--#include virtual="FAQ-C.html?" -->
+    <!--#include virtual="FAQ-D.html?" -->
+    <!--#include virtual="FAQ-E.html?" -->
+    <!--#include virtual="FAQ-F.html?" -->
+    <!--#include virtual="FAQ-G.html?" -->
+    <!--#include virtual="FAQ-H.html?" -->
+    <!--#include virtual="FAQ-I.html?" -->
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/HTTP_Features.tsv b/htdocs/manual/misc/HTTP_Features.tsv
new file mode 100644 (file)
index 0000000..893403d
--- /dev/null
@@ -0,0 +1,142 @@
+This tab-separated-value file is for use as a checklist                        
+for features against <draft-ietf-http-v11-spec-rev-03.txt>,                    
+since two independently developed and interoperable                    
+implementations are needed for each feature.  For each entry,
+       ?       means not filled-in     
+       -       means not applicable    
+       n       means no        
+       y       means yes       
+       Y       means yes with the addition of a module that uses feature
+
+The contents should be placed in the form at <http://www.agranat.com:1998/>
+by someone who wants to be the contact for the Apache Group.
+                       
+Section        Feature Implemented     Tested
+8.1    Persistent Connections  y       y
+8.2.3  Automatic retrying of requests  -       -
+8.2.4  Use of the 100 (Continue) status        n       n
+9.2    OPTIONS y       y
+9.3    GET     y       y
+9.4    HEAD    y       y
+9.5    POST    y       y
+9.6    PUT     Y       y
+9.7    DELETE  Y       y
+9.8    TRACE   y       y
+9.9    CONNECT y       y
+10.1.1 100 Continue    y       y
+10.1.2 101 Switching Protocols Y       n
+10.2.1 200 OK  y       y
+10.2.2 201 Created     y       y
+10.2.3 202 Accepted    y       y
+10.2.4 203 Non-Authoritative Information       y       y
+10.2.5 204 No Content  y       y
+10.2.6 205 Reset Content       y       y
+10.2.7 206 Partial Content     y       y
+10.3.1 300 Multiple Choices    y       y
+10.3.2 301 Moved Permanently   y       y
+10.3.3 302 Found       y       y
+10.3.4 303 See Other   y       y
+10.3.5 304 Not Modified        y       y
+10.3.6 305 Use Proxy   y       n
+10.3.7 307 Temporary Redirect  n       n
+10.4.1 400 Bad Request y       y
+10.4.2 401 Unauthorized        y       y
+10.4.3 402 Payment Required    Y       n
+10.4.4 403 Forbidden   y       y
+10.4.5 404 Not Found   y       y
+10.4.6 405 Method Not Allowed  y       y
+10.4.7 406 Not Acceptable      y       y
+10.4.8 407 Proxy Authentication Required       y       y
+10.4.9 408 Request Timeout     y       y
+10.4.10        409 Conflict    Y       n
+10.4.11        410 Gone        y       y
+10.4.12        411 Length Required     y       y
+10.4.13        412 Precondition Failed y       y
+10.4.14        413 Request Entity Too Large    y       y
+10.4.15        414 Request-URI Too Long        y       y
+10.4.16        415 Unsupported Media Type      y       n
+10.4.17        416 Requested range not satisfiable     n       n
+10.4.18        417 Expectation Failed  n       n
+10.5.1 500 Internal Server Error       y       y
+10.5.2 501 Not Implemented     y       y
+10.5.3 502 Bad Gateway y       y
+10.5.4 503 Service Unavailable y       y
+10.5.5 504 Gateway Timeout     y       y
+10.5.6 505 HTTP Version Not Supported  Y       n
+13.3.3 Strong entity tags      y       y
+13.3.3 Weak entity tags        y       y
+14.1   Accept  y       y
+14.2   Accept-Charset  y       y
+14.3   Accept-Encoding n       n
+14.4   Accept-Language y       y
+14.5   Accept-Ranges   y       y
+14.6   Age     -       -
+14.7   Allow   y       y
+14.8   Authorization   y       y
+14.9   Cache-Control   y       y
+14.10  Connection      y       y
+14.11  Content-Encoding        y       y
+14.12  Content-Language        y       y
+14.13  Content-Length  y       y
+14.14  Content-Location        Y       n
+14.15  Content-MD5     y       n
+14.16  Content-Range   y       y
+14.17  Content-Type    y       y
+14.18  Date    y       y
+14.19  ETag    y       y
+14.20  Expect  n       n
+14.21  Expires y       y
+14.22  From    -       -
+14.23  Host    y       y
+14.24  If-Modified-Since       y       y
+14.25  If-Match        y       y
+14.26  If-None-Match   y       y
+14.27  If-Range        y       y
+14.28  If-Unmodified-Since     y       y
+14.29  Last-Modified   y       y
+14.30  Location        y       y
+14.31  Max-Forwards    n       n
+14.32  Pragma  y       y
+14.33  Proxy-Authenticate      y       y
+14.34  Proxy-Authorization     y       y
+14.35  Range   y       y
+14.36  Referer y       y
+14.37  Retry-After     y       y
+14.38  Server  y       y
+14.39  TE      n       n
+14.40  Trailer n       n
+14.41  Transfer-Encoding       y       y
+14.42  Upgrade Y       n
+14.43  User-Agent      -       -
+14.44  Vary    y       y
+14.45  Via     n       n
+14.46  Warning Y       n
+14.47  WWW-Authenticate        y       y
+=====  =====================================           
+Same for <draft-ietf-http-authentication-01.txt>:              
+                       
+A 2    Basic Authentication    y       y
+A 3.2.1        WWW-Authenticate Digest y       n
+A 3.2.1        qop-options auth        n       n
+A 3.2.1        qop-options auth-int    n       n
+A 3.2.2        Authorization Digest    y       n
+A 3.2.2        request qop auth        n       n
+A 3.2.2        request qop auth-int    n       n
+A 3.2.3        Authentication-Info Digest      n       n
+A 3.2.3        response qop auth       n       n
+A 3.2.3        response qop auth-int   n       n
+A 4.1  Proxy-Authenticate Basic        y       y
+A 4.2  Proxy-Authenticate Digest       y       n
+A 4.2  Proxy qop-options auth  n       n
+A 4.2  Proxy qop-options auth-int      n       n
+A 4.2  Proxy Authorization Digest      y       n
+A 4.2  Proxy request qop auth  n       n
+A 4.2  Proxy request qop auth-int      n       n
+A 4.2  Proxy Authentication-Info Digest        n       n
+A 4.2  Proxy response qop auth n       n
+A 4.2  Proxy response qop auth-int     n       n
+
+
+NOTES:
+100 Continue sent on all bodied requests, as per RFC 2068.
+Accept-Encoding does not allow q-values, as per RFC 2068.
diff --git a/htdocs/manual/misc/client_block_api.html b/htdocs/manual/misc/client_block_api.html
new file mode 100644 (file)
index 0000000..3e8ba74
--- /dev/null
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Reading Client Input in Apache 1.2</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Reading Client Input in Apache 1.2</h1>
+    <hr />
+
+    <p>Apache 1.1 and earlier let modules handle POST and PUT
+    requests by themselves. The module would, on its own, determine
+    whether the request had an entity, how many bytes it was, and
+    then called a function (<code>read_client_block</code>) to get
+    the data.</p>
+
+    <p>However, HTTP/1.1 requires several things of POST and PUT
+    request handlers that did not fit into this module, and all
+    existing modules have to be rewritten. The API calls for
+    handling this have been further abstracted, so that future HTTP
+    protocol changes can be accomplished while remaining
+    backwards-compatible.</p>
+    <hr />
+
+    <h3>The New API Functions</h3>
+<pre>
+   int ap_setup_client_block (request_rec *, int read_policy);
+   int ap_should_client_block (request_rec *);
+   long ap_get_client_block (request_rec *, char *buffer, int buffer_size);
+</pre>
+
+    <ol>
+      <li>
+        Call <code>ap_setup_client_block()</code> near the
+        beginning of the request handler. This will set up all the
+        necessary properties, and will return either OK, or an
+        error code. If the latter, the module should return that
+        error code. The second parameter selects the policy to
+        apply if the request message indicates a body, and how a
+        chunked transfer-coding should be interpreted. Choose one
+        of 
+<pre>
+    REQUEST_NO_BODY          Send 413 error if message has any body
+    REQUEST_CHUNKED_ERROR    Send 411 error if body without Content-Length
+    REQUEST_CHUNKED_DECHUNK  If chunked, remove the chunks for me.
+    REQUEST_CHUNKED_PASS     Pass the chunks to me without removal.
+</pre>
+        In order to use the last two options, the caller MUST
+        provide a buffer large enough to hold a chunk-size line,
+        including any extensions.
+      </li>
+
+      <li>When you are ready to possibly accept input, call
+      <code>ap_should_client_block()</code>. This will tell the
+      module whether or not to read input. If it is 0, the module
+      should assume that the input is of a non-entity type
+      (<em>e.g.</em>, a GET request). A nonzero response indicates
+      that the module should proceed (to step 3). This step also
+      sends a 100 Continue response to HTTP/1.1 clients, so should
+      not be called until the module is
+      <strong>*definitely*</strong> ready to read content.
+      (otherwise, the point of the 100 response is defeated). Never
+      call this function more than once.</li>
+
+      <li>Finally, call <code>ap_get_client_block</code> in a loop.
+      Pass it a buffer and its size. It will put data into the
+      buffer (not necessarily the full buffer, in the case of
+      chunked inputs), and return the length of the input block.
+      When it is done reading, it will return 0 if EOF, or -1 if
+      there was an error.</li>
+    </ol>
+
+    <p>As an example, please look at the code in
+    <code>mod_cgi.c</code>. This is properly written to the new API
+    guidelines.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/compat_notes.html b/htdocs/manual/misc/compat_notes.html
new file mode 100644 (file)
index 0000000..a84fa94
--- /dev/null
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache HTTP Server: Notes about Compatibility with
+    NCSA's Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Compatibility Notes with NCSA's Server</h1>
+    <hr />
+    While Apache is for the most part a drop-in replacement for
+    NCSA's httpd, there are a couple gotcha's to watch out for.
+    These are mostly due to the fact that the parser for config and
+    access control files was rewritten from scratch, so certain
+    liberties the earlier servers took may not be available here.
+    These are all easily fixable. If you know of other problems
+    that belong here, <a
+    href="http://httpd.apache.org/bug_report.html">let us know.</a>
+    
+
+    <p>Please also check the <a
+    href="known_client_problems.html">known client problems</a>
+    page.</p>
+
+    <ol>
+      <li>As of Apache 1.3.1, methods named in a <a
+      href="../mod/core.html#limit"><samp>&lt;Limit&gt;</samp></a>
+      section <em>must</em> be listed in upper-case. Lower- or
+      mixed-case method names will result in a configuration
+      error.</li>
+
+      <li>The basic mod_auth <code>AuthGroupFile</code>-specified
+      group file format allows commas between user names - Apache
+      does not.</li>
+
+      <li>If you follow the NCSA guidelines for setting up access
+      restrictions based on client domain, you may well have added
+      entries for <code>AuthType, AuthName, AuthUserFile</code> or
+      <code>AuthGroupFile</code>. <strong>None</strong> of these
+      are needed (or appropriate) for restricting access based on
+      client domain. When Apache sees <code>AuthType</code> it
+      (reasonably) assumes you are using some authorization type
+      based on username and password. Please remove
+      <code>AuthType</code>, it's unnecessary even for NCSA.</li>
+
+      <li><code>OldScriptAlias</code> is no longer supported.</li>
+
+      <li><code>exec cgi=""</code> produces reasonable
+      <strong>malformed header</strong> responses when used to
+      invoke non-CGI scripts.<br />
+       The NCSA code ignores the missing header (bad idea).<br />
+       Solution: write CGI to the CGI spec and use
+      <code>include&nbsp;virtual</code>, or use <code>exec
+      cmd=""</code> instead.</li>
+
+      <li>Icons for FancyIndexing broken - well, no, they're not
+      broken, we've just upgraded the icons from flat .xbm files to
+      pretty and much smaller .gif files, courtesy of <a
+      href="mailto:kevinh@eit.com">Kevin Hughes</a> at <a
+      href="http://www.eit.com/">EIT</a>. If you are using the same
+      srm.conf from an old distribution, make sure you add the new
+      <a href="../mod/mod_autoindex.html#addicon">AddIcon</a>, <a
+      href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a>,
+      and <a
+      href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a>
+      directives.</li>
+
+      <li>Apache versions before 1.2b1 will ignore the last line of
+      configuration files if the last line does not have a trailing
+      newline. This affects configuration files (httpd.conf,
+      access.conf and srm.conf), and htpasswd and htgroup
+      files.</li>
+
+      <li>Apache does not permit commas delimiting the methods in
+      &lt;Limit&gt;.</li>
+
+      <li>Apache's <code>&lt;VirtualHost&gt;</code> treats all
+      addresses as "optional" (<em>i.e.</em>, the server should
+      continue booting if it can't resolve the address). Whereas in
+      NCSA the default is to fail booting unless an added
+      <code>optional</code> keyword is included.</li>
+
+      <li>Apache does not implement <code>OnDeny</code>; use <a
+      href="../mod/core.html#errordocument"><code>ErrorDocument</code></a>
+      instead.</li>
+
+      <li>Apache (as of 1.3) always performs the equivalent of
+      <code>HostnameLookups minimal</code>. <code>minimal</code> is
+      not an option to <a
+      href="../mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>.</li>
+
+      <li>To embed spaces in directive arguments NCSA used a
+      backslash before the space. Apache treats backslashes as
+      normal characters. To embed spaces surround the argument with
+      double-quotes instead.</li>
+
+      <li>Apache does not implement the NCSA <code>referer</code>
+      directive. See <a
+      href="http://bugs.apache.org/index/full/968">PR#968</a> for a
+      few brief suggestions on alternative ways to implement the
+      same thing under Apache.</li>
+
+      <li>Apache does not allow ServerRoot settings inside a
+      VirtualHost container. There is only one global ServerRoot in
+      Apache; any desired changes in paths for virtual hosts need
+      to be made with the explicit directives, <em>e.g.</em>,
+      DocumentRoot, TransferLog, <em>etc.</em></li>
+
+      <li>The <code>AddType</code> directive cannot be used to set
+      the type of particular files. Instead, you can scope you
+      directives using &lt;Files&gt; blocks.</li>
+    </ol>
+    More to come when we notice them.... 
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/custom_errordocs.html b/htdocs/manual/misc/custom_errordocs.html
new file mode 100644 (file)
index 0000000..0d7ab2f
--- /dev/null
@@ -0,0 +1,483 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>International Customized Server Error Messages</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Using XSSI and <samp>ErrorDocument</samp> to
+    configure customized international server error responses</h1>
+
+    <h2>Index</h2>
+
+    <ul>
+      <li><a href="#intro">Introduction</a></li>
+
+      <li><a href="#createdir">Creating an ErrorDocument
+      directory</a></li>
+
+      <li><a href="#docnames">Naming the individual error document
+      files</a></li>
+
+      <li><a href="#headfoot">The common header and footer
+      files</a></li>
+
+      <li><a href="#createdocs">Creating ErrorDocuments in
+      different languages</a></li>
+
+      <li><a href="#fallback">The fallback language</a></li>
+
+      <li><a href="#proxy">Customizing Proxy Error
+      Messages</a></li>
+
+      <li><a href="#listings">HTML listing of the discussed
+      example</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="intro" name="intro">Introduction</a></h2>
+
+    <p>This document describes an easy way to provide your apache
+    WWW server with a set of customized error messages which take
+    advantage of <a href="../content-negotiation.html">Content
+    Negotiation</a> and <a href="../mod/mod_include.html">eXtended
+    Server Side Includes (XSSI)</a> to return error messages
+    generated by the server in the client's native language.</p>
+
+    <p>By using XSSI, all <a
+    href="../mod/core.html#errordocument">customized messages</a>
+    can share a homogenous and consistent style and layout, and
+    maintenance work (changing images, changing links) is kept to a
+    minimum because all layout information can be kept in a single
+    file.<br />
+     Error documents can be shared across different servers, or
+    even hosts, because all varying information is inserted at the
+    time the error document is returned on behalf of a failed
+    request.</p>
+
+    <p>Content Negotiation then selects the appropriate language
+    version of a particular error message text, honoring the
+    language preferences passed in the client's request. (Users
+    usually select their favorite languages in the preferences
+    options menu of today's browsers). When an error document in
+    the client's primary language version is unavailable, the
+    secondary languages are tried or a default (fallback) version
+    is used.</p>
+
+    <p>You have full flexibility in designing your error documents
+    to your personal taste (or your company's conventions). For
+    demonstration purposes, we present a simple generic error
+    document scheme. For this hypothetic server, we assume that all
+    error messages...</p>
+
+    <ul>
+      <li>possibly are served by different virtual hosts (different
+      host name, different IP address, or different port) on the
+      server machine,</li>
+
+      <li>show a predefined company logo in the right top of the
+      message (selectable by virtual host),</li>
+
+      <li>print the error title first, followed by an explanatory
+      text and (depending on the error context) help on how to
+      resolve the error,</li>
+
+      <li>have some kind of standardized background image,</li>
+
+      <li>display an apache logo and a feedback email address at
+      the bottom of the error message.</li>
+    </ul>
+
+    <p>An example of a "document not found" message for a german
+    client might look like this:<br />
+     <img src="../images/custom_errordocs.gif"
+    alt="[Needs graphics capability to display]" /><br />
+     All links in the document as well as links to the server's
+    administrator mail address, and even the name and port of the
+    serving virtual host are inserted in the error document at
+    "run-time", <em>i.e.</em>, when the error actually occurs.</p>
+
+    <h2><a id="createdir" name="createdir">Creating an
+    ErrorDocument directory</a></h2>
+    For this concept to work as easily as possible, we must take
+    advantage of as much server support as we can get: 
+
+    <ol>
+      <li>By defining the <a
+      href="../mod/core.html#options">MultiViews option</a>, we
+      enable the language selection of the most appropriate
+      language alternative (content negotiation).</li>
+
+      <li>By setting the <a
+      href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a>
+      directive we define a set of default fallback languages in
+      the situation where the client's browser did not express any
+      preference at all.</li>
+
+      <li>By enabling <a href="../mod/mod_include.html">Server Side
+      Includes</a> (and disallowing execution of cgi scripts for
+      security reasons), we allow the server to include building
+      blocks of the error message, and to substitute the value of
+      certain environment variables into the generated document
+      (dynamic HTML) or even to conditionally include or omit parts
+      of the text.</li>
+
+      <li>The <a
+      href="../mod/mod_mime.html#addhandler">AddHandler</a> and <a
+      href="../mod/mod_mime.html#addtype">AddType</a> directives
+      are useful for automatically XSSI-expanding all files with a
+      <samp>.shtml</samp> suffix to <em>text/html</em>.</li>
+
+      <li>By using the <a
+      href="../mod/mod_alias.html#alias">Alias</a> directive, we
+      keep the error document directory outside of the document
+      tree because it can be regarded more as a server part than
+      part of the document tree.</li>
+
+      <li>The <a
+      href="../mod/core.html#directory">&lt;Directory&gt;</a>-Block
+      restricts these "special" settings to the error document
+      directory and avoids an impact on any of the settings for the
+      regular document tree.</li>
+
+      <li>For each of the error codes to be handled (see RFC2068
+      for an exact description of each error code, or look at
+      <code>src/main/http_protocol.c</code> if you wish to see
+      apache's standard messages), an <a
+      href="../mod/core.html#errordocument">ErrorDocument</a> in
+      the aliased <samp>/errordocs</samp> directory is defined.
+      Note that we only define the basename of the document here
+      because the MultiViews option will select the best candidate
+      based on the language suffixes and the client's preferences.
+      Any error situation with an error code <em>not</em> handled
+      by a custom document will be dealt with by the server in the
+      standard way (<em>i.e.</em>, a plain error message in
+      english).</li>
+
+      <li>Finally, the <a
+      href="../mod/core.html#allowoverride">AllowOverride</a>
+      directive tells apache that it is not necessary to look for a
+      .htaccess file in the /errordocs directory: a minor speed
+      optimization.</li>
+    </ol>
+    The resulting <samp>httpd.conf</samp> configuration would then
+    look similar to this: <small>(Note that you can define your own
+    error messages using this method for only part of the document
+    tree, e.g., a /~user/ subtree. In this case, the configuration
+    could as well be put into the .htaccess file at the root of the
+    subtree, and the &lt;Directory&gt; and &lt;/Directory&gt;
+    directives -but not the contained directives- must be
+    omitted.)</small> 
+<pre>
+  LanguagePriority en fr de 
+  Alias  /errordocs  /usr/local/apache/errordocs
+  &lt;Directory /usr/local/apache/errordocs&gt;
+   AllowOverride none
+   Options MultiViews IncludesNoExec FollowSymLinks
+   AddType text/html .shtml
+   AddHandler server-parsed .shtml
+  &lt;/Directory&gt;
+  #    "400 Bad Request",
+  ErrorDocument  400  /errordocs/400
+  #    "401 Authorization Required",
+  ErrorDocument  401  /errordocs/401
+  #    "403 Forbidden",
+  ErrorDocument  403  /errordocs/403
+  #    "404 Not Found",
+  ErrorDocument  404  /errordocs/404
+  #    "500 Internal Server Error",
+  ErrorDocument  500  /errordocs/500
+</pre>
+    The directory for the error messages (here:
+    <samp>/usr/local/apache/errordocs/</samp>) must then be created
+    with the appropriate permissions (readable and executable by
+    the server uid or gid, only writable for the administrator). 
+
+    <h3><a id="docnames" name="docnames">Naming the individual
+    error document files</a></h3>
+    By defining the <samp>MultiViews</samp> option, the server was
+    told to automatically scan the directory for matching variants
+    (looking at language and content type suffixes) when a
+    requested document was not found. In the configuration, we
+    defined the names for the error documents to be just their
+    error number (without any suffix). 
+
+    <p>The names of the individual error documents are now
+    determined like this (I'm using 403 as an example, think of it
+    as a placeholder for any of the configured error
+    documents):</p>
+
+    <ul>
+      <li>No file errordocs/403 should exist. Otherwise, it would
+      be found and served (with the DefaultType, usually
+      text/plain), all negotiation would be bypassed.</li>
+
+      <li>For each language for which we have an internationalized
+      version (note that this need not be the same set of languages
+      for each error code - you can get by with a single language
+      version until you actually <em>have</em> translated
+      versions), a document
+      <samp>errordocs/403.shtml.<em>lang</em></samp> is created and
+      filled with the error text in that language (<a
+      href="#createdocs">see below</a>).</li>
+
+      <li>One fallback document called
+      <samp>errordocs/403.shtml</samp> is created, usually by
+      creating a symlink to the default language variant (<a
+      href="#fallback">see below</a>).</li>
+    </ul>
+
+    <h3><a id="headfoot" name="headfoot">The common header and
+    footer files</a></h3>
+    By putting as much layout information in two special "include
+    files", the error documents can be reduced to a bare minimum. 
+
+    <p>One of these layout files defines the HTML document header
+    and a configurable list of paths to the icons to be shown in
+    the resulting error document. These paths are exported as a set
+    of XSSI environment variables and are later evaluated by the
+    "footer" special file. The title of the current error (which is
+    put into the TITLE tag and an H1 header) is simply passed in
+    from the main error document in a variable called
+    <code>title</code>.<br />
+     <strong>By changing this file, the layout of all generated
+    error messages can be changed in a second.</strong> (By
+    exploiting the features of XSSI, you can easily define
+    different layouts based on the current virtual host, or even
+    based on the client's domain name).</p>
+
+    <p>The second layout file describes the footer to be displayed
+    at the bottom of every error message. In this example, it shows
+    an apache logo, the current server time, the server version
+    string and adds a mail reference to the site's webmaster.</p>
+
+    <p>For simplicity, the header file is simply called
+    <code>head.shtml</code> because it contains server-parsed
+    content but no language specific information. The footer file
+    exists once for each language translation, plus a symlink for
+    the default language.</p>
+
+    <p><strong>Example:</strong> for English, French and German
+    versions (default english)<br />
+     <code>foot.shtml.en</code>,<br />
+     <code>foot.shtml.fr</code>,<br />
+     <code>foot.shtml.de</code>,<br />
+     <code>foot.shtml</code> symlink to
+    <code>foot.shtml.en</code></p>
+
+    <p>Both files are included into the error document by using the
+    directives <code>&lt;!--#include virtual="head" --&gt;</code>
+    and <code>&lt;!--#include virtual="foot" --&gt;</code>
+    respectively: the rest of the magic occurs in mod_negotiation
+    and in mod_include.</p>
+
+    <p>See <a href="#listings">the listings below</a> to see an
+    actual HTML implementation of the discussed example.</p>
+
+    <h3><a id="createdocs" name="createdocs">Creating
+    ErrorDocuments in different languages</a></h3>
+    After all this preparation work, little remains to be said
+    about the actual documents. They all share a simple common
+    structure: 
+<pre>
+&lt;!--#set var="title" value="<em>error description title</em>" --&gt;
+&lt;!--#include virtual="head" --&gt;
+   <em>explanatory error text</em>
+&lt;!--#include virtual="foot" --&gt;
+</pre>
+    In the <a href="#listings">listings section</a>, you can see an
+    example of a [400 Bad Request] error document. Documents as
+    simple as that certainly cause no problems to translate or
+    expand. 
+
+    <h3><a id="fallback" name="fallback">The fallback
+    language</a></h3>
+    Do we need a special handling for languages other than those we
+    have translations for? We did set the LanguagePriority, didn't
+    we?! 
+
+    <p>Well, the LanguagePriority directive is for the case where
+    the client does not express any language priority at all. But
+    what happens in the situation where the client wants one of the
+    languages we do not have, and none of those we do have?</p>
+
+    <p>Without doing anything, the Apache server will usually
+    return a [406 no acceptable variant] error, listing the choices
+    from which the client may select. But we're in an error message
+    already, and important error information might get lost when
+    the client had to choose a language representation first.</p>
+
+    <p>So, in this situation it appears to be easier to define a
+    fallback language (by copying or linking, <em>e.g.</em>, the
+    english version to a language-less version). Because the
+    negotiation algorithm prefers "more specialized" variants over
+    "more generic" variants, these generic alternatives will only
+    be chosen when the normal negotiation did not succeed.</p>
+
+    <p>A simple shell script to do it (execute within the
+    errordocs/ dir):</p>
+<pre>
+  for f in *.shtml.en
+  do
+     ln -s $f `basename $f .en`
+  done
+</pre>
+
+    <h2><a id="proxy" name="proxy">Customizing Proxy Error
+    Messages</a></h2>
+
+    <p>As of Apache-1.3, it is possible to use the
+    <code>ErrorDocument</code> mechanism for proxy error messages
+    as well (previous versions always returned fixed predefined
+    error messages).</p>
+
+    <p>Most proxy errors return an error code of [500 Internal
+    Server Error]. To find out whether a particular error document
+    was invoked on behalf of a proxy error or because of some other
+    server error, and what the reason for the failure was, you can
+    check the contents of the new <code>ERROR_NOTES</code> CGI
+    environment variable: if invoked for a proxy error, this
+    variable will contain the actual proxy error message text in
+    HTML form.</p>
+
+    <p>The following excerpt demonstrates how to exploit the
+    <code>ERROR_NOTES</code> variable within an error document:</p>
+<pre>
+ &lt;!--#if expr="$REDIRECT_ERROR_NOTES = ''" --&gt;
+  &lt;p&gt;
+   The server encountered an unexpected condition
+   which prevented it from fulfilling the request. 
+  &lt;/p&gt;
+  &lt;p&gt;
+   &lt;A HREF="mailto:&lt;!--#echo var="SERVER_ADMIN" --&gt;"
+    SUBJECT="Error message [&lt;!--#echo var="REDIRECT_STATUS" --&gt;] &lt;!--#echo var="title" --&gt; for &lt;!--#echo var="REQUEST_URI" --&gt;"&gt;
+   Please forward this error screen to &lt;!--#echo var="SERVER_NAME" --&gt;'s
+   WebMaster&lt;/A&gt;; it includes useful debugging information about
+   the Request which caused the error.
+   &lt;pre&gt;&lt;!--#printenv --&gt;&lt;/pre&gt;
+  &lt;/p&gt;
+ &lt;!--#else --&gt;
+  &lt;!--#echo var="REDIRECT_ERROR_NOTES" --&gt;
+ &lt;!--#endif --&gt;
+</pre>
+
+    <h2><a id="listings" name="listings">HTML listing of the
+    discussed example</a></h2>
+    So, to summarize our example, here's the complete listing of
+    the <samp>400.shtml.en</samp> document. You will notice that it
+    contains almost nothing but the error text (with conditional
+    additions). Starting with this example, you will find it easy
+    to add more error documents, or to translate the error
+    documents to different languages. 
+    <hr />
+<pre>
+&lt;!--#set var="title" value="Bad Request"
+--&gt;&lt;!--#include virtual="head" --&gt;&lt;P&gt;
+   Your browser sent a request that this server could not understand:
+   &lt;BLOCKQUOTE&gt;
+     &lt;STRONG&gt;&lt;!--#echo var="REQUEST_URI" --&gt;&lt;/STRONG&gt;
+   &lt;/BLOCKQUOTE&gt;
+   The request could not be understood by the server due to malformed
+   syntax. The client should not repeat the request without
+   modifications.
+   &lt;/P&gt;
+   &lt;P&gt;
+   &lt;!--#if expr="$HTTP_REFERER != ''" --&gt;
+    Please inform the owner of
+    &lt;A HREF="&lt;!--#echo var="HTTP_REFERER" --&gt;"&gt;the referring page&lt;/A&gt; about 
+    the malformed link.
+   &lt;!--#else --&gt;
+    Please check your request for typing errors and retry.
+   &lt;!--#endif --&gt;
+   &lt;/P&gt;
+&lt;!--#include virtual="foot" --&gt;
+</pre>
+    <hr />
+    Here is the complete <samp>head.shtml</samp> file (the funny
+    line breaks avoid empty lines in the document after XSSI
+    processing). Note the configuration section at top. That's
+    where you configure the images and logos as well as the apache
+    documentation directory. Look how this file displays two
+    different logos depending on the content of the virtual host
+    name ($SERVER_NAME), and that an animated apache logo is shown
+    if the browser appears to support it (the latter requires
+    server configuration lines of the form <br />
+     <code>BrowserMatch "^Mozilla/[2-4]" anigif</code><br />
+     for browser types which support animated GIFs). 
+    <hr />
+<pre>
+&lt;!--#if expr="$SERVER_NAME = /.*\.mycompany\.com$/" 
+--&gt;&lt;!--#set var="IMG_CorpLogo"
+            value="http://$SERVER_NAME:$SERVER_PORT/errordocs/CorpLogo.gif" 
+--&gt;&lt;!--#set var="ALT_CorpLogo" value="Powered by Linux!" 
+--&gt;&lt;!--#else
+--&gt;&lt;!--#set var="IMG_CorpLogo"
+            value="http://$SERVER_NAME:$SERVER_PORT/errordocs/PrivLogo.gif" 
+--&gt;&lt;!--#set var="ALT_CorpLogo" value="Powered by Linux!" 
+--&gt;&lt;!--#endif
+--&gt;&lt;!--#set var="IMG_BgImage" value="http://$SERVER_NAME:$SERVER_PORT/errordocs/BgImage.gif" 
+--&gt;&lt;!--#set var="DOC_Apache" value="http://$SERVER_NAME:$SERVER_PORT/Apache/" 
+--&gt;&lt;!--#if expr="$anigif" 
+--&gt;&lt;!--#set var="IMG_Apache" value="http://$SERVER_NAME:$SERVER_PORT/icons/apache_anim.gif" 
+--&gt;&lt;!--#else
+--&gt;&lt;!--#set var="IMG_Apache" value="http://$SERVER_NAME:$SERVER_PORT/icons/apache_pb.gif" 
+--&gt;&lt;!--#endif
+--&gt;&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"&gt;
+&lt;HTML&gt;
+ &lt;HEAD&gt;
+  &lt;TITLE&gt;
+   [&lt;!--#echo var="REDIRECT_STATUS" --&gt;] &lt;!--#echo var="title" --&gt;
+  &lt;/TITLE&gt;
+ &lt;/HEAD&gt;
+ &lt;BODY BGCOLOR="white" BACKGROUND="&lt;!--#echo var="IMG_BgImage" --&gt;"&gt;&lt;UL&gt;
+  &lt;H1 ALIGN="center"&gt;
+   [&lt;!--#echo var="REDIRECT_STATUS" --&gt;] &lt;!--#echo var="title" --&gt;
+   &lt;IMG SRC="&lt;!--#echo var="IMG_CorpLogo" --&gt;"
+        ALT="&lt;!--#echo var="ALT_CorpLogo" --&gt;" ALIGN=right&gt;
+  &lt;/H1&gt;
+  &lt;HR&gt;&lt;!-- ======================================================== --&gt;
+  &lt;DIV&gt;
+</pre>
+    <hr />
+    and this is the <samp>foot.shtml.en</samp> file: 
+    <hr />
+<pre>
+  &lt;/DIV&gt;
+  &lt;HR&gt;
+  &lt;DIV ALIGN="right"&gt;&lt;SMALL&gt;&lt;SUP&gt;Local Server time:
+      &lt;!--#echo var="DATE_LOCAL" --&gt;
+  &lt;/SUP&gt;&lt;/SMALL&gt;&lt;/DIV&gt;
+  &lt;DIV ALIGN="center"&gt;
+    &lt;A HREF="&lt;!--#echo var="DOC_Apache" --&gt;"&gt;
+    &lt;IMG SRC="&lt;!--#echo var="IMG_Apache" --&gt;" BORDER=0 ALIGN="bottom"
+         ALT="Powered by &lt;!--#echo var="SERVER_SOFTWARE" --&gt;"&gt;&lt;/A&gt;&lt;BR&gt;
+    &lt;SMALL&gt;&lt;SUP&gt;&lt;!--#set var="var"
+     value="Powered by $SERVER_SOFTWARE -- File last modified on $LAST_MODIFIED"
+    --&gt;&lt;!--#echo var="var" --&gt;&lt;/SUP&gt;&lt;/SMALL&gt;
+  &lt;/DIV&gt;
+  &lt;ADDRESS&gt;If the indicated error looks like a misconfiguration, please inform
+   &lt;A HREF="mailto:&lt;!--#echo var="SERVER_ADMIN" --&gt;"
+      SUBJECT="Feedback about Error message [&lt;!--#echo var="REDIRECT_STATUS" 
+        --&gt;] &lt;!--#echo var="title" --&gt;, req=&lt;!--#echo var="REQUEST_URI" --&gt;"&gt;
+   &lt;!--#echo var="SERVER_NAME" --&gt;'s WebMaster&lt;/A&gt;.
+  &lt;/ADDRESS&gt;
+ &lt;/UL&gt;&lt;/BODY&gt;
+&lt;/HTML&gt;
+</pre>
+    <hr />
+
+    <h3>More welcome!</h3>
+    If you have tips to contribute, send mail to <a
+    href="mailto:martin@apache.org">martin@apache.org</a> 
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/descriptors.html b/htdocs/manual/misc/descriptors.html
new file mode 100644 (file)
index 0000000..c1b098a
--- /dev/null
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Descriptors and Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Descriptors and Apache</h1>
+
+    <p>A <em>descriptor</em>, also commonly called a <em>file
+    handle</em> is an object that a program uses to read or write
+    an open file, or open network socket, or a variety of other
+    devices. It is represented by an integer, and you may be
+    familiar with <code>stdin</code>, <code>stdout</code>, and
+    <code>stderr</code> which are descriptors 0, 1, and 2
+    respectively. Apache needs a descriptor for each log file, plus
+    one for each network socket that it listens on, plus a handful
+    of others. Libraries that Apache uses may also require
+    descriptors. Normal programs don't open up many descriptors at
+    all, and so there are some latent problems that you may
+    experience should you start running Apache with many
+    descriptors (<em>i.e.</em>, with many virtual hosts).</p>
+
+    <p>The operating system enforces a limit on the number of
+    descriptors that a program can have open at a time. There are
+    typically three limits involved here. One is a kernel
+    limitation, depending on your operating system you will either
+    be able to tune the number of descriptors available to higher
+    numbers (this is frequently called <em>FD_SETSIZE</em>). Or you
+    may be stuck with a (relatively) low amount. The second limit
+    is called the <em>hard resource</em> limit, and it is sometimes
+    set by root in an obscure operating system file, but frequently
+    is the same as the kernel limit. The third limit is called the
+    <em>soft resource</em> limit. The soft limit is always less
+    than or equal to the hard limit. For example, the hard limit
+    may be 1024, but the soft limit only 64. Any user can raise
+    their soft limit up to the hard limit. Root can raise the hard
+    limit up to the system maximum limit. The soft limit is the
+    actual limit that is used when enforcing the maximum number of
+    files a process can have open.</p>
+
+    <p>To summarize:</p>
+
+    <center>
+<pre>
+  #open files  &lt;=  soft limit  &lt;=  hard limit  &lt;=  kernel limit
+</pre>
+    </center>
+
+    <p>You control the hard and soft limits using the
+    <code>limit</code> (csh) or <code>ulimit</code> (sh)
+    directives. See the respective man pages for more information.
+    For example you can probably use <code>ulimit -n
+    unlimited</code> to raise your soft limit up to the hard limit.
+    You should include this command in a shell script which starts
+    your webserver.</p>
+
+    <p>Unfortunately, it's not always this simple. As mentioned
+    above, you will probably run into some system limitations that
+    will need to be worked around somehow. Work was done in version
+    1.2.1 to improve the situation somewhat. Here is a partial list
+    of systems and workarounds (assuming you are using 1.2.1 or
+    later):</p>
+
+    <dl>
+      <dt><strong>BSDI 2.0</strong></dt>
+
+      <dd>Under BSDI 2.0 you can build Apache to support more
+      descriptors by adding <code>-DFD_SETSIZE=nnn</code> to
+      <code>EXTRA_CFLAGS</code> (where nnn is the number of
+      descriptors you wish to support, keep it less than the hard
+      limit). But it will run into trouble if more than
+      approximately 240 Listen directives are used. This may be
+      cured by rebuilding your kernel with a higher
+      FD_SETSIZE.</dd>
+
+      <dt><strong>FreeBSD 2.2, BSDI 2.1+</strong></dt>
+
+      <dd>Similar to the BSDI 2.0 case, you should define
+      <code>FD_SETSIZE</code> and rebuild. But the extra Listen
+      limitation doesn't exist.</dd>
+
+      <dt><strong>Linux</strong></dt>
+
+      <dd>By default Linux has a kernel maximum of 256 open
+      descriptors per process. There are several patches available
+      for the 2.0.x series which raise this to 1024 and beyond, and
+      you can find them in the "unofficial patches" section of <a
+      href="http://www.linuxhq.com/">the Linux Information HQ</a>.
+      None of these patches are perfect, and an entirely different
+      approach is likely to be taken during the 2.1.x development.
+      Applying these patches will raise the FD_SETSIZE used to
+      compile all programs, and unless you rebuild all your
+      libraries you should avoid running any other program with a
+      soft descriptor limit above 256. As of this writing the
+      patches available for increasing the number of descriptors do
+      not take this into account. On a dedicated webserver you
+      probably won't run into trouble.</dd>
+
+      <dt><strong>Solaris through 2.5.1</strong></dt>
+
+      <dd>Solaris has a kernel hard limit of 1024 (may be lower in
+      earlier versions). But it has a limitation that files using
+      the stdio library cannot have a descriptor above 255. Apache
+      uses the stdio library for the ErrorLog directive. When you
+      have more than approximately 110 virtual hosts (with an error
+      log and an access log each) you will need to build Apache
+      with <code>-DHIGH_SLACK_LINE=256</code> added to
+      <code>EXTRA_CFLAGS</code>. You will be limited to
+      approximately 240 error logs if you do this.</dd>
+
+      <dt><strong>AIX</strong></dt>
+
+      <dd>AIX version 3.2?? appears to have a hard limit of 128
+      descriptors. End of story. Version 4.1.5 has a hard limit of
+      2000.  Version 4.3.3 and 5.1 say
+      <pre>
+/*
+ * Select uses bit masks of file descriptors.
+ * These macros manipulate such bit fields.
+ * FD_SETSIZE may be defined by the user to the maximum valued file
+ * descriptor to be selected; the default here should be == OPEN_MAX
+ */
+#ifndef FD_SETSIZE
+#define FD_SETSIZE     32767    /* must be == OPEN_MAX in <limits.h> */
+#endif
+</pre></dd>
+
+      <dt><strong>SCO OpenServer</strong></dt>
+
+      <dd>Edit the <code>/etc/conf/cf.d/stune</code> file or use
+      <code>/etc/conf/cf.d/configure</code> choice 7 (User and
+      Group configuration) and modify the <code>NOFILES</code>
+      kernel parameter to a suitably higher value. SCO recommends a
+      number between 60 and 11000, the default is 110. Relink and
+      reboot, and the new number of descriptors will be
+      available.</dd>
+
+      <dt><strong>Compaq Tru64 UNIX/Digital UNIX/OSF</strong></dt>
+
+      <dd>
+        <ol>
+          <li>Raise <code>open_max_soft</code> and
+          <code>open_max_hard</code> to 4096 in the proc subsystem.
+          Do a man on sysconfig, sysconfigdb, and
+          sysconfigtab.</li>
+
+          <li>Raise <code>max-vnodes</code> to a large number which
+          is greater than the number of apache processes * 4096
+          (Setting it to 250,000 should be good for most people).
+          Do a man on sysconfig, sysconfigdb, and
+          sysconfigtab.</li>
+
+          <li>If you are using Tru64 5.0, 5.0A, or 5.1, define
+          <code>NO_SLACK</code> to work around a bug in the OS.
+          <code>CFLAGS="-DNO_SLACK" ./configure</code></li>
+        </ol>
+      </dd>
+
+      <dt><strong>Others</strong></dt>
+
+      <dd>If you have details on another operating system, please
+      submit it through our <a
+      href="http://httpd.apache.org/bug_report.html">Bug Report
+      Page</a>.</dd>
+    </dl>
+
+    <p>In addition to the problems described above there are
+    problems with many libraries that Apache uses. The most common
+    example is the bind DNS resolver library that is used by pretty
+    much every unix, which fails if it ends up with a descriptor
+    above 256. We suspect there are other libraries that similar
+    limitations. So the code as of 1.2.1 takes a defensive stance
+    and tries to save descriptors less than 16 for use while
+    processing each request. This is called the <em>low slack
+    line</em>.</p>
+
+    <p>Note that this shouldn't waste descriptors. If you really
+    are pushing the limits and Apache can't get a descriptor above
+    16 when it wants it, it will settle for one below 16.</p>
+
+    <p>In extreme situations you may want to lower the low slack
+    line, but you shouldn't ever need to. For example, lowering it
+    can increase the limits 240 described above under Solaris and
+    BSDI 2.0. But you'll play a delicate balancing game with the
+    descriptors needed to serve a request. Should you want to play
+    this game, the compile time parameter is
+    <code>LOW_SLACK_LINE</code> and there's a tiny bit of
+    documentation in the header file <code>httpd.h</code>.</p>
+
+    <p>Finally, if you suspect that all this slack stuff is causing
+    you problems, you can disable it. Add <code>-DNO_SLACK</code>
+    to <code>EXTRA_CFLAGS</code> and rebuild. But please report it
+    to our <a href="http://httpd.apache.org/bug_report.html">Bug
+    Report Page</a> so that we can investigate. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/fin_wait_2.html b/htdocs/manual/misc/fin_wait_2.html
new file mode 100644 (file)
index 0000000..d2e6bdc
--- /dev/null
@@ -0,0 +1,388 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Connections in FIN_WAIT_2 and Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Connections in the FIN_WAIT_2 state and
+    Apache</h1>
+
+    <ol>
+      <li>
+        <h2>What is the FIN_WAIT_2 state?</h2>
+        Starting with the Apache 1.2 betas, people are reporting
+        many more connections in the FIN_WAIT_2 state (as reported
+        by <code>netstat</code>) than they saw using older
+        versions. When the server closes a TCP connection, it sends
+        a packet with the FIN bit sent to the client, which then
+        responds with a packet with the ACK bit set. The client
+        then sends a packet with the FIN bit set to the server,
+        which responds with an ACK and the connection is closed.
+        The state that the connection is in during the period
+        between when the server gets the ACK from the client and
+        the server gets the FIN from the client is known as
+        FIN_WAIT_2. See the <a
+        href="ftp://ds.internic.net/rfc/rfc793.txt">TCP RFC</a> for
+        the technical details of the state transitions. 
+
+        <p>The FIN_WAIT_2 state is somewhat unusual in that there
+        is no timeout defined in the standard for it. This means
+        that on many operating systems, a connection in the
+        FIN_WAIT_2 state will stay around until the system is
+        rebooted. If the system does not have a timeout and too
+        many FIN_WAIT_2 connections build up, it can fill up the
+        space allocated for storing information about the
+        connections and crash the kernel. The connections in
+        FIN_WAIT_2 do not tie up an httpd process.</p>
+      </li>
+
+      <li>
+        <h2>But why does it happen?</h2>
+        There are numerous reasons for it happening, some of them
+        may not yet be fully clear. What is known follows. 
+
+        <h3>Buggy clients and persistent connections</h3>
+        Several clients have a bug which pops up when dealing with
+        <a href="../keepalive.html">persistent connections</a> (aka
+        keepalives). When the connection is idle and the server
+        closes the connection (based on the <a
+        href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a>),
+        the client is programmed so that the client does not send
+        back a FIN and ACK to the server. This means that the
+        connection stays in the FIN_WAIT_2 state until one of the
+        following happens: 
+
+        <ul>
+          <li>The client opens a new connection to the same or a
+          different site, which causes it to fully close the older
+          connection on that socket.</li>
+
+          <li>The user exits the client, which on some (most?)
+          clients causes the OS to fully shutdown the
+          connection.</li>
+
+          <li>The FIN_WAIT_2 times out, on servers that have a
+          timeout for this state.</li>
+        </ul>
+
+        <p>If you are lucky, this means that the buggy client will
+        fully close the connection and release the resources on
+        your server. However, there are some cases where the socket
+        is never fully closed, such as a dialup client
+        disconnecting from their provider before closing the
+        client. In addition, a client might sit idle for days
+        without making another connection, and thus may hold its
+        end of the socket open for days even though it has no
+        further use for it. <strong>This is a bug in the browser or
+        in its operating system's TCP implementation.</strong></p>
+
+        <p>The clients on which this problem has been verified to
+        exist:</p>
+
+        <ul>
+          <li>Mozilla/3.01 (X11; I; FreeBSD 2.1.5-RELEASE
+          i386)</li>
+
+          <li>Mozilla/2.02 (X11; I; FreeBSD 2.1.5-RELEASE
+          i386)</li>
+
+          <li>Mozilla/3.01Gold (X11; I; SunOS 5.5 sun4m)</li>
+
+          <li>MSIE 3.01 on the Macintosh</li>
+
+          <li>MSIE 3.01 on Windows 95</li>
+        </ul>
+
+        <p>This does not appear to be a problem on:</p>
+
+        <ul>
+          <li>Mozilla/3.01 (Win95; I)</li>
+        </ul>
+
+        <p>It is expected that many other clients have the same
+        problem. What a client <strong>should do</strong> is
+        periodically check its open socket(s) to see if they have
+        been closed by the server, and close their side of the
+        connection if the server has closed. This check need only
+        occur once every few seconds, and may even be detected by a
+        OS signal on some systems (<em>e.g.</em>, Win95 and NT
+        clients have this capability, but they seem to be ignoring
+        it).</p>
+
+        <p>Apache <strong>cannot</strong> avoid these FIN_WAIT_2
+        states unless it disables persistent connections for the
+        buggy clients, just like we recommend doing for Navigator
+        2.x clients due to other bugs. However, non-persistent
+        connections increase the total number of connections needed
+        per client and slow retrieval of an image-laden web page.
+        Since non-persistent connections have their own resource
+        consumptions and a short waiting period after each closure,
+        a busy server may need persistence in order to best serve
+        its clients.</p>
+
+        <p>As far as we know, the client-caused FIN_WAIT_2 problem
+        is present for all servers that support persistent
+        connections, including Apache 1.1.x and 1.2.</p>
+
+        <h3>A necessary bit of code introduced in 1.2</h3>
+        While the above bug is a problem, it is not the whole
+        problem. Some users have observed no FIN_WAIT_2 problems
+        with Apache 1.1.x, but with 1.2b enough connections build
+        up in the FIN_WAIT_2 state to crash their server. The most
+        likely source for additional FIN_WAIT_2 states is a
+        function called <code>lingering_close()</code> which was
+        added between 1.1 and 1.2. This function is necessary for
+        the proper handling of persistent connections and any
+        request which includes content in the message body
+        (<em>e.g.</em>, PUTs and POSTs). What it does is read any
+        data sent by the client for a certain time after the server
+        closes the connection. The exact reasons for doing this are
+        somewhat complicated, but involve what happens if the
+        client is making a request at the same time the server
+        sends a response and closes the connection. Without
+        lingering, the client might be forced to reset its TCP
+        input buffer before it has a chance to read the server's
+        response, and thus understand why the connection has
+        closed. See the <a href="#appendix">appendix</a> for more
+        details. 
+
+        <p>The code in <code>lingering_close()</code> appears to
+        cause problems for a number of factors, including the
+        change in traffic patterns that it causes. The code has
+        been thoroughly reviewed and we are not aware of any bugs
+        in it. It is possible that there is some problem in the BSD
+        TCP stack, aside from the lack of a timeout for the
+        FIN_WAIT_2 state, exposed by the
+        <code>lingering_close</code> code that causes the observed
+        problems.</p>
+      </li>
+
+      <li>
+        What can I do about it? There are several possible
+        workarounds to the problem, some of which work better than
+        others. 
+
+        <h3>Add a timeout for FIN_WAIT_2</h3>
+        The obvious workaround is to simply have a timeout for the
+        FIN_WAIT_2 state. This is not specified by the RFC, and
+        could be claimed to be a violation of the RFC, but it is
+        widely recognized as being necessary. The following systems
+        are known to have a timeout: 
+
+        <ul>
+          <li><a href="http://www.freebsd.org/">FreeBSD</a>
+          versions starting at 2.0 or possibly earlier.</li>
+
+          <li><a href="http://www.netbsd.org/">NetBSD</a> version
+          1.2(?)</li>
+
+          <li><a href="http://www.openbsd.org/">OpenBSD</a> all
+          versions(?)</li>
+
+          <li><a href="http://www.bsdi.com/">BSD/OS</a> 2.1, with
+          the <a
+          href="ftp://ftp.bsdi.com/bsdi/patches/patches-2.1/K210-027">
+          K210-027</a> patch installed.</li>
+
+          <li><a href="http://www.sun.com/">Solaris</a> as of
+          around version 2.2. The timeout can be tuned by using
+          <code>ndd</code> to modify
+          <code>tcp_fin_wait_2_flush_interval</code>, but the
+          default should be appropriate for most servers and
+          improper tuning can have negative impacts.</li>
+
+          <li><a href="http://www.linux.org/">Linux</a> 2.0.x and
+          earlier(?)</li>
+
+          <li><a href="http://www.hp.com/">HP-UX</a> 10.x defaults
+          to terminating connections in the FIN_WAIT_2 state after
+          the normal keepalive timeouts. This does not refer to the
+          persistent connection or HTTP keepalive timeouts, but the
+          <code>SO_LINGER</code> socket option which is enabled by
+          Apache. This parameter can be adjusted by using
+          <code>nettune</code> to modify parameters such as
+          <code>tcp_keepstart</code> and <code>tcp_keepstop</code>.
+          In later revisions, there is an explicit timer for
+          connections in FIN_WAIT_2 that can be modified; contact
+          HP support for details.</li>
+
+          <li><a href="http://www.sgi.com/">SGI IRIX</a> can be
+          patched to support a timeout. For IRIX 5.3, 6.2, and 6.3,
+          use patches 1654, 1703 and 1778 respectively. If you have
+          trouble locating these patches, please contact your SGI
+          support channel for help.</li>
+
+          <li><a href="http://www.ncr.com/">NCR's MP RAS Unix</a>
+          2.xx and 3.xx both have FIN_WAIT_2 timeouts. In 2.xx it
+          is non-tunable at 600 seconds, while in 3.xx it defaults
+          to 600 seconds and is calculated based on the tunable
+          "max keep alive probes" (default of 8) multiplied by the
+          "keep alive interval" (default 75 seconds).</li>
+
+          <li><a href="http://www.sequent.com">Sequent's ptx/TCP/IP
+          for DYNIX/ptx</a> has had a FIN_WAIT_2 timeout since
+          around release 4.1 in mid-1994.</li>
+        </ul>
+
+        <p>The following systems are known to not have a
+        timeout:</p>
+
+        <ul>
+          <li><a href="http://www.sun.com/">SunOS 4.x</a> does not
+          and almost certainly never will have one because it as at
+          the very end of its development cycle for Sun. If you
+          have kernel source should be easy to patch.</li>
+        </ul>
+
+        <p>There is a <a
+        href="http://www.apache.org/dist/httpd/contrib/patches/1.2/fin_wait_2.patch">
+        patch available</a> for adding a timeout to the FIN_WAIT_2
+        state; it was originally intended for BSD/OS, but should be
+        adaptable to most systems using BSD networking code. You
+        need kernel source code to be able to use it. 
+
+        <h3>Compile without using
+        <code>lingering_close()</code></h3>
+        It is possible to compile Apache 1.2 without using the
+        <code>lingering_close()</code> function. This will result
+        in that section of code being similar to that which was in
+        1.1. If you do this, be aware that it can cause problems
+        with PUTs, POSTs and persistent connections, especially if
+        the client uses pipelining. That said, it is no worse than
+        on 1.1, and we understand that keeping your server running
+        is quite important. 
+
+        <p>To compile without the <code>lingering_close()</code>
+        function, add <code>-DNO_LINGCLOSE</code> to the end of the
+        <code>EXTRA_CFLAGS</code> line in your
+        <code>Configuration</code> file, rerun
+        <code>Configure</code> and rebuild the server.</p>
+
+        <h3>Use <code>SO_LINGER</code> as an alternative to
+        <code>lingering_close()</code></h3>
+        On most systems, there is an option called
+        <code>SO_LINGER</code> that can be set with
+        <code>setsockopt(2)</code>. It does something very similar
+        to <code>lingering_close()</code>, except that it is broken
+        on many systems so that it causes far more problems than
+        <code>lingering_close</code>. On some systems, it could
+        possibly work better so it may be worth a try if you have
+        no other alternatives. 
+
+        <p>To try it, add <code>-DUSE_SO_LINGER
+        -DNO_LINGCLOSE</code> to the end of the
+        <code>EXTRA_CFLAGS</code> line in your
+        <code>Configuration</code> file, rerun
+        <code>Configure</code> and rebuild the server.</p>
+
+        <p><strong>NOTE:</strong> Attempting to use
+        <code>SO_LINGER</code> and <code>lingering_close()</code>
+        at the same time is very likely to do very bad things, so
+        don't.</p>
+
+        <h3>Increase the amount of memory used for storing
+        connection state</h3>
+
+        <dl>
+          <dt>BSD based networking code:</dt>
+
+          <dd>
+            BSD stores network data, such as connection states, in
+            something called an mbuf. When you get so many
+            connections that the kernel does not have enough mbufs
+            to put them all in, your kernel will likely crash. You
+            can reduce the effects of the problem by increasing the
+            number of mbufs that are available; this will not
+            prevent the problem, it will just make the server go
+            longer before crashing. 
+
+            <p>The exact way to increase them may depend on your
+            OS; look for some reference to the number of "mbufs" or
+            "mbuf clusters". On many systems, this can be done by
+            adding the line <code>NMBCLUSTERS="n"</code>, where
+            <code>n</code> is the number of mbuf clusters you want
+            to your kernel config file and rebuilding your
+            kernel.</p>
+          </dd>
+        </dl>
+
+        <h3>Disable KeepAlive</h3>
+
+        <p>If you are unable to do any of the above then you
+        should, as a last resort, disable KeepAlive. Edit your
+        httpd.conf and change "KeepAlive On" to "KeepAlive
+        Off".</p>
+      </li>
+
+
+      <li>
+      <h2><a id="appendix" name="appendix">Appendix</a></h2>
+
+        <p>Below is a message from Roy Fielding, one of the authors
+        of HTTP/1.1.</p>
+
+        <h3>Why the lingering close functionality is necessary with
+        HTTP</h3>
+        The need for a server to linger on a socket after a close
+        is noted a couple times in the HTTP specs, but not
+        explained. This explanation is based on discussions between
+        myself, Henrik Frystyk, Robert S. Thau, Dave Raggett, and
+        John C. Mallery in the hallways of MIT while I was at W3C. 
+
+        <p>If a server closes the input side of the connection
+        while the client is sending data (or is planning to send
+        data), then the server's TCP stack will signal an RST
+        (reset) back to the client. Upon receipt of the RST, the
+        client will flush its own incoming TCP buffer back to the
+        un-ACKed packet indicated by the RST packet argument. If
+        the server has sent a message, usually an error response,
+        to the client just before the close, and the client
+        receives the RST packet before its application code has
+        read the error message from its incoming TCP buffer and
+        before the server has received the ACK sent by the client
+        upon receipt of that buffer, then the RST will flush the
+        error message before the client application has a chance to
+        see it. The result is that the client is left thinking that
+        the connection failed for no apparent reason.</p>
+
+        <p>There are two conditions under which this is likely to
+        occur:</p>
+
+        <ol>
+          <li>sending POST or PUT data without proper
+          authorization</li>
+
+          <li>sending multiple requests before each response
+          (pipelining) and one of the middle requests resulting in
+          an error or other break-the-connection result.</li>
+        </ol>
+
+        <p>The solution in all cases is to send the response, close
+        only the write half of the connection (what shutdown is
+        supposed to do), and continue reading on the socket until
+        it is either closed by the client (signifying it has
+        finally read the response) or a timeout occurs. That is
+        what the kernel is supposed to do if SO_LINGER is set.
+        Unfortunately, SO_LINGER has no effect on some systems; on
+        some other systems, it does not have its own timeout and
+        thus the TCP memory segments just pile-up until the next
+        reboot (planned or not).</p>
+
+        <p>Please note that simply removing the linger code will
+        not solve the problem -- it only moves it to a different
+        and much harder one to detect.</p>
+      </li>
+    </ol>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/footer.html b/htdocs/manual/misc/footer.html
new file mode 100644 (file)
index 0000000..70ddfcc
--- /dev/null
@@ -0,0 +1,5 @@
+    <hr />
+
+    <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+    <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+    <a href="../"><img src="../images/home.gif" alt="Home" /></a>
diff --git a/htdocs/manual/misc/header.html b/htdocs/manual/misc/header.html
new file mode 100644 (file)
index 0000000..09a28d8
--- /dev/null
@@ -0,0 +1,5 @@
+    <div align="CENTER">
+      <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server Version 1.3</h3>
+    </div>
diff --git a/htdocs/manual/misc/howto.html b/htdocs/manual/misc/howto.html
new file mode 100644 (file)
index 0000000..207c0cc
--- /dev/null
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta name="description"
+    content="Some 'how to' tips for the Apache httpd server" />
+    <meta name="keywords"
+    content="apache,redirect,robots,rotate,logfiles" />
+
+    <title>Apache HOWTO documentation</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache HOWTO documentation</h1>
+    How to: 
+
+    <ul>
+      <li><a href="#redirect">redirect an entire server or
+      directory to a single URL</a></li>
+
+      <li><a href="#logreset">reset your log files</a></li>
+
+      <li><a href="#stoprob">stop/restrict robots</a></li>
+
+      <li><a href="#proxyssl">proxy SSL requests <em>through</em>
+      your non-SSL server</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="redirect" name="redirect">How to redirect an entire
+    server or directory to a single URL</a></h2>
+
+    <p>There are two chief ways to redirect all requests for an
+    entire server to a single location: one which requires the use
+    of <code>mod_rewrite</code>, and another which uses a CGI
+    script.</p>
+
+    <p>First: if all you need to do is migrate a server from one
+    name to another, simply use the <code>Redirect</code>
+    directive, as supplied by <code>mod_alias</code>:</p>
+
+    <blockquote>
+<pre>
+  Redirect / http://www.apache.org/
+</pre>
+    </blockquote>
+
+    <p>Since <code>Redirect</code> will forward along the complete
+    path, however, it may not be appropriate - for example, when
+    the directory structure has changed after the move, and you
+    simply want to direct people to the home page.</p>
+
+    <p>The best option is to use the standard Apache module
+    <code>mod_rewrite</code>. If that module is compiled in, the
+    following lines</p>
+
+    <blockquote>
+<pre>
+RewriteEngine On
+RewriteRule /.* http://www.apache.org/ [R]
+</pre>
+    </blockquote>
+    will send an HTTP 302 Redirect back to the client, and no
+    matter what they gave in the original URL, they'll be sent to
+    "http://www.apache.org/". 
+
+    <p>The second option is to set up a <code>ScriptAlias</code>
+    pointing to a <strong>CGI script</strong> which outputs a 301
+    or 302 status and the location of the other server.</p>
+
+    <p>By using a <strong>CGI script</strong> you can intercept
+    various requests and treat them specially, <em>e.g.</em>, you
+    might want to intercept <strong>POST</strong> requests, so that
+    the client isn't redirected to a script on the other server
+    which expects POST information (a redirect will lose the POST
+    information.) You might also want to use a CGI script if you
+    don't want to compile mod_rewrite into your server.</p>
+
+    <p>Here's how to redirect all requests to a script... In the
+    server configuration file,</p>
+
+    <blockquote>
+<pre>
+ScriptAlias / /usr/local/httpd/cgi-bin/redirect_script/
+</pre>
+    </blockquote>
+    and here's a simple perl script to redirect requests: 
+
+    <blockquote>
+<pre>
+#!/usr/local/bin/perl
+
+print "Status: 302 Moved Temporarily\r\n" .
+      "Location: http://www.some.where.else.com/\r\n" .
+      "\r\n";
+
+</pre>
+    </blockquote>
+    <hr />
+
+    <h2><a id="logreset" name="logreset">How to reset your log
+    files</a></h2>
+
+    <p>Sooner or later, you'll want to reset your log files
+    (access_log and error_log) because they are too big, or full of
+    old information you don't need.</p>
+
+    <p><code>access.log</code> typically grows by 1Mb for each
+    10,000 requests.</p>
+
+    <p>Most people's first attempt at replacing the logfile is to
+    just move the logfile or remove the logfile. This doesn't
+    work.</p>
+
+    <p>Apache will continue writing to the logfile at the same
+    offset as before the logfile moved. This results in a new
+    logfile being created which is just as big as the old one, but
+    it now contains thousands (or millions) of null characters.</p>
+
+    <p>The correct procedure is to move the logfile, then signal
+    Apache to tell it to reopen the logfiles.</p>
+
+    <p>Apache is signaled using the <strong>SIGHUP</strong> (-1)
+    signal. <em>e.g.</em></p>
+
+    <blockquote>
+      <code>mv access_log access_log.old<br />
+       kill -1 `cat httpd.pid`</code>
+    </blockquote>
+
+    <p>Note: <code>httpd.pid</code> is a file containing the
+    <strong>p</strong>rocess <strong>id</strong> of the Apache
+    httpd daemon, Apache saves this in the same directory as the
+    log files.</p>
+
+    <p>Many people use this method to replace (and backup) their
+    logfiles on a nightly or weekly basis.</p>
+    <hr />
+
+    <h2><a id="stoprob" name="stoprob">How to stop or restrict
+    robots</a></h2>
+
+    <p>Ever wondered why so many clients are interested in a file
+    called <code>robots.txt</code> which you don't have, and never
+    did have?</p>
+
+    <p>These clients are called <strong>robots</strong> (also known
+    as crawlers, spiders and other cute names) - special automated
+    clients which wander around the web looking for interesting
+    resources.</p>
+
+    <p>Most robots are used to generate some kind of <em>web
+    index</em> which is then used by a <em>search engine</em> to
+    help locate information.</p>
+
+    <p><code>robots.txt</code> provides a means to request that
+    robots limit their activities at the site, or more often than
+    not, to leave the site alone.</p>
+
+    <p>When the first robots were developed, they had a bad
+    reputation for sending hundreds/thousands of requests to each
+    site, often resulting in the site being overloaded. Things have
+    improved dramatically since then, thanks to <a
+    href="http://www.robotstxt.org/wc/guidelines.html">
+    Guidelines for Robot Writers</a>, but even so, some robots may
+    exhibit unfriendly behavior which the webmaster isn't willing
+    to tolerate, and will want to stop.</p>
+
+    <p>Another reason some webmasters want to block access to
+    robots, is to stop them indexing dynamic information. Many
+    search engines will use the data collected from your pages for
+    months to come - not much use if you're serving stock quotes,
+    news, weather reports or anything else that will be stale by
+    the time people find it in a search engine.</p>
+
+    <p>If you decide to exclude robots completely, or just limit
+    the areas in which they can roam, create a
+    <code>robots.txt</code> file; refer to the <a
+    href="http://www.robotstxt.org/wc/robots.html">
+    robot information pages</a> provided by Martijn Koster for the
+    syntax.</p>
+    <hr />
+
+    <h2><a id="proxyssl" name="proxyssl">How to proxy SSL requests
+    <em>through</em> your non-SSL Apache server</a><br />
+     <small>(<em>submitted by David Sedlock</em>)</small></h2>
+
+    <p>SSL uses port 443 for requests for secure pages. If your
+    browser just sits there for a long time when you attempt to
+    access a secure page over your Apache proxy, then the proxy may
+    not be configured to handle SSL. You need to instruct Apache to
+    listen on port 443 in addition to any of the ports on which it
+    is already listening:</p>
+<pre>
+    Listen 80
+    Listen 443
+</pre>
+
+    <p>Then set the security proxy in your browser to 443. That
+    might be it!</p>
+
+    <p>If your proxy is sending requests to another proxy, then you
+    may have to set the directive ProxyRemote differently. Here are
+    my settings:</p>
+<pre>
+    ProxyRemote http://nicklas:80/ http://proxy.mayn.franken.de:8080
+    ProxyRemote http://nicklas:443/ http://proxy.mayn.franken.de:443
+</pre>
+
+    <p>Requests on port 80 of my proxy <samp>nicklas</samp> are
+    forwarded to <samp>proxy.mayn.franken.de:8080</samp>, while
+    requests on port 443 are forwarded to
+    <samp>proxy.mayn.franken.de:443</samp>. If the remote proxy is
+    not set up to handle port 443, then the last directive can be
+    left out. SSL requests will only go over the first proxy.</p>
+
+    <p>Note that your Apache does NOT have to be set up to serve
+    secure pages with SSL. Proxying SSL is a different thing from
+    using it.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/index.html b/htdocs/manual/misc/index.html
new file mode 100644 (file)
index 0000000..7eb116e
--- /dev/null
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Miscellaneous Documentation</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Miscellaneous Documentation</h1>
+
+    <p>Below is a list of additional documentation pages that apply
+    to the Apache web server development project.</p>
+
+    <dl>
+      <dt><a href="API.html">API</a></dt>
+
+      <dd>Description of Apache's Application Programming
+      Interface.</dd>
+
+      <dt><a href="FAQ.html">FAQ</a></dt>
+
+      <dd>Frequently-Asked Questions concerning the Apache project
+      and server.</dd>
+
+      <dt><a href="client_block_api.html">Reading Client Input in
+      Apache 1.2</a></dt>
+
+      <dd>Describes differences between Apache 1.1 and 1.2 in how
+      modules read information from the client.</dd>
+
+      <dt><a href="compat_notes.html">Compatibility with
+      NCSA</a></dt>
+
+      <dd>Notes about Apache's compatibility with the NCSA
+      server.</dd>
+
+      <dt><a href="custom_errordocs.html">How to use XSSI and
+      Negotiation for custom ErrorDocuments</a></dt>
+
+      <dd>Describes a solution which uses XSSI and negotiation to
+      custom-tailor the Apache ErrorDocuments to taste, adding the
+      advantage of returning internationalized versions of the
+      error messages depending on the client's language
+      preferences.</dd>
+
+      <dt><a href="descriptors.html">File Descriptor use in
+      Apache</a></dt>
+
+      <dd>Describes how Apache uses file descriptors and talks
+      about various limits imposed on the number of descriptors
+      available by various operating systems.</dd>
+
+      <dt><a
+      href="fin_wait_2.html"><samp>FIN_WAIT_2</samp></a></dt>
+
+      <dd>A description of the causes of Apache processes going
+      into the <samp>FIN_WAIT_2</samp> state, and what you can do
+      about it.</dd>
+
+      <dt><a href="howto.html">"How-To"</a></dt>
+
+      <dd>Instructions about how to accomplish some
+      commonly-desired server functionality changes.</dd>
+
+      <dt><a href="HTTP_Features.tsv">HTTP Features list</a></dt>
+
+      <dd>A tab-separate table of HTTP features implemented and
+      tested in Apache.</dd>
+
+      <dt><a href="known_client_problems.html">Known Client
+      Problems</a></dt>
+
+      <dd>A list of problems in HTTP clients which can be mitigated
+      by Apache.</dd>
+
+      <dt><a href="nopgp.html">No PGP</a></dt>
+
+      <dd>Why we took PEM and PGP support out of the base Apache
+      distribution.</dd>
+
+      <dt><a href="perf-bsd44.html">Performance Notes (BSD
+      4.4)</a></dt>
+
+      <dd>Some notes about ways to improve/optimize Apache
+      performance on BSD 4.4 systems.</dd>
+
+      <dt><a href="perf-dec.html">Performance Notes (Digital
+      UNIX)</a></dt>
+
+      <dd>Extracts of USENET postings describing how to optimize
+      Apache performance on Digital UNIX systems.</dd>
+
+      <dt><a href="perf-hp.html">Performance Notes (HPUX)</a></dt>
+
+      <dd>Email from an HP engineer on how to optimize HP-UX
+      10.20.</dd>
+
+      <dt><a href="perf.html">Performance Notes (General)</a></dt>
+
+      <dd>Some generic notes about how to improve the performance
+      of your machine/OS.</dd>
+
+      <dt><a href="perf-tuning.html">Performance Notes -- Apache
+      Tuning</a></dt>
+
+      <dd>Notes about how to (run-time and compile-time) configure
+      Apache for highest performance. Notes explaining why Apache
+      does some things, and why it doesn't do other things (which
+      make it slower/faster).</dd>
+
+      <dt><a href="security_tips.html">Security Tips</a></dt>
+
+      <dd>Some "do"s - and "don't"s - for keeping your Apache web
+      site secure.</dd>
+
+      <dt><a href="vif-info.html">Virtual Hosts (IP-based)</a></dt>
+
+      <dd>Excerpts and notes about configuring and using Apache
+      IP-based virtual hosts.</dd>
+
+      <dt><a href="windoz_keepalive.html">Windows Bug with Web
+      Keepalive</a></dt>
+
+      <dd>A brief description of a known problem with Microsoft
+      Windows and web sites accessed using keepalive
+      connections.</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/known_client_problems.html b/htdocs/manual/misc/known_client_problems.html
new file mode 100644 (file)
index 0000000..cb26578
--- /dev/null
@@ -0,0 +1,346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache HTTP Server Project</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Known Problems in Clients</h1>
+
+    <p>Over time the Apache Group has discovered or been notified
+    of problems with various clients which we have had to work
+    around, or explain. This document describes these problems and
+    the workarounds available. It's not arranged in any particular
+    order. Some familiarity with the standards is assumed, but not
+    necessary.</p>
+
+    <p>For brevity, <em>Navigator</em> will refer to Netscape's
+    Navigator product (which in later versions was renamed
+    "Communicator" and various other names), and <em>MSIE</em> will
+    refer to Microsoft's Internet Explorer product. All trademarks
+    and copyrights belong to their respective companies. We welcome
+    input from the various client authors to correct
+    inconsistencies in this paper, or to provide us with exact
+    version numbers where things are broken/fixed.</p>
+
+    <p>For reference, <a
+    href="ftp://ds.internic.net/rfc/rfc1945.txt">RFC1945</a>
+    defines HTTP/1.0, and <a
+    href="ftp://ds.internic.net/rfc/rfc2068.txt">RFC2068</a>
+    defines HTTP/1.1. Apache as of version 1.2 is an HTTP/1.1
+    server (with an optional HTTP/1.0 proxy).</p>
+
+    <p>Various of these workarounds are triggered by environment
+    variables. The admin typically controls which are set, and for
+    which clients, by using <a
+    href="../mod/mod_browser.html">mod_browser</a>. Unless
+    otherwise noted all of these workarounds exist in versions 1.2
+    and later.</p>
+
+    <h3><a id="trailing-crlf" name="trailing-crlf">Trailing CRLF on
+    POSTs</a></h3>
+
+    <p>This is a legacy issue. The CERN webserver required
+    <code>POST</code> data to have an extra <code>CRLF</code>
+    following it. Thus many clients send an extra <code>CRLF</code>
+    that is not included in the <code>Content-Length</code> of the
+    request. Apache works around this problem by eating any empty
+    lines which appear before a request.</p>
+
+    <h3><a id="broken-keepalive" name="broken-keepalive">Broken
+    keepalive</a></h3>
+
+    <p>Various clients have had broken implementations of
+    <em>keepalive</em> (persistent connections). In particular the
+    Windows versions of Navigator 2.0 get very confused when the
+    server times out an idle connection. The workaround is present
+    in the default config files:</p>
+
+    <blockquote>
+      <code>BrowserMatch Mozilla/2 nokeepalive</code>
+    </blockquote>
+    Note that this matches some earlier versions of MSIE, which
+    began the practice of calling themselves <em>Mozilla</em> in
+    their user-agent strings just like Navigator. 
+
+    <p>MSIE 4.0b2, which claims to support HTTP/1.1, does not
+    properly support keepalive when it is used on 301 or 302
+    (redirect) responses. Unfortunately Apache's
+    <code>nokeepalive</code> code prior to 1.2.2 would not work
+    with HTTP/1.1 clients. You must apply <a
+    href="http://www.apache.org/dist/httpd/patches/apply_to_1.2.1/msie_4_0b2_fixes.patch">
+    this patch</a> to version 1.2.1. Then add this to your
+    config:</p>
+
+    <blockquote>
+      <code>BrowserMatch "MSIE 4\.0b2;" nokeepalive</code>
+    </blockquote>
+
+    <h3><a id="force-response-1.0"
+    name="force-response-1.0">Incorrect interpretation of
+    <code>HTTP/1.1</code> in response</a></h3>
+
+    <p>To quote from section 3.1 of RFC1945:</p>
+
+    <blockquote>
+      HTTP uses a "&lt;MAJOR&gt;.&lt;MINOR&gt;" numbering scheme to
+      indicate versions of the protocol. The protocol versioning
+      policy is intended to allow the sender to indicate the format
+      of a message and its capacity for understanding further HTTP
+      communication, rather than the features obtained via that
+      communication.
+    </blockquote>
+    Since Apache is an HTTP/1.1 server, it indicates so as part of
+    its response. Many client authors mistakenly treat this part of
+    the response as an indication of the protocol that the response
+    is in, and then refuse to accept the response. 
+
+    <p>The first major indication of this problem was with AOL's
+    proxy servers. When Apache 1.2 went into beta it was the first
+    wide-spread HTTP/1.1 server. After some discussion, AOL fixed
+    their proxies. In anticipation of similar problems, the
+    <code>force-response-1.0</code> environment variable was added
+    to Apache. When present Apache will indicate "HTTP/1.0" in
+    response to an HTTP/1.0 client, but will not in any other way
+    change the response.</p>
+
+    <p>The pre-1.1 Java Development Kit (JDK) that is used in many
+    clients (including Navigator 3.x and MSIE 3.x) exhibits this
+    problem. As do some of the early pre-releases of the 1.1 JDK.
+    We think it is fixed in the 1.1 JDK release. In any event the
+    workaround:</p>
+
+    <blockquote>
+      <code>BrowserMatch Java/1.0 force-response-1.0<br />
+       BrowserMatch JDK/1.0 force-response-1.0</code>
+    </blockquote>
+
+    <p>RealPlayer 4.0 from Progressive Networks also exhibits this
+    problem. However they have fixed it in version 4.01 of the
+    player, but version 4.01 uses the same <code>User-Agent</code>
+    as version 4.0. The workaround is still:</p>
+
+    <blockquote>
+      <code>BrowserMatch "RealPlayer 4.0" force-response-1.0</code>
+    </blockquote>
+
+    <h3><a id="msie4.0b2" name="msie4.0b2">Requests use HTTP/1.1
+    but responses must be in HTTP/1.0</a></h3>
+
+    <p>MSIE 4.0b2 has this problem. Its Java VM makes requests in
+    HTTP/1.1 format but the responses must be in HTTP/1.0 format
+    (in particular, it does not understand <em>chunked</em>
+    responses). The workaround is to fool Apache into believing the
+    request came in HTTP/1.0 format.</p>
+
+    <blockquote>
+      <code>BrowserMatch "MSIE 4\.0b2;" downgrade-1.0
+      force-response-1.0</code>
+    </blockquote>
+    This workaround is available in 1.2.2, and in a <a
+    href="http://www.apache.org/dist/httpd/patches/apply_to_1.2.1/msie_4_0b2_fixes.patch">
+    patch</a> against 1.2.1. 
+
+    <h3><a id="257th-byte" name="257th-byte">Boundary problems with
+    header parsing</a></h3>
+
+    <p>All versions of Navigator from 2.0 through 4.0b2 (and
+    possibly later) have a problem if the trailing CRLF of the
+    response header starts at offset 256, 257 or 258 of the
+    response. A BrowserMatch for this would match on nearly every
+    hit, so the workaround is enabled automatically on all
+    responses. The workaround implemented detects when this
+    condition would occur in a response and adds extra padding to
+    the header to push the trailing CRLF past offset 258 of the
+    response.</p>
+
+    <h3><a id="boundary-string" name="boundary-string">Multipart
+    responses and Quoted Boundary Strings</a></h3>
+
+    <p>On multipart responses some clients will not accept quotes
+    (") around the boundary string. The MIME standard recommends
+    that such quotes be used. But the clients were probably written
+    based on one of the examples in RFC2068, which does not include
+    quotes. Apache does not include quotes on its boundary strings
+    to workaround this problem.</p>
+
+    <h3><a id="byterange-requests"
+    name="byterange-requests">Byterange requests</a></h3>
+
+    <p>A byterange request is used when the client wishes to
+    retrieve a portion of an object, not necessarily the entire
+    object. There was a very old draft which included these
+    byteranges in the URL. Old clients such as Navigator 2.0b1 and
+    MSIE 3.0 for the MAC exhibit this behavior, and it will appear
+    in the servers' access logs as (failed) attempts to retrieve a
+    URL with a trailing ";xxx-yyy". Apache does not attempt to
+    implement this at all.</p>
+
+    <p>A subsequent draft of this standard defines a header
+    <code>Request-Range</code>, and a response type
+    <code>multipart/x-byteranges</code>. The HTTP/1.1 standard
+    includes this draft with a few fixes, and it defines the header
+    <code>Range</code> and type
+    <code>multipart/byteranges</code>.</p>
+
+    <p>Navigator (versions 2 and 3) sends both <code>Range</code>
+    and <code>Request-Range</code> headers (with the same value),
+    but does not accept a <code>multipart/byteranges</code>
+    response. The response must be
+    <code>multipart/x-byteranges</code>. As a workaround, if Apache
+    receives a <code>Request-Range</code> header it considers it
+    "higher priority" than a <code>Range</code> header and in
+    response uses <code>multipart/x-byteranges</code>.</p>
+
+    <p>The Adobe Acrobat Reader plugin makes extensive use of
+    byteranges and prior to version 3.01 supports only the
+    <code>multipart/x-byterange</code> response. Unfortunately
+    there is no clue that it is the plugin making the request. If
+    the plugin is used with Navigator, the above workaround works
+    fine. But if the plugin is used with MSIE 3 (on Windows) the
+    workaround won't work because MSIE 3 doesn't give the
+    <code>Range-Request</code> clue that Navigator does. To
+    workaround this, Apache special cases "MSIE 3" in the
+    <code>User-Agent</code> and serves
+    <code>multipart/x-byteranges</code>. Note that the necessity
+    for this with MSIE 3 is actually due to the Acrobat plugin, not
+    due to the browser.</p>
+
+    <p>Netscape Communicator appears to not issue the non-standard
+    <code>Request-Range</code> header. When an Acrobat plugin prior
+    to version 3.01 is used with it, it will not properly
+    understand byteranges. The user must upgrade their Acrobat
+    reader to 3.01.</p>
+
+    <h3><a id="cookie-merge"
+    name="cookie-merge"><code>Set-Cookie</code> header is
+    unmergeable</a></h3>
+
+    <p>The HTTP specifications say that it is legal to merge
+    headers with duplicate names into one (separated by commas).
+    Some browsers that support Cookies don't like merged headers
+    and prefer that each <code>Set-Cookie</code> header is sent
+    separately. When parsing the headers returned by a CGI, Apache
+    will explicitly avoid merging any <code>Set-Cookie</code>
+    headers.</p>
+
+    <h3><a id="gif89-expires"
+    name="gif89-expires"><code>Expires</code> headers and GIF89A
+    animations</a></h3>
+
+    <p>Navigator versions 2 through 4 will erroneously re-request
+    GIF89A animations on each loop of the animation if the first
+    response included an <code>Expires</code> header. This happens
+    regardless of how far in the future the expiry time is set.
+    There is no workaround supplied with Apache, however there are
+    hacks for <a
+    href="http://arctic.org/~dean/patches/apache-1.2-gif89-expires-hack.patch">
+    1.2</a> and for <a
+    href="http://arctic.org/~dean/patches/apache-1.3-gif89-expires-hack.patch">
+    1.3</a>.</p>
+
+    <h3><a id="no-content-length"
+    name="no-content-length"><code>POST</code> without
+    <code>Content-Length</code></a></h3>
+
+    <p>In certain situations Navigator 3.01 through 3.03 appear to
+    incorrectly issue a POST without the request body. There is no
+    known workaround. It has been fixed in Navigator 3.04,
+    Netscapes provides some <a
+    href="http://help.netscape.com/kb/client/971014-42.html">information</a>.
+    There's also <a
+    href="http://arctic.org/~dean/apache/no-content-length/">
+    some information</a> about the actual problem.</p>
+
+    <h3><a id="jdk-12-bugs" name="jdk-12-bugs">JDK 1.2 betas lose
+    parts of responses.</a></h3>
+
+    <p>The http client in the JDK1.2beta2 and beta3 will throw away
+    the first part of the response body when both the headers and
+    the first part of the body are sent in the same network packet
+    AND keep-alive's are being used. If either condition is not met
+    then it works fine.</p>
+
+    <p>See also Bug-ID's 4124329 and 4125538 at the java developer
+    connection.</p>
+
+    <p>If you are seeing this bug yourself, you can add the
+    following BrowserMatch directive to work around it:</p>
+
+    <blockquote>
+      <code>BrowserMatch "Java1\.2beta[23]" nokeepalive</code>
+    </blockquote>
+
+    <p>We don't advocate this though since bending over backwards
+    for beta software is usually not a good idea; ideally it gets
+    fixed, new betas or a final release comes out, and no one uses
+    the broken old software anymore. In theory.</p>
+
+    <h3><a id="content-type-persistence"
+    name="content-type-persistence"><code>Content-Type</code>
+    change is not noticed after reload</a></h3>
+
+    <p>Navigator (all versions?) will cache the
+    <code>content-type</code> for an object "forever". Using reload
+    or shift-reload will not cause Navigator to notice a
+    <code>content-type</code> change. The only work-around is for
+    the user to flush their caches (memory and disk). By way of an
+    example, some folks may be using an old <code>mime.types</code>
+    file which does not map <code>.htm</code> to
+    <code>text/html</code>, in this case Apache will default to
+    sending <code>text/plain</code>. If the user requests the page
+    and it is served as <code>text/plain</code>. After the admin
+    fixes the server, the user will have to flush their caches
+    before the object will be shown with the correct
+    <code>text/html</code> type.</p>
+
+    <h3><a id="msie-cookie-y2k" name="msie-cookie-y2k">MSIE Cookie
+    problem with expiry date in the year 2000</a></h3>
+
+    <p>MSIE versions 3.00 and 3.02 (without the Y2K patch) do not
+    handle cookie expiry dates in the year 2000 properly. Years
+    after 2000 and before 2000 work fine. This is fixed in IE4.01
+    service pack 1, and in the Y2K patch for IE3.02. Users should
+    avoid using expiry dates in the year 2000.</p>
+
+    <h3><a id="lynx-negotiate-trans"
+    name="lynx-negotiate-trans">Lynx incorrectly asking for
+    transparent content negotiation</a></h3>
+
+    <p>The Lynx browser versions 2.7 and 2.8 send a "negotiate:
+    trans" header in their requests, which is an indication the
+    browser supports transparent content negotiation (TCN). However
+    the browser does not support TCN. As of version 1.3.4, Apache
+    supports TCN, and this causes problems with these versions of
+    Lynx. As a workaround future versions of Apache will ignore
+    this header when sent by the Lynx client.</p>
+
+    <h3><a id="ie40-vary" name="ie40-vary">MSIE 4.0 mishandles Vary
+    response header</a></h3>
+
+    <p>MSIE 4.0 does not handle a Vary header properly. The Vary
+    header is generated by mod_rewrite in apache 1.3. The result is
+    an error from MSIE saying it cannot download the requested
+    file. There are more details in <a
+    href="http://bugs.apache.org/index/full/4118">PR#4118</a>.</p>
+
+    <p>A workaround is to add the following to your server's
+    configuration files:</p>
+<pre>
+    BrowserMatch "MSIE 4\.0" force-no-vary
+</pre>
+
+    <p>(This workaround is only available with releases
+    <strong>after</strong> 1.3.6 of the Apache Web server.)</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/nopgp.html b/htdocs/manual/misc/nopgp.html
new file mode 100644 (file)
index 0000000..e2263c7
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Why We Took PEM Out of Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Why We Took PEM Out of Apache</h1>
+    On May 17th, 1995, we were asked by a representative of NCSA to
+    remove any copies of NCSA httpd prior to 1.4.1 from our web
+    site. They were mandated by the NSA to inform us that
+    redistribution of pre-1.4.1 code violated the same laws that
+    make distributing Phill Zimmerman's PGP package to other
+    countries illegal. There was <strong>no</strong> encryption in
+    NCSA's httpd, only hooks to publicly available libraries of PEM
+    code. By the NSA's rules, even hooks to this type of
+    application is illegal. 
+
+    <p>Because Apache is based on NCSA code, and we had basically
+    not touched that part of the software, we were informed that
+    Apache was also illegal to distribute to foreign countries, and
+    advised (not mandated) by NCSA to remove it. So, we removed
+    both the copies of the NCSA httpd we had, and all versions of
+    Apache previous to 0.6.5.</p>
+
+    <p>The Apache members are strong advocates of the right to
+    digital privacy, so the decision to submit to the NSA and
+    remove the code was not an easy one. Here are some elements in
+    our rationale:</p>
+
+    <ul>
+      <li>The PEM code in httpd was not widely used. No major site
+      relied upon its use, so its loss is not a blow to encryption
+      and security on the world wide web. There are other efforts
+      designed to give much more flexible security - SSL and SHTTP
+      - so this wasn't a function whose absence would really be
+      missed on a functional level.</li>
+
+      <li>We didn't feel like being just a couple more martyrs in a
+      fight being fought very well by many other people. Rather
+      than have the machine that supports the project confiscated
+      or relocated to South Africa, <em>etc.</em>, we think there
+      are more efficient methods to address the issue.</li>
+    </ul>
+    It kind of sickens us that we had to do it, but so be it. 
+
+    <p>Patches that re-implement the PEM code may be available at a
+    foreign site soon. If it does show up, we'll point to it - that
+    can't be illegal!</p>
+
+    <p>Finally, here is a compendium of pointers to sites related
+    to encryption and export law. We can't promise this list will
+    be up to date, so send us mail when you see a problem or want a
+    link added. Thanks.</p>
+
+    <ul>
+      <li><a
+      href="http://dir.yahoo.com/Computers_and_Internet/security_and_encryption/">
+      Yahoo - Science: Mathematics: Security and
+      Encryption</a></li>
+
+      <li><a href="http://www.eff.org/Privacy/Crypto/">EFF
+      Crypto/Privacy/Security Archive</a></li>
+
+      <li><a
+      href="http://www.quadralay.com/www/Crypt/Crypt.html">Crypto
+      page at Quadralay</a></li>
+
+      <li><a
+      href="ftp://ftp.cygnus.com/pub/export/export.html">Cryptography
+      Export Control Archives (Cygnus)</a></li>
+
+      <li><a href="http://www.law.indiana.edu/law/iclu.html">ICLU -
+      Your Rights in Cyberspace</a></li>
+    </ul>
+    <a href="http://www.behlendorf.com/~brian/">Brian</a>, <a
+    href="mailto:brian@hyperreal.com">brian@hyperreal.com</a> 
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/perf-bsd44.html b/htdocs/manual/misc/perf-bsd44.html
new file mode 100644 (file)
index 0000000..bcd4964
--- /dev/null
@@ -0,0 +1,271 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Running a High-Performance Web Server for BSD</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <a id="initial" name="initial">
+    <!--#include virtual="header.html" -->
+    </a> 
+
+    <h1 align="CENTER">Running a High-Performance Web Server for
+    BSD</h1>
+
+    <p>This document assumes that you have read the appropriate
+    overview documentation for
+    <a href="http://www.FreeBSD.org/docs.html">FreeBSD</a>,
+    <a href="http://www.NetBSD.org/Documentation/">NetBSD</a>, or
+    <a href="http://www.OpenBSD.org/docum.html">OpenBSD</a>.
+    In addition, the FreeBSD
+    <a href="http://www.FreeBSD.org/cgi/man.cgi?query=tuning">tuning</a>
+    manual page contains lots of wisdom, especially regarding sysctl
+    options.</p>
+
+    <p>Like other OS's, the listen queue is often the <strong>first
+    limit hit</strong>. The following are comments from "Aaron
+    Gifford &lt;agifford@InfoWest.COM&gt;" on how to fix this on
+    BSDI 1.x, 2.x, and FreeBSD 2.0 (and earlier):</p>
+
+    <p>Edit the following two files:</p>
+
+    <blockquote>
+      <code>/usr/include/sys/socket.h<br />
+       /usr/src/sys/sys/socket.h</code>
+    </blockquote>
+    In each file, look for the following: 
+<pre>
+    /*
+     * Maximum queue length specifiable by listen.
+     */
+    #define SOMAXCONN       5
+</pre>
+    Just change the "5" to whatever appears to work. I bumped the
+    two machines I was having problems with up to 32 and haven't
+    noticed the problem since. 
+
+    <p>After the edit, recompile the kernel and recompile the
+    Apache server then reboot.</p>
+
+    <p>FreeBSD 2.1 seems to be perfectly happy, with SOMAXCONN set
+    to 32 already.</p>
+
+    <p><a id="detail" name="detail"><strong>Addendum for
+    <em>very</em> heavily loaded BSD servers</strong><br />
+    </a> from Chuck Murcko &lt;chuck@telebase.com&gt;</p>
+
+    <p>If you're running a really busy BSD Apache server, the
+    following are useful things to do if the system is acting
+    sluggish:</p>
+
+    <ul>
+      <li>Run vmstat to check memory usage, page/swap rates,
+      <em>etc.</em></li>
+
+      <li>Run netstat -m to check mbuf usage</li>
+
+      <li>Run fstat to check file descriptor usage</li>
+    </ul>
+    These utilities give you an idea what you'll need to tune in
+    your kernel, and whether it'll help to buy more RAM. Here are
+    some BSD kernel config parameters (actually BSDI, but pertinent
+    to FreeBSD and other 4.4-lite derivatives) from a system
+    getting heavy usage. The tools mentioned above were used, and
+    the system memory was increased to 48 MB before these tuneups.
+    Other system parameters remained unchanged. 
+<pre>
+maxusers        256
+</pre>
+    Maxusers drives a <em>lot</em> of other kernel parameters: 
+
+    <ul>
+      <li>Maximum # of processes</li>
+
+      <li>Maximum # of processes per user</li>
+
+      <li>System wide open files limit</li>
+
+      <li>Per-process open files limit</li>
+
+      <li>Maximum # of mbuf clusters</li>
+
+      <li>Proc/pgrp hash table size</li>
+    </ul>
+    The actual formulae for these derived parameters are in
+    <em>/usr/src/sys/conf/param.c</em>. These calculated parameters
+    can also be overridden (in part) by specifying your own values
+    in the kernel configuration file: 
+<pre>
+# Network options. NMBCLUSTERS defines the number of mbuf clusters and
+# defaults to 256. This machine is a server that handles lots of traffic,
+# so we crank that value.
+options         NMBCLUSTERS=4096        # mbuf clusters at 4096
+
+#
+# Misc. options
+#
+options         CHILD_MAX=512           # maximum number of child processes
+options         OPEN_MAX=512            # maximum fds (breaks RPC svcs)
+</pre>
+
+    <p>In many cases, NMBCLUSTERS must be set much larger than
+    would appear necessary at first glance. The reason for this is
+    that if the browser disconnects in mid-transfer, the socket fd
+    associated with that particular connection ends up in the
+    TIME_WAIT state for several minutes, during which time its
+    mbufs are not yet freed. Another reason is that, on server
+    timeouts, some connections end up in FIN_WAIT_2 state forever,
+    because this state doesn't time out on the server, and the
+    browser never sent a final FIN. For more details see the <a
+    href="fin_wait_2.html">FIN_WAIT_2</a> page.</p>
+
+    <p>Some more info on mbuf clusters (from sys/mbuf.h):</p>
+<pre>
+/*
+ * Mbufs are of a single size, MSIZE (machine/machparam.h), which
+ * includes overhead.  An mbuf may add a single "mbuf cluster" of size
+ * MCLBYTES (also in machine/machparam.h), which has no additional overhead
+ * and is used instead of the internal data area; this is done when
+ * at least MINCLSIZE of data must be stored.
+ */
+</pre>
+
+    <p>CHILD_MAX and OPEN_MAX are set to allow up to 512 child
+    processes (different than the maximum value for processes per
+    user ID) and file descriptors. These values may change for your
+    particular configuration (a higher OPEN_MAX value if you've got
+    modules or CGI scripts opening lots of connections or files).
+    If you've got a lot of other activity besides httpd on the same
+    machine, you'll have to set NPROC higher still. In this
+    example, the NPROC value derived from maxusers proved
+    sufficient for our load.</p>
+
+    <p>To increase the size of the <code>listen()</code> queue, you
+    need to adjust the value of SOMAXCONN. SOMAXCONN is not derived
+    from maxusers, so you'll always need to increase that yourself.
+    We use a value guaranteed to be larger than Apache's default
+    for the listen() of 128, currently. The actual value for
+    SOMAXCONN is set in <code>sys/socket.h</code>. The best way to
+    adjust this parameter is run-time, rather than changing it in
+    this header file and thus hardcoding a value in the kernel and
+    elsewhere. To do this, edit <code>/etc/rc.local</code> and add
+    the following line:</p>
+<pre>
+    /usr/sbin/sysctl -w kern.somaxconn=256
+</pre>
+
+    <p>We used <code>256</code> but you can tune it for your own
+    setup. In many cases, however, even the default value of
+    <code>128</code> (for later versions of FreeBSD) is OK.</p>
+
+    <p><strong>Caveats</strong></p>
+
+    <p>Be aware that your system may not boot with a kernel that is
+    configured to use more resources than you have available system
+    RAM. <strong>ALWAYS</strong> have a known bootable kernel
+    available when tuning your system this way, and use the system
+    tools beforehand to learn if you need to buy more memory before
+    tuning.</p>
+
+    <p>RPC services will fail when the value of OPEN_MAX is larger
+    than 256. This is a function of the original implementations of
+    the RPC library, which used a byte value for holding file
+    descriptors. BSDI has partially addressed this limit in its 2.1
+    release, but a real fix may well await the redesign of RPC
+    itself.</p>
+
+    <p>Finally, there's the hard limit of child processes
+    configured in Apache.</p>
+
+    <p>For versions of Apache later than 1.0.5 you'll need to
+    change the definition for <strong>HARD_SERVER_LIMIT</strong> in
+    <em>httpd.h</em> and recompile if you need to run more than the
+    default 150 instances of httpd.</p>
+
+    <p>From conf/httpd.conf-dist:</p>
+<pre>
+# Limit on total number of servers running, <em>i.e.</em>, limit on the number
+# of clients who can simultaneously connect --- if this limit is ever
+# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
+# It is intended mainly as a brake to keep a runaway server from taking
+# Unix with it as it spirals down...
+
+MaxClients 150
+</pre>
+    Know what you're doing if you bump this value up, and make sure
+    you've done your system monitoring, RAM expansion, and kernel
+    tuning beforehand. Then you're ready to service some serious
+    hits! 
+
+    <p>Thanks to <em>Tony Sanders</em> and <em>Chris Torek</em> at
+    BSDI for their helpful suggestions and information.</p>
+
+    <p>"M. Teterin" &lt;mi@ALDAN.ziplink.net&gt; writes:</p>
+
+    <blockquote>
+      It really does help if your kernel and frequently used
+      utilities are fully optimized. Rebuilding the FreeBSD kernel
+      on an AMD-133 (486-class CPU) web-server with<br />
+       <code>-m486 -fexpensive-optimizations -fomit-frame-pointer
+      -O2</code><br />
+       helped reduce the number of "unable" errors, because the CPU
+      was often maxed out.
+    </blockquote>
+
+    <h2><a id="accf" name="accf">Accept filtering on
+    FreeBSD</a></h2>
+
+    <p>Versions of FreeBSD from August 2000 onwards include a
+    feature called "accept filters" which delay the return from
+    accept() until a condition has been met, e.g. an HTTP request
+    has arrived. This postpones the requirement for a child process
+    to handle the new connection which therefore increases the
+    number of connections that a given number of child processes
+    can handle. It also allows a child process to accomplish more
+    immediately after accept() returns (because the request is
+    already available to be read) so there is less context
+    switching.</p>
+
+    <p>Accept filters provide the most benefit on servers that are
+    already so busy that they are configured with "<code>KeepAlive
+    Off</code>". <a href="../keepalive.html">HTTP KeepAlive (aka
+    persistent connections)</a> avoids the cost of setting up a new
+    connection for every request, but connections that are being
+    kept alive use up one of the available child processes. Since
+    there is a limited number of child processes this can
+    significantly reduce the capacity of the server. The viewers of
+    a web site will still get a lot of the benefit of persistent
+    connections even with a very small
+    <code>KeepAliveTimeout</code> so you should try reducing it
+    before turning it off altogether.</p>
+
+    <p>To enable accept filtering, you must either load the
+    appropriate accept filter module, e.g. with the command
+    <code>kldload accf_http</code>, or compile a kernel with
+    <code>options ACCEPT_FILTER_HTTP</code>. Apache will then
+    enable filtering when it is restarted.</p>
+
+    <p>Accept filters are compiled in if the symbol
+    <code>SO_ACCEPTFILTER</code> is defined on the machine on which
+    Apache is built. Additionally there is a directive <a
+    href="../mod/core.html#acceptfilter">AcceptFilter</a> to switch
+    the filters on or off. The default is on; except when apache is
+    compiled with <code>-D AP_ACCEPTFILTER_ON</code>.</p>
+
+    <p>See the manual page
+    <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http">accf_http(9)</a>
+    for more information.</p>
+
+    <h3>More welcome!</h3>
+    If you have tips to contribute, send mail to <a
+    href="mailto:apache@apache.org">apache@apache.org</a> 
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/perf-dec.html b/htdocs/manual/misc/perf-dec.html
new file mode 100644 (file)
index 0000000..611bed6
--- /dev/null
@@ -0,0 +1,287 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Performance Tuning Tips for Digital Unix</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Performance Tuning Tips for Digital
+    Unix</h1>
+    Below is a set of newsgroup posts made by an engineer from DEC
+    in response to queries about how to modify DEC's Digital Unix
+    OS for more heavily loaded web sites. Copied with permission. 
+    <hr />
+
+    <h2>Update</h2>
+    From: Jeffrey Mogul &lt;mogul@pa.dec.com&gt;<br />
+     Date: Fri, 28 Jun 96 16:07:56 MDT<br />
+     
+
+    <ol>
+      <li>The advice given in the README file regarding the
+      "tcbhashsize" variable is incorrect. The largest value this
+      should be set to is 1024. Setting it any higher will have the
+      perverse result of disabling the hashing mechanism.</li>
+
+      <li>
+        Patch ID OSF350-146 has been superseded by 
+
+        <blockquote>
+          Patch ID OSF350-195 for V3.2C<br />
+           Patch ID OSF360-350195 for V3.2D
+        </blockquote>
+        Patch IDs for V3.2E and V3.2F should be available soon.
+        There is no known reason why the Patch ID OSF360-350195
+        won't work on these releases, but such use is not
+        officially supported by Digital. This patch kit will not be
+        needed for V3.2G when it is released.
+      </li>
+    </ol>
+    <hr />
+<pre>
+From           mogul@pa.dec.com (Jeffrey Mogul)
+Organization   DEC Western Research
+Date           30 May 1996 00:50:25 GMT
+Newsgroups     <a
+href="news:comp.unix.osf.osf1">comp.unix.osf.osf1</a>
+Message-ID     &lt;4oirch$bc8@usenet.pa.dec.com&gt;
+Subject        Re: Web Site Performance
+References     1
+
+
+
+In article &lt;skoogDs54BH.9pF@netcom.com&gt; skoog@netcom.com (Jim Skoog) writes:
+&gt;Where are the performance bottlenecks for Alpha AXP running the
+&gt;Netscape Commerce Server 1.12 with high volume internet traffic?
+&gt;We are evaluating network performance for a variety of Alpha AXP
+&gt;runing DEC UNIX 3.2C, which run DEC's seal firewall and behind
+&gt;that Alpha 1000 and 2100 webservers.
+
+Our experience (running such Web servers as <a
+href="http://altavista.digital.com">altavista.digital.com</a>
+and <a
+href="http://www.digital.com">www.digital.com</a>) is that there is one important kernel tuning
+knob to adjust in order to get good performance on V3.2C.  You
+need to patch the kernel global variable "somaxconn" (use dbx -k
+to do this) from its default value of 8 to something much larger.
+
+How much larger?  Well, no larger than 32767 (decimal).  And
+probably no less than about 2048, if you have a really high volume
+(millions of hits per day), like AltaVista does.
+
+This change allows the system to maintain more than 8 TCP
+connections in the SYN_RCVD state for the HTTP server.  (You
+can use "netstat -An |grep SYN_RCVD" to see how many such
+connections exist at any given instant).
+
+If you don't make this change, you might find that as the load gets
+high, some connection attempts take a very long time.  And if a lot
+of your clients disconnect from the Internet during the process of
+TCP connection establishment (this happens a lot with dialup
+users), these "embryonic" connections might tie up your somaxconn
+quota of SYN_RCVD-state connections.  Until the kernel times out
+these embryonic connections, no other connections will be accepted,
+and it will appear as if the server has died.
+
+The default value for somaxconn in Digital UNIX V4.0 will be quite
+a bit larger than it has been in previous versions (we inherited
+this default from 4.3BSD).
+
+Digital UNIX V4.0 includes some other performance-related changes
+that significantly improve its maximum HTTP connection rate.  However,
+we've been using V3.2C systems to front-end for altavista.digital.com
+with no obvious performance bottlenecks at the millions-of-hits-per-day
+level.
+
+We have some Webstone performance results available at
+        http://www.digital.com/info/alphaserver/news/webff.html
+
+<em>[The document referenced above is no longer at that URL -- Ed.]</em>
+
+I'm not sure if these were done using V4.0 or an earlier version
+of Digital UNIX, although I suspect they were done using a test
+version of V4.0.
+
+-Jeff
+
+----------------------------------------------------------------------------
+
+From           mogul@pa.dec.com (Jeffrey Mogul)
+Organization   DEC Western Research
+Date           31 May 1996 21:01:01 GMT
+Newsgroups     <a
+href="news:comp.unix.osf.osf1">comp.unix.osf.osf1</a>
+Message-ID     &lt;4onmmd$mmd@usenet.pa.dec.com&gt;
+Subject        Digital UNIX V3.2C Internet tuning patch info
+
+----------------------------------------------------------------------------
+
+Something that probably few people are aware of is that Digital
+has a patch kit available for Digital UNIX V3.2C that may improve
+Internet performance, especially for busy web servers.
+
+This patch kit is one way to increase the value of somaxconn,
+which I discussed in a message here a day or two ago.
+
+I've included in this message the revised README file for this
+patch kit below.  Note that the original README file in the patch
+kit itself may be an earlier version; I'm told that the version
+below is the right one.
+
+Sorry, this patch kit is NOT available for other versions of Digital
+UNIX.  Most (but not quite all) of these changes also made it into V4.0,
+so the description of the various tuning parameters in this README
+file might be useful to people running V4.0 systems.
+
+This patch kit does not appear to be available (yet?) from
+        <a
+href="http://www.service.digital.com/html/patch_service.html">http://www.service.digital.com/html/patch_service.html</a>
+so I guess you'll have to call Digital's Customer Support to get it.
+
+-Jeff
+
+DESCRIPTION: Digital UNIX Network tuning patch
+
+             Patch ID: OSF350-146
+
+             SUPERSEDED PATCHES: OSF350-151, OSF350-158
+
+        This set of files improves the performance of the network
+        subsystem on a system being used as a web server.  There are
+        additional tunable parameters included here, to be used
+        cautiously by an informed system administrator.
+
+TUNING
+
+        To tune the web server, the number of simultaneous socket
+        connection requests are limited by:
+
+        somaxconn               Sets the maximum number of pending requests
+                                allowed to wait on a listening socket.  The
+                                default value in Digital UNIX V3.2 is 8.
+                                This patch kit increases the default to 1024,
+                                which matches the value in Digital UNIX V4.0.
+
+        sominconn               Sets the minimum number of pending connections
+                                allowed on a listening socket.  When a user
+                                process calls listen with a backlog less
+                                than sominconn, the backlog will be set to
+                                sominconn.  sominconn overrides somaxconn.
+                                The default value is 1.
+
+        The effectiveness of tuning these parameters can be monitored by
+        the sobacklog variables available in the kernel:
+
+        sobacklog_hiwat         Tracks the maximum pending requests to any
+                                socket.  The initial value is 0.
+
+        sobacklog_drops         Tracks the number of drops exceeding the
+                                socket set backlog limit.  The initial
+                                value is 0.
+
+        somaxconn_drops         Tracks the number of drops exceeding the
+                                somaxconn limit.  When sominconn is larger
+                                than somaxconn, tracks the number of drops
+                                exceeding sominconn.  The initial value is 0.
+
+        TCP timer parameters also affect performance. Tuning the following
+        require some knowledge of the characteristics of the network.
+
+        tcp_msl                 Sets the tcp maximum segment lifetime.
+                                This is the maximum lifetime in half
+                                seconds that a packet can be in transit
+                                on the network.  This value, when doubled,
+                                is the length of time a connection remains
+                                in the TIME_WAIT state after a incoming
+                                close request is processed.  The unit is
+                                specified in 1/2 seconds, the initial
+                                value is 60.
+
+        tcp_rexmit_interval_min
+                                Sets the minimum TCP retransmit interval.
+                                For some WAN networks the default value may
+                                be too short, causing unnecessary duplicate
+                                packets to be sent.  The unit is specified
+                                in 1/2 seconds, the initial value is 1.
+
+        tcp_keepinit            This is the amount of time a partially
+                                established connection will sit on the listen
+                                queue before timing out (<em>e.g.</em>, if a client
+                                sends a SYN but never answers our SYN/ACK).
+                                Partially established connections tie up slots
+                                on the listen queue.  If the queue starts to
+                                fill with connections in SYN_RCVD state,
+                                tcp_keepinit can be decreased to make those
+                                partial connects time out sooner.  This should
+                                be used with caution, since there might be
+                                legitimate clients that are taking a while
+                                to respond to SYN/ACK.  The unit is specified
+                                in 1/2 seconds, the default value is 150
+                                (ie. 75 seconds).
+
+        The hashlist size for the TCP inpcb lookup table is regulated by:
+
+        tcbhashsize             The number of hash buckets used for the
+                                TCP connection table used in the kernel.
+                                The initial value is 32.  For best results,
+                                should be specified as a power of 2.  For
+                                busy Web servers, set this to 2048 or more.
+
+        The hashlist size for the interface alias table is regulated by:
+
+        inifaddr_hsize          The number of hash buckets used for the
+                                interface alias table used in the kernel.
+                                The initial value is 32.  For best results,
+                                should be specified as a power of 2.
+
+        ipport_userreserved     The maximum number of concurrent non-reserved,
+                                dynamically allocated ports.  Default range
+                                is 1025-5000.  The maximum value is 65535.
+                                This limits the numer of times you can
+                                simultaneously telnet or ftp out to connect
+                                to other systems.
+
+        tcpnodelack             Don't delay acknowledging TCP data; this
+                                can sometimes improve performance of locally
+                                run CAD packages.  Default is value is 0,
+                                the enabled value is 1.
+
+                           Digital UNIX version:
+
+                                  V3.2C
+Feature                    V3.2C  patch  V4.0
+=======                    =====  =====  ====
+somaxconn                   X      X      X
+sominconn                   -      X      X
+sobacklog_hiwat             -      X      -
+sobacklog_drops             -      X      -
+somaxconn_drops             -      X      -
+tcpnodelack                 X      X      X
+tcp_keepidle                X      X      X
+tcp_keepintvl               X      X      X
+tcp_keepcnt                 -      X      X
+tcp_keepinit                -      X      X
+TCP keepalive per-socket    -      -      X
+tcp_msl                     -      X      -
+tcp_rexmit_interval_min     -      X      -
+TCP inpcb hashing           -      X      X
+tcbhashsize                 -      X      X
+interface alias hashing     -      X      X
+inifaddr_hsize              -      X      X
+ipport_userreserved         -      X      -
+sysconfig -q inet           -      -      X
+sysconfig -q socket         -      -      X
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/perf-hp.html b/htdocs/manual/misc/perf-hp.html
new file mode 100644 (file)
index 0000000..55af9c2
--- /dev/null
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Running a High-Performance Web Server on HPUX</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <a id="initial" name="initial">&nbsp;</a> 
+    <!--#include virtual="header.html" -->
+     
+
+    <h1 align="center">Running a High-Performance Web Server for
+    HPUX</h1>
+<pre>
+Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones &lt;<a
+href="mailto:raj@cup.hp.com">raj@cup.hp.com</a>&gt;
+Reply-To: raj@cup.hp.com
+Organization: Network Performance
+Subject: HP-UX tuning tips
+</pre>
+    Here are some tuning tips for HP-UX to add to the tuning page. 
+
+    <p>For HP-UX 9.X: Upgrade to 10.20<br />
+     For HP-UX 10.[00|01|10]: Upgrade to 10.20</p>
+
+    <p>For HP-UX 10.20:</p>
+
+    <p>Install the latest cumulative ARPA Transport Patch. This
+    will allow you to configure the size of the TCP connection
+    lookup hash table. The default is 256 buckets and must be set
+    to a power of two. This is accomplished with adb against the
+    *disc* image of the kernel. The variable name is tcp_hash_size.
+    Notice that it's critically important that you use "W" to write
+    a 32 bit quantity, not "w" to write a 16 bit value when
+    patching the disc image because the tcp_hash_size variable is a
+    32 bit quantity.</p>
+
+    <p>How to pick the value? Examine the output of <a
+    href="ftp://ftp.cup.hp.com/dist/networking/tools/connhist">ftp://ftp.cup.hp.com/dist/networking/tools/connhist</a>
+    and see how many total TCP connections exist on the system. You
+    probably want that number divided by the hash table size to be
+    reasonably small, say less than 10. Folks can look at HP's
+    SPECweb96 disclosures for some common settings. These can be
+    found at <a
+    href="http://www.specbench.org/">http://www.specbench.org/</a>.
+    If an HP-UX system was performing at 1000 SPECweb96 connections
+    per second, the TIME_WAIT time of 60 seconds would mean 60,000
+    TCP "connections" being tracked.</p>
+
+    <p>Folks can check their listen queue depths with <a
+    href="ftp://ftp.cup.hp.com/dist/networking/misc/listenq">ftp://ftp.cup.hp.com/dist/networking/misc/listenq</a>.</p>
+
+    <p>If folks are running Apache on a PA-8000 based system, they
+    should consider "chatr'ing" the Apache executable to have a
+    large page size. This would be "chatr +pi L &lt;BINARY&gt;."
+    The GID of the running executable must have MLOCK privileges.
+    Setprivgrp(1m) should be consulted for assigning MLOCK. The
+    change can be validated by running Glance and examining the
+    memory regions of the server(s) to make sure that they show a
+    non-trivial fraction of the text segment being locked.</p>
+
+    <p>If folks are running Apache on MP systems, they might
+    consider writing a small program that uses mpctl() to bind
+    processes to processors. A simple pid % numcpu algorithm is
+    probably sufficient. This might even go into the source
+    code.</p>
+
+    <p>If folks are concerned about the number of FIN_WAIT_2
+    connections, they can use nettune to shrink the value of
+    tcp_keepstart. However, they should be careful there -
+    certainly do not make it less than oh two to four minutes. If
+    tcp_hash_size has been set well, it is probably OK to let the
+    FIN_WAIT_2's take longer to timeout (perhaps even the default
+    two hours) - they will not on average have a big impact on
+    performance.</p>
+
+    <p>There are other things that could go into the code base, but
+    that might be left for another email. Feel free to drop me a
+    message if you or others are interested.</p>
+
+    <p>sincerely,</p>
+
+    <p>rick jones<br />
+     <a
+    href="http://www.cup.hp.com/netperf/NetperfPage.html">http://www.cup.hp.com/netperf/NetperfPage.html</a>
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/perf-tuning.html b/htdocs/manual/misc/perf-tuning.html
new file mode 100644 (file)
index 0000000..482b924
--- /dev/null
@@ -0,0 +1,1047 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Performance Notes</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+  alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache Performance Notes</h1>
+
+    <p>Author: Dean Gaudet</p>
+
+    <ul>
+      <li><a href="#introduction">Introduction</a></li>
+
+      <li><a href="#hardware">Hardware and Operating System Issues</a></li>
+
+      <li><a href="#runtime">Run-Time Configuration Issues</a></li>
+
+      <!--
+        Contains subsections:
+            #dns
+            #symlinks
+            #htaccess
+            #negotiation
+            #process
+            #modules
+            #mmap
+      -->
+
+      <li><a href="#compiletime">Compile-Time Configuration Issues</a></li>
+
+      <li>
+        Appendixes 
+
+        <ul>
+          <li><a href="#trace">Detailed Analysis of a Trace</a></li>
+
+          <li><a href="#patches">Patches Available</a></li>
+
+          <li><a href="#preforking">The Pre-Forking Model</a></li>
+        </ul>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="introduction" name="introduction">Introduction</a></h3>
+
+    <p>Apache is a general webserver, which is designed to be correct
+    first, and fast second. Even so, its performance is quite satisfactory.
+    Most sites have less than 10Mbits of outgoing bandwidth, which Apache
+    can fill using only a low end Pentium-based webserver. In practice,
+    sites with more bandwidth require more than one machine to fill the
+    bandwidth due to other constraints (such as CGI or database transaction
+    overhead). For these reasons, the development focus has been mostly on
+    correctness and configurability.</p>
+
+    <p>Unfortunately many folks overlook these facts and cite raw
+    performance numbers as if they are some indication of the quality of a
+    web server product. There is a bare minimum performance that is
+    acceptable, beyond that, extra speed only caters to a much smaller
+    segment of the market. But in order to avoid this hurdle to the
+    acceptance of Apache in some markets, effort was put into Apache 1.3 to
+    bring performance up to a point where the difference with other
+    high-end webservers is minimal.</p>
+
+    <p>Finally there are the folks who just want to see how fast something
+    can go. The author falls into this category. The rest of this document
+    is dedicated to these folks who want to squeeze every last bit of
+    performance out of Apache's current model, and want to understand why
+    it does some things which slow it down.</p>
+
+    <p>Note that this is tailored towards Apache 1.3 on Unix. Some of it
+    applies to Apache on NT. Apache on NT has not been tuned for
+    performance yet; in fact it probably performs very poorly because NT
+    performance requires a different programming model.</p>
+    <hr />
+
+    <h3><a id="hardware" name="hardware">Hardware and Operating System
+    Issues</a></h3>
+
+    <p>The single biggest hardware issue affecting webserver performance is
+    RAM. A webserver should never ever have to swap, as swapping increases
+    the latency of each request beyond a point that users consider "fast
+    enough". This causes users to hit stop and reload, further increasing
+    the load. You can, and should, control the <code>MaxClients</code>
+    setting so that your server does not spawn so many children it starts
+    swapping. The procedure for doing this is simple: determine the size of
+    your average Apache process, by looking at your process list via a tool
+    such as <code>top</code>, and divide this into your total available
+    memory, leaving some room for other processes.</p>
+
+    <p>Beyond that the rest is mundane: get a fast enough CPU, a fast
+    enough network card, and fast enough disks, where "fast enough" is
+    something that needs to be determined by experimentation.</p>
+
+    <p>Operating system choice is largely a matter of local concerns. But a
+    general guideline is to always apply the latest vendor TCP/IP
+    patches.</p>
+    <hr />
+
+    <h3><a id="runtime" name="runtime">Run-Time Configuration
+    Issues</a></h3>
+
+    <h4><a id="dns" name="dns"><code>HostnameLookups</code> and other DNS considerations</a></h4>
+
+    <p>Prior to Apache 1.3, <a
+    href="../mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
+    defaulted to <code>On</code>. This adds latency to every request
+    because it requires a DNS lookup to complete before the request is
+    finished. In Apache 1.3 this setting defaults to <code>Off</code>. If
+    you need to have addresses in your log files resolved to hostnames, use
+    the <a href="../programs/logresolve.html">logresolve</a> program that
+    comes with Apache, or one of the numerous log reporting packages which
+    are available.</p>
+
+    <p>It is recommended that you do this sort of postprocessing of your
+    log files on some machine other than the production web server machine,
+    in order that this activity not adversely affect server
+    performance.</p>
+
+    <p>If you use any <code><a
+    href="../mod/mod_access.html#allow">Allow</a> from domain</code> or
+    <code><a href="../mod/mod_access.html#deny">Deny</a> from domain</code>
+    directives (i.e., using a hostname, or a domain name, rather than an IP
+    address) then you will pay for a double reverse DNS lookup (a reverse,
+    followed by a forward to make sure that the reverse is not being
+    spoofed). For best performance, therefore, use IP addresses, rather 
+    than names, when using these directives, if possible.</p>
+
+    <p>Note that it's possible to scope the directives, such as within a
+    <code>&lt;Location /server-status&gt;</code> section. In this case the
+    DNS lookups are only performed on requests matching the criteria.
+    Here's an example which disables lookups except for .html and .cgi
+    files:</p>
+
+    <blockquote>
+<pre>
+HostnameLookups off
+&lt;Files ~ "\.(html|cgi)$"&gt;
+    HostnameLookups on
+&lt;/Files&gt;
+</pre>
+    </blockquote>
+
+    <p>But even still, if you just need DNS names in some CGIs you could
+    consider doing the <code>gethostbyname</code> call in the specific CGIs
+    that need it.</p>
+
+    <h4><a id="symlinks" name="symlinks">FollowSymLinks and SymLinksIfOwnerMatch</a></h4>
+
+    <p>Wherever in your URL-space you do not have an <code>Options
+    FollowSymLinks</code>, or you do have an <code>Options
+    SymLinksIfOwnerMatch</code> Apache will have to issue extra system
+    calls to check up on symlinks. One extra call per filename component.
+    For example, if you had:</p>
+
+    <blockquote>
+<pre>
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+    Options SymLinksIfOwnerMatch
+&lt;/Directory&gt;
+</pre>
+    </blockquote>
+
+    <p>and a request is made for the URI <code>/index.html</code>. Then
+    Apache will perform <code>lstat(2)</code> on <code>/www</code>,
+    <code>/www/htdocs</code>, and <code>/www/htdocs/index.html</code>. The
+    results of these <code>lstats</code> are never cached, so they will
+    occur on every single request. If you really desire the symlinks
+    security checking you can do something like this:</p>
+
+    <blockquote>
+<pre>
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+    Options FollowSymLinks
+&lt;/Directory&gt;
+&lt;Directory /www/htdocs&gt;
+    Options -FollowSymLinks +SymLinksIfOwnerMatch
+&lt;/Directory&gt;
+</pre>
+    </blockquote>
+
+    <p>This at least avoids the extra checks for the
+    <code>DocumentRoot</code> path. Note that you'll need to add similar
+    sections if you have any <code>Alias</code> or <code>RewriteRule</code>
+    paths outside of your document root. For highest performance, and no
+    symlink protection, set <code>FollowSymLinks</code> everywhere, and
+    never set <code>SymLinksIfOwnerMatch</code>.</p>
+
+    <h4><a id="htaccess" name="htaccess">AllowOverride</a></h4>
+
+    <p>Wherever in your URL-space you allow overrides (typically
+    <code>.htaccess</code> files) Apache will attempt to open
+    <code>.htaccess</code> for each filename component. For example,</p>
+
+    <blockquote>
+<pre>
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+    AllowOverride all
+&lt;/Directory&gt;
+</pre>
+    </blockquote>
+
+    <p>and a request is made for the URI <code>/index.html</code>. Then
+    Apache will attempt to open <code>/.htaccess</code>,
+    <code>/www/.htaccess</code>, and <code>/www/htdocs/.htaccess</code>.
+    The solutions are similar to the previous case of <code>Options
+    FollowSymLinks</code>. For highest performance use <code>AllowOverride
+    None</code> everywhere in your filesystem.</p>
+
+    <p>See also the <a href="../howto/htaccess.html">.htaccess tutorial</a>
+    for further discussion of this.</p>
+
+    <h4><a id="negotiation" name="negotiation">Negotiation</a></h4>
+
+    <p>If at all possible, avoid content-negotiation if you're really
+    interested in every last ounce of performance. In practice the benefits
+    of negotiation outweigh the performance penalties. There's one case
+    where you can speed up the server. Instead of using a wildcard such
+    as:</p>
+
+    <blockquote>
+<pre>
+DirectoryIndex index
+</pre>
+    </blockquote>
+
+    <p>Use a complete list of options:</p>
+
+    <blockquote>
+<pre>
+DirectoryIndex index.cgi index.pl index.shtml index.html
+</pre>
+    </blockquote>
+
+    <p>where you list the most common choice first.</p>
+
+    <p>If your site needs content negotiation, consider using
+    <code>type-map</code> files rather than the <code>Options
+    MultiViews</code> directive to accomplish the negotiation. See the <a
+    href="../content-negotiation.html">Content Negotiation</a>
+    documentation for a full discussion of the methods of negotiation, and
+    instructions for creating <code>type-map</code> files.</p>
+
+    <h4><a name="process" id="process">Process Creation</a></h4>
+
+    <p>Prior to Apache 1.3 the <a
+    href="../mod/core.html#minspareservers"><code>MinSpareServers</code></a>,
+    <a
+    href="../mod/core.html#maxspareservers"><code>MaxSpareServers</code></a>,
+    and <a
+    href="../mod/core.html#startservers"><code>StartServers</code></a>
+    settings all had drastic effects on benchmark results. In particular,
+    Apache required a "ramp-up" period in order to reach a number of
+    children sufficient to serve the load being applied. After the initial
+    spawning of <code>StartServers</code> children, only one child per
+    second would be created to satisfy the <code>MinSpareServers</code>
+    setting. So a server being accessed by 100 simultaneous clients, using
+    the default <code>StartServers</code> of 5 would take on the order 95
+    seconds to spawn enough children to handle the load. This works fine in
+    practice on real-life servers, because they aren't restarted
+    frequently. But results in poor performance on benchmarks, which might
+    only run for ten minutes.</p>
+
+    <p>The one-per-second rule was implemented in an effort to avoid
+    swamping the machine with the startup of new children. If the machine
+    is busy spawning children it can't service requests. But it has such a
+    drastic effect on the perceived performance of Apache that it had to be
+    replaced. As of Apache 1.3, the code will relax the one-per-second
+    rule. It will spawn one, wait a second, then spawn two, wait a second,
+    then spawn four, and it will continue exponentially until it is
+    spawning 32 children per second. It will stop whenever it satisfies the
+    <code>MinSpareServers</code> setting.</p>
+
+    <p>This appears to be responsive enough that it's almost unnecessary to
+    adjust the <code>MinSpareServers</code>, <code>MaxSpareServers</code>
+    and <code>StartServers</code> settings. When more than 4 children are
+    spawned per second, a message will be emitted to the
+    <code>ErrorLog</code>. If you see a lot of these errors then consider
+    tuning these settings. Use the <code>mod_status</code> output as a
+    guide.</p>
+
+    <p>In particular, you may need to set <code>MinSpareServers</code>
+    higher if traffic on your site is extremely bursty - that is, if the
+    number of connections to your site fluctuates radically in short
+    periods of time. This may be the case, for example, if traffic to your
+    site is highly event-driven, such as sites for major sports events, or
+    other sites where users are encouraged to visit the site at a
+    particular time.</p>
+
+    <p>Related to process creation is process death induced by the
+    <code>MaxRequestsPerChild</code> setting. By default this is 0, which
+    means that there is no limit to the number of requests handled per
+    child. If your configuration currently has this set to some very low
+    number, such as 30, you may want to bump this up significantly. If you
+    are running SunOS or an old version of Solaris, limit this to 10000 or
+    so because of memory leaks.</p>
+
+    <p>When keep-alives are in use, children will be kept busy doing
+    nothing waiting for more requests on the already open connection. The
+    default <code>KeepAliveTimeout</code> of 15 seconds attempts to
+    minimize this effect. The tradeoff here is between network bandwidth
+    and server resources. In no event should you raise this above about 60
+    seconds, as <a
+    href="http://www.research.compaq.com/wrl/techreports/abstracts/95.4.html">
+    most of the benefits are lost</a>.</p>
+
+    <h4><a name="modules" id="modules">Modules</a></h4>
+
+    <p>Since memory usage is such an important consideration in
+    performance, you should attempt to eliminate modules that you are not
+    actually using. If you have built the modules as <a
+    href="../dso.html">DSOs</a>, eliminating modules is a simple matter of
+    commenting out the associated <a
+    href="../mod/core.html#addmodule.html">AddModule</a> and <a
+    href="../mod/mod_so.html#loadmodule.html">LoadModule</a> directives for
+    that module. This allows you to experiment with removing modules, and
+    seeing if your site still functions in their absence.</p>
+
+    <p>If, on the other hand, you have modules statically linked into your
+    Apache binary, you will need to recompile Apache in order to remove
+    unwanted modules.</p>
+
+    <p>An associated question that arises here is, of course, what modules
+    you need, and which ones you don't. The answer here will, of course,
+    vary from one web site to another. However, the <i>minimal</i> list of
+    modules which you can get by with tends to include <a
+    href="../mod/mod_mime.html">mod_mime</a>, <a
+    href="../mod/mod_dir.html">mod_dir</a>, and <a
+    href="../mod/mod_log_config.html">mod_log_config</a>.
+    <code>mod_log_config</code> is, of course, optional, as you can run a
+    web site without log files. This is, however, not recommended.</p>
+
+    <h4><a name="mmap" id="mmap">mod_mmap_static</a></h4>
+
+    <p>Apache comes with a module, <a
+    href="../mod/mod_mmap_static.html">mod_mmap_static</a>, which is not
+    enabled by default, which allows you to map files into RAM, and
+    serve them directly from memory rather than from the disc, which
+    should result in substantial performance improvement for
+    frequently-requests files. Note that when files are modified, you
+    will need to restart your server in order to serve the latest
+    version of the file, so this is not appropriate for files which
+    change frequently. See the documentation for this module for more
+    complete details.</p>
+
+    <hr />
+
+    <h3><a id="compiletime" name="compiletime">Compile-Time Configuration
+    Issues</a></h3>
+
+    <h4>mod_status and ExtendedStatus On</h4>
+
+    <p>If you include <a
+    href="../mod/mod_status.html"><code>mod_status</code></a> and you also
+    set <code>ExtendedStatus On</code> when building and running Apache,
+    then on every request Apache will perform two calls to
+    <code>gettimeofday(2)</code> (or <code>times(2)</code> depending on
+    your operating system), and (pre-1.3) several extra calls to
+    <code>time(2)</code>. This is all done so that the status report
+    contains timing indications. For highest performance, set
+    <code>ExtendedStatus off</code> (which is the default).</p>
+
+    <p><code>mod_status</code> should probably be configured to allow
+    access by only a few users, rather than to the general public, so this
+    will likely have very low impact on your overall performance.</p>
+
+    <h4>accept Serialization - multiple sockets</h4>
+
+    <p>This discusses a shortcoming in the Unix socket API. Suppose your
+    web server uses multiple <code>Listen</code> statements to listen on
+    either multiple ports or multiple addresses. In order to test each
+    socket to see if a connection is ready Apache uses
+    <code>select(2)</code>. <code>select(2)</code> indicates that a socket
+    has <em>zero</em> or <em>at least one</em> connection waiting on it.
+    Apache's model includes multiple children, and all the idle ones test
+    for new connections at the same time. A naive implementation looks
+    something like this (these examples do not match the code, they're
+    contrived for pedagogical purposes):</p>
+
+    <blockquote>
+<pre>
+    for (;;) {
+    for (;;) {
+        fd_set accept_fds;
+
+        FD_ZERO (&amp;accept_fds);
+        for (i = first_socket; i &lt;= last_socket; ++i) {
+        FD_SET (i, &amp;accept_fds);
+        }
+        rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);
+        if (rc &lt; 1) continue;
+        new_connection = -1;
+        for (i = first_socket; i &lt;= last_socket; ++i) {
+        if (FD_ISSET (i, &amp;accept_fds)) {
+            new_connection = accept (i, NULL, NULL);
+            if (new_connection != -1) break;
+        }
+        }
+        if (new_connection != -1) break;
+    }
+    process the new_connection;
+    }
+</pre>
+    </blockquote>
+    But this naive implementation has a serious starvation problem. Recall
+    that multiple children execute this loop at the same time, and so
+    multiple children will block at <code>select</code> when they are in
+    between requests. All those blocked children will awaken and return
+    from <code>select</code> when a single request appears on any socket
+    (the number of children which awaken varies depending on the operating
+    system and timing issues). They will all then fall down into the loop
+    and try to <code>accept</code> the connection. But only one will
+    succeed (assuming there's still only one connection ready), the rest
+    will be <em>blocked</em> in <code>accept</code>. This effectively locks
+    those children into serving requests from that one socket and no other
+    sockets, and they'll be stuck there until enough new requests appear on
+    that socket to wake them all up. This starvation problem was first
+    documented in <a
+    href="http://bugs.apache.org/index/full/467">PR#467</a>. There are at
+    least two solutions. 
+
+    <p>One solution is to make the sockets non-blocking. In this case the
+    <code>accept</code> won't block the children, and they will be allowed
+    to continue immediately. But this wastes CPU time. Suppose you have ten
+    idle children in <code>select</code>, and one connection arrives. Then
+    nine of those children will wake up, try to <code>accept</code> the
+    connection, fail, and loop back into <code>select</code>, accomplishing
+    nothing. Meanwhile none of those children are servicing requests that
+    occurred on other sockets until they get back up to the
+    <code>select</code> again. Overall this solution does not seem very
+    fruitful unless you have as many idle CPUs (in a multiprocessor box) as
+    you have idle children, not a very likely situation.</p>
+
+    <p>Another solution, the one used by Apache, is to serialize entry into
+    the inner loop. The loop looks like this (differences highlighted):</p>
+
+    <blockquote>
+<pre>
+    for (;;) {
+    <strong>accept_mutex_on ();</strong>
+    for (;;) {
+        fd_set accept_fds;
+
+        FD_ZERO (&amp;accept_fds);
+        for (i = first_socket; i &lt;= last_socket; ++i) {
+        FD_SET (i, &amp;accept_fds);
+        }
+        rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);
+        if (rc &lt; 1) continue;
+        new_connection = -1;
+        for (i = first_socket; i &lt;= last_socket; ++i) {
+        if (FD_ISSET (i, &amp;accept_fds)) {
+            new_connection = accept (i, NULL, NULL);
+            if (new_connection != -1) break;
+        }
+        }
+        if (new_connection != -1) break;
+    }
+    <strong>accept_mutex_off ();</strong>
+    process the new_connection;
+    }
+</pre>
+    </blockquote>
+    <a id="serialize" name="serialize">The functions</a>
+    <code>accept_mutex_on</code> and <code>accept_mutex_off</code>
+    implement a mutual exclusion semaphore. Only one child can have the
+    mutex at any time. There are several choices for implementing these
+    mutexes. The choice is defined in <code>src/conf.h</code> (pre-1.3) or
+    <code>src/include/ap_config.h</code> (1.3 or later). Some architectures
+    do not have any locking choice made, on these architectures it is
+    unsafe to use multiple <code>Listen</code> directives. 
+
+    <dl>
+      <dt><code>HAVE_FLOCK_SERIALIZED_ACCEPT</code></dt>
+
+      <dd>This method uses the <code>flock(2)</code> system call to lock a
+      lock file (located by the <code>LockFile</code> directive).</dd>
+
+      <dt><code>HAVE_FCNTL_SERIALIZED_ACCEPT</code></dt>
+
+      <dd>This method uses the <code>fcntl(2)</code> system call to lock a
+      lock file (located by the <code>LockFile</code> directive).</dd>
+
+      <dt><code>HAVE_SYSVSEM_SERIALIZED_ACCEPT</code></dt>
+
+      <dd>(1.3 or later) This method uses SysV-style semaphores to
+      implement the mutex. Unfortunately SysV-style semaphores have some
+      bad side-effects. One is that it's possible Apache will die without
+      cleaning up the semaphore (see the <code>ipcs(8)</code> man page).
+      The other is that the semaphore API allows for a denial of service
+      attack by any CGIs running under the same uid as the webserver
+      (<em>i.e.</em>, all CGIs, unless you use something like suexec or
+      cgiwrapper). For these reasons this method is not used on any
+      architecture except IRIX (where the previous two are prohibitively
+      expensive on most IRIX boxes).</dd>
+
+      <dt><code>HAVE_USLOCK_SERIALIZED_ACCEPT</code></dt>
+
+      <dd>(1.3 or later) This method is only available on IRIX, and uses
+      <code>usconfig(2)</code> to create a mutex. While this method avoids
+      the hassles of SysV-style semaphores, it is not the default for IRIX.
+      This is because on single processor IRIX boxes (5.3 or 6.2) the
+      uslock code is two orders of magnitude slower than the SysV-semaphore
+      code. On multi-processor IRIX boxes the uslock code is an order of
+      magnitude faster than the SysV-semaphore code. Kind of a messed up
+      situation. So if you're using a multiprocessor IRIX box then you
+      should rebuild your webserver with
+      <code>-DHAVE_USLOCK_SERIALIZED_ACCEPT</code> on the
+      <code>EXTRA_CFLAGS</code>.</dd>
+
+      <dt><code>HAVE_PTHREAD_SERIALIZED_ACCEPT</code></dt>
+
+      <dd>(1.3 or later) This method uses POSIX mutexes and should work on
+      any architecture implementing the full POSIX threads specification,
+      however appears to only work on Solaris (2.5 or later), and even then
+      only in certain configurations. If you experiment with this you
+      should watch out for your server hanging and not responding. Static
+      content only servers may work just fine.</dd>
+    </dl>
+
+    <p>If your system has another method of serialization which isn't in
+    the above list then it may be worthwhile adding code for it (and
+    submitting a patch back to Apache). The above
+    <code>HAVE_METHOD_SERIALIZED_ACCEPT</code> defines specify which method
+    is available and works on the platform (you can have more than one);
+    <code>USE_METHOD_SERIALIZED_ACCEPT</code> is used to specify the
+    default method (see the <code>AcceptMutex</code> directive).</p>
+
+    <p>Another solution that has been considered but never implemented is
+    to partially serialize the loop -- that is, let in a certain number of
+    processes. This would only be of interest on multiprocessor boxes where
+    it's possible multiple children could run simultaneously, and the
+    serialization actually doesn't take advantage of the full bandwidth.
+    This is a possible area of future investigation, but priority remains
+    low because highly parallel web servers are not the norm.</p>
+
+    <p>Ideally you should run servers without multiple <code>Listen</code>
+    statements if you want the highest performance. But read on.</p>
+
+    <h4>accept Serialization - single socket</h4>
+
+    <p>The above is fine and dandy for multiple socket servers, but what
+    about single socket servers? In theory they shouldn't experience any of
+    these same problems because all children can just block in
+    <code>accept(2)</code> until a connection arrives, and no starvation
+    results. In practice this hides almost the same "spinning" behavior
+    discussed above in the non-blocking solution. The way that most TCP
+    stacks are implemented, the kernel actually wakes up all processes
+    blocked in <code>accept</code> when a single connection arrives. One of
+    those processes gets the connection and returns to user-space, the rest
+    spin in the kernel and go back to sleep when they discover there's no
+    connection for them. This spinning is hidden from the user-land code,
+    but it's there nonetheless. This can result in the same load-spiking
+    wasteful behavior that a non-blocking solution to the multiple sockets
+    case can.</p>
+
+    <p>For this reason we have found that many architectures behave more
+    "nicely" if we serialize even the single socket case. So this is
+    actually the default in almost all cases. Crude experiments under Linux
+    (2.0.30 on a dual Pentium pro 166 w/128Mb RAM) have shown that the
+    serialization of the single socket case causes less than a 3% decrease
+    in requests per second over unserialized single-socket. But
+    unserialized single-socket showed an extra 100ms latency on each
+    request. This latency is probably a wash on long haul lines, and only
+    an issue on LANs. If you want to override the single socket
+    serialization you can define
+    <code>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</code> and then single-socket
+    servers will not serialize at all.</p>
+
+    <h4>Lingering Close</h4>
+
+    <p>As discussed in <a
+    href="http://ftp.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt">
+    draft-ietf-http-connection-00.txt</a> section 8, in order for an HTTP
+    server to <strong>reliably</strong> implement the protocol it needs to
+    shutdown each direction of the communication independently (recall that
+    a TCP connection is bi-directional, each half is independent of the
+    other). This fact is often overlooked by other servers, but is
+    correctly implemented in Apache as of 1.2.</p>
+
+    <p>When this feature was added to Apache it caused a flurry of problems
+    on various versions of Unix because of a shortsightedness. The TCP
+    specification does not state that the FIN_WAIT_2 state has a timeout,
+    but it doesn't prohibit it. On systems without the timeout, Apache 1.2
+    induces many sockets stuck forever in the FIN_WAIT_2 state. In many
+    cases this can be avoided by simply upgrading to the latest TCP/IP
+    patches supplied by the vendor. In cases where the vendor has never
+    released patches (<em>i.e.</em>, SunOS4 -- although folks with a source
+    license can patch it themselves) we have decided to disable this
+    feature.</p>
+
+    <p>There are two ways of accomplishing this. One is the socket option
+    <code>SO_LINGER</code>. But as fate would have it, this has never been
+    implemented properly in most TCP/IP stacks. Even on those stacks with a
+    proper implementation (<em>i.e.</em>, Linux 2.0.31) this method proves
+    to be more expensive (cputime) than the next solution.</p>
+
+    <p>For the most part, Apache implements this in a function called
+    <code>lingering_close</code> (in <code>http_main.c</code>). The
+    function looks roughly like this:</p>
+
+    <blockquote>
+<pre>
+    void lingering_close (int s)
+    {
+    char junk_buffer[2048];
+
+    /* shutdown the sending side */
+    shutdown (s, 1);
+
+    signal (SIGALRM, lingering_death);
+    alarm (30);
+
+    for (;;) {
+        select (s for reading, 2 second timeout);
+        if (error) break;
+        if (s is ready for reading) {
+        if (read (s, junk_buffer, sizeof (junk_buffer)) &lt;= 0) {
+            break;
+        }
+        /* just toss away whatever is read */
+        }
+    }
+
+    close (s);
+    }
+</pre>
+    </blockquote>
+    This naturally adds some expense at the end of a connection, but it is
+    required for a reliable implementation. As HTTP/1.1 becomes more
+    prevalent, and all connections are persistent, this expense will be
+    amortized over more requests. If you want to play with fire and disable
+    this feature you can define <code>NO_LINGCLOSE</code>, but this is not
+    recommended at all. In particular, as HTTP/1.1 pipelined persistent
+    connections come into use <code>lingering_close</code> is an absolute
+    necessity (and <a
+    href="http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html">pipelined
+    connections are faster</a>, so you want to support them). 
+
+    <h4>Scoreboard File</h4>
+
+    <p>Apache's parent and children communicate with each other through
+    something called the scoreboard. Ideally this should be implemented in
+    shared memory. For those operating systems that we either have access
+    to, or have been given detailed ports for, it typically is implemented
+    using shared memory. The rest default to using an on-disk file. The
+    on-disk file is not only slow, but it is unreliable (and less
+    featured). Peruse the <code>src/main/conf.h</code> file for your
+    architecture and look for either <code>USE_MMAP_SCOREBOARD</code> or
+    <code>USE_SHMGET_SCOREBOARD</code>. Defining one of those two (as well
+    as their companions <code>HAVE_MMAP</code> and <code>HAVE_SHMGET</code>
+    respectively) enables the supplied shared memory code. If your system
+    has another type of shared memory, edit the file
+    <code>src/main/http_main.c</code> and add the hooks necessary to use it
+    in Apache. (Send us back a patch too please.)</p>
+
+    <p>Historical note: The Linux port of Apache didn't start to use shared
+    memory until version 1.2 of Apache. This oversight resulted in really
+    poor and unreliable behavior of earlier versions of Apache on
+    Linux.</p>
+
+    <h4><code>DYNAMIC_MODULE_LIMIT</code></h4>
+
+    <p>If you have no intention of using dynamically loaded modules (you
+    probably don't if you're reading this and tuning your server for every
+    last ounce of performance) then you should add
+    <code>-DDYNAMIC_MODULE_LIMIT=0</code> when building your server. This
+    will save RAM that's allocated only for supporting dynamically loaded
+    modules.</p>
+    <hr />
+
+    <h3><a id="trace" name="trace">Appendix: Detailed Analysis of a
+    Trace</a></h3>
+    Here is a system call trace of Apache 1.3 running on Linux. The
+    run-time configuration file is essentially the default plus: 
+
+    <blockquote>
+<pre>
+&lt;Directory /&gt;
+    AllowOverride none
+    Options FollowSymLinks
+&lt;/Directory&gt;
+</pre>
+    </blockquote>
+    The file being requested is a static 6K file of no particular content.
+    Traces of non-static requests or requests with content negotiation look
+    wildly different (and quite ugly in some cases). First the entire
+    trace, then we'll examine details. (This was generated by the
+    <code>strace</code> program, other similar programs include
+    <code>truss</code>, <code>ktrace</code>, and <code>par</code>.) 
+
+    <blockquote>
+<pre>
+accept(15, {sin_family=AF_INET, sin_port=htons(22283), sin_addr=inet_addr("127.0.0.1")}, [16]) = 3
+flock(18, LOCK_UN)                      = 0
+sigaction(SIGUSR1, {SIG_IGN}, {0x8059954, [], SA_INTERRUPT}) = 0
+getsockname(3, {sin_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
+setsockopt(3, IPPROTO_TCP1, [1], 4)     = 0
+read(3, "GET /6k HTTP/1.0\r\nUser-Agent: "..., 4096) = 60
+sigaction(SIGUSR1, {SIG_IGN}, {SIG_IGN}) = 0
+time(NULL)                              = 873959960
+gettimeofday({873959960, 404935}, NULL) = 0
+stat("/home/dgaudet/ap/apachen/htdocs/6k", {st_mode=S_IFREG|0644, st_size=6144, ...}) = 0
+open("/home/dgaudet/ap/apachen/htdocs/6k", O_RDONLY) = 4
+mmap(0, 6144, PROT_READ, MAP_PRIVATE, 4, 0) = 0x400ee000
+writev(3, [{"HTTP/1.1 200 OK\r\nDate: Thu, 11"..., 245}, {"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6144}], 2) = 6389
+close(4)                                = 0
+time(NULL)                              = 873959960
+write(17, "127.0.0.1 - - [10/Sep/1997:23:39"..., 71) = 71
+gettimeofday({873959960, 417742}, NULL) = 0
+times({tms_utime=5, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 446747
+shutdown(3, 1 /* send */)               = 0
+oldselect(4, [3], NULL, [3], {2, 0})    = 1 (in [3], left {2, 0})
+read(3, "", 2048)                       = 0
+close(3)                                = 0
+sigaction(SIGUSR1, {0x8059954, [], SA_INTERRUPT}, {SIG_IGN}) = 0
+munmap(0x400ee000, 6144)                = 0
+flock(18, LOCK_EX)                      = 0
+</pre>
+    </blockquote>
+
+    <p>Notice the accept serialization:</p>
+
+    <blockquote>
+<pre>
+flock(18, LOCK_UN)                      = 0
+...
+flock(18, LOCK_EX)                      = 0
+</pre>
+    </blockquote>
+    These two calls can be removed by defining
+    <code>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</code> as described earlier. 
+
+    <p>Notice the <code>SIGUSR1</code> manipulation:</p>
+
+    <blockquote>
+<pre>
+sigaction(SIGUSR1, {SIG_IGN}, {0x8059954, [], SA_INTERRUPT}) = 0
+...
+sigaction(SIGUSR1, {SIG_IGN}, {SIG_IGN}) = 0
+...
+sigaction(SIGUSR1, {0x8059954, [], SA_INTERRUPT}, {SIG_IGN}) = 0
+</pre>
+    </blockquote>
+    This is caused by the implementation of graceful restarts. When the
+    parent receives a <code>SIGUSR1</code> it sends a <code>SIGUSR1</code>
+    to all of its children (and it also increments a "generation counter"
+    in shared memory). Any children that are idle (between connections)
+    will immediately die off when they receive the signal. Any children
+    that are in keep-alive connections, but are in between requests will
+    die off immediately. But any children that have a connection and are
+    still waiting for the first request will not die off immediately. 
+
+    <p>To see why this is necessary, consider how a browser reacts to a
+    closed connection. If the connection was a keep-alive connection and
+    the request being serviced was not the first request then the browser
+    will quietly reissue the request on a new connection. It has to do this
+    because the server is always free to close a keep-alive connection in
+    between requests (<em>i.e.</em>, due to a timeout or because of a
+    maximum number of requests). But, if the connection is closed before
+    the first response has been received the typical browser will display a
+    "document contains no data" dialogue (or a broken image icon). This is
+    done on the assumption that the server is broken in some way (or maybe
+    too overloaded to respond at all). So Apache tries to avoid ever
+    deliberately closing the connection before it has sent a single
+    response. This is the cause of those <code>SIGUSR1</code>
+    manipulations.</p>
+
+    <p>Note that it is theoretically possible to eliminate all three of
+    these calls. But in rough tests the gain proved to be almost
+    unnoticeable.</p>
+
+    <p>In order to implement virtual hosts, Apache needs to know the local
+    socket address used to accept the connection:</p>
+
+    <blockquote>
+<pre>
+getsockname(3, {sin_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
+</pre>
+    </blockquote>
+    It is possible to eliminate this call in many situations (such as when
+    there are no virtual hosts, or when <code>Listen</code> directives are
+    used which do not have wildcard addresses). But no effort has yet been
+    made to do these optimizations. 
+
+    <p>Apache turns off the Nagle algorithm:</p>
+
+    <blockquote>
+<pre>
+setsockopt(3, IPPROTO_TCP1, [1], 4)     = 0
+</pre>
+    </blockquote>
+    because of problems described in <a
+    href="http://www.isi.edu/~johnh/PAPERS/Heidemann97a.html">a paper by
+    John Heidemann</a>. 
+
+    <p>Notice the two <code>time</code> calls:</p>
+
+    <blockquote>
+<pre>
+time(NULL)                              = 873959960
+...
+time(NULL)                              = 873959960
+</pre>
+    </blockquote>
+    One of these occurs at the beginning of the request, and the other
+    occurs as a result of writing the log. At least one of these is
+    required to properly implement the HTTP protocol. The second occurs
+    because the Common Log Format dictates that the log record include a
+    timestamp of the end of the request. A custom logging module could
+    eliminate one of the calls. Or you can use a method which moves the
+    time into shared memory, see the <a href="#patches">patches section
+    below</a>. 
+
+    <p>As described earlier, <code>ExtendedStatus On</code> causes two
+    <code>gettimeofday</code> calls and a call to <code>times</code>:</p>
+
+    <blockquote>
+<pre>
+gettimeofday({873959960, 404935}, NULL) = 0
+...
+gettimeofday({873959960, 417742}, NULL) = 0
+times({tms_utime=5, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 446747
+</pre>
+    </blockquote>
+    These can be removed by setting <code>ExtendedStatus Off</code> (which
+    is the default). 
+
+    <p>It might seem odd to call <code>stat</code>:</p>
+
+    <blockquote>
+<pre>
+stat("/home/dgaudet/ap/apachen/htdocs/6k", {st_mode=S_IFREG|0644, st_size=6144, ...}) = 0
+</pre>
+    </blockquote>
+    This is part of the algorithm which calculates the
+    <code>PATH_INFO</code> for use by CGIs. In fact if the request had been
+    for the URI <code>/cgi-bin/printenv/foobar</code> then there would be
+    two calls to <code>stat</code>. The first for
+    <code>/home/dgaudet/ap/apachen/cgi-bin/printenv/foobar</code> which
+    does not exist, and the second for
+    <code>/home/dgaudet/ap/apachen/cgi-bin/printenv</code>, which does
+    exist. Regardless, at least one <code>stat</code> call is necessary
+    when serving static files because the file size and modification times
+    are used to generate HTTP headers (such as <code>Content-Length</code>,
+    <code>Last-Modified</code>) and implement protocol features (such as
+    <code>If-Modified-Since</code>). A somewhat more clever server could
+    avoid the <code>stat</code> when serving non-static files, however
+    doing so in Apache is very difficult given the modular structure. 
+
+    <p>All static files are served using <code>mmap</code>:</p>
+
+    <blockquote>
+<pre>
+mmap(0, 6144, PROT_READ, MAP_PRIVATE, 4, 0) = 0x400ee000
+...
+munmap(0x400ee000, 6144)                = 0
+</pre>
+    </blockquote>
+    On some architectures it's slower to <code>mmap</code> small files than
+    it is to simply <code>read</code> them. The define
+    <code>MMAP_THRESHOLD</code> can be set to the minimum size required
+    before using <code>mmap</code>. By default it's set to 0 (except on
+    SunOS4 where experimentation has shown 8192 to be a better value).
+    Using a tool such as <a
+    href="http://www.bitmover.com/lmbench/">lmbench</a> you can determine
+    the optimal setting for your environment. 
+
+    <p>You may also wish to experiment with <code>MMAP_SEGMENT_SIZE</code>
+    (default 32768) which determines the maximum number of bytes that will
+    be written at a time from mmap()d files. Apache only resets the
+    client's <code>Timeout</code> in between write()s. So setting this
+    large may lock out low bandwidth clients unless you also increase the
+    <code>Timeout</code>.</p>
+
+    <p>It may even be the case that <code>mmap</code> isn't used on your
+    architecture; if so then defining <code>USE_MMAP_FILES</code> and
+    <code>HAVE_MMAP</code> might work (if it works then report back to
+    us).</p>
+
+    <p>Apache does its best to avoid copying bytes around in memory. The
+    first write of any request typically is turned into a
+    <code>writev</code> which combines both the headers and the first hunk
+    of data:</p>
+
+    <blockquote>
+<pre>
+writev(3, [{"HTTP/1.1 200 OK\r\nDate: Thu, 11"..., 245}, {"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6144}], 2) = 6389
+</pre>
+    </blockquote>
+    When doing HTTP/1.1 chunked encoding Apache will generate up to four
+    element <code>writev</code>s. The goal is to push the byte copying into
+    the kernel, where it typically has to happen anyhow (to assemble
+    network packets). On testing, various Unixes (BSDI 2.x, Solaris 2.5,
+    Linux 2.0.31+) properly combine the elements into network packets.
+    Pre-2.0.31 Linux will not combine, and will create a packet for each
+    element, so upgrading is a good idea. Defining <code>NO_WRITEV</code>
+    will disable this combining, but result in very poor chunked encoding
+    performance. 
+
+    <p>The log write:</p>
+
+    <blockquote>
+<pre>
+write(17, "127.0.0.1 - - [10/Sep/1997:23:39"..., 71) = 71
+</pre>
+    </blockquote>
+    can be deferred by defining <code>BUFFERED_LOGS</code>. In this case up
+    to <code>PIPE_BUF</code> bytes (a POSIX defined constant) of log
+    entries are buffered before writing. At no time does it split a log
+    entry across a <code>PIPE_BUF</code> boundary because those writes may
+    not be atomic. (<em>i.e.</em>, entries from multiple children could
+    become mixed together). The code does its best to flush this buffer
+    when a child dies. 
+
+    <p>The lingering close code causes four system calls:</p>
+
+    <blockquote>
+<pre>
+shutdown(3, 1 /* send */)               = 0
+oldselect(4, [3], NULL, [3], {2, 0})    = 1 (in [3], left {2, 0})
+read(3, "", 2048)                       = 0
+close(3)                                = 0
+</pre>
+    </blockquote>
+    which were described earlier. 
+
+    <p>Let's apply some of these optimizations:
+    <code>-DSINGLE_LISTEN_UNSERIALIZED_ACCEPT -DBUFFERED_LOGS</code> and
+    <code>ExtendedStatus Off</code>. Here's the final trace:</p>
+
+    <blockquote>
+<pre>
+accept(15, {sin_family=AF_INET, sin_port=htons(22286), sin_addr=inet_addr("127.0.0.1")}, [16]) = 3
+sigaction(SIGUSR1, {SIG_IGN}, {0x8058c98, [], SA_INTERRUPT}) = 0
+getsockname(3, {sin_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
+setsockopt(3, IPPROTO_TCP1, [1], 4)     = 0
+read(3, "GET /6k HTTP/1.0\r\nUser-Agent: "..., 4096) = 60
+sigaction(SIGUSR1, {SIG_IGN}, {SIG_IGN}) = 0
+time(NULL)                              = 873961916
+stat("/home/dgaudet/ap/apachen/htdocs/6k", {st_mode=S_IFREG|0644, st_size=6144, ...}) = 0
+open("/home/dgaudet/ap/apachen/htdocs/6k", O_RDONLY) = 4
+mmap(0, 6144, PROT_READ, MAP_PRIVATE, 4, 0) = 0x400e3000
+writev(3, [{"HTTP/1.1 200 OK\r\nDate: Thu, 11"..., 245}, {"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6144}], 2) = 6389
+close(4)                                = 0
+time(NULL)                              = 873961916
+shutdown(3, 1 /* send */)               = 0
+oldselect(4, [3], NULL, [3], {2, 0})    = 1 (in [3], left {2, 0})
+read(3, "", 2048)                       = 0
+close(3)                                = 0
+sigaction(SIGUSR1, {0x8058c98, [], SA_INTERRUPT}, {SIG_IGN}) = 0
+munmap(0x400e3000, 6144)                = 0
+</pre>
+    </blockquote>
+    That's 19 system calls, of which 4 remain relatively easy to remove,
+    but don't seem worth the effort. 
+
+    <h3><a id="patches" name="patches">Appendix: Patches Available</a></h3>
+    There are <a href="http://arctic.org/~dean/apache/1.3/">several
+    performance patches available for 1.3.</a> Although they may not apply
+    cleanly to the current version, it shouldn't be difficult for someone
+    with a little C knowledge to update them. In particular: 
+
+    <ul>
+      <li>A <a
+      href="http://arctic.org/~dean/apache/1.3/shared_time.patch">patch</a>
+      to remove all <code>time(2)</code> system calls.</li>
+
+      <li>A <a
+      href="http://arctic.org/~dean/apache/1.3/mod_include_speedups.patch">
+      patch</a> to remove various system calls from
+      <code>mod_include</code>, these calls are used by few sites but
+      required for backwards compatibility.</li>
+
+      <li>A <a
+      href="http://arctic.org/~dean/apache/1.3/top_fuel.patch">patch</a>
+      which integrates the above two plus a few other speedups at the cost
+      of removing some functionality.</li>
+    </ul>
+
+    <h3><a id="preforking" name="preforking">Appendix: The Pre-Forking
+    Model</a></h3>
+
+    <p>Apache (on Unix) is a <em>pre-forking</em> model server. The
+    <em>parent</em> process is responsible only for forking <em>child</em>
+    processes, it does not serve any requests or service any network
+    sockets. The child processes actually process connections, they serve
+    multiple connections (one at a time) before dying. The parent spawns
+    new or kills off old children in response to changes in the load on the
+    server (it does so by monitoring a scoreboard which the children keep
+    up to date).</p>
+
+    <p>This model for servers offers a robustness that other models do not.
+    In particular, the parent code is very simple, and with a high degree
+    of confidence the parent will continue to do its job without error. The
+    children are complex, and when you add in third party code via modules,
+    you risk segmentation faults and other forms of corruption. Even should
+    such a thing happen, it only affects one connection and the server
+    continues serving requests. The parent quickly replaces the dead
+    child.</p>
+
+    <p>Pre-forking is also very portable across dialects of Unix.
+    Historically this has been an important goal for Apache, and it
+    continues to remain so.</p>
+
+    <p>The pre-forking model comes under criticism for various performance
+    aspects. Of particular concern are the overhead of forking a process,
+    the overhead of context switches between processes, and the memory
+    overhead of having multiple processes. Furthermore it does not offer as
+    many opportunities for data-caching between requests (such as a pool of
+    <code>mmapped</code> files). Various other models exist and extensive
+    analysis can be found in the <a
+    href="http://www.cs.wustl.edu/~jxh/research/research.html">papers of
+    the JAWS project</a>. In practice all of these costs vary drastically
+    depending on the operating system.</p>
+
+    <p>Apache's core code is already multithread aware, and Apache version
+    1.3 is multithreaded on NT. There have been at least two other
+    experimental implementations of threaded Apache, one using the 1.3 code
+    base on DCE, and one using a custom user-level threads package and the
+    1.0 code base; neither is publicly available. There is also an
+    experimental port of Apache 1.3 to <a
+    href="http://www.mozilla.org/docs/refList/refNSPR/">Netscape's Portable
+    Run Time</a>, which <a
+    href="http://arctic.org/~dean/apache/2.0/">is available</a> (but
+    you're encouraged to join the <a
+    href="http://httpd.apache.org/lists.html">new-httpd mailing list</a>
+    if you intend to use it). Part of our redesign for version 2.0 of
+    Apache includes abstractions of the server model so that we can
+    continue to support the pre-forking model, and also support various
+    threaded models. <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/perf.html b/htdocs/manual/misc/perf.html
new file mode 100644 (file)
index 0000000..fb61909
--- /dev/null
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Hints on Running a High-Performance Web Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Hints on Running a High-Performance Web
+    Server</h1>
+    Running Apache on a heavily loaded web server, one often
+    encounters problems related to the machine and OS
+    configuration. "Heavy" is relative, of course - but if you are
+    seeing more than a couple hits per second on a sustained basis
+    you should consult the pointers on this page. In general the
+    suggestions involve how to tune your kernel for the heavier TCP
+    load, hardware/software conflicts that arise, <em>etc.</em> 
+
+    <ul>
+      <li><a href="#AUX">A/UX (Apple's UNIX)</a></li>
+
+      <li><a href="#BSD">BSD-based (BSDI, FreeBSD, etc)</a></li>
+
+      <li><a href="#DEC">Digital UNIX</a></li>
+
+      <li><a href="perf-hp.html">HPUX</a></li>
+
+      <li><a href="#irix">IRIX</a></li>
+
+      <li><a href="#Linux">Linux</a></li>
+
+      <li><a href="#Solaris">Solaris</a></li>
+
+      <li><a href="#SunOS">SunOS 4.x</a></li>
+
+      <li><a href="#SVR4">SVR4</a></li>
+    </ul>
+    <hr />
+
+    <h3><a id="AUX" name="AUX">A/UX (Apple's UNIX)</a></h3>
+    If you are running Apache on A/UX, a page that gives some
+    helpful performance hints (concerning the <em>listen()</em>
+    queue and using virtual hosts) <a
+    href="http://www.jaguNET.com/apache.html">can be found here</a>
+    
+    <hr />
+
+    <h3><a id="BSD" name="BSD">BSD-based (BSDI, FreeBSD,
+    etc)</a></h3>
+    <a href="perf-bsd44.html#initial">Quick</a> and <a
+    href="perf-bsd44.html#detail">detailed</a> performance tuning
+    hints for BSD-derived systems. <a
+    href="perf-bsd44.html#accf">Accept filtering</a> on FreeBSD. 
+    <hr />
+
+    <h3><a id="DEC" name="DEC">Digital UNIX</a></h3>
+
+    <ul>
+      <li><a
+      href="http://www.sean.de/Solaris/tune.html">
+      Solaris 2.x - tuning your TCP/IP stack</a> contains some good
+      technical information about tuning various Solaris TCP/IP
+      parameters.</li>
+    </ul>
+    <hr />
+
+    <h3><a id="SunOS" name="SunOS">SunOS 4.x</a></h3>
+    More information on tuning SOMAXCONN on SunOS can be found at
+    <a
+    href="http://www.islandnet.com/~mark/somaxconn.html">http://www.islandnet.com/~mark/somaxconn.html</a>.
+    
+    <hr />
+
+    <h3><a id="SVR4" name="SVR4">SVR4</a></h3>
+    Some SVR4 versions waste three system calls on every
+    <samp>gettimeofday()</samp> call. Depending on the syntactic
+    form of the <samp>TZ</samp> environment variable, these systems
+    have several different algorithms to determine the local time
+    zone (presumably <em>compatible</em> with something). The
+    following example uses the central european time zone to
+    demonstrate this: 
+
+    <dl>
+      <dt><strong>TZ=:MET</strong></dt>
+
+      <dd>
+        This form delegates the knowledge of the time zone
+        information to an external compiled zoneinfo file (&agrave;
+        la BSD).<br />
+         <strong>Caveat:</strong> Each time the gettimeofday()
+        function is called, the external zone info is read in again
+        (at least on some SVR4 systems). That results in three
+        wasted system calls with every apache request served. 
+<pre>
+     open("/usr/lib/locale/TZ/MET", O_RDONLY) = 3
+     read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 7944) = 778
+     close(3)                                = 0
+</pre>
+      </dd>
+
+      <dt>
+      <strong>TZ=MET-1MDT,M3.5.0/02:00:00,M10.5.0/03:00:00</strong></dt>
+
+      <dd>This syntax form (&agrave; la SYSV) contains all the
+      knowledge about time zone beginning and ending times in its
+      external representation. It has to be parsed each time it is
+      evaluated, resulting in a slight computing overhead, but it
+      requires no system call. Though the table lookup &agrave; la
+      BSD is the more sophisticated technical solution, the bad
+      SVR4 implementation makes this the preferred syntax on
+      systems which otherwise access the external zone info file
+      repeatedly.</dd>
+    </dl>
+    You should use the <samp>truss</samp> utility on a
+    single-process apache server (started with the <samp>-X</samp>
+    debugging switch) to determine whether your system can profit
+    from the second form of the <samp>TZ</samp> environment
+    variable. If it does, you could integrate the setting of the
+    preferred <samp>TZ</samp> syntax into the httpd startup script,
+    which is usually simply a copy of (or symbolic link to) the
+    <samp>apachectl</samp> utility script, or into the system's
+    <samp>/etc/TIMEZONE</samp> script. 
+    <hr />
+
+    <h3>More welcome!</h3>
+    If you have tips to contribute, please submit them to
+    the <a href="http://bugs.apache.org/">Apache Bug
+    Database</a>.
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/rewriteguide.html b/htdocs/manual/misc/rewriteguide.html
new file mode 100644 (file)
index 0000000..8224614
--- /dev/null
@@ -0,0 +1,2340 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache 1.3 URL Rewriting Guide</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <blockquote>
+      <!--#include virtual="header.html" -->
+
+      <div align="CENTER">
+        <h1>Apache 1.3<br />
+         URL Rewriting Guide<br />
+        </h1>
+
+        <address>
+          Originally written by<br />
+           Ralf S. Engelschall &lt;rse@apache.org&gt;<br />
+           December 1997
+        </address>
+      </div>
+
+      <p>This document supplements the mod_rewrite <a
+      href="../mod/mod_rewrite.html">reference documentation</a>.
+      It describes how one can use Apache's mod_rewrite to solve
+      typical URL-based problems with which webmasters are often 
+      confronted. We give detailed descriptions on how to
+      solve each problem by configuring URL rewriting rulesets.</p>
+
+      <h2><a id="ToC1" name="ToC1">Introduction to
+      mod_rewrite</a></h2>
+      The Apache module mod_rewrite is a killer one, i.e. it is a
+      really sophisticated module which provides a powerful way to
+      do URL manipulations. With it you can do nearly all types of
+      URL manipulations you ever dreamed about. The price you have
+      to pay is to accept complexity, because mod_rewrite's major
+      drawback is that it is not easy to understand and use for the
+      beginner. And even Apache experts sometimes discover new
+      aspects where mod_rewrite can help. 
+
+      <p>In other words: With mod_rewrite you either shoot yourself
+      in the foot the first time and never use it again or love it
+      for the rest of your life because of its power. This paper
+      tries to give you a few initial success events to avoid the
+      first case by presenting already invented solutions to
+      you.</p>
+
+      <h2><a id="ToC2" name="ToC2">Practical Solutions</a></h2>
+      Here come a lot of practical solutions I've either invented
+      myself or collected from other peoples solutions in the past.
+      Feel free to learn the black magic of URL rewriting from
+      these examples. 
+
+      <table bgcolor="#FFE0E0" border="0" cellspacing="0"
+      cellpadding="5">
+        <tr>
+          <td>ATTENTION: Depending on your server-configuration it
+          can be necessary to slightly change the examples for your
+          situation, e.g. adding the [PT] flag when additionally
+          using mod_alias and mod_userdir, etc. Or rewriting a
+          ruleset to fit in <code>.htaccess</code> context instead
+          of per-server context. Always try to understand what a
+          particular ruleset really does before you use it in order to
+          avoid problems.</td>
+        </tr>
+      </table>
+
+      <h1>URL Layout</h1>
+
+      <h2>Canonical URLs</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>On some webservers there are more than one URL for a
+        resource. Usually there are canonical URLs (which should be
+        actually used and distributed) and those which are just
+        shortcuts, internal ones, etc. Independent which URL the
+        user supplied with the request he should finally see the
+        canonical one only.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We do an external HTTP redirect for all non-canonical
+          URLs to fix them in the location view of the Browser and
+          for all subsequent requests. In the example ruleset below
+          we replace <code>/~user</code> by the canonical
+          <code>/u/user</code> and fix a missing trailing slash for
+          <code>/u/user</code>. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule   ^/<strong>~</strong>([^/]+)/?(.*)    /<strong>u</strong>/$1/$2  [<strong>R</strong>]
+RewriteRule   ^/([uge])/(<strong>[^/]+</strong>)$  /$1/$2<strong>/</strong>   [<strong>R</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Canonical Hostnames</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>The goal of this rule is to force the use of a particular
+        hostname, in preference to other hostnames which may be used to
+        reach the same site. For example, if you wish to force the use
+        of <strong>www.example.com</strong> instead of
+        <strong>example.com</strong>, you might use a variant of the
+        following recipe.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+# For sites running on a port other than 80
+RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
+RewriteCond %{HTTP_HOST}   !^$
+RewriteCond %{SERVER_PORT} !^80$
+RewriteRule ^/(.*)         http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
+
+# And for a site running on port 80
+RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
+RewriteCond %{HTTP_HOST}   !^$
+RewriteRule ^/(.*)         http://fully.qualified.domain.name/$1 [L,R]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Moved DocumentRoot</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Usually the DocumentRoot of the webserver directly
+        relates to the URL ``<code>/</code>''. But often this data
+        is not really of top-level priority, it is perhaps just one
+        entity of a lot of data pools. For instance at our Intranet
+        sites there are <code>/e/www/</code> (the homepage for
+        WWW), <code>/e/sww/</code> (the homepage for the Intranet)
+        etc. Now because the data of the DocumentRoot stays at
+        <code>/e/www/</code> we had to make sure that all inlined
+        images and other stuff inside this data pool work for
+        subsequent requests.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We just redirect the URL <code>/</code> to
+          <code>/e/www/</code>. While is seems trivial it is
+          actually trivial with mod_rewrite, only. Because the
+          typical old mechanisms of URL <em>Aliases</em> (as
+          provides by mod_alias and friends) only used
+          <em>prefix</em> matching. With this you cannot do such a
+          redirection because the DocumentRoot is a prefix of all
+          URLs. With mod_rewrite it is really trivial: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteRule   <strong>^/$</strong>  /e/www/  [<strong>R</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Trailing Slash Problem</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Every webmaster can sing a song about the problem of
+        the trailing slash on URLs referencing directories. If they
+        are missing, the server dumps an error, because if you say
+        <code>/~quux/foo</code> instead of <code>/~quux/foo/</code>
+        then the server searches for a <em>file</em> named
+        <code>foo</code>. And because this file is a directory it
+        complains. Actually is tries to fix it themself in most of
+        the cases, but sometimes this mechanism need to be emulated
+        by you. For instance after you have done a lot of
+        complicated URL rewritings to CGI scripts etc.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          The solution to this subtle problem is to let the server
+          add the trailing slash automatically. To do this
+          correctly we have to use an external redirect, so the
+          browser correctly requests subsequent images etc. If we
+          only did a internal rewrite, this would only work for the
+          directory page, but would go wrong when any images are
+          included into this page with relative URLs, because the
+          browser would request an in-lined object. For instance, a
+          request for <code>image.gif</code> in
+          <code>/~quux/foo/index.html</code> would become
+          <code>/~quux/image.gif</code> without the external
+          redirect! 
+
+          <p>So, to do this trick we write:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteRule    ^foo<strong>$</strong>  foo<strong>/</strong>  [<strong>R</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>The crazy and lazy can even do the following in the
+          top-level <code>.htaccess</code> file of their homedir.
+          But notice that this creates some processing
+          overhead.</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteCond    %{REQUEST_FILENAME}  <strong>-d</strong>
+RewriteRule    ^(.+<strong>[^/]</strong>)$           $1<strong>/</strong>  [R]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Webcluster through Homogeneous URL Layout</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>We want to create a homogenous and consistent URL
+        layout over all WWW servers on a Intranet webcluster, i.e.
+        all URLs (per definition server local and thus server
+        dependent!) become actually server <em>independed</em>!
+        What we want is to give the WWW namespace a consistent
+        server-independend layout: no URL should have to include
+        any physically correct target server. The cluster itself
+        should drive us automatically to the physical target
+        host.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          First, the knowledge of the target servers come from
+          (distributed) external maps which contain information
+          where our users, groups and entities stay. The have the
+          form 
+<pre>
+user1  server_of_user1
+user2  server_of_user2
+:      :
+</pre>
+
+          <p>We put them into files <code>map.xxx-to-host</code>.
+          Second we need to instruct all servers to redirect URLs
+          of the forms</p>
+<pre>
+/u/user/anypath
+/g/group/anypath
+/e/entity/anypath
+</pre>
+
+          <p>to</p>
+<pre>
+http://physical-host/u/user/anypath
+http://physical-host/g/group/anypath
+http://physical-host/e/entity/anypath
+</pre>
+
+          <p>when the URL is not locally valid to a server. The
+          following ruleset does this for us by the help of the map
+          files (assuming that server0 is a default server which
+          will be used if a user has no entry in the map):</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+
+RewriteMap      user-to-host   txt:/path/to/map.user-to-host
+RewriteMap     group-to-host   txt:/path/to/map.group-to-host
+RewriteMap    entity-to-host   txt:/path/to/map.entity-to-host
+
+RewriteRule   ^/u/<strong>([^/]+)</strong>/?(.*)   http://<strong>${user-to-host:$1|server0}</strong>/u/$1/$2
+RewriteRule   ^/g/<strong>([^/]+)</strong>/?(.*)  http://<strong>${group-to-host:$1|server0}</strong>/g/$1/$2
+RewriteRule   ^/e/<strong>([^/]+)</strong>/?(.*) http://<strong>${entity-to-host:$1|server0}</strong>/e/$1/$2
+
+RewriteRule   ^/([uge])/([^/]+)/?$          /$1/$2/.www/
+RewriteRule   ^/([uge])/([^/]+)/([^.]+.+)   /$1/$2/.www/$3\
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Move Homedirs to Different Webserver</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>A lot of webmaster aksed for a solution to the
+        following situation: They wanted to redirect just all
+        homedirs on a webserver to another webserver. They usually
+        need such things when establishing a newer webserver which
+        will replace the old one over time.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          The solution is trivial with mod_rewrite. On the old
+          webserver we just redirect all
+          <code>/~user/anypath</code> URLs to
+          <code>http://newserver/~user/anypath</code>. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteRule   ^/~(.+)  http://<strong>newserver</strong>/~$1  [R,L]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Structured Homedirs</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Some sites with thousend of users usually use a
+        structured homedir layout, i.e. each homedir is in a
+        subdirectory which begins for instance with the first
+        character of the username. So, <code>/~foo/anypath</code>
+        is <code>/home/<strong>f</strong>/foo/.www/anypath</code>
+        while <code>/~bar/anypath</code> is
+        <code>/home/<strong>b</strong>/bar/.www/anypath</code>.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We use the following ruleset to expand the tilde URLs
+          into exactly the above layout. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteRule   ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)  /home/<strong>$2</strong>/$1/.www$3
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Filesystem Reorganisation</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>
+          This really is a hardcore example: a killer application
+          which heavily uses per-directory
+          <code>RewriteRules</code> to get a smooth look and feel
+          on the Web while its data structure is never touched or
+          adjusted. Background: <strong><em>net.sw</em></strong> is
+          my archive of freely available Unix software packages,
+          which I started to collect in 1992. It is both my hobby
+          and job to to this, because while I'm studying computer
+          science I have also worked for many years as a system and
+          network administrator in my spare time. Every week I need
+          some sort of software so I created a deep hierarchy of
+          directories where I stored the packages: 
+<pre>
+drwxrwxr-x   2 netsw  users    512 Aug  3 18:39 Audio/
+drwxrwxr-x   2 netsw  users    512 Jul  9 14:37 Benchmark/
+drwxrwxr-x  12 netsw  users    512 Jul  9 00:34 Crypto/
+drwxrwxr-x   5 netsw  users    512 Jul  9 00:41 Database/
+drwxrwxr-x   4 netsw  users    512 Jul 30 19:25 Dicts/
+drwxrwxr-x  10 netsw  users    512 Jul  9 01:54 Graphic/
+drwxrwxr-x   5 netsw  users    512 Jul  9 01:58 Hackers/
+drwxrwxr-x   8 netsw  users    512 Jul  9 03:19 InfoSys/
+drwxrwxr-x   3 netsw  users    512 Jul  9 03:21 Math/
+drwxrwxr-x   3 netsw  users    512 Jul  9 03:24 Misc/
+drwxrwxr-x   9 netsw  users    512 Aug  1 16:33 Network/
+drwxrwxr-x   2 netsw  users    512 Jul  9 05:53 Office/
+drwxrwxr-x   7 netsw  users    512 Jul  9 09:24 SoftEng/
+drwxrwxr-x   7 netsw  users    512 Jul  9 12:17 System/
+drwxrwxr-x  12 netsw  users    512 Aug  3 20:15 Typesetting/
+drwxrwxr-x  10 netsw  users    512 Jul  9 14:08 X11/
+</pre>
+
+          <p>In July 1996 I decided to make this archive public to
+          the world via a nice Web interface. "Nice" means that I
+          wanted to offer an interface where you can browse
+          directly through the archive hierarchy. And "nice" means
+          that I didn't wanted to change anything inside this
+          hierarchy - not even by putting some CGI scripts at the
+          top of it. Why? Because the above structure should be
+          later accessible via FTP as well, and I didn't want any
+          Web or CGI stuff to be there.</p>
+        </dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          The solution has two parts: The first is a set of CGI
+          scripts which create all the pages at all directory
+          levels on-the-fly. I put them under
+          <code>/e/netsw/.www/</code> as follows: 
+<pre>
+-rw-r--r--   1 netsw  users    1318 Aug  1 18:10 .wwwacl
+drwxr-xr-x  18 netsw  users     512 Aug  5 15:51 DATA/
+-rw-rw-rw-   1 netsw  users  372982 Aug  5 16:35 LOGFILE
+-rw-r--r--   1 netsw  users     659 Aug  4 09:27 TODO
+-rw-r--r--   1 netsw  users    5697 Aug  1 18:01 netsw-about.html
+-rwxr-xr-x   1 netsw  users     579 Aug  2 10:33 netsw-access.pl
+-rwxr-xr-x   1 netsw  users    1532 Aug  1 17:35 netsw-changes.cgi
+-rwxr-xr-x   1 netsw  users    2866 Aug  5 14:49 netsw-home.cgi
+drwxr-xr-x   2 netsw  users     512 Jul  8 23:47 netsw-img/
+-rwxr-xr-x   1 netsw  users   24050 Aug  5 15:49 netsw-lsdir.cgi
+-rwxr-xr-x   1 netsw  users    1589 Aug  3 18:43 netsw-search.cgi
+-rwxr-xr-x   1 netsw  users    1885 Aug  1 17:41 netsw-tree.cgi
+-rw-r--r--   1 netsw  users     234 Jul 30 16:35 netsw-unlimit.lst
+</pre>
+
+          <p>The <code>DATA/</code> subdirectory holds the above
+          directory structure, i.e. the real
+          <strong><em>net.sw</em></strong> stuff and gets
+          automatically updated via <code>rdist</code> from time to
+          time. The second part of the problem remains: how to link
+          these two structures together into one smooth-looking URL
+          tree? We want to hide the <code>DATA/</code> directory
+          from the user while running the appropriate CGI scripts
+          for the various URLs. Here is the solution: first I put
+          the following into the per-directory configuration file
+          in the Document Root of the server to rewrite the
+          announced URL <code>/net.sw/</code> to the internal path
+          <code>/e/netsw</code>:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule  ^net.sw$       net.sw/        [R]
+RewriteRule  ^net.sw/(.*)$  e/netsw/$1
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>The first rule is for requests which miss the trailing
+          slash! The second rule does the real thing. And then
+          comes the killer configuration which stays in the
+          per-directory config file
+          <code>/e/netsw/.www/.wwwacl</code>:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+Options       ExecCGI FollowSymLinks Includes MultiViews 
+
+RewriteEngine on
+
+#  we are reached via /net.sw/ prefix
+RewriteBase   /net.sw/
+
+#  first we rewrite the root dir to 
+#  the handling cgi script
+RewriteRule   ^$                       netsw-home.cgi     [L]
+RewriteRule   ^index\.html$            netsw-home.cgi     [L]
+
+#  strip out the subdirs when
+#  the browser requests us from perdir pages
+RewriteRule   ^.+/(netsw-[^/]+/.+)$    $1                 [L]
+
+#  and now break the rewriting for local files
+RewriteRule   ^netsw-home\.cgi.*       -                  [L]
+RewriteRule   ^netsw-changes\.cgi.*    -                  [L]
+RewriteRule   ^netsw-search\.cgi.*     -                  [L]
+RewriteRule   ^netsw-tree\.cgi$        -                  [L]
+RewriteRule   ^netsw-about\.html$      -                  [L]
+RewriteRule   ^netsw-img/.*$           -                  [L]
+
+#  anything else is a subdir which gets handled
+#  by another cgi script
+RewriteRule   !^netsw-lsdir\.cgi.*     -                  [C]
+RewriteRule   (.*)                     netsw-lsdir.cgi/$1
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Some hints for interpretation:</p>
+
+          <ol>
+            <li>Notice the L (last) flag and no substitution field
+            ('-') in the forth part</li>
+
+            <li>Notice the ! (not) character and the C (chain) flag
+            at the first rule in the last part</li>
+
+            <li>Notice the catch-all pattern in the last rule</li>
+          </ol>
+        </dd>
+      </dl>
+
+      <h2>NCSA imagemap to Apache mod_imap</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>When switching from the NCSA webserver to the more
+        modern Apache webserver a lot of people want a smooth
+        transition. So they want pages which use their old NCSA
+        <code>imagemap</code> program to work under Apache with the
+        modern <code>mod_imap</code>. The problem is that there are
+        a lot of hyperlinks around which reference the
+        <code>imagemap</code> program via
+        <code>/cgi-bin/imagemap/path/to/page.map</code>. Under
+        Apache this has to read just
+        <code>/path/to/page.map</code>.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We use a global rule to remove the prefix on-the-fly for
+          all requests: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteRule    ^/cgi-bin/imagemap(.*)  $1  [PT]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Search pages in more than one directory</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Sometimes it is neccessary to let the webserver search
+        for pages in more than one directory. Here MultiViews or
+        other techniques cannot help.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We program a explicit ruleset which searches for the
+          files in the directories. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+
+#   first try to find it in custom/...
+#   ...and if found stop and be happy:
+RewriteCond         /your/docroot/<strong>dir1</strong>/%{REQUEST_FILENAME}  -f
+RewriteRule  ^(.+)  /your/docroot/<strong>dir1</strong>/$1  [L]
+
+#   second try to find it in pub/...
+#   ...and if found stop and be happy:
+RewriteCond         /your/docroot/<strong>dir2</strong>/%{REQUEST_FILENAME}  -f
+RewriteRule  ^(.+)  /your/docroot/<strong>dir2</strong>/$1  [L]
+
+#   else go on for other Alias or ScriptAlias directives,
+#   etc.
+RewriteRule   ^(.+)  -  [PT]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Set Environment Variables According To URL Parts</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Perhaps you want to keep status information between
+        requests and use the URL to encode it. But you don't want
+        to use a CGI wrapper for all pages just to strip out this
+        information.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We use a rewrite rule to strip out the status information
+          and remember it via an environment variable which can be
+          later dereferenced from within XSSI or CGI. This way a
+          URL <code>/foo/S=java/bar/</code> gets translated to
+          <code>/foo/bar/</code> and the environment variable named
+          <code>STATUS</code> is set to the value "java". 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteRule   ^(.*)/<strong>S=([^/]+)</strong>/(.*)    $1/$3 [E=<strong>STATUS:$2</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Virtual User Hosts</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Assume that you want to provide
+        <code>www.<strong>username</strong>.host.domain.com</code>
+        for the homepage of username via just DNS A records to the
+        same machine and without any virtualhosts on this
+        machine.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          For HTTP/1.0 requests there is no solution, but for
+          HTTP/1.1 requests which contain a Host: HTTP header we
+          can use the following ruleset to rewrite
+          <code>http://www.username.host.com/anypath</code>
+          internally to <code>/home/username/anypath</code>: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteCond   %{<strong>HTTP_HOST</strong>}                 ^www\.<strong>[^.]+</strong>\.host\.com$
+RewriteRule   ^(.+)                        %{HTTP_HOST}$1          [C]
+RewriteRule   ^www\.<strong>([^.]+)</strong>\.host\.com(.*) /home/<strong>$1</strong>$2
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Redirect Homedirs For Foreigners</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>We want to redirect homedir URLs to another webserver
+        <code>www.somewhere.com</code> when the requesting user
+        does not stay in the local domain
+        <code>ourdomain.com</code>. This is sometimes used in
+        virtual host contexts.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          Just a rewrite condition: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteCond   %{REMOTE_HOST}  <strong>!^.+\.ourdomain\.com$</strong>
+RewriteRule   ^(/~.+)         http://www.somewhere.com/$1 [R,L]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Redirect Failing URLs To Other Webserver</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>A typical FAQ about URL rewriting is how to redirect
+        failing requests on webserver A to webserver B. Usually
+        this is done via ErrorDocument CGI-scripts in Perl, but
+        there is also a mod_rewrite solution. But notice that this
+        is less performant than using a ErrorDocument
+        CGI-script!</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          The first solution has the best performance but less
+          flexibility and is less error safe: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteCond   /your/docroot/%{REQUEST_FILENAME} <strong>!-f</strong>
+RewriteRule   ^(.+)                             http://<strong>webserverB</strong>.dom/$1
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>The problem here is that this will only work for pages
+          inside the DocumentRoot. While you can add more
+          Conditions (for instance to also handle homedirs, etc.)
+          there is better variant:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteCond   %{REQUEST_URI} <strong>!-U</strong>
+RewriteRule   ^(.+)          http://<strong>webserverB</strong>.dom/$1
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>This uses the URL look-ahead feature of mod_rewrite.
+          The result is that this will work for all types of URLs
+          and is a safe way. But it does a performance impact on
+          the webserver, because for every request there is one
+          more internal subrequest. So, if your webserver runs on a
+          powerful CPU, use this one. If it is a slow machine, use
+          the first approach or better a ErrorDocument
+          CGI-script.</p>
+        </dd>
+      </dl>
+
+      <h2>Extended Redirection</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Sometimes we need more control (concerning the
+        character escaping mechanism) of URLs on redirects. Usually
+        the Apache kernels URL escape function also escapes
+        anchors, i.e. URLs like "url#anchor". You cannot use this
+        directly on redirects with mod_rewrite because the
+        uri_escape() function of Apache would also escape the hash
+        character. How can we redirect to such a URL?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We have to use a kludge by the use of a NPH-CGI script
+          which does the redirect itself. Because here no escaping
+          is done (NPH=non-parseable headers). First we introduce a
+          new URL scheme <code>xredirect:</code> by the following
+          per-server config-line (should be one of the last rewrite
+          rules): 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule ^xredirect:(.+) /path/to/nph-xredirect.cgi/$1 \
+            [T=application/x-httpd-cgi,L]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>This forces all URLs prefixed with
+          <code>xredirect:</code> to be piped through the
+          <code>nph-xredirect.cgi</code> program. And this program
+          just looks like:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+#!/path/to/perl
+##
+##  nph-xredirect.cgi -- NPH/CGI script for extended redirects
+##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. 
+##
+
+$| = 1;
+$url = $ENV{'PATH_INFO'};
+
+print "HTTP/1.0 302 Moved Temporarily\n";
+print "Server: $ENV{'SERVER_SOFTWARE'}\n";
+print "Location: $url\n";
+print "Content-type: text/html\n";
+print "\n";
+print "&lt;html&gt;\n";
+print "&lt;head&gt;\n";
+print "&lt;title&gt;302 Moved Temporarily (EXTENDED)&lt;/title&gt;\n";
+print "&lt;/head&gt;\n";
+print "&lt;body&gt;\n";
+print "&lt;h1&gt;Moved Temporarily (EXTENDED)&lt;/h1&gt;\n";
+print "The document has moved &lt;a HREF=\"$url\"&gt;here&lt;/a&gt;.&lt;p&gt;\n";
+print "&lt;/body&gt;\n";
+print "&lt;/html&gt;\n";
+
+##EOF##
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>This provides you with the functionality to do
+          redirects to all URL schemes, i.e. including the one
+          which are not directly accepted by mod_rewrite. For
+          instance you can now also redirect to
+          <code>news:newsgroup</code> via</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule ^anyurl  xredirect:news:newsgroup
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Notice: You have not to put [R] or [R,L] to the above
+          rule because the <code>xredirect:</code> need to be
+          expanded later by our special "pipe through" rule
+          above.</p>
+        </dd>
+      </dl>
+
+      <h2>Archive Access Multiplexer</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Do you know the great CPAN (Comprehensive Perl Archive
+        Network) under <a
+        href="http://www.perl.com/CPAN">http://www.perl.com/CPAN</a>?
+        This does a redirect to one of several FTP servers around
+        the world which carry a CPAN mirror and is approximately
+        near the location of the requesting client. Actually this
+        can be called an FTP access multiplexing service. While
+        CPAN runs via CGI scripts, how can a similar approach
+        implemented via mod_rewrite?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          First we notice that from version 3.0.0 mod_rewrite can
+          also use the "ftp:" scheme on redirects. And second, the
+          location approximation can be done by a rewritemap over
+          the top-level domain of the client. With a tricky chained
+          ruleset we can use this top-level domain as a key to our
+          multiplexing map. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteMap    multiplex                txt:/path/to/map.cxan
+RewriteRule   ^/CxAN/(.*)              %{REMOTE_HOST}::$1                 [C]
+RewriteRule   ^.+\.<strong>([a-zA-Z]+)</strong>::(.*)$  ${multiplex:<strong>$1</strong>|ftp.default.dom}$2  [R,L]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+##
+##  map.cxan -- Multiplexing Map for CxAN
+##
+
+de        ftp://ftp.cxan.de/CxAN/
+uk        ftp://ftp.cxan.uk/CxAN/
+com       ftp://ftp.cxan.com/CxAN/
+ :
+##EOF##
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Time-Dependend Rewriting</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>When tricks like time-dependend content should happen a
+        lot of webmasters still use CGI scripts which do for
+        instance redirects to specialized pages. How can it be done
+        via mod_rewrite?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          There are a lot of variables named <code>TIME_xxx</code>
+          for rewrite conditions. In conjunction with the special
+          lexicographic comparison patterns &lt;STRING, &gt;STRING
+          and =STRING we can do time-dependend redirects: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteCond   %{TIME_HOUR}%{TIME_MIN} &gt;0700
+RewriteCond   %{TIME_HOUR}%{TIME_MIN} &lt;1900
+RewriteRule   ^foo\.html$             foo.day.html
+RewriteRule   ^foo\.html$             foo.night.html
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>This provides the content of <code>foo.day.html</code>
+          under the URL <code>foo.html</code> from 07:00-19:00 and
+          at the remaining time the contents of
+          <code>foo.night.html</code>. Just a nice feature for a
+          homepage...</p>
+        </dd>
+      </dl>
+
+      <h2>Backward Compatibility for YYYY to XXXX migration</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we make URLs backward compatible (still
+        existing virtually) after migrating document.YYYY to
+        document.XXXX, e.g. after translating a bunch of .html
+        files to .phtml?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We just rewrite the name to its basename and test for
+          existence of the new extension. If it exists, we take
+          that name, else we rewrite the URL to its original state.
+          
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+#   backward compatibility ruleset for 
+#   rewriting document.html to document.phtml
+#   when and only when document.phtml exists
+#   but no longer document.html
+RewriteEngine on
+RewriteBase   /~quux/
+#   parse out basename, but remember the fact
+RewriteRule   ^(.*)\.html$              $1      [C,E=WasHTML:yes]
+#   rewrite to document.phtml if exists
+RewriteCond   %{REQUEST_FILENAME}.phtml -f
+RewriteRule   ^(.*)$ $1.phtml                   [S=1]
+#   else reverse the previous basename cutout
+RewriteCond   %{ENV:WasHTML}            ^yes$
+RewriteRule   ^(.*)$ $1.html
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h1>Content Handling</h1>
+
+      <h2>From Old to New (intern)</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Assume we have recently renamed the page
+        <code>foo.html</code> to <code>bar.html</code> and now want
+        to provide the old URL for backward compatibility. Actually
+        we want that users of the old URL even not recognize that
+        the pages was renamed.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We rewrite the old URL to the new one internally via the
+          following rule: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteRule    ^<strong>foo</strong>\.html$  <strong>bar</strong>.html
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>From Old to New (extern)</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Assume again that we have recently renamed the page
+        <code>foo.html</code> to <code>bar.html</code> and now want
+        to provide the old URL for backward compatibility. But this
+        time we want that the users of the old URL get hinted to
+        the new one, i.e. their browsers Location field should
+        change, too.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We force a HTTP redirect to the new URL which leads to a
+          change of the browsers and thus the users view: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteRule    ^<strong>foo</strong>\.html$  <strong>bar</strong>.html  [<strong>R</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Browser Dependend Content</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>At least for important top-level pages it is sometimes
+        necesarry to provide the optimum of browser dependend
+        content, i.e. one has to provide a maximum version for the
+        latest Netscape variants, a minimum version for the Lynx
+        browsers and a average feature version for all others.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We cannot use content negotiation because the browsers do
+          not provide their type in that form. Instead we have to
+          act on the HTTP header "User-Agent". The following condig
+          does the following: If the HTTP header "User-Agent"
+          begins with "Mozilla/3", the page <code>foo.html</code>
+          is rewritten to <code>foo.NS.html</code> and and the
+          rewriting stops. If the browser is "Lynx" or "Mozilla" of
+          version 1 or 2 the URL becomes <code>foo.20.html</code>.
+          All other browsers receive page <code>foo.32.html</code>.
+          This is done by the following ruleset: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{HTTP_USER_AGENT}  ^<strong>Mozilla/3</strong>.*
+RewriteRule ^foo\.html$         foo.<strong>NS</strong>.html          [<strong>L</strong>]
+
+RewriteCond %{HTTP_USER_AGENT}  ^<strong>Lynx/</strong>.*         [OR]
+RewriteCond %{HTTP_USER_AGENT}  ^<strong>Mozilla/[12]</strong>.*
+RewriteRule ^foo\.html$         foo.<strong>20</strong>.html          [<strong>L</strong>]
+
+RewriteRule ^foo\.html$         foo.<strong>32</strong>.html          [<strong>L</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Dynamic Mirror</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Assume there are nice webpages on remote hosts we want
+        to bring into our namespace. For FTP servers we would use
+        the <code>mirror</code> program which actually maintains an
+        explicit up-to-date copy of the remote data on the local
+        machine. For a webserver we could use the program
+        <code>webcopy</code> which acts similar via HTTP. But both
+        techniques have one major drawback: The local copy is
+        always just as up-to-date as often we run the program. It
+        would be much better if the mirror is not a static one we
+        have to establish explicitly. Instead we want a dynamic
+        mirror with data which gets updated automatically when
+        there is need (updated data on the remote host).</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          To provide this feature we map the remote webpage or even
+          the complete remote webarea to our namespace by the use
+          of the <i>Proxy Throughput</i> feature (flag [P]): 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteRule    ^<strong>hotsheet/</strong>(.*)$  <strong>http://www.tstimpreso.com/hotsheet/</strong>$1  [<strong>P</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteRule    ^<strong>usa-news\.html</strong>$   <strong>http://www.quux-corp.com/news/index.html</strong>  [<strong>P</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Reverse Dynamic Mirror</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>...</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteCond   /mirror/of/remotesite/$1           -U 
+RewriteRule   ^http://www\.remotesite\.com/(.*)$ /mirror/of/remotesite/$1
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Retrieve Missing Data from Intranet</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>This is a tricky way of virtually running a corporates
+        (external) Internet webserver
+        (<code>www.quux-corp.dom</code>), while actually keeping
+        and maintaining its data on a (internal) Intranet webserver
+        (<code>www2.quux-corp.dom</code>) which is protected by a
+        firewall. The trick is that on the external webserver we
+        retrieve the requested data on-the-fly from the internal
+        one.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          First, we have to make sure that our firewall still
+          protects the internal webserver and that only the
+          external webserver is allowed to retrieve data from it.
+          For a packet-filtering firewall we could for instance
+          configure a firewall ruleset like the following: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+<strong>ALLOW</strong> Host www.quux-corp.dom Port &gt;1024 --&gt; Host www2.quux-corp.dom Port <strong>80</strong>  
+<strong>DENY</strong>  Host *                 Port *     --&gt; Host www2.quux-corp.dom Port <strong>80</strong>
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Just adjust it to your actual configuration syntax.
+          Now we can establish the mod_rewrite rules which request
+          the missing data in the background through the proxy
+          throughput feature:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule ^/~([^/]+)/?(.*)          /home/$1/.www/$2
+RewriteCond %{REQUEST_FILENAME}       <strong>!-f</strong>
+RewriteCond %{REQUEST_FILENAME}       <strong>!-d</strong>
+RewriteRule ^/home/([^/]+)/.www/?(.*) http://<strong>www2</strong>.quux-corp.dom/~$1/pub/$2 [<strong>P</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Load Balancing</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Suppose we want to load balance the traffic to
+        <code>www.foo.com</code> over <code>www[0-5].foo.com</code>
+        (a total of 6 servers). How can this be done?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          There are a lot of possible solutions for this problem.
+          We will discuss first a commonly known DNS-based variant
+          and then the special one with mod_rewrite: 
+
+          <ol>
+            <li>
+              <strong>DNS Round-Robin</strong> 
+
+              <p>The simplest method for load-balancing is to use
+              the DNS round-robin feature of BIND. Here you just
+              configure <code>www[0-9].foo.com</code> as usual in
+              your DNS with A(address) records, e.g.</p>
+
+              <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+              cellpadding="5">
+                <tr>
+                  <td>
+<pre>
+www0   IN  A       1.2.3.1
+www1   IN  A       1.2.3.2
+www2   IN  A       1.2.3.3
+www3   IN  A       1.2.3.4
+www4   IN  A       1.2.3.5
+www5   IN  A       1.2.3.6
+</pre>
+                  </td>
+                </tr>
+              </table>
+
+              <p>Then you additionally add the following entry:</p>
+
+              <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+              cellpadding="5">
+                <tr>
+                  <td>
+<pre>
+www    IN  CNAME   www0.foo.com.
+       IN  CNAME   www1.foo.com.
+       IN  CNAME   www2.foo.com.
+       IN  CNAME   www3.foo.com.
+       IN  CNAME   www4.foo.com.
+       IN  CNAME   www5.foo.com.
+       IN  CNAME   www6.foo.com.
+</pre>
+                  </td>
+                </tr>
+              </table>
+
+              <p>Notice that this seems wrong, but is actually an
+              intended feature of BIND and can be used in this way.
+              However, now when <code>www.foo.com</code> gets
+              resolved, BIND gives out <code>www0-www6</code> - but
+              in a slightly permutated/rotated order every time.
+              This way the clients are spread over the various
+              servers. But notice that this not a perfect load
+              balancing scheme, because DNS resolve information
+              gets cached by the other nameservers on the net, so
+              once a client has resolved <code>www.foo.com</code>
+              to a particular <code>wwwN.foo.com</code>, all
+              subsequent requests also go to this particular name
+              <code>wwwN.foo.com</code>. But the final result is
+              ok, because the total sum of the requests are really
+              spread over the various webservers.</p>
+            </li>
+
+            <li>
+              <strong>DNS Load-Balancing</strong> 
+
+              <p>A sophisticated DNS-based method for
+              load-balancing is to use the program
+              <code>lbnamed</code> which can be found at <a
+              href="http://www.stanford.edu/~schemers/docs/lbnamed/lbnamed.html">
+              http://www.stanford.edu/~schemers/docs/lbnamed/lbnamed.html</a>.
+              It is a Perl 5 program in conjunction with auxilliary
+              tools which provides a real load-balancing for
+              DNS.</p>
+            </li>
+
+            <li>
+              <strong>Proxy Throughput Round-Robin</strong> 
+
+              <p>In this variant we use mod_rewrite and its proxy
+              throughput feature. First we dedicate
+              <code>www0.foo.com</code> to be actually
+              <code>www.foo.com</code> by using a single</p>
+
+              <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+              cellpadding="5">
+                <tr>
+                  <td>
+<pre>
+www    IN  CNAME   www0.foo.com.
+</pre>
+                  </td>
+                </tr>
+              </table>
+
+              <p>entry in the DNS. Then we convert
+              <code>www0.foo.com</code> to a proxy-only server,
+              i.e. we configure this machine so all arriving URLs
+              are just pushed through the internal proxy to one of
+              the 5 other servers (<code>www1-www5</code>). To
+              accomplish this we first establish a ruleset which
+              contacts a load balancing script <code>lb.pl</code>
+              for all URLs.</p>
+
+              <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+              cellpadding="5">
+                <tr>
+                  <td>
+<pre>
+RewriteEngine on
+RewriteMap    lb      prg:/path/to/lb.pl
+RewriteRule   ^/(.+)$ ${lb:$1}           [P,L]
+</pre>
+                  </td>
+                </tr>
+              </table>
+
+              <p>Then we write <code>lb.pl</code>:</p>
+
+              <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+              cellpadding="5">
+                <tr>
+                  <td>
+<pre>
+#!/path/to/perl
+##
+##  lb.pl -- load balancing script
+##
+
+$| = 1;
+
+$name   = "www";     # the hostname base
+$first  = 1;         # the first server (not 0 here, because 0 is myself) 
+$last   = 5;         # the last server in the round-robin
+$domain = "foo.dom"; # the domainname
+
+$cnt = 0;
+while (&lt;STDIN&gt;) {
+    $cnt = (($cnt+1) % ($last+1-$first));
+    $server = sprintf("%s%d.%s", $name, $cnt+$first, $domain);
+    print "http://$server/$_";
+}
+
+##EOF##
+</pre>
+                  </td>
+                </tr>
+              </table>
+
+              <p>A last notice: Why is this useful? Seems like
+              <code>www0.foo.com</code> still is overloaded? The
+              answer is yes, it is overloaded, but with plain proxy
+              throughput requests, only! All SSI, CGI, ePerl, etc.
+              processing is completely done on the other machines.
+              This is the essential point.</p>
+            </li>
+
+            <li>
+              <strong>Hardware/TCP Round-Robin</strong> 
+
+              <p>There is a hardware solution available, too. Cisco
+              has a beast called LocalDirector which does a load
+              balancing at the TCP/IP level. Actually this is some
+              sort of a circuit level gateway in front of a
+              webcluster. If you have enough money and really need
+              a solution with high performance, use this one.</p>
+            </li>
+          </ol>
+        </dd>
+      </dl>
+
+      <h2>New MIME-type, New Service</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>
+          On the net there are a lot of nifty CGI programs. But
+          their usage is usually boring, so a lot of webmaster
+          don't use them. Even Apache's Action handler feature for
+          MIME-types is only appropriate when the CGI programs
+          don't need special URLs (actually PATH_INFO and
+          QUERY_STRINGS) as their input. First, let us configure a
+          new file type with extension <code>.scgi</code> (for
+          secure CGI) which will be processed by the popular
+          <code>cgiwrap</code> program. The problem here is that
+          for instance we use a Homogeneous URL Layout (see above)
+          a file inside the user homedirs has the URL
+          <code>/u/user/foo/bar.scgi</code>. But
+          <code>cgiwrap</code> needs the URL in the form
+          <code>/~user/foo/bar.scgi/</code>. The following rule
+          solves the problem: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule ^/[uge]/<strong>([^/]+)</strong>/\.www/(.+)\.scgi(.*) ...
+... /internal/cgi/user/cgiwrap/~<strong>$1</strong>/$2.scgi$3  [NS,<strong>T=application/x-http-cgi</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Or assume we have some more nifty programs:
+          <code>wwwlog</code> (which displays the
+          <code>access.log</code> for a URL subtree and
+          <code>wwwidx</code> (which runs Glimpse on a URL
+          subtree). We have to provide the URL area to these
+          programs so they know on which area they have to act on.
+          But usually this ugly, because they are all the times
+          still requested from that areas, i.e. typically we would
+          run the <code>swwidx</code> program from within
+          <code>/u/user/foo/</code> via hyperlink to</p>
+<pre>
+/internal/cgi/user/swwidx?i=/u/user/foo/
+</pre>
+
+          <p>which is ugly. Because we have to hard-code
+          <strong>both</strong> the location of the area
+          <strong>and</strong> the location of the CGI inside the
+          hyperlink. When we have to reorganise or area, we spend a
+          lot of time changing the various hyperlinks.</p>
+        </dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          The solution here is to provide a special new URL format
+          which automatically leads to the proper CGI invocation.
+          We configure the following: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule   ^/([uge])/([^/]+)(/?.*)/\*  /internal/cgi/user/wwwidx?i=/$1/$2$3/
+RewriteRule   ^/([uge])/([^/]+)(/?.*):log /internal/cgi/user/wwwlog?f=/$1/$2$3
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Now the hyperlink to search at
+          <code>/u/user/foo/</code> reads only</p>
+<pre>
+HREF="*"
+</pre>
+
+          <p>which internally gets automatically transformed to</p>
+<pre>
+/internal/cgi/user/wwwidx?i=/u/user/foo/
+</pre>
+
+          <p>The same approach leads to an invocation for the
+          access log CGI program when the hyperlink
+          <code>:log</code> gets used.</p>
+        </dd>
+      </dl>
+
+      <h2>From Static to Dynamic</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we transform a static page
+        <code>foo.html</code> into a dynamic variant
+        <code>foo.cgi</code> in a seamless way, i.e. without notice
+        by the browser/user.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We just rewrite the URL to the CGI-script and force the
+          correct MIME-type so it gets really run as a CGI-script.
+          This way a request to <code>/~quux/foo.html</code>
+          internally leads to the invokation of
+          <code>/~quux/foo.cgi</code>. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine  on
+RewriteBase    /~quux/
+RewriteRule    ^foo\.<strong>html</strong>$  foo.<strong>cgi</strong>  [T=<strong>application/x-httpd-cgi</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>On-the-fly Content-Regeneration</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Here comes a really esoteric feature: Dynamically
+        generated but statically served pages, i.e. pages should be
+        delivered as pure static pages (read from the filesystem
+        and just passed through), but they have to be generated
+        dynamically by the webserver if missing. This way you can
+        have CGI-generated pages which are statically served unless
+        one (or a cronjob) removes the static contents. Then the
+        contents gets refreshed.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          This is done via the following ruleset: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{REQUEST_FILENAME}   <strong>!-s</strong>
+RewriteRule ^page\.<strong>html</strong>$          page.<strong>cgi</strong>   [T=application/x-httpd-cgi,L]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Here a request to <code>page.html</code> leads to a
+          internal run of a corresponding <code>page.cgi</code> if
+          <code>page.html</code> is still missing or has filesize
+          null. The trick here is that <code>page.cgi</code> is a
+          usual CGI script which (additionally to its STDOUT)
+          writes its output to the file <code>page.html</code>.
+          Once it was run, the server sends out the data of
+          <code>page.html</code>. When the webmaster wants to force
+          a refresh the contents, he just removes
+          <code>page.html</code> (usually done by a cronjob).</p>
+        </dd>
+      </dl>
+
+      <h2>Document With Autorefresh</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Wouldn't it be nice while creating a complex webpage if
+        the webbrowser would automatically refresh the page every
+        time we write a new version from within our editor?
+        Impossible?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          No! We just combine the MIME multipart feature, the
+          webserver NPH feature and the URL manipulation power of
+          mod_rewrite. First, we establish a new URL feature:
+          Adding just <code>:refresh</code> to any URL causes this
+          to be refreshed every time it gets updated on the
+          filesystem. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteRule   ^(/[uge]/[^/]+/?.*):refresh  /internal/cgi/apache/nph-refresh?f=$1
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Now when we reference the URL</p>
+<pre>
+/u/foo/bar/page.html:refresh
+</pre>
+
+          <p>this leads to the internal invocation of the URL</p>
+<pre>
+/internal/cgi/apache/nph-refresh?f=/u/foo/bar/page.html
+</pre>
+
+          <p>The only missing part is the NPH-CGI script. Although
+          one would usually say "left as an exercise to the reader"
+          ;-) I will provide this, too.</p>
+<pre>
+#!/sw/bin/perl
+##
+##  nph-refresh -- NPH/CGI script for auto refreshing pages
+##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. 
+##
+$| = 1;
+
+#   split the QUERY_STRING variable
+@pairs = split(/&amp;/, $ENV{'QUERY_STRING'});
+foreach $pair (@pairs) {
+    ($name, $value) = split(/=/, $pair);
+    $name =~ tr/A-Z/a-z/;
+    $name = 'QS_' . $name;
+    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+    eval "\$$name = \"$value\"";
+}
+$QS_s = 1 if ($QS_s eq '');
+$QS_n = 3600 if ($QS_n eq '');
+if ($QS_f eq '') {
+    print "HTTP/1.0 200 OK\n";
+    print "Content-type: text/html\n\n";
+    print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: No file given\n";
+    exit(0);
+}
+if (! -f $QS_f) {
+    print "HTTP/1.0 200 OK\n";
+    print "Content-type: text/html\n\n";
+    print "&amp;lt;b&amp;gt;ERROR&amp;lt;/b&amp;gt;: File $QS_f not found\n";
+    exit(0);
+}
+
+sub print_http_headers_multipart_begin {
+    print "HTTP/1.0 200 OK\n";
+    $bound = "ThisRandomString12345";
+    print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
+    &amp;print_http_headers_multipart_next;
+}
+
+sub print_http_headers_multipart_next {
+    print "\n--$bound\n";
+}
+
+sub print_http_headers_multipart_end {
+    print "\n--$bound--\n";
+}
+
+sub displayhtml {
+    local($buffer) = @_;
+    $len = length($buffer);
+    print "Content-type: text/html\n";
+    print "Content-length: $len\n\n";
+    print $buffer;
+}
+
+sub readfile {
+    local($file) = @_;
+    local(*FP, $size, $buffer, $bytes);
+    ($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
+    $size = sprintf("%d", $size);
+    open(FP, "&amp;lt;$file");
+    $bytes = sysread(FP, $buffer, $size);
+    close(FP);
+    return $buffer;
+}
+
+$buffer = &amp;readfile($QS_f);
+&amp;print_http_headers_multipart_begin;
+&amp;displayhtml($buffer);
+
+sub mystat {
+    local($file) = $_[0];
+    local($time);
+
+    ($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
+    return $mtime;
+}
+
+$mtimeL = &amp;mystat($QS_f);
+$mtime = $mtime;
+for ($n = 0; $n &amp;lt; $QS_n; $n++) {
+    while (1) {
+        $mtime = &amp;mystat($QS_f);
+        if ($mtime ne $mtimeL) {
+            $mtimeL = $mtime;
+            sleep(2);
+            $buffer = &amp;readfile($QS_f);
+            &amp;print_http_headers_multipart_next;
+            &amp;displayhtml($buffer);
+            sleep(5);
+            $mtimeL = &amp;mystat($QS_f);
+            last;
+        }
+        sleep($QS_s);
+    }
+}
+
+&amp;print_http_headers_multipart_end;
+
+exit(0);
+
+##EOF##
+</pre>
+        </dd>
+      </dl>
+
+      <h2>Mass Virtual Hosting</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>The <code>&lt;VirtualHost&gt;</code> feature of Apache
+        is nice and works great when you just have a few dozens
+        virtual hosts. But when you are an ISP and have hundreds of
+        virtual hosts to provide this feature is not the best
+        choice.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          To provide this feature we map the remote webpage or even
+          the complete remote webarea to our namespace by the use
+          of the <i>Proxy Throughput</i> feature (flag [P]): 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+##
+##  vhost.map 
+## 
+www.vhost1.dom:80  /path/to/docroot/vhost1
+www.vhost2.dom:80  /path/to/docroot/vhost2
+     :
+www.vhostN.dom:80  /path/to/docroot/vhostN
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+##
+##  httpd.conf
+##
+    :
+#   use the canonical hostname on redirects, etc.
+UseCanonicalName on
+
+    :
+#   add the virtual host in front of the CLF-format
+CustomLog  /path/to/access_log  "%{VHOST}e %h %l %u %t \"%r\" %&gt;s %b"
+    :
+
+#   enable the rewriting engine in the main server
+RewriteEngine on
+
+#   define two maps: one for fixing the URL and one which defines
+#   the available virtual hosts with their corresponding
+#   DocumentRoot.
+RewriteMap    lowercase    int:tolower
+RewriteMap    vhost        txt:/path/to/vhost.map
+
+#   Now do the actual virtual host mapping
+#   via a huge and complicated single rule:
+#
+#   1. make sure we don't map for common locations
+RewriteCond   %{REQUEST_URI}  !^/commonurl1/.*
+RewriteCond   %{REQUEST_URI}  !^/commonurl2/.*
+    :
+RewriteCond   %{REQUEST_URI}  !^/commonurlN/.*
+#
+#   2. make sure we have a Host header, because
+#      currently our approach only supports 
+#      virtual hosting through this header
+RewriteCond   %{HTTP_HOST}  !^$
+#
+#   3. lowercase the hostname
+RewriteCond   ${lowercase:%{HTTP_HOST}|NONE}  ^(.+)$
+#
+#   4. lookup this hostname in vhost.map and
+#      remember it only when it is a path 
+#      (and not "NONE" from above)
+RewriteCond   ${vhost:%1}  ^(/.*)$
+#
+#   5. finally we can map the URL to its docroot location 
+#      and remember the virtual host for logging puposes
+RewriteRule   ^/(.*)$   %1/$1  [E=VHOST:${lowercase:%{HTTP_HOST}}]
+    : 
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h1>Access Restriction</h1>
+
+      <h2>Blocking of Robots</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we block a really annoying robot from
+        retrieving pages of a specific webarea? A
+        <code>/robots.txt</code> file containing entries of the
+        "Robot Exclusion Protocol" is typically not enough to get
+        rid of such a robot.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We use a ruleset which forbids the URLs of the webarea
+          <code>/~quux/foo/arc/</code> (perhaps a very deep
+          directory indexed area where the robot traversal would
+          create big server load). We have to make sure that we
+          forbid access only to the particular robot, i.e. just
+          forbidding the host where the robot runs is not enough.
+          This would block users from this host, too. We accomplish
+          this by also matching the User-Agent HTTP header
+          information. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{HTTP_USER_AGENT}   ^<strong>NameOfBadRobot</strong>.*      
+RewriteCond %{REMOTE_ADDR}       ^<strong>123\.45\.67\.[8-9]</strong>$
+RewriteRule ^<strong>/~quux/foo/arc/</strong>.+   -   [<strong>F</strong>]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Blocked Inline-Images</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Assume we have under http://www.quux-corp.de/~quux/
+        some pages with inlined GIF graphics. These graphics are
+        nice, so others directly incorporate them via hyperlinks to
+        their pages. We don't like this practice because it adds
+        useless traffic to our server.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          While we cannot 100% protect the images from inclusion,
+          we can at least restrict the cases where the browser
+          sends a HTTP Referer header. 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{HTTP_REFERER} <strong>!^$</strong>                                  
+RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
+RewriteRule <strong>.*\.gif$</strong>        -                                    [F]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{HTTP_REFERER}         !^$                                  
+RewriteCond %{HTTP_REFERER}         !.*/foo-with-gif\.html$
+RewriteRule <strong>^inlined-in-foo\.gif$</strong>   -                        [F]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Host Deny</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we forbid a list of externally configured hosts
+        from using our server?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          For Apache &gt;= 1.3b6: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteMap    hosts-deny  txt:/path/to/hosts.deny
+RewriteCond   ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR]
+RewriteCond   ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
+RewriteRule   ^/.*  -  [F]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>For Apache &lt;= 1.3b6:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteMap    hosts-deny  txt:/path/to/hosts.deny
+RewriteRule   ^/(.*)$ ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}/$1
+RewriteRule   !^NOT-FOUND/.* - [F]
+RewriteRule   ^NOT-FOUND/(.*)$ ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}/$1 
+RewriteRule   !^NOT-FOUND/.* - [F]
+RewriteRule   ^NOT-FOUND/(.*)$ /$1
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+##
+##  hosts.deny 
+##
+##  ATTENTION! This is a map, not a list, even when we treat it as such.
+##             mod_rewrite parses it for key/value pairs, so at least a
+##             dummy value "-" must be present for each entry.
+##
+
+193.102.180.41 -
+bsdti1.sdm.de  -
+192.76.162.40  -
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>URL-Restricted Proxy</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we restrict the proxy to allow access to a
+        configurable set of internet sites only? The site list is
+        extracted from a prepared bookmarks file.</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We first have to make sure mod_rewrite is below(!)
+          mod_proxy in the <code>Configuration</code> file when
+          compiling the Apache webserver (or in the
+          <code>AddModule</code> list of <code>httpd.conf</code> in
+          the case of dynamically loaded modules), as it must get
+          called <em>_before_</em> mod_proxy. 
+
+          <p>For simplicity, we generate the site list as a
+          textfile map (but see the <a
+          href="../mod/mod_rewrite.html#RewriteMap">mod_rewrite
+          documentation</a> for a conversion script to DBM format).
+          A typical Netscape bookmarks file can be converted to a
+          list of sites with a shell script like this:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+#!/bin/sh
+cat ${1:-~/.netscape/bookmarks.html} |
+tr -d '\015' | tr '[A-Z]' '[a-z]' | grep href=\" |
+sed -e '/href="file:/d;' -e '/href="news:/d;' \
+    -e 's|^.*href="[^:]*://\([^:/"]*\).*$|\1 OK|;' \
+    -e '/href="/s|^.*href="\([^:/"]*\).*$|\1 OK|;' |
+sort -u
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>We redirect the resulting output into a text file
+          called <code>goodsites.txt</code>. It now looks similar
+          to this:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+www.apache.org OK
+xml.apache.org OK
+jakarta.apache.org OK
+perl.apache.org OK
+...
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>We reference this site file within the configuration
+          for the <code>VirtualHost</code> which is responsible for
+          serving as a proxy (often not port 80, but 81, 8080 or
+          8008).</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+&lt;VirtualHost *:8008&gt;
+  ...
+  RewriteEngine   On
+  # Either use the (plaintext) allow list from goodsites.txt
+  RewriteMap      ProxyAllow   txt:/usr/local/apache/conf/goodsites.txt
+  # Or, for faster access, convert it to a DBM database:
+  #RewriteMap     ProxyAllow   dbm:/usr/local/apache/conf/goodsites
+  # Match lowercased hostnames
+  RewriteMap      lowercase    int:tolower
+  # Here we go:
+  # 1) first lowercase the site name and strip off a :port suffix
+  RewriteCond  ${lowercase:%{HTTP_HOST}}    ^([^:]*).*$
+  # 2) next look it up in the map file.
+  #    "%1" refers to the previous regex.
+  #    If the result is "OK", proxy access is granted.
+  RewriteCond  ${ProxyAllow:%1|DENY}        !^OK$          [NC]
+  # 3) Disallow proxy requests if the site was _not_ tagged "OK":
+  RewriteRule  ^proxy:                      -              [F]
+  ...
+&lt;/VirtualHost&gt;
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Proxy Deny</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we forbid a certain host or even a user of a
+        special host from using the Apache proxy?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We first have to make sure mod_rewrite is below(!)
+          mod_proxy in the <code>Configuration</code> file when
+          compiling the Apache webserver. This way it gets called
+          <em>_before_</em> mod_proxy. Then we configure the
+          following for a host-dependend deny... 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{REMOTE_HOST} <strong>^badhost\.mydomain\.com$</strong> 
+RewriteRule !^http://[^/.]\.mydomain.com.*  - [F]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>...and this one for a user@host-dependend deny:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST}  <strong>^badguy@badhost\.mydomain\.com$</strong>
+RewriteRule !^http://[^/.]\.mydomain.com.*  - [F]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Special Authentication Variant</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>Sometimes a very special authentication is needed, for
+        instance a authentication which checks for a set of
+        explicitly configured users. Only these should receive
+        access and without explicit prompting (which would occur
+        when using the Basic Auth via mod_access).</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          We use a list of rewrite conditions to exclude all except
+          our friends: 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend1@client1.quux-corp\.com$</strong> 
+RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend2</strong>@client2.quux-corp\.com$ 
+RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} <strong>!^friend3</strong>@client3.quux-corp\.com$ 
+RewriteRule ^/~quux/only-for-friends/      -                                 [F]
+</pre>
+              </td>
+            </tr>
+          </table>
+        </dd>
+      </dl>
+
+      <h2>Referer-based Deflector</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>How can we program a flexible URL Deflector which acts
+        on the "Referer" HTTP header and can be configured with as
+        many referring pages as we like?</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          Use the following really tricky ruleset... 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteMap  deflector txt:/path/to/deflector.map
+
+RewriteCond %{HTTP_REFERER} !=""
+RewriteCond ${deflector:%{HTTP_REFERER}} ^-$
+RewriteRule ^.* %{HTTP_REFERER} [R,L]
+
+RewriteCond %{HTTP_REFERER} !=""
+RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
+RewriteRule ^.* ${deflector:%{HTTP_REFERER}} [R,L]
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>... in conjunction with a corresponding rewrite
+          map:</p>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+##
+##  deflector.map
+##
+
+http://www.badguys.com/bad/index.html    -
+http://www.badguys.com/bad/index2.html   -
+http://www.badguys.com/bad/index3.html   http://somewhere.com/
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>This automatically redirects the request back to the
+          referring page (when "-" is used as the value in the map)
+          or to a specific URL (when an URL is specified in the map
+          as the second argument).</p>
+        </dd>
+      </dl>
+
+      <h1>Other</h1>
+
+      <h2>External Rewriting Engine</h2>
+
+      <dl>
+        <dt><strong>Description:</strong></dt>
+
+        <dd>A FAQ: How can we solve the FOO/BAR/QUUX/etc. problem?
+        There seems no solution by the use of mod_rewrite...</dd>
+
+        <dt><strong>Solution:</strong></dt>
+
+        <dd>
+          Use an external rewrite map, i.e. a program which acts
+          like a rewrite map. It is run once on startup of Apache
+          receives the requested URLs on STDIN and has to put the
+          resulting (usually rewritten) URL on STDOUT (same
+          order!). 
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+RewriteEngine on
+RewriteMap    quux-map       <strong>prg:</strong>/path/to/map.quux.pl
+RewriteRule   ^/~quux/(.*)$  /~quux/<strong>${quux-map:$1}</strong>
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table bgcolor="#E0E5F5" border="0" cellspacing="0"
+          cellpadding="5">
+            <tr>
+              <td>
+<pre>
+#!/path/to/perl
+
+#   disable buffered I/O which would lead 
+#   to deadloops for the Apache server
+$| = 1;
+
+#   read URLs one per line from stdin and
+#   generate substitution URL on stdout
+while (&lt;&gt;) {
+    s|^foo/|bar/|;
+    print $_;
+}
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>This is a demonstration-only example and just rewrites
+          all URLs <code>/~quux/foo/...</code> to
+          <code>/~quux/bar/...</code>. Actually you can program
+          whatever you like. But notice that while such maps can be
+          <strong>used</strong> also by an average user, only the
+          system administrator can <strong>define</strong> it.</p>
+        </dd>
+      </dl>
+      <!--#include virtual="footer.html" -->
+    </blockquote>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/security_tips.html b/htdocs/manual/misc/security_tips.html
new file mode 100644 (file)
index 0000000..fb5d284
--- /dev/null
@@ -0,0 +1,302 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache HTTP Server: Security Tips</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Security Tips for Server Configuration</h1>
+
+    <ul>
+      <li><a href="#serverroot">Permissions on ServerRoot
+      Directories</a></li>
+
+      <li><a href="#ssi">Server Side Includes</a></li>
+
+      <li><a href="#nsaliasedcgi">Non Script Aliased CGI</a></li>
+
+      <li><a href="#saliasedcgi">Script Aliased CGI</a></li>
+
+      <li><a href="#cgi">CGI in General</a></li>
+
+      <li><a href="#dynamic">Other sources of dynamic content</a></li>
+
+      <li><a href="#systemsettings">Protecting System
+      Settings</a></li>
+
+      <li><a href="#protectserverfiles">Protect Server Files by
+      Default</a></li>
+    </ul>
+    <hr />
+
+    <p>Some hints and tips on security issues in setting up a web
+    server. Some of the suggestions will be general, others
+    specific to Apache.</p>
+    <hr />
+
+    <h2><a id="serverroot" name="serverroot">Permissions on
+    ServerRoot Directories</a></h2>
+
+    <p>In typical operation, Apache is started by the root user,
+    and it switches to the user defined by the <a
+    href="../mod/core.html#user"><strong>User</strong></a>
+    directive to serve hits. As is the case with any command that
+    root executes, you must take care that it is protected from
+    modification by non-root users. Not only must the files
+    themselves be writeable only by root, but also the
+    directories and parents of all directories. For example, if
+    you choose to place ServerRoot in
+    <code>/usr/local/apache</code> then it is suggested that you
+    create that directory as root, with commands like these:</p>
+
+    <blockquote>
+<pre>
+    mkdir /usr/local/apache
+    cd /usr/local/apache
+    mkdir bin conf logs
+    chown 0 . bin conf logs
+    chgrp 0 . bin conf logs
+    chmod 755 . bin conf logs
+</pre>
+    </blockquote>
+    It is assumed that /, /usr, and /usr/local are only modifiable
+    by root. When you install the httpd executable, you should
+    ensure that it is similarly protected: 
+
+    <blockquote>
+<pre>
+    cp httpd /usr/local/apache/bin
+    chown 0 /usr/local/apache/bin/httpd
+    chgrp 0 /usr/local/apache/bin/httpd
+    chmod 511 /usr/local/apache/bin/httpd
+</pre>
+    </blockquote>
+
+    <p>You can create an htdocs subdirectory which is modifiable by
+    other users -- since root never executes any files out of
+    there, and shouldn't be creating files in there.</p>
+
+    <p>If you allow non-root users to modify any files that root
+    either executes or writes on then you open your system to root
+    compromises. For example, someone could replace the httpd
+    binary so that the next time you start it, it will execute some
+    arbitrary code. If the logs directory is writeable (by a
+    non-root user), someone could replace a log file with a symlink
+    to some other system file, and then root might overwrite that
+    file with arbitrary data. If the log files themselves are
+    writeable (by a non-root user), then someone may be able to
+    overwrite the log itself with bogus data.</p>
+    <hr />
+
+    <h2><a id="ssi" name="ssi">Server Side Includes</a></h2>
+
+    <p>Server Side Includes (SSI) present a server administrator
+    with several potential security risks.</p>
+
+    <p>The first risk is the increased load on the server. All
+    SSI-enabled files have to be parsed by Apache, whether or not
+    there are any SSI directives included within the files. While
+    this load increase is minor, in a shared server environment it
+    can become significant.</p>
+
+    <p>SSI files also pose the same risks that are associated with
+    CGI scripts in general. Using the "exec cmd" element,
+    SSI-enabled files can execute any CGI script or program under
+    the permissions of the user and group Apache runs as, as
+    configured in httpd.conf. That should definitely give server
+    administrators pause.</p>
+
+    <p>There are ways to enhance the security of SSI files while
+    still taking advantage of the benefits they provide.</p>
+
+    <p>To isolate the damage a wayward SSI file can cause, a server
+    administrator can enable <a
+    href="../suexec.html">suexec</a> as described in the <a
+    href="#cgi">CGI in General</a> section.</p>
+
+    <p>Enabling SSI for files with .html or .htm extensions can be
+    dangerous. This is especially true in a shared, or high
+    traffic, server environment. SSI-enabled files should have a
+    separate extension, such as the conventional .shtml. This helps
+    keep server load at a minimum and allows for easier management
+    of risk.</p>
+
+    <p>Another solution is to disable the ability to run scripts
+    and programs from SSI pages. To do this, replace
+    <code>Includes</code> with <code>IncludesNOEXEC</code> in the
+    <a href="../mod/core.html#options">Options</a> directive. Note
+    that users may still use &lt;--#include virtual="..." --&gt; to
+    execute CGI scripts if these scripts are in directories
+    designated by a <a
+    href="../mod/mod_alias.html#scriptalias">ScriptAlias</a>
+    directive.</p>
+    <hr />
+
+    <h2><a id="nsaliasedcgi" name="nsaliasedcgi">Non Script Aliased
+    CGI</a></h2>
+
+    <p>Allowing users to execute <strong>CGI</strong> scripts in
+    any directory should only be considered if;</p>
+
+    <ol>
+      <li>You trust your users not to write scripts which will
+      deliberately or accidentally expose your system to an
+      attack.</li>
+
+      <li>You consider security at your site to be so feeble in
+      other areas, as to make one more potential hole
+      irrelevant.</li>
+
+      <li>You have no users, and nobody ever visits your
+      server.</li>
+    </ol>
+    <hr />
+
+    <h2><a id="saliasedcgi" name="saliasedcgi">Script Aliased
+    CGI</a></h2>
+
+    <p>Limiting <strong>CGI</strong> to special directories gives
+    the admin control over what goes into those directories. This
+    is inevitably more secure than non script aliased CGI, but
+    <strong>only if users with write access to the directories are
+    trusted</strong> or the admin is willing to test each new CGI
+    script/program for potential security holes.</p>
+
+    <p>Most sites choose this option over the non script aliased
+    CGI approach.</p>
+    <hr />
+
+    <h2><a id="cgi" name="cgi">CGI in General</a></h2>
+
+    <p>Always remember that you must trust the writers of the CGI
+    script/programs or your ability to spot potential security
+    holes in CGI, whether they were deliberate or accidental.</p>
+
+    <p>All the CGI scripts will run as the same user, so they have
+    potential to conflict (accidentally or deliberately) with other
+    scripts <em>e.g.</em> User A hates User B, so he writes a
+    script to trash User B's CGI database. One program which can be
+    used to allow scripts to run as different users is <a
+    href="../suexec.html">suEXEC</a> which is included with Apache
+    as of 1.2 and is called from special hooks in the Apache server
+    code. Another popular way of doing this is with <a
+    href="http://wwwcgi.umr.edu/~cgiwrap/">CGIWrap</a>.</p>
+    <hr />
+
+    <h2><a id="dynamic" name="dynamic">Other sources of dynamic
+    content</a></h2>
+
+<p>Embedded scripting options which run as part of the server itself, such
+as mod_php, mod_perl, mod_tcl, and mod_python, run under the identity of
+the server itself (see the <a href="../mod/core.html#user">User</a>
+directive), and therefore scripts executed by these engines
+potentially can access anything the server user can. Some scripting
+engines may provide restrictions, but it is better to be safe and assume
+not.</p>
+<hr />
+
+    <h2><a id="systemsettings" name="systemsettings">Protecting
+    System Settings</a></h2>
+
+    <p>To run a really tight ship, you'll want to stop users from
+    setting up <code>.htaccess</code> files which can override
+    security features you've configured. Here's one way to do
+    it.</p>
+
+    <p>In the server configuration file, put</p>
+
+    <blockquote>
+      <code>&lt;Directory /&gt;<br />
+       AllowOverride None<br />
+       &lt;/Directory&gt;<br />
+      </code>
+    </blockquote>
+
+    <p>This prevents the use of <code>.htaccess</code> files in all
+    directories apart from those specifically enabled.</p>
+    <hr />
+
+    <h2><a id="protectserverfiles"
+    name="protectserverfiles">Protect Server Files by
+    Default</a></h2>
+
+    <p>One aspect of Apache which is occasionally misunderstood is
+    the feature of default access. That is, unless you take steps
+    to change it, if the server can find its way to a file through
+    normal URL mapping rules, it can serve it to clients.</p>
+
+    <p>For instance, consider the following example:</p>
+
+    <ol>
+      <li><samp># cd /; ln -s / public_html</samp></li>
+
+      <li>Accessing <samp>http://localhost/~root/</samp></li>
+    </ol>
+
+    <p>This would allow clients to walk through the entire
+    filesystem. To work around this, add the following block to
+    your server's configuration:</p>
+<pre>
+ &lt;Directory /&gt;
+     Order Deny,Allow
+     Deny from all
+ &lt;/Directory&gt;
+</pre>
+
+    <p>This will forbid default access to filesystem locations. Add
+    appropriate <a
+    href="../mod/core.html#directory"><samp>&lt;Directory&gt;</samp></a>
+    blocks to allow access only in those areas you wish. For
+    example,</p>
+<pre>
+ &lt;Directory /usr/users/*/public_html&gt;
+     Order Deny,Allow
+     Allow from all
+ &lt;/Directory&gt;
+ &lt;Directory /usr/local/httpd&gt;
+     Order Deny,Allow
+     Allow from all
+ &lt;/Directory&gt;
+</pre>
+
+    <p>Pay particular attention to the interactions of <a
+    href="../mod/core.html#location"><samp>&lt;Location&gt;</samp></a>
+    and <a
+    href="../mod/core.html#directory"><samp>&lt;Directory&gt;</samp></a>
+    directives; for instance, even if <samp>&lt;Directory
+    /&gt;</samp> denies access, a <samp>&lt;Location /&gt;</samp>
+    directive might overturn it.</p>
+
+    <p>Also be wary of playing games with the <a
+    href="../mod/mod_userdir.html#userdir">UserDir</a> directive;
+    setting it to something like <samp>"./"</samp> would have the
+    same effect, for root, as the first example above. If you are
+    using Apache 1.3 or above, we strongly recommend that you
+    include the following line in your server configuration
+    files:</p>
+
+    <dl>
+      <dd><samp>UserDir&nbsp;disabled&nbsp;root</samp></dd>
+    </dl>
+    <hr />
+
+    <p>Please send any other useful security tips to The Apache
+    Group by filling out a <a
+    href="http://bugs.apache.org/">problem report</a>. If you are
+    confident you have found a security bug in the Apache source
+    code itself, <a
+    href="http://httpd.apache.org/bug_report.html">please let us
+    know</a>.</p>
+
+    <p><!--#include virtual="footer.html" --></p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/tutorials.html b/htdocs/manual/misc/tutorials.html
new file mode 100644 (file)
index 0000000..f57e07f
--- /dev/null
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Tutorials</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Tutorials</h1>
+
+    <p>The following documents give you step-by-step instructions
+    on how to accomplish common tasks with the Apache http server.
+    Many of these documents are located at external sites and are
+    not the work of the Apache Software Foundation. Copyright to
+    documents on external sites is owned by the authors or their
+    assignees. Please consult the <a href="../">official Apache
+    Server documentation</a> to verify what you read on external
+    sites.</p>
+
+    <h2>Installation &amp; Getting Started</h2>
+
+    <ul>
+
+      <li><a
+      href="http://www.onlamp.com/pub/a/apache/2000/02/24/installing_apache.html">
+      Getting, Installing, and Running Apache (on Unix)</a>
+      (O'Reilly Network Apache DevCenter)</li>
+
+      <li><a
+      href="http://www.builder.com/Servers/Apache/ss01.html">Maximum
+      Apache: Getting Started</a> (CNET Builder.com)</li>
+
+      <li><a
+      href="http://www.devshed.com/Server_Side/Administration/APACHE/">
+      How to Build the Apache of Your Dreams</a> (Developer
+      Shed)</li>
+
+      <li><a
+      href="http://apache-server.com/tutorials/ATgetting-started.html">Getting
+      Started with Apache 1.3</a> (Ken Coar)</li>
+
+    </ul>
+
+    <h2>Basic Configuration</h2>
+
+    <ul>
+      <li><a
+      href="http://www.onlamp.com/pub/a/apache/2000/03/02/configuring_apache.html">
+      An Amble Through Apache Configuration</a> (O'Reilly Network
+      Apache DevCenter)</li>
+
+      <li><a
+      href="http://www.builder.com/Servers/Apache/ss02.html">Maximum
+      Apache: Configure Apache</a> (CNET Builder.com)</li>
+
+      <li><a
+      href="http://www.melonfire.com/community/columns/trog/article.php?id=41">
+      Getting More Out of Apache</a> (Melonfire)</li>
+
+      <li><a
+      href="http://apache-server.com/tutorials/ATusing-htaccess.html">Using
+      .htaccess Files with Apache</a> (Ken Coar)</li>
+
+    </ul>
+
+    <h2>Security</h2>
+
+    <ul>
+      <li><a
+      href="http://www.linuxplanet.com/linuxplanet/tutorials/1527/1/">
+      Security and Apache: An Essential Primer</a>
+      (LinuxPlanet)</li>
+
+      <li><a
+      href="http://www.apacheweek.com/features/userauth">Using User
+      Authentication</a> (Apacheweek)</li>
+
+      <li><a href="http://www.apacheweek.com/features/dbmauth">DBM
+      User Authentication</a> (Apacheweek)</li>
+
+      <li><a
+      href="http://linux.com/security/newsitem.phtml?sid=12&amp;aid=3549">
+      An Introduction to Securing Apache</a> (Linux.com)</li>
+
+      <li><a
+      href="http://linux.com/security/newsitem.phtml?sid=12&amp;aid=3667">
+      Securing Apache - Access Control</a> (Linux.com)</li>
+
+      <li><a
+      href="http://apache-server.com/tutorials/LPsuexec.html">Using
+      Apache with suexec on Linux</a> (Ken Coar)</li>
+
+    </ul>
+
+    <h2>Logging</h2>
+
+    <ul>
+      <li><a
+      href="http://www.onlamp.com/pub/a/apache/2000/03/10/log_rhythms.html">
+      Log Rhythms</a> (O'Reilly Network Apache DevCenter)</li>
+
+      <li><a
+      href="http://www.apacheweek.com/features/logfiles">Gathering
+      Visitor Information: Customising Your Logfiles</a>
+      (Apacheweek)</li>
+
+    </ul>
+
+    <h2>CGI and SSI</h2>
+
+    <ul>
+
+      <li><a
+      href="http://www.cpan.org/doc/FAQs/cgi/idiots-guide.html">
+      The Idiot's Guide to Solving Perl CGI Problems</a>
+      (CPAN)</li>
+
+      <li><a
+      href="http://www.linuxplanet.com/linuxplanet/tutorials/1445/1/">
+      Executing CGI Scripts as Other Users</a> (LinuxPlanet)</li>
+
+      <li><a href="http://www.htmlhelp.org/faq/cgifaq.html">CGI
+      Programming FAQ</a> (Web Design Group)</li>
+
+      <li><a
+      href="http://www.builder.com/Servers/ApacheFiles/082400/">Setting
+      up CGI and SSI with Apache</a> (CNET Builder.com)</li>
+
+      <li><a
+      href="http://www.opendeveloper.org/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=1&page=1">How
+      to Set Up Server Side Includes in Apache</a> (OpenDeveloper.org)</li>
+    </ul>
+
+    <h2>Other Features</h2>
+
+    <ul>
+      <li><a
+      href="http://www.apacheweek.com/features/negotiation">Content
+      Negotiation Explained</a> (Apacheweek)</li>
+
+      <li><a
+      href="http://www.apacheweek.com/features/imagemaps">Using
+      Apache Imagemaps</a> (Apacheweek)</li>
+
+      <li><a
+      href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language
+      Negotiation Notes</a> (Alan J. Flavell)</li>
+
+      <li><a
+      href="http://apache-server.com/tutorials/ATimage-theft.html">Preventing
+      Image 'Theft'</a> (Ken Coar)</li>
+    </ul>
+
+    <p>If you have a pointer to an accurate and well-written
+    tutorial not included here, please let us know by submitting it
+    to the <a href="http://bugs.apache.org/">Apache Bug
+    Database</a>. <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/vif-info.html b/htdocs/manual/misc/vif-info.html
new file mode 100644 (file)
index 0000000..df68331
--- /dev/null
@@ -0,0 +1,398 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Configuring Multiple IP Addresses</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Configuring Multiple IP Addresses</h1>
+<pre>
+This material is originally from John Ioannidis (ji@polaris.ctr.columbia.edu)
+I have condensed it some and applied some corrections for SunOS 4.1.x
+courtesy of Chuck Smoko (csmoko@relay.nswc.navy.mil).
+
+Bob Baggerman  (bob@bizweb.com)
+12 Jan 94
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+John Ionnidis writes:
+
+This is a topic that comes up once in a while on comp.protocols.tcp-ip
+and other newsgroups. The question is, how to get a machine with one
+network interface to respond to more than one IP addresses.
+
+I have a solution than might suit you.  For my doctoral work (there's
+a paper about it in this year's ('91) SIGCOMM, also available for
+anonymous FTP from cs.columbia.edu:/pub/ji/sigcomm*.ps.Z), I've
+developed what I call the "Virtual Interface" (VIF). To the networking
+code, it looks like an interface. It gets ifattach()ed when you open
+the /dev/vif* device, and then you can ifconfig it as you like. It
+does not have an if_input procedure; it only has an if_output. Packets
+that it receives (from higher-level protocols) which have its
+IP address, it simply loops back (like any well-behaved if driver).
+Packets that it receives that are destined for some other address, it
+encapsulates in an encapsulation protocol I call IPIP (IP-within-IP,
+protocol number IPPROTO_IPIP == 94), and sends it to another machine
+that groks that encapsulation protocol. This feature you won't need,
+but here's how to have multiple IP addresses on a machine with a
+single real interface:
+
+Let's say your primary interface's IP address is 198.3.2.1, and you
+also want it to respond to addresses 198.4.3.2 and 198.5.4.3 (note
+that these are three distinct class C addresses in three distinct
+class C nets). Here are the ifconfigs:
+
+  ifconfig le0 198.3.2.1 up -trailers   # config primary interface
+
+  ifconfig vif0 198.4.3.2 up            # config first virtual interface
+  route delete net 198.4.3 198.4.3.2    # delete spurious route
+  route add host 198.4.3.2 198.4.3.2 0  # add route for this i/f
+
+  ifconfig vif1 198.5.4.3 up            # config second virtual interface
+  route delete net 198.5.4 198.5.4.3    # delete spurious route
+  route add host 198.5.4.3 198.5.4.3 0  # add route for this i/f
+
+The route deletes are needed because the ifconfig creates a default
+route to the interface's network, which can cause problems; all that's
+needed is the (host) route to the interface's address.
+
+Now, get le0's ethernet address (say, 8:0:20:3:2:1), and add the
+following static ARP entries:
+
+  arp -s 198.4.3.2 8:0:20:3:2:1 pub
+  arp -s 198.5.4.3 8:0:20:3:2:1 pub
+
+This will cause any ARP requests for the VIF addresses to be replied
+with your machine's ethernet address.
+
+Now, make sure your default route is to your segment's gateway,
+through the real interface. Finally, make sure your routers and/or
+hosts on the same segment as yours know that 198.4.3.2 and 198.5.4.3
+are on that cable.
+
+Here's what you've accomplished.
+
+ARP requests for any of your host's addresses will be replied to with
+the host's ethernet address (the real one, because that's what it is,
+the virtual ones because of the public static arp entries). Packets
+reaching your host with any of these addresses will be accepted by the
+ip_input routine because they match the address of one of the host's
+interfaces. Packets leaving your host can have any of its addresses
+(real and virtual).
+
+The code for vif follows. To use it, put the stuff in netinet/if_vif.c
+and netinet/if_vif.h, configure your kernel with the number of
+virtual interfaces you want using a line like:
+
+pseudo-device   vif4            # Virtual IP interface
+
+in your configuration file, and the line
+
+netinet/if_vif.c        optional vif device-driver
+
+in the "files" file. Also, add the appropriate entries in conf.c, so
+that you can access the if_attach() routine when you open the device:
+
+
+-------------------------- conf.c------------------------------------------
+
+add this in the appropriate place in the headers of conf.c:
+
+--------------------
+#include "vif.h"
+#if NVIF &gt; 0
+int     vifopen(), vifclose(), vifread(), vifwrite(), vifselect(), vifioctl();
+#else
+#define vifopen         nodev
+#define vifclose        nodev
+#define vifread         nodev
+#define vifwrite        nodev
+#define vifselect       nodev
+#define vifioctl        nodev
+#endif
+--------------------
+
+then, way down in the definition for cdevsw[]:
+
+--------------------
+        vifopen,        vifclose,       vifread,        vifwrite,       /*14*/
+        vifioctl,       nodev,          nodev,          0,
+        0,      nodev,
+--------------------
+
+Make sure you remember the correct major device number, 14 in this case!
+
+---------------------------------------------------------------------------
+
+Finally, here's the code. It has the tunneling pieces removed (you
+need more code to use that anyway), and it comes from a Mach 2.6
+kernel; it should compile on any Berkeley-derived unix with minor
+changes (most likely only in the includes).
+
+---------------------netinet/if_vif.h--------------------------------------
+typedef struct
+{
+        struct ifnet    vif_if;
+        struct ifnet    *vif_sif;       /* slave interface */
+        int             vif_flags;
+} vif_softc_t;
+
+#define VIFMTU  (1024+512)
+---------------------------------------------------------------------------
+
+and
+
+---------------------netinet/if_vif.c--------------------------------------
+/*
+ * Virtual IP interface module.
+ */
+
+#include "param.h"
+#include "../sys/systm.h"
+#include "../sys/mbuf.h"
+#include "../sys/socket.h"
+#include "../sys/errno.h"
+#include "../sys/ioctl.h"
+
+#include "../net/if.h"
+#include "../net/netisr.h"
+#include "../net/route.h"
+
+#ifdef  INET
+#include "../netinet/in.h"
+#include "../netinet/in_systm.h"
+#include "../netinet/in_var.h"
+#include "../netinet/ip.h"
+#endif
+
+#include "in_pcb.h"
+#include "vif.h"
+
+typedef struct
+{
+        struct ifnet    vif_if;
+        struct ifnet    *vif_sif;       /* slave interface */
+        int             vif_flags;
+} vif_softc_t;
+
+#define VIFMTU  (1024+512)
+
+vif_softc_t vif_softc[NVIF];
+
+int vifs_inited = 0;
+
+
+vifattach()
+{
+        register int i;
+        register struct ifnet *ifp;
+        int     vifoutput(), vififioctl();
+
+        for (i=0; i&lt;NVIF; i++)
+        {
+                ifp = &amp;vif_softc[i].vif_if;
+                ifp-&gt;if_name = "vif";
+                ifp-&gt;if_unit = i;
+                ifp-&gt;if_mtu = VIFMTU;
+                ifp-&gt;if_flags = IFF_LOOPBACK | IFF_NOARP;
+                ifp-&gt;if_ioctl = vififioctl;
+                ifp-&gt;if_output = vifoutput;
+                if_attach(ifp);
+        }
+}
+
+vifopen(dev, flag)
+int dev, flag;
+{
+        int unit;
+
+        if (!vifs_inited)
+        {
+                vifattach();
+                vifs_inited = 1;
+                printf("vif initialized\n");
+        }
+
+        unit = minor(dev);
+        if ((unit &lt; 0) || (unit &gt;= NVIF))
+        {
+                return ENXIO;
+        }
+
+        return 0;
+}
+
+vifclose(dev, flag)
+int dev, flag;
+{
+        return 0;
+}
+
+vifread()
+{
+        return ENXIO;
+}
+
+vifwrite()
+{
+        return ENXIO;
+}
+
+vifselect()
+{
+        return ENXIO;
+}
+
+vifoutput(ifp, m0, dst)
+        struct ifnet *ifp;
+        register struct mbuf *m0;
+        struct sockaddr *dst;
+{
+        int s;
+        register struct ifqueue *ifq;
+        struct mbuf *m;
+        struct sockaddr_in *din;
+
+        if (dst-&gt;sa_family != AF_INET)
+        {
+                printf("%s%d: can't handle af%d\n",
+                       ifp-&gt;if_name, ifp-&gt;if_unit,
+                       dst-&gt;sa_family);
+                m_freem(m0);
+                return (EAFNOSUPPORT);
+        }
+
+        din = (struct sockaddr_in *)dst;
+
+        if (din-&gt;sin_addr.s_addr == IA_SIN(ifp-&gt;if_addrlist)-&gt;sin_addr.s_addr)
+        {
+                /* printf("%s%d: looping\n", ifp-&gt;if_name, ifp-&gt;if_unit); */
+
+                /*
+                 * Place interface pointer before the data
+                 * for the receiving protocol.
+                 */
+                if (m0-&gt;m_off &lt;= MMAXOFF &amp;&amp;
+                    m0-&gt;m_off &gt;= MMINOFF + sizeof(struct ifnet *)) {
+                        m0-&gt;m_off -= sizeof(struct ifnet *);
+                        m0-&gt;m_len += sizeof(struct ifnet *);
+                } else {
+                        MGET(m, M_DONTWAIT, MT_HEADER);
+                        if (m == (struct mbuf *)0)
+                          return (ENOBUFS);
+                        m-&gt;m_off = MMINOFF;
+                        m-&gt;m_len = sizeof(struct ifnet *);
+                        m-&gt;m_next = m0;
+                        m0 = m;
+                }
+                *(mtod(m0, struct ifnet **)) = ifp;
+                s = splimp();
+                ifp-&gt;if_opackets++;
+                ifq = &amp;ipintrq;
+                if (IF_QFULL(ifq)) {
+                        IF_DROP(ifq);
+                        m_freem(m0);
+                        splx(s);
+                        return (ENOBUFS);
+                }
+                IF_ENQUEUE(ifq, m0);
+                schednetisr(NETISR_IP);
+                ifp-&gt;if_ipackets++;
+                splx(s);
+                return (0);
+        }
+
+        return EHOSTUNREACH;
+}
+
+/*
+ * Process an ioctl request.
+ */
+/* ARGSUSED */
+vififioctl(ifp, cmd, data)
+        register struct ifnet *ifp;
+        int cmd;
+        caddr_t data;
+{
+        int error = 0;
+
+        switch (cmd) {
+
+        case SIOCSIFADDR:
+                ifp-&gt;if_flags |= IFF_UP;
+                /*
+                 * Everything else is done at a higher level.
+                 */
+                break;
+
+        default:
+                error = EINVAL;
+        }
+        return (error);
+}
+
+vifioctl(dev, cmd, arg, mode)
+dev_t dev;
+int cmd;
+caddr_t arg;
+int mode;
+{
+        int unit;
+
+        unit = minor(dev);
+        if ((unit &lt; 0) || (unit &gt;= NVIF))
+          return ENXIO;
+
+        return EINVAL;
+}
+----------------------------------------------------------------------------
+
+To use it, compile your kernel, and reboot. Then create the vif
+device:
+
+# mknod /dev/vif c 14 0
+
+(or whatever major number it ended up being), and echo something into
+it:
+
+# echo &gt; /dev/vif
+
+This will cause the device to be opened, which will if_attach the
+interfaces. If you feel like playing with the code, you may want to
+kmem_alloc() the vif_softc structure at open time, and use the minor
+number of the device to tell it how many interfaces to create.
+
+Now you can go ahead and ifconfig <em>etc.</em>
+
+I'll be happy to answer minor questions, and hear about success and
+failure stories, but I cannot help you if you don't already know how
+to hack kernels.
+
+Good luck!
+
+/ji
+
+In-Real-Life: John "Heldenprogrammer" Ioannidis
+E-Mail-To: ji@cs.columbia.edu
+V-Mail-To: +1 212 854 8120
+P-Mail-To: 450 Computer Science \n Columbia University \n New York, NY 10027
+</pre>
+
+    <p>Note: there is also a <a
+    href="http://www.multihost.com/">commercial-product-turned-freeware
+    called "Col. Patch"</a> which does this as a loadable kernel
+    module for SunOS 4.1.3_U1.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/misc/windoz_keepalive.html b/htdocs/manual/misc/windoz_keepalive.html
new file mode 100644 (file)
index 0000000..80a80f5
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>MS Windows Netscape 3.0b4 KeepAlive problem
+    solved</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">HTTP/1.1 KeepAlive problems with Netscape
+    3.0</h1>
+<pre>
+Date: Mon, 1 Jul 1996 16:03:06 -0700 (PDT)
+From: Alexei Kosut &lt;akosut@organic.com&gt;
+To: Apache Group
+Subject: Re: keepalive and windoze
+
+Good news and good news (of a sort)..
+
+I was able to snag a Windows 95 machine here at Organic, and tried out
+some things:
+
+1) On Netscape 3.0b4, I was able to reproduce the bug, each and every
+time. It's really simple: go to the Network Setup panel. Set it to
+"Connect Every Time" and only let it have 1 connection at once (this may
+not be necessary, but it's helpful). Then load an image that's
+kept-alive. Then wait until the connection times out (this depends on the
+server - 10-30 seconds, except for MIIS, which never times out, near as I
+can tell). Then hit reload. It will hang. (actually, once it crashed).
+
+2) This happens with all forms of server. Apache 1.1, Netscape 2.0,
+Spyglass 1.2, NCSA 1.5 (although, as stated, I couldn't test MIIS).
+
+3) Netscape 3.0b5 does, indeed, *not* have this bug. At least, I couldn't
+get it to perform such. Yipee.
+
+So, we just put up a note on the web page. Make sure we say that all the
+servers have the bug, it's a Windows bug, and Netscape Navigator 3.0b5
+works around it. That way, no one can yell at us. Yes?
+
+-- Alexei Kosut &lt;akosut@organic.com&gt;            The Apache HTTP Server
+   http://www.nueva.pvt.k12.ca.us/~akosut/      http://www.apache.org/
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/core.html.en b/htdocs/manual/mod/core.html.en
new file mode 100644 (file)
index 0000000..1b3b897
--- /dev/null
@@ -0,0 +1,4217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Core Features</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache Core Features</h1>
+
+    <p>These configuration parameters control the core Apache
+    features, and are always available.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#acceptfilter">AcceptFilter</a></li>
+
+      <li><a href="#acceptmutex">AcceptMutex</a></li>
+
+      <li><a href="#accessconfig">AccessConfig</a></li>
+
+      <li><a href="#accessfilename">AccessFileName</a></li>
+
+      <li><a href="#adddefaultcharset">AddDefaultCharset</a></li>
+
+      <li><a href="#addmodule">AddModule</a></li>
+
+      <li><a href="#allowoverride">AllowOverride</a></li>
+
+      <li><a href="#authname">AuthName</a></li>
+
+      <li><a href="#AuthDigestRealmSeed">AuthDigestRealmSeed</a></li>
+
+      <li><a href="#authtype">AuthType</a></li>
+
+      <li><a href="#bindaddress">BindAddress</a></li>
+
+      <li><a href="#bs2000account">BS2000Account</a></li>
+
+      <li><a href="#cgicommandargs">CGICommandArgs</a></li>
+
+      <li><a href="#clearmodulelist">ClearModuleList</a></li>
+
+      <li><a href="#contentdigest">ContentDigest</a></li>
+
+      <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+      <li><a href="#defaulttype">DefaultType</a></li>
+
+      <li><a href="#directory">&lt;Directory&gt;</a></li>
+
+      <li><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+      <li><a href="#documentroot">DocumentRoot</a></li>
+
+      <li><a href="#ebcdicconvert">EBCDICConvert</a></li>
+
+      <li><a
+      href="#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+      <li><a href="#ebcdickludge">EBCDICKludge</a></li>
+
+      <li><a href="#enableexceptionhook">EnableExceptionHook</a></li>
+
+      <li><a href="#errordocument">ErrorDocument</a></li>
+
+      <li><a href="#errorlog">ErrorLog</a></li>
+
+      <li><a href="#fileetag">FileETag</a></li>
+
+      <li><a href="#files">&lt;Files&gt;</a></li>
+
+      <li><a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+      <li><a href="#group">Group</a></li>
+
+      <li><a href="#hostnamelookups">HostnameLookups</a></li>
+
+      <li><a href="#identitycheck">IdentityCheck</a></li>
+
+      <li><a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+
+      <li><a href="#ifmodule">&lt;IfModule&gt;</a></li>
+
+      <li><a href="#include">Include</a></li>
+
+      <li><a href="#keepalive">KeepAlive</a></li>
+
+      <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+
+      <li><a href="#limit">&lt;Limit&gt;</a></li>
+
+      <li><a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+      <li><a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
+
+      <li><a href="#limitrequestbody">LimitRequestBody</a></li>
+
+      <li><a href="#limitrequestfields">LimitRequestFields</a></li>
+
+      <li><a
+      href="#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+      <li><a href="#limitrequestline">LimitRequestLine</a></li>
+
+      <li><a href="#listen">Listen</a></li>
+
+      <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+      <li><a href="#location">&lt;Location&gt;</a></li>
+
+      <li><a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+      <li><a href="#lockfile">LockFile</a></li>
+
+      <li><a href="#loglevel">LogLevel</a></li>
+
+      <li><a href="#maxclients">MaxClients</a></li>
+
+      <li><a
+      href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+      <li><a
+      href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+      <li><a href="#maxspareservers">MaxSpareServers</a></li>
+
+      <li><a href="#minspareservers">MinSpareServers</a></li>
+
+      <li><a href="#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="#options">Options</a></li>
+
+      <li><a href="#pidfile">PidFile</a></li>
+
+      <li><a href="#port">Port</a></li>
+
+      <li><a href="#protocolreqcheck">ProtocolReqCheck</a></li>
+
+      <li><a href="#require">Require</a></li>
+
+      <li><a href="#resourceconfig">ResourceConfig</a></li>
+
+      <li><a href="#rlimitcpu">RLimitCPU</a></li>
+
+      <li><a href="#rlimitmem">RLimitMEM</a></li>
+
+      <li><a href="#rlimitnproc">RLimitNPROC</a></li>
+
+      <li><a href="#satisfy">Satisfy</a></li>
+
+      <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+      <li><a
+      href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+      <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+      <li><a href="#serveradmin">ServerAdmin</a></li>
+
+      <li><a href="#serveralias">ServerAlias</a></li>
+
+      <li><a href="#servername">ServerName</a></li>
+
+      <li><a href="#serverpath">ServerPath</a></li>
+
+      <li><a href="#serverroot">ServerRoot</a></li>
+
+      <li><a href="#serversignature">ServerSignature</a></li>
+
+      <li><a href="#servertokens">ServerTokens</a></li>
+
+      <li><a href="#servertype">ServerType</a></li>
+
+      <li><a href="#shmemuidisuser">ShmemUIDisUser</a></li>
+
+      <li><a href="#startservers">StartServers</a></li>
+
+      <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+      <li><a href="#threadstacksize">ThreadStackSize</a></li>
+
+      <li><a href="#timeout">TimeOut</a></li>
+
+      <li><a href="#usecanonicalname">UseCanonicalName</a></li>
+
+      <li><a href="#user">User</a></li>
+
+      <li><a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="acceptfilter" name="acceptfilter">AcceptFilter
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AcceptFilter
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AcceptFilter
+    on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br /> 
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> AcceptFilter is
+    available in Apache 1.3.22 and later
+    <p><code>AcceptFilter</code> controls a BSD specific filter
+    optimization. It is compiled in by default - and switched on by
+    default if your system supports it (setsocketopt() option
+    SO_ACCEPTFILTER). Currently only FreeBSD supports this.</p>
+
+    <p>See the filter section on <a
+    href="../misc/perf-bsd44.html">performance hints</a> for more
+    information.</p>
+
+    <p>The compile time flag <code>AP_ACCEPTFILTER_OFF</code> can
+    be used to change the default to 'off'. <code>httpd -V</code>
+    and <code>httpd -L</code> will show compile time defaults and
+    whether or not SO_ACCEPTFILTER was defined during the
+    compile.</p>
+
+    <hr />
+
+    <h2><a id="acceptmutex" name="acceptmutex">AcceptMutex
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AcceptMutex
+    uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AcceptMutex
+    default</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> AcceptMutex is 
+    available in Apache 1.3.21 and later.
+
+    <p><code>AcceptMutex</code> controls which accept() mutex
+    method Apache will use. Not all methods are available on all
+    platforms, since the suite of methods is determined at
+    compile-time. For a list of which methods are available for
+    your particular build, the <code>httpd -V</code> command line
+    option will list them out.</p>
+
+    <p>The compile time flags <code>-D
+    HAVE_METHOD_SERIALIZED_ACCEPT</code> can be used to add
+    different methods to your build, or one can edit the
+    <code>include/ap_config.h</code> file for your particular
+    platform.</p>
+
+    <p>This directive has no effect on Microsoft Windows.</p>
+
+    <p>See the <a href="../misc/perf-tuning.html">performance tuning
+    guide</a> for more information.</p>
+
+    <hr />
+
+    <h2><a id="accessconfig" name="accessconfig">AccessConfig
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AccessConfig
+    <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AccessConfig
+    conf/access.conf</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> The ability to
+    specify a directory, rather than a file name, is only available in
+    Apache 1.3.13 and later.  This directive will be eliminated in version
+    2.0.
+
+    <p>The server will read this file for more directives after
+    reading the <a href="#resourceconfig">ResourceConfig</a> file.
+    <em>File-path</em> is relative to the <a
+    href="#serverroot">ServerRoot</a>. This feature can be disabled
+    using:</p>
+
+    <blockquote>
+      <code>AccessConfig /dev/null</code>
+    </blockquote>
+    Or, on Win32 servers, 
+
+    <blockquote>
+      <code>AccessConfig nul</code>
+    </blockquote>
+    Historically, this file only contained <a
+    href="#directory">&lt;Directory&gt;</a> sections; in fact it
+    can now contain any server directive allowed in the <em>server
+    config</em> context. However, since Apache version 1.3.4,
+    the default <code>access.conf</code> file which ships with 
+    Apache contains only comments, and all directives are placed
+    in the main server configuration file, <code>httpd.conf</code>.
+
+    <p>If <code>AccessConfig</code> points to a directory, rather than a
+    file, Apache will read all files in that directory, and any
+    subdirectory, and parse those as configuration files. 
+    </p>
+    <p>Alternatively you can use a wildcard to limit the scope; i.e
+    to only *.conf files.
+    </p>
+    <p>Note that by default <em>any</em> file in the specified 
+    directory will be loaded as a configuration file.
+    </p>
+    <p>
+    So make sure that you don't have stray files in
+    this directory by mistake, such as temporary files created by your
+    editor, for example.</p>
+
+    <p><strong>See also:</strong> <a href="#include">Include</a> and <a
+    href="#resourceconfig">ResourceConfig</a>.</p>
+    <hr />
+
+    <h2><a id="accessfilename" name="accessfilename">AccessFileName
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AccessFileName
+    <em>filename</em> [<em>filename</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AccessFileName
+    .htaccess</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> AccessFileName
+    can accept more than one filename only in Apache 1.3 and later 
+
+    <p>When returning a document to the client the server looks for
+    the first existing access control file from this list of names
+    in every directory of the path to the document, if access
+    control files are enabled for that directory. For example:</p>
+
+    <blockquote>
+      <code>AccessFileName .acl</code>
+    </blockquote>
+    before returning the document /usr/local/web/index.html, the
+    server will read /.acl, /usr/.acl, /usr/local/.acl and
+    /usr/local/web/.acl for directives, unless they have been
+    disabled with 
+
+    <blockquote>
+      <code>&lt;Directory /&gt;<br />
+       AllowOverride None<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p><strong>See Also:</strong> <a
+    href="#allowoverride">AllowOverride</a> and <a
+    href="../configuring.html">Configuration Files</a></p>
+    <hr />
+
+    <h2><a id="adddefaultcharset"
+    name="adddefaultcharset">AddDefaultCharset directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddDefaultCharset
+    On|Off|<em>charset</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> all<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AddDefaultCharset Off</code><br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    AddDefaultCharset is only available in Apache 1.3.12 and later 
+
+    <p>This directive specifies the name of the character set that
+    will be added to any response that does not have any parameter
+    on the content type in the HTTP headers. This will override any
+    character set specified in the body of the document via a
+    <code>META</code> tag. A setting of <code>AddDefaultCharset
+    Off</code> disables this functionality. <code>AddDefaultCharset
+    On</code> enables Apache's internal default charset of
+    <code>iso-8859-1</code> as required by the directive. You can
+    also specify an alternate <em>charset</em> to be used.</p>
+    
+    <p>For example:</p>
+
+    <blockquote>
+    <code>AddDefaultCharset utf-8</code>
+    </blockquote>
+
+    <p><b>Note:</b> This will <b>not</b> have any effect on the
+    Content-Type and character set for default Apache-generated
+    status pages (such as '404 Not Found' or '301 Moved Permanently')
+    because those have an <i>actual</i> character set (that in which the
+    hard-coded page content is written) and don't need to have a default
+    applied.</p>
+
+    <hr />
+
+    <h2><a id="addmodule" name="addmodule">AddModule
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddModule
+    <em>module</em> [<em>module</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> AddModule is
+    only available in Apache 1.2 and later 
+
+    <p>The server can have modules compiled in which are not
+    actively in use. This directive can be used to enable the use
+    of those modules. The server comes with a pre-loaded list of
+    active modules; this list can be cleared with the <a
+    href="#clearmodulelist">ClearModuleList</a> directive.</p>
+
+    <p>For example:</p>
+
+    <blockquote>
+    <code>AddModule mod_include.c</code>
+    </blockquote>
+
+    <p>The ordering of <code>AddModule</code> lines is important.
+    Modules are listed in reverse priority order --- the ones that come
+    later can override the behavior of those that come earlier.  This
+    can have visible effects; for instance, if UserDir followed Alias,
+    you couldn't alias out a particular user's home directory.  For
+    more information and a recommended ordering, see 
+    <code>src/Configuration.tmpl</code> in the Apache source
+    distribution.</p>
+
+    <p><strong>See also</strong>: <a
+    href="#clearmodulelist">ClearModuleList</a> and <a
+    href="mod_so.html#loadmodule">LoadModule</a></p>
+    <hr />
+
+    <h2><a id="allowoverride" name="allowoverride">AllowOverride
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AllowOverride
+    All|None|<em>directive-type</em> [<em>directive-type</em>]
+    ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AllowOverride
+    All</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>When the server finds an .htaccess file (as specified by <a
+    href="#accessfilename">AccessFileName</a>) it needs to know
+    which directives declared in that file can override earlier
+    access information.</p>
+
+    <p><strong>Note:</strong> <code>AllowOverride</code> is only
+    valid in &lt;Directory&gt; sections, not in &lt;Location&gt; or
+    &lt;Files&gt; sections, as implied by the <strong>Context</strong>
+    section above.</p>
+
+    <p>When this directive is set to <code>None</code>, then
+    .htaccess files are completely ignored. In this case, the
+    server will not even attempt to read .htaccess files in the
+    filesystem.</p>
+
+    <p>When this directive is set to <code>All</code>, then any
+    directive which has the .htaccess <a
+    href="directive-dict.html#Context">Context</a> is allowed in
+    .htaccess files.</p>
+
+    <p>The <em>directive-type</em> can be one of the following
+    groupings of directives.</p>
+
+    <dl>
+      <dt>AuthConfig</dt>
+
+      <dd>
+
+      Allow use of the authorization directives (<a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>,
+      <a
+      href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>,
+      <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+      href="#authname">AuthName</a>, <a
+      href="#AuthDigestRealmSeed">AuthDigestRealmSeed</a>, <a
+      href="#authtype">AuthType</a>, <a
+      href="mod_auth.html#authuserfile">AuthUserFile</a>, <a
+      href="#require">Require</a>, <em>etc.</em>).</dd>
+
+      <dt>FileInfo</dt>
+
+      <dd>
+      Allow use of the directives controlling document types (<a
+      href="mod_mime.html#addencoding">AddEncoding</a>, <a
+      href="mod_mime.html#addlanguage">AddLanguage</a>, <a
+      href="mod_mime.html#addtype">AddType</a>, <a
+      href="#defaulttype">DefaultType</a>, <a
+      href="#errordocument">ErrorDocument</a>, <a
+      href="mod_negotiation.html#languagepriority">LanguagePriority</a>,
+      <em>etc.</em>).</dd>
+
+      <dt>Indexes</dt>
+
+      <dd>
+      Allow use of the directives controlling directory indexing
+      (<a
+      href="mod_autoindex.html#adddescription">AddDescription</a>,
+      <a href="mod_autoindex.html#addicon">AddIcon</a>, <a
+      href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>,
+      <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>,
+      <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a
+      href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a
+      href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a
+      href="mod_autoindex.html#headername">HeaderName</a>, <a
+      href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a
+      href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a
+      href="mod_autoindex.html#readmename">ReadmeName</a>,
+      <em>etc.</em>).</dd>
+
+      <dt>Limit</dt>
+
+      <dd>
+      Allow use of the directives controlling host access (<a
+      href="mod_access.html#allow">Allow</a>,
+      <a href="mod_access.html#deny">Deny</a>
+      and <a href="mod_access.html#order">Order</a>).</dd>
+
+      <dt>Options</dt>
+
+      <dd>
+      Allow use of the directives controlling specific directory
+      features (<a href="#options">Options</a> and <a
+      href="mod_include.html#xbithack">XBitHack</a>).</dd>
+    </dl>
+
+    <p>Example:</p>
+    <blockquote><code>AllowOverride AuthConfig Indexes</code></blockquote>
+
+    <p><strong>See Also:</strong> <a
+    href="#accessfilename">AccessFileName</a> and <a
+    href="../configuring.html">Configuration Files</a></p>
+    <hr />
+
+    <h2><a id="authname" name="authname">AuthName
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthName
+    <em>auth-domain</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>This directive sets the name of the authorization realm for
+    a directory. This realm is given to the client so that the user
+    knows which username and password to send.
+    <samp>AuthName</samp> takes a single argument; if the realm
+    name contains spaces, it must be enclosed in quotation marks.
+    It must be accompanied by <a href="#authtype">AuthType</a> and
+    <a href="#require">Require</a> directives, and directives such
+    as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+    work.</p>
+
+    <p>For example:</p>
+
+    <blockquote><code>AuthName "Top Secret"</code></blockquote>
+
+    <p>The string provided for the <code>AuthName</code> is what will
+    appear in the password dialog provided by most browsers.</p>
+
+    <p><strong>See also:</strong> <a
+    href="../howto/auth.html">Authentication, Authorization, and
+    Access Control</a></p>
+    <hr />
+
+    <h2><a id="AuthDigestRealmSeed" name="AuthDigestRealmSeed">AuthDigestRealmSeed
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestRealmSeed
+    <em>secret-real-string</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core
+
+    <p>This directive sets a per realm secret nonce prefix
+    which is used to ensure that a captured username, password
+    and realm string during a Digest exchange cannot
+    be replayed at other places.
+    </p>
+    <p>It only applies to <a href="mod_digest.html">mod_digest.html</a>,
+    the experimental <a href="mod_auth_digest.html">mod_auth_digest.html</a>
+    implements its own (more advanced and also time sensitive) replay protection.
+    </p>
+
+    It must be accompanied by <a href="#authtype">AuthType</a> of
+    type Digest, one or more
+    <a href="#require">Require</a> directives, and directives such
+    as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+    work.</p>
+
+    <p><strong>See also:</strong> <a
+    href="../howto/auth.html">Authentication, Authorization, and
+    Access Control</a></p>
+    <hr />
+
+    <h2><a id="authtype" name="authtype">AuthType
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthType
+    Basic|Digest<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>This directive selects the type of user authentication for a
+    directory. Only <code>Basic</code> and <code>Digest</code> are
+    currently implemented. 
+
+     It must be accompanied by <a href="#authname">AuthName</a> and
+    <a href="#require">Require</a> directives, and directives such
+    as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+    work.</p>
+
+    <p>When AuthDigest is used an <a href="#AuthDigestRealmSeed">AuthDigestRealmSeed</a>
+    should also be set.</p>
+
+    <p><strong>See also:</strong> <a
+    href="../howto/auth.html">Authentication, Authorization, and
+    Access Control</a></p>
+    <hr />
+
+    <h2><a id="bindaddress" name="bindaddress">BindAddress
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BindAddress
+    *|<em>IP-address</em>|<em>domain-name</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>BindAddress
+    *</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> BindAddress is
+    deprecated and will be eliminated in Apache 2.0.
+
+    <p>A Unix&reg; http server can either listen for connections to
+    every IP address of the server machine, or just one IP address
+    of the server machine. If the argument to this directive is *,
+    then the server will listen for connections on every IP
+    address. Otherwise, the server can listen to only a specific
+    <em>IP-address</em> or a fully-qualified Internet
+    <em>domain-name</em>.</p>
+
+    <p>For example:</p>
+
+    <code>BindAddress 192.168.15.48</code><br />
+
+    <p>Only one <code>BindAddress</code> directive can be used.</p>
+    
+    <p>This directive is deprecated and will be eliminated in
+    Apache 2.0.  Equivalent functionality and more control over the
+    address and ports Apache listens to is available using the
+    <code><a href="#listen">Listen</a></code>
+    directive.</p>
+
+    <p><code>BindAddress</code> can be used as an alternative
+    method for supporting <a href="../vhosts/">virtual hosts</a>
+    using multiple independent servers, instead of using <code><a
+    href="#virtualhost">&lt;VirtualHost&gt;</a></code>
+    sections.</p>
+
+    <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+    Issues</a><br />
+     <strong>See Also:</strong> <a href="../bind.html">Setting
+    which addresses and ports Apache uses</a></p>
+    <hr />
+
+    <h2><a id="bs2000account" name="bs2000account">BS2000Account
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BS2000Account
+    <em>account</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> BS2000Account is
+    only available for BS2000 machines, as of Apache 1.3 and later.
+    
+
+    <p>The <code>BS2000Account</code> directive is available for
+    BS2000 hosts only. It must be used to define the account number
+    for the non-privileged apache server user (which was configured
+    using the <a href="#user">User</a> directive). This is required
+    by the BS2000 POSIX subsystem (to change the underlying BS2000
+    task environment by performing a sub-LOGON) to prevent CGI
+    scripts from accessing resources of the privileged account
+    which started the server, usually <samp>SYSROOT</samp>.<br />
+     Only one <code>BS2000Account</code> directive can be used.</p>
+
+    <p><strong>See Also:</strong> <a href="../ebcdic.html">Apache
+    EBCDIC port</a></p>
+    <hr />
+
+    <h2><a id="cgicommandargs" name="cgicommandargs">CGICommandArgs
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CGICommandArgs On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> CGICommandArgs On<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in Apache
+       1.3.24 and later.
+
+    <p>Way back when the internet was a safer, more naive place, it
+    was convenient for the server to take a query string that did not
+    contain an '=' sign and to parse and pass it to a CGI program as
+    command line args.  For example, <code>&lt;IsIndex&gt;</code>
+    generated searches often work in this way.  The default behavior
+    in Apache is to maintain this behavior for backwards
+    compatibility, although it is generally regarded as unsafe
+    practice today.  Most CGI programs do not take command line
+    parameters, but among those that do, many are unaware of this
+    method of passing arguments and are therefore vulnerable to
+    malicious clients passing unsafe material in this way. Setting
+    <code>CGICommandArgs Off</code> is recommended to protect such
+    scripts with little loss in functionality.</p>
+
+    <hr />
+
+    <h2><a id="clearmodulelist"
+    name="clearmodulelist">ClearModuleList directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ClearModuleList<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ClearModuleList
+    is only available in Apache 1.2 and later 
+
+    <p>The server comes with a built-in list of active modules.
+    This directive clears the list. It is assumed that the list
+    will then be re-populated using the <a
+    href="#addmodule">AddModule</a> directive.</p>
+
+    <p><strong>See also</strong>: <a
+    href="#addmodule">AddModule</a> and <a
+    href="mod_so.html#loadmodule">LoadModule</a></p>
+    <hr />
+
+    <h2><a id="contentdigest" name="contentdigest">ContentDigest
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ContentDigest
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ContentDigest
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> experimental<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ContentDigest is
+    only available in Apache 1.1 and later 
+
+    <p>This directive enables the generation of
+    <code>Content-MD5</code> headers as defined in RFC1864
+    respectively RFC2068.</p>
+
+    <p>MD5 is an algorithm for computing a "message digest"
+    (sometimes called "fingerprint") of arbitrary-length data, with
+    a high degree of confidence that any alterations in the data
+    will be reflected in alterations in the message digest.</p>
+
+    <p>The <code>Content-MD5</code> header provides an end-to-end
+    message integrity check (MIC) of the entity-body. A proxy or
+    client may check this header for detecting accidental
+    modification of the entity-body in transit. Example header:</p>
+<pre>
+   Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+</pre>
+
+    <p>Note that this can cause performance problems on your server
+    since the message digest is computed on every request (the
+    values are not cached).</p>
+
+    <p><code>Content-MD5</code> is only sent for documents served
+    by the core, and not by any module. For example, SSI documents,
+    output from CGI scripts, and byte range responses do not have
+    this header.</p>
+    <hr />
+
+    <h2><a id="coredumpdirectory"
+    name="coredumpdirectory">CoreDumpDirectory directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CoreDumpDirectory
+    <em>directory-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> the same location as
+    ServerRoot<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>This controls the directory to which Apache attempts to
+    switch before dumping core. The default is in the <a
+    href="#serverroot">ServerRoot</a> directory, however since this
+    should not be writable by the user the server runs as, core
+    dumps won't normally get written. If you want a core dump for
+    debugging, you can use this directive to place it in a
+    different location.</p>
+
+    <p>For example:</p>
+
+    <blockquote>
+    <code>CoreDumpDirectory /tmp</code>
+    </blockquote>
+
+    <hr />
+
+    <h2><a id="defaulttype" name="defaulttype">DefaultType
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> DefaultType
+    <em>MIME-type</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>DefaultType
+    text/plain</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>There will be times when the server is asked to provide a
+    document whose type cannot be determined by its MIME types
+    mappings.</p>
+
+    <p>The server must inform the client of the content-type of the
+    document, so in the event of an unknown type it uses the
+    <code>DefaultType</code>. For example:</p>
+
+    <blockquote>
+      <code>DefaultType image/gif</code>
+    </blockquote>
+    would be appropriate for a directory which contained many gif
+    images with filenames missing the .gif extension. 
+
+    <p><strong>See also:</strong> <a
+    href="mod_mime.html#addtype">AddType</a> and <a
+    href="mod_mime.html#typesconfig">TypesConfig</a>.</p>
+
+    <hr />
+
+    <h2><a id="directory" name="directory">&lt;Directory&gt;
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;Directory
+    <em>directory-path</em>|proxy:<em>url-path</em>&gt;
+    ... &lt;/Directory&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core. 
+
+    <p>&lt;Directory&gt; and &lt;/Directory&gt; are used to enclose
+    a group of directives which will apply only to the named
+    directory and sub-directories of that directory. Any directive
+    which is allowed in a directory context may be used.
+    <em>Directory-path</em> is either the full path to a directory,
+    or a wild-card string. In a wild-card string, `?' matches any
+    single character, and `*' matches any sequences of characters.
+    As of Apache 1.3, you may also use `[ ]' character ranges like
+    in the shell. Also as of Apache 1.3 none of the wildcards match
+    a `/' character, which more closely mimics the behavior of
+    Unix shells. Example:</p>
+<pre>
+   &lt;Directory /usr/local/httpd/htdocs&gt;
+   Options Indexes FollowSymLinks
+   &lt;/Directory&gt;
+</pre>
+
+    <p><strong>Apache 1.2 and above:</strong> Extended regular
+    expressions can also be used, with the addition of the
+    <code>~</code> character. For example:</p>
+<pre>
+   &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
+</pre>
+    would match directories in /www/ that consisted of three
+    numbers. 
+
+    <p>If multiple (non-regular expression) directory sections
+    match the directory (or its parents) containing a document,
+    then the directives are applied in the order of shortest match
+    first, interspersed with the directives from the <a
+    href="#accessfilename">.htaccess</a> files. For example,
+    with</p>
+
+    <blockquote>
+      <code>&lt;Directory /&gt;<br />
+       AllowOverride None<br />
+       &lt;/Directory&gt;<br />
+      <br />
+       &lt;Directory /home/*&gt;<br />
+       AllowOverride FileInfo<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+    for access to the document <code>/home/web/dir/doc.html</code>
+    the steps are: 
+
+    <ul>
+      <li>Apply directive <code>AllowOverride None</code>
+      (disabling <code>.htaccess</code> files).</li>
+
+      <li>Apply directive <code>AllowOverride FileInfo</code> (for
+      directory <code>/home/web</code>).</li>
+
+      <li>Apply any FileInfo directives in
+      <code>/home/web/.htaccess</code></li>
+    </ul>
+
+    <p>Regular expression directory sections are handled slightly
+    differently by Apache 1.2 and 1.3. In Apache 1.2 they are
+    interspersed with the normal directory sections and applied in
+    the order they appear in the configuration file. They are
+    applied only once, and apply when the shortest match possible
+    occurs. In Apache 1.3 regular expressions are not considered
+    until after all of the normal sections have been applied. Then
+    all of the regular expressions are tested in the order they
+    appeared in the configuration file. For example, with</p>
+
+    <blockquote>
+      <code>&lt;Directory ~ abc$&gt;<br />
+       ... directives here ...<br />
+       &lt;/Directory&gt;<br />
+      </code>
+    </blockquote>
+    Suppose that the filename being accessed is
+    <code>/home/abc/public_html/abc/index.html</code>. The server
+    considers each of <code>/</code>, <code>/home</code>,
+    <code>/home/abc</code>, <code>/home/abc/public_html</code>, and
+    <code>/home/abc/public_html/abc</code> in that order. In Apache
+    1.2, when <code>/home/abc</code> is considered, the regular
+    expression will match and be applied. In Apache 1.3 the regular
+    expression isn't considered at all at that point in the tree.
+    It won't be considered until after all normal
+    &lt;Directory&gt;s and <code>.htaccess</code> files have been
+    applied. Then the regular expression will match on
+    <code>/home/abc/public_html/abc</code> and be applied. 
+
+    <p><strong>Note that the default Apache access for
+    &lt;Directory /&gt; is <samp>Allow from All</samp>. This means
+    that Apache will serve any file mapped from an URL. It is
+    recommended that you change this with a block such
+    as</strong></p>
+<pre>
+ &lt;Directory /&gt;
+     Order Deny,Allow
+     Deny from All
+ &lt;/Directory&gt;
+</pre>
+
+    <p><strong>and then override this for directories you
+    <em>want</em> accessible. See the <a
+    href="../misc/security_tips.html">Security Tips</a> page for
+    more details.</strong></p>
+    &lt;Directory&gt; directives cannot nest, and cannot appear in
+    a <a href="#limit">&lt;Limit&gt;</a> or <a
+    href="#limitexcept">&lt;LimitExcept&gt;</a> section. 
+
+   <p>If you have <a href="mod_proxy.html">mod_proxy</a> enabled, you
+   can use the <code>proxy:</code> syntax to apply configuration
+   directives to proxied content. The syntax for this is to specify the
+   proxied URLs to which you wish to apply the configuration, or to
+   specify <code>*</code> to apply to all proxied content:</p>
+
+   <p>To apply to all proxied content:</p>
+
+   <pre>
+   &lt;Directory proxy:*&gt;
+     ... directives here ...
+   &lt;/Directory&gt;
+   </pre>
+
+   <p>To apply to just a subset of proxied content:</p>
+
+   <pre>
+   &lt;Directory proxy:http://www.example.com/&gt;
+     ... directives here ...
+   &lt;/Directory&gt;
+   </pre>
+
+    <p><strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received</p>
+    <p><strong>See also</strong>: <a
+    href="#directorymatch">DirectoryMatch</a></p>
+    <hr />
+
+    <h2><a id="directorymatch"
+    name="directorymatch">&lt;DirectoryMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;DirectoryMatch
+    <em>regex</em>&gt; ... &lt;/DirectoryMatch&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core.<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later 
+
+    <p>&lt;DirectoryMatch&gt; and &lt;/DirectoryMatch&gt; are used
+    to enclose a group of directives which will apply only to the
+    named directory and sub-directories of that directory, the same
+    as <a href="#directory">&lt;Directory&gt;</a>. However, it
+    takes as an argument a regular expression. For example:</p>
+<pre>
+   &lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;
+</pre>
+
+    <p>would match directories in /www/ that consisted of three
+    numbers.</p>
+
+    <p><strong>See Also:</strong> <a
+    href="#directory">&lt;Directory&gt;</a> for a description of
+    how regular expressions are mixed in with normal
+    &lt;Directory&gt;s.<br />
+     <strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received</p>
+    <hr />
+
+    <h2><a id="documentroot" name="documentroot">DocumentRoot
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> DocumentRoot
+    <em>directory-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>DocumentRoot
+    /usr/local/apache/htdocs</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>This directive sets the directory from which httpd will
+    serve files. Unless matched by a directive like Alias, the
+    server appends the path from the requested URL to the document
+    root to make the path to the document. Example:</p>
+
+    <blockquote>
+      <code>DocumentRoot /usr/web</code>
+    </blockquote>
+    then an access to
+    <code>http://www.my.host.com/index.html</code> refers to
+    <code>/usr/web/index.html</code>. 
+
+    <p>There appears to be a bug in mod_dir which causes problems
+    when the DocumentRoot has a trailing slash (<em>i.e.</em>,
+    "DocumentRoot /usr/web/") so please avoid that.</p>
+    <hr />
+
+    <h2><a id="ebcdicconvert"
+    name="ebcdicconvert">EBCDICConvert</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> EBCDICConvert
+    On|Off[=<em>direction</em>] <em>extension</em>
+    [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> The configurable
+    EBCDIC conversion is only available in Apache 1.3.19 and later,
+    and on EBCDIC based platforms. 
+
+    <p>The EBCDICConvert directive maps the given filename
+    extensions to the specified conversion setting (<samp>On</samp>
+    or <samp>Off</samp>). File extensions may be specified with or
+    without a leading dot.</p>
+
+    <p>If the optional format <samp>On=<i>direction</i></samp> (or
+    <samp>Off=<i>direction</i></samp>) is used, where
+    <i>direction</i> is one of <samp>In</samp>, <samp>Out</samp> or
+    <samp>InOut</samp>, then the directive only applies to the
+    specified transfer direction (<samp>In</samp>: uploaded content
+    in a PUT or POST request, <samp>Out</samp>: returned content in
+    a GET or POST request, and <samp>InOut</samp>: conversion in
+    both directions).<br />
+     Otherwise, <samp>InOut</samp> (conversion in both directions)
+    is implied.</p>
+
+    <p>Conversion configuration based on file extension is tested
+    prior to configuration based on MIME type, to allow for generic
+    MIME based rules to be overridden by a more specific file
+    extension (several file extensions may exist for the same MIME
+    type).</p>
+
+    <p><strong>Example</strong>:<br />
+     With a configuration like the following, the normal
+    <samp>*.html</samp> files contain HTML text in EBCDIC encoding,
+    while <samp>*.ahtml</samp> files contain HTML text in ASCII
+    encoding:</p>
+<pre>
+    # *.html and *.ahtml contain HTML text:
+    AddType  text/html  .html .ahtml
+
+    # *.ahtml is not converted (contains ASCII text already):
+    EBCDICConvert       Off .ahtml
+
+    # All other text/html files presumably contain EBCDIC text:
+    EBCDICConvertByType On  text/html
+</pre>
+    <br />
+     <br />
+     
+
+    <p><strong>See also</strong>: <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+    href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+    Functions</a></p>
+    <hr />
+
+    <h2><a id="ebcdicconvertbytype"
+    name="ebcdicconvertbytype">EBCDICConvertByType</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> EBCDICConvertByType
+    On|Off[=<em>direction</em>] <em>mimetype</em>
+    [<em>mimetype</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> The configurable
+    EBCDIC conversion is only available in Apache 1.3.19 and later,
+    and on EBCDIC based platforms. 
+
+    <p>The EBCDICConvertByType directive maps the given MIME type
+    (optionally containing wildcards) to the specified conversion
+    setting (<samp>On</samp> or <samp>Off</samp>).</p>
+
+    <p>If the optional format <samp>On=<i>direction</i></samp> (or
+    <samp>Off=<i>direction</i></samp>) is used, where
+    <i>direction</i> is one of <samp>In</samp>, <samp>Out</samp> or
+    <samp>InOut</samp>, then the directive only applies to the
+    specified transfer direction (<samp>In</samp>: uploaded content
+    in a PUT or POST request, <samp>Out</samp>: returned content in
+    a GET or POST request, and <samp>InOut</samp>: conversion in
+    both directions).<br />
+     Otherwise, <samp>InOut</samp> (conversion in both directions)
+    is implied.</p>
+
+    <p><strong>Example</strong>:<br />
+     A useful standard configuration should at least contain the
+    following defaults:</p>
+<pre>
+    # All text documents are stored as EBCDIC files:
+    EBCDICConvertByType On  text/* message/* multipart/*
+    EBCDICConvertByType On  application/x-www-form-urlencoded \
+                model/vrml application/postscript
+    # All other files are assumed to be binary:
+    EBCDICConvertByType Off */*
+</pre>
+    If you serve ASCII documents only, for example from an NFS
+    mounted unix server, use: 
+<pre>
+    # All documents are ASCII already:
+    EBCDICConvertByType Off */*
+</pre>
+
+    <p><strong>See also</strong>: <a
+    href="#ebcdicconvert">EBCDICConvert</a> and <a
+    href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+    Functions</a></p>
+    <hr />
+
+    <h2><a id="ebcdickludge"
+    name="ebcdickludge">EBCDICKludge</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> EBCDICKludge
+    On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>EBCDICKludge
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> EBCDICKludge is
+    only available in Apache 1.3.19 and later, and on EBCDIC based
+    platforms. It is deprecated and will be withdrawn in a future
+    version.<br />
+     
+
+    <p>The EBCDICKludge is provided for the backward compatible
+    behavior with apache versions 1.3.0 through 1.3.18. In these
+    versions, all files with MIME types starting with "text/",
+    "message/" or "multipart/" or with type
+    "application/x-www-form-urlencoded" would be converted by
+    default, all other documents were returned unconverted. Only if
+    a MIME type "<samp>text/<b>x-ascii-</b><i>subtype</i></samp>"
+    was configured for a certain document, the document was assumed
+    to be in ASCII format already, and was not converted again.
+    Instead, the "<samp><b>x-ascii-</b></samp>" was removed from
+    the type, resulting in the MIME type
+    "<samp>text/<i>subtype</i></samp>" being returned for the
+    document.</p>
+
+    <p>If the EBCDICKludge directive is set to <samp>On</samp>, and
+    if none of the file extensions configured with the <a
+    href="#ebcdicconvert">EBCDICConvert</a> directive matches in
+    the current context, then the server tests for a MIME type of
+    the format
+    <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp>. If the
+    document has such a type, then the
+    "<samp><b>x-ascii-</b></samp>" substring is removed and the
+    conversion set to <samp>Off</samp>. This allows for overriding
+    the implicit assumption that all text files are stored in
+    EBCDIC format, for example when serving documents from an NFS
+    mounted directory with ASCII documents.<br />
+     By using the EBCDICKludge, there is no way to force one of the
+    other MIME types (<em>e.g.</em>, model/vrml) to be treated as
+    an EBCDIC text file. Use of the <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> directive
+    mentioned above is the preferred way to configure such a
+    conversion. (Before Apache version 1.3.19, there was no way at
+    all to force these binary documents to be treated as EBCDIC
+    text files.)</p>
+
+    <p><strong>See also</strong>: <a
+    href="#ebcdicconvert">EBCDICConvert</a>, <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+    href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+    Functions</a></p>
+    <hr />
+
+    <h2><a id="enableexceptionhook" name="enableexceptionhook">
+    EnableExceptionHook directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> EnableExceptionHook
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>EnableExceptionHook
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> EnableExceptionHook
+    is available in Apache 1.3.30 and later
+
+    <p><code>EnableExceptionHook</code> controls whether or not an
+    exception hook implemented by a module will be called after a
+    child process crash.  The exception hook allows modules to log
+    diagnostic information that may help determine the cause of the
+    crash.</p>
+    <hr />
+
+    <h2><a id="errordocument" name="errordocument">ErrorDocument
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ErrorDocument
+    <em>error-code document</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> The directory
+    and .htaccess contexts are only available in Apache 1.1 and
+    later. 
+
+    <p>In the event of a problem or error, Apache can be configured
+    to do one of four things,</p>
+
+    <ol>
+      <li>output a simple hardcoded error message</li>
+
+      <li>output a customized message</li>
+
+      <li>redirect to a local <em>URL-path</em> to handle the
+      problem/error</li>
+
+      <li>redirect to an external <em>URL</em> to handle the
+      problem/error</li>
+    </ol>
+
+    <p>The first option is the default, while options 2-4 are
+    configured using the <code>ErrorDocument</code> directive,
+    which is followed by the HTTP response code and a message or
+    URL.</p>
+
+    <p><em>Messages</em> in this context begin with a single
+    double-quote character (<code>"</code>), which does not form
+    part of the message itself. Apache will sometimes offer
+    additional information regarding the problem/error.</p>
+
+    <p>URLs can begin with a slash (/) for local URLs, or be a full
+    URL which the client can resolve. Examples:</p>
+
+    <blockquote>
+      <code>ErrorDocument 500
+      http://foo.example.com/cgi-bin/tester<br />
+       ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+       ErrorDocument 401 /subscription_info.html<br />
+       ErrorDocument 403 "Sorry can't allow you access today</code>
+    </blockquote>
+
+    <p>Note that when you specify an <code>ErrorDocument</code>
+    that points to a remote URL (ie. anything with a method such as
+    "http" in front of it), Apache will send a redirect to the
+    client to tell it where to find the document, even if the
+    document ends up being on the same server. This has several
+    implications, the most important being that the client will not
+    receive the original error status code, but instead will
+    receive a redirect status code. This in turn can confuse web
+    robots and other clients which try to determine if a URL is
+    valid using the status code. In addition, if you use a remote
+    URL in an <code>ErrorDocument 401</code>, the client will not
+    know to prompt the user for a password since it will not
+    receive the 401 status code. Therefore, <strong>if you use an
+    "ErrorDocument 401" directive then it must refer to a local
+    document.</strong></p>
+
+    <p>Microsoft Internet Explorer (MSIE) will by default ignore
+    server-generated error messages when they are "too small" and substitute
+    its own "friendly" error messages. The size threshold varies depending on
+    the type of error, but in general, if you make your error document
+    greater than 512 bytes, then MSIE will show the server-generated
+    error rather than masking it.  More information is available in
+    Microsoft Knowledgebase article <a
+    href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
+    >Q294807</a>.</p>
+
+    <p>See Also: <a href="../custom-error.html">documentation of
+    customizable responses.</a> See the <a
+    href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP
+    specification</a> for a complete list of the status codes and their
+    meanings.</p>
+    <hr />
+
+    <h2><a id="errorlog" name="errorlog">ErrorLog
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ErrorLog
+    <em>file-path</em>|syslog[:<em>facility</em>] <br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ErrorLog
+    logs/error_log</code> (Unix)<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ErrorLog
+    logs/error.log</code> (Windows and OS/2)<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The error log directive sets the name of the file to which
+    the server will log any errors it encounters. If the
+    <em>file-path</em> does not begin with a slash (/) then it is
+    assumed to be relative to the <a
+    href="#serverroot">ServerRoot</a>. If the <em>file-path</em>
+    begins with a pipe (|) then it is assumed to be a command to
+    spawn to handle the error log.</p>
+
+    <p>Examples</p>
+
+    <p><code>ErrorLog logs/vhost1.error</code></p>
+
+    or
+
+    <p><code>ErrorLog |/usr/local/bin/errorlog.pl</code></p>
+
+    <p><strong>Apache 1.3 and above:</strong> Using
+    <code>syslog</code> instead of a filename enables logging via
+    syslogd(8) if the system supports it. The default is to use
+    syslog facility <code>local7</code>, but you can override this
+    by using the <code>syslog:</code><em>facility</em> syntax where
+    <em>facility</em> can be one of the names usually documented in
+    syslog(1).</p>
+
+    <p>For example:</p>
+
+    <p><code>ErrorLog syslog</code></p>
+
+    or
+
+    <p><code>ErrorLog syslog:user</code></p>
+
+    <p>SECURITY: See the <a
+    href="../misc/security_tips.html#serverroot">security tips</a>
+    document for details on why your security could be compromised
+    if the directory where logfiles are stored is writable by
+    anyone other than the user that starts the server.</p>
+
+    <p><strong>See also:</strong> <a href="#loglevel">LogLevel</a>
+    and <a href="../logs.html">Apache Log Files</a></p>
+    <hr />
+
+    <h2><a id="fileetag" name="fileetag">FileETag directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> FileETag
+    <i>component</i> ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> only available
+    in Apache 1.3.23 versions and later. 
+
+    <p>
+    The FileETag directive configures the file attributes that are
+    used to create the ETag (entity tag) response header field
+    when the document is based on a file.
+    (The ETag value is used in cache management to save network
+    bandwidth.)  In Apache 1.3.22 and earlier, the ETag value was
+    <i>always</i> formed from the file's inode, size, and last-modified
+    time (mtime).  The FileETag directive allows you to choose
+    which of these -- if any -- should be used.  The recognized
+    keywords are:
+    </p>
+    <dl compact="compact">
+     <dt><b>INode</b></dt>
+     <dd>The file's i-node number will be included in the calculation</dd>
+     <dt><b>MTime</b></dt>
+     <dd>The date and time the file was last modified will be included</dd>
+     <dt><b>Size</b></dt>
+     <dd>The number of bytes in the file will be included</dd>
+     <dt><b>All</b></dt>
+     <dd>All available fields will be used (equivalent to
+      '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>')</dd>
+     <dt><b>None</b></dt>
+     <dd>If a document is file-based, no ETag field will be included in the
+      response</dd>
+    </dl>
+    <p>
+    The INode, MTime, and Size keywords may be prefixed with either '+'
+    or '-', which allow changes to be made to the default setting
+    inherited from a broader scope.  Any keyword appearing without
+    such a prefix immediately and completely cancels the inherited
+    setting.
+    </p>
+    <p>
+    If a directory's configuration includes
+    '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>', and a
+    subdirectory's includes '<code>FileETag&nbsp;-INode</code>',
+    the setting for that subdirectory (which will be inherited by
+    any sub-subdirectories that don't override it) will be equivalent to
+    '<code>FileETag&nbsp;MTime&nbsp;Size</code>'.
+    </p>
+    <hr />
+
+    <h2><a id="files" name="files">&lt;Files&gt; directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;Files
+    <em>filename</em>&gt; ... &lt;/Files&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> only available
+    in Apache 1.2 and above. 
+
+    <p>The &lt;Files&gt; directive provides for access control by
+    filename. It is comparable to the <a
+    href="#directory">&lt;Directory&gt;</a> directive and <a
+    href="#location">&lt;Location&gt;</a> directives. It should be
+    matched with a &lt;/Files&gt; directive. The directives given
+    within this section will be applied to any object with a
+    basename (last component of filename) matching the specified
+    filename. <code>&lt;Files&gt;</code> sections are processed in
+    the order they appear in the configuration file, after the
+    &lt;Directory&gt; sections and <code>.htaccess</code> files are
+    read, but before &lt;Location&gt; sections. Note that
+    &lt;Files&gt; can be nested inside &lt;Directory&gt; sections
+    to restrict the portion of the filesystem they apply to.</p>
+
+    <p>The <em>filename</em> argument should include a filename, or
+    a wild-card string, where `?' matches any single character, and
+    `*' matches any sequences of characters. Extended regular
+    expressions can also be used, with the addition of the
+    <code>~</code> character. For example:</p>
+<pre>
+   &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
+</pre>
+    would match most common Internet graphics formats. In Apache
+    1.3 and later, <a href="#filesmatch">&lt;FilesMatch&gt;</a> is
+    preferred, however. 
+
+    <p>Note that unlike <a
+    href="#directory"><code>&lt;Directory&gt;</code></a> and <a
+    href="#location"><code>&lt;Location&gt;</code></a> sections,
+    <code>&lt;Files&gt;</code> sections can be used inside
+    .htaccess files. This allows users to control access to their
+    own files, at a file-by-file level.
+    For example, to password protect a single file within a
+    particular directory, you might add the following to your
+    <code>.htaccess</code> file:</p>
+
+    <pre>
+    &lt;Files admin.cgi&gt;
+    Require group admin
+    &lt;/Files&gt;</pre>
+
+    <p>Remember that directives apply to subdirectories as well, so this
+    will also protect files called <code>admin.cgi</code> in
+    subdirectories, unless specifically overridden.</p>
+
+    <p>(See <a href="#require">Require</a> for details on using the
+    <code>Require</code> directive)</p>
+
+    <p><strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received</p>
+    <hr />
+
+    <h2><a id="filesmatch"
+    name="filesmatch">&lt;FilesMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;FilesMatch
+    <em>regex</em>&gt; ... &lt;/FilesMatch&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> only available
+    in Apache 1.3 and above. 
+
+    <p>The &lt;FilesMatch&gt; directive provides for access control
+    by filename, just as the <a href="#files">&lt;Files&gt;</a>
+    directive does. However, it accepts a regular expression. For
+    example:</p>
+<pre>
+   &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
+</pre>
+
+    <p>would match most common Internet graphics formats.</p>
+    <strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received 
+    <hr />
+
+    <h2><a id="group" name="group">Group directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Group
+    <em>unix-group</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>Group
+    #-1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The Group directive sets the group under which the server
+    will answer requests. In order to use this directive, the
+    stand-alone server must be run initially as root.
+    <em>Unix-group</em> is one of:</p>
+
+    <dl>
+      <dt>A group name</dt>
+
+      <dd>Refers to the given group by name.</dd>
+
+      <dt># followed by a group number.</dt>
+
+      <dd>Refers to a group by its number.</dd>
+    </dl>
+    <p>It is recommended that you set up a new group specifically for
+    running the server. Some admins use user <code>nobody</code>,
+    but this is not always possible or desirable.</p>
+
+    <p>Example:</p>
+
+    <code>Group www-group</code>
+
+    <p>Note: if you start the server as a non-root user, it will
+    fail to change to the specified group, and will instead
+    continue to run as the group of the original user.</p>
+
+    <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+    requires a properly configured <a href="../suexec.html">suEXEC
+    wrapper</a>. When used inside a &lt;VirtualHost&gt; in this
+    manner, only the group that CGIs are run as is affected.
+    Non-CGI requests are still processed as the group specified in
+    the main Group directive.</p>
+
+    <p>SECURITY: See <a href="#user">User</a> for a discussion of
+    the security considerations.</p>
+    <hr />
+
+    <h2><a id="hostnamelookups"
+    name="hostnamelookups">HostnameLookups directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> HostnameLookups
+    on|off|double<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>HostnameLookups
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    <code>double</code> available only in Apache 1.3 and
+    above.<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Default was
+    <code>on</code> prior to Apache 1.3. 
+
+    <p>This directive enables DNS lookups so that host names can be
+    logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>).
+    The value <code>double</code> refers to doing double-reverse
+    DNS. That is, after a reverse lookup is performed, a forward
+    lookup is then performed on that result. At least one of the ip
+    addresses in the forward lookup must match the original
+    address. (In "tcpwrappers" terminology this is called
+    <code>PARANOID</code>.)</p>
+
+    <p>Regardless of the setting, when <a
+    href="mod_access.html">mod_access</a> is used for controlling
+    access by hostname, a double reverse lookup will be performed.
+    This is necessary for security. Note that the result of this
+    double-reverse isn't generally available unless you set
+    <code>HostnameLookups double</code>. For example, if only
+    <code>HostnameLookups on</code> and a request is made to an
+    object that is protected by hostname restrictions, regardless
+    of whether the double-reverse fails or not, CGIs will still be
+    passed the single-reverse result in
+    <code>REMOTE_HOST</code>.</p>
+
+    <p>The default for this directive was previously
+    <code>on</code> in versions of Apache prior to 1.3. It was
+    changed to <code>off</code> in order to save the network
+    traffic for those sites that don't truly need the reverse
+    lookups done. It is also better for the end users because they
+    don't have to suffer the extra latency that a lookup entails.
+    Heavily loaded sites should leave this directive
+    <code>off</code>, since DNS lookups can take considerable
+    amounts of time. The utility <a
+    href="../programs/logresolve.html">logresolve</a>, provided in
+    the <em>/support</em> directory, can be used to look up host
+    names from logged IP addresses offline.</p>
+    <hr />
+
+    <h2><a id="identitycheck" name="identitycheck">IdentityCheck
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> IdentityCheck
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>IdentityCheck
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>This directive enables RFC1413-compliant logging of the
+    remote user name for each connection, where the client machine
+    runs identd or something similar. This information is logged in
+    the access log.</p>
+
+    <p>The information should not be trusted in any way except for
+    rudimentary usage tracking.</p>
+
+    <p>Note that this can cause serious latency problems accessing
+    your server since every request requires one of these lookups
+    to be performed. When firewalls are involved each lookup might
+    possibly fail and add 30 seconds of latency to each hit. So in
+    general this is not very useful on public servers accessible
+    from the Internet.</p>
+    <hr />
+
+    <h2><a id="ifdefine" name="ifdefine">&lt;IfDefine&gt;
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;IfDefine
+    [!]<em>parameter-name</em>&gt; <em>...</em>
+    &lt;/IfDefine&gt;<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> all<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> &lt;IfDefine&gt;
+    is only available in 1.3.1 and later. 
+
+    <p>The &lt;IfDefine <em>test</em>&gt;...&lt;/IfDefine&gt;
+    section is used to mark directives that are conditional. The
+    directives within an IfDefine section are only processed if the
+    <em>test</em> is true. If <em>test</em> is false, everything
+    between the start and end markers is ignored.</p>
+
+    <p>The <em>test</em> in the &lt;IfDefine&gt; section directive
+    can be one of two forms:</p>
+
+    <ul>
+      <li><em>parameter-name</em></li>
+
+      <li><code>!</code><em>parameter-name</em></li>
+    </ul>
+
+    <p>In the former case, the directives between the start and end
+    markers are only processed if the parameter named
+    <em>parameter-name</em> is defined. The second format reverses
+    the test, and only processes the directives if
+    <em>parameter-name</em> is <strong>not</strong> defined.</p>
+
+    <p>The <em>parameter-name</em> argument is a define as given on
+    the <code>httpd</code> command line via
+    <code>-D</code><em>parameter-</em>, at the time the server was
+    started.</p>
+
+    <p>&lt;IfDefine&gt; sections are nest-able, which can be used
+    to implement simple multiple-parameter tests. Example:</p>
+<pre>
+  $ httpd -DReverseProxy ...
+
+  # httpd.conf
+  &lt;IfDefine ReverseProxy&gt;
+  LoadModule rewrite_module libexec/mod_rewrite.so
+  LoadModule proxy_module   libexec/libproxy.so
+  &lt;/IfDefine&gt;
+</pre>
+    <hr />
+
+    <h2><a id="ifmodule" name="ifmodule">&lt;IfModule&gt;
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;IfModule
+    [!]<em>module-name</em>&gt; <em>...</em>
+    &lt;/IfModule&gt;<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> all<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> IfModule is only
+    available in 1.2 and later. 
+
+    <p>The &lt;IfModule <em>test</em>&gt;...&lt;/IfModule&gt;
+    section is used to mark directives that are conditional. The
+    directives within an IfModule section are only processed if the
+    <em>test</em> is true. If <em>test</em> is false, everything
+    between the start and end markers is ignored.</p>
+
+    <p>The <em>test</em> in the &lt;IfModule&gt; section directive
+    can be one of two forms:</p>
+
+    <ul>
+      <li><em>module name</em></li>
+
+      <li>!<em>module name</em></li>
+    </ul>
+
+    <p>In the former case, the directives between the start and end
+    markers are only processed if the module named <em>module
+    name</em> is included in Apache -- either compiled in or
+    dynamically loaded using <a
+    href="mod_so.html#loadmodule">LoadModule</a>. The second format
+    reverses the test, and only processes the directives if <em>module
+    name</em> is <strong>not</strong> included.</p>
+
+    <p>The <em>module name</em> argument is the file name of the
+    module, at the time it was compiled.
+    For example, <code>mod_rewrite.c</code>.</p>
+
+    <p>&lt;IfModule&gt; sections are nest-able, which can be used
+    to implement simple multiple-module tests.</p>
+    <hr />
+
+    <h2><a id="include" name="include">Include directive</a></h2>
+    <strong>Syntax:</strong> Include
+    <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Include is only
+    available in Apache 1.3 and later. Wildcards were introduced in
+    version 1.3.27.
+
+    <p>This directive allows inclusion of other configuration files
+    from within the server configuration files.</p>
+
+    <p>The file path specified may be a fully qualified path (i.e.
+    starting with a slash), or may be relative to the
+    <code>ServerRoot</code> directory.</p>
+
+    <p>New in Apache 1.3.13 is the feature that if
+    <code>Include</code> points to a directory, rather than a file,
+    Apache will read all files in that directory, and any
+    subdirectory, and parse those as configuration files.</p>
+    <p>By using a wildcard this can be further limited to, say,
+    just the '*.conf' files.
+    </p>
+    <p>Examples:</p>
+    <blockquote>
+    <code>Include /usr/local/apache/conf/ssl.conf<br />
+    Include /usr/local/apache/conf/vhosts/
+    </code>
+    </blockquote>
+
+    <p>Or, providing paths relative to your <code>ServerRoot</code>
+    directory:</p>
+
+    <blockquote>
+    <code>Include conf/ssl.conf<br />
+    Include conf/vhosts/
+    </code>
+    </blockquote>
+
+    <p>Make sure that an included directory does not contain any stray
+    files, such as editor temporary files, for example, as Apache will
+    attempt to read them in and use the contents as configuration
+    directives, which may cause the server to fail on start up.
+    Running <code>apachectl configtest</code> will give you a list of
+    the files that are being processed during the configuration  
+    check:</p>
+
+<pre>
+root@host# apachectl configtest
+ Processing config directory: /usr/local/apache/conf/vhosts
+ Processing config file: /usr/local/apache/conf/vhosts/vhost1
+ Processing config file: /usr/local/apache/conf/vhosts/vhost2
+Syntax OK
+</pre>
+
+    <p>This will help in verifying that you are getting only the files
+    that you intended as part of your configuration.</p>
+
+    <p><strong>See also</strong>: <a
+    href="../programs/apachectl.html">apachectl</a></p>
+
+    <hr />
+
+    <h2><a id="keepalive" name="keepalive">KeepAlive
+    directive</a></h2>
+    <strong>Syntax: (Apache 1.1)</strong> KeepAlive
+    <em>max-requests</em><br />
+     <strong>Default: (Apache 1.1)</strong> <code>KeepAlive
+    5</code><br />
+     <strong>Syntax: (Apache 1.2)</strong> KeepAlive on|off<br />
+     <strong>Default: (Apache 1.2)</strong> <code>KeepAlive
+    On</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> KeepAlive is
+    only available in Apache 1.1 and later. 
+
+    <p>The Keep-Alive extension to HTTP/1.0 and the persistent
+    connection feature of HTTP/1.1 provide long-lived HTTP sessions
+    which allow multiple requests to be sent over the same TCP
+    connection. In some cases this has been shown to result in an
+    almost 50% speedup in latency times for HTML documents with
+    many images. To enable Keep-Alive connections in Apache 1.2 and
+    later, set <code>KeepAlive On</code>.</p>
+
+    <p>For HTTP/1.0 clients, Keep-Alive connections will only be
+    used if they are specifically requested by a client. In
+    addition, a Keep-Alive connection with an HTTP/1.0 client can
+    only be used when the length of the content is known in
+    advance. This implies that dynamic content such as CGI output,
+    SSI pages, and server-generated directory listings will
+    generally not use Keep-Alive connections to HTTP/1.0 clients.
+    For HTTP/1.1 clients, persistent connections are the default
+    unless otherwise specified. If the client requests it, chunked
+    encoding will be used in order to send content of unknown
+    length over persistent connections.</p>
+
+    <p><strong>Apache 1.1 only</strong>: Set <em>max-requests</em>
+    to the maximum number of requests you want Apache to entertain
+    per connection. A limit is imposed to prevent a client from
+    hogging your server resources. Set this to <code>0</code> to
+    disable support. In Apache 1.2 and 1.3, this is controlled
+    through the MaxKeepAliveRequests directive instead.</p>
+
+    <p>See also <a
+    href="#maxkeepaliverequests">MaxKeepAliveRequests</a>.</p>
+    <hr />
+
+    <h2><a id="keepalivetimeout"
+    name="keepalivetimeout">KeepAliveTimeout directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout
+    <em>seconds</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>KeepAliveTimeout
+    15</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> KeepAliveTimeout
+    is only available in Apache 1.1 and later. 
+
+    <p>The number of seconds Apache will wait for a subsequent
+    request before closing the connection. Once a request has been
+    received, the timeout value specified by the <a
+    href="#timeout"><code>Timeout</code></a> directive applies.</p>
+
+    <p>Setting <code>KeepAliveTimeout</code> to a high value may
+    cause performance problems in heavily loaded servers. The
+    higher the timeout, the more server processes will be kept
+    occupied waiting on connections with idle clients.</p>
+    <hr />
+
+    <h2><a id="limit" name="limit">&lt;Limit&gt; directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;Limit
+    <em>method</em> [<em>method</em>] ... &gt; ...
+    &lt;/Limit&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> any<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>Access controls are normally effective for
+    <strong>all</strong> access methods, and this is the usual
+    desired behavior. <strong>In the general case, access control
+    directives should not be placed within a
+    <code>&lt;limit&gt;</code> section.</strong></p>
+
+    <p>The purpose of the &lt;Limit&gt; directive is to restrict
+    the effect of the access controls to the nominated HTTP
+    methods. For all other methods, the access restrictions that
+    are enclosed in the &lt;Limit&gt; bracket <strong>will have no
+    effect</strong>. The following example applies the access
+    control only to the methods POST, PUT, and DELETE, leaving all
+    other methods unprotected:</p>
+
+    <blockquote>
+      <code>&lt;Limit POST PUT DELETE&gt;<br />
+       Require valid-user<br />
+       &lt;/Limit&gt;</code>
+    </blockquote>
+    <p>The method names listed can be one or more of: GET, POST, PUT,
+    DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH,
+    MKCOL, COPY, MOVE, LOCK, and UNLOCK. <strong>The method name is
+    case-sensitive.</strong> If GET is used it will also restrict
+    HEAD requests. The TRACE method cannot be limited.</p>
+
+    <p><strong>Warning:</strong> A <a
+    href="#limitexcept">&lt;LimitExcept&gt;</a> section should
+    always be used in preference to a <a
+    href="#limit">&lt;Limit&gt;</a> section when restricting access,
+    since a <a href="#limitexcept">&lt;LimitExcept&gt;</a> section
+    provides protection against arbitrary methods.</p>
+
+    <hr />
+
+    <h2><a id="limitexcept" name="limitexcept">&lt;LimitExcept&gt;
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;LimitExcept
+    <em>method</em> [<em>method</em>] ... &gt; ...
+    &lt;/LimitExcept&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> any<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.5 and later 
+
+    <p>&lt;LimitExcept&gt; and &lt;/LimitExcept&gt; are used to
+    enclose a group of access control directives which will then
+    apply to any HTTP access method <strong>not</strong> listed in
+    the arguments; <em>i.e.</em>, it is the opposite of a <a
+    href="#limit">&lt;Limit&gt;</a> section and can be used to
+    control both standard and nonstandard/unrecognized methods. See
+    the documentation for <a href="#limit">&lt;Limit&gt;</a> for
+    more details.</p>
+
+    <p>For example:</p>
+
+    <pre>
+    &lt;LimitExcept POST GET&gt;
+    Require valid-user
+    &lt;/LimitExcept&gt;
+    </pre>
+
+    <hr />
+
+    <h2><a id="limitinternalrecursion"
+    name="limitinternalrecursion">LimitInternalRecursion directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LimitInternalRecursion
+    <em>number</em> [<em>number</em>]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>LimitInternalRecursion
+    20</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> LimitInternalRecursion
+    is only available in Apache 1.3.28 and later. 
+
+    <p>An internal redirect happens, for example, when using the <a
+    href="mod_actions.html#action">Action</a> directive, which internally
+    redirects the original request to a CGI script. A subrequest is Apache's
+    mechanism to find out what would happen for some URI if it were requested.
+    For example, <a href="mod_dir.html">mod_dir</a> uses subrequests to look
+    for the files listed in the <a
+    href="mod_dir.html#directoryindex">DirectoryIndex</a>
+    directive.</p>
+
+    <p><code>LimitInternalRecursion</code> prevents the server
+    from crashing when entering an infinite loop of internal redirects or
+    subrequests. Such loops are usually caused by misconfigurations.</p>
+
+    <p>The directive stores two different limits, which are evaluated on
+    per-request basis. The first <em>number</em> is the maximum number of
+    internal redirects, that may follow each other. The second <em>number</em>
+    determines, how deep subrequests may be nested. If you specify only one
+    <em>number</em>, it will be assigned to both limits. A value of
+    <code>0</code> means "unlimited".</p>
+
+    <p><strong>Example</strong></p>
+    <pre>
+    LimitInternalRecursion 5
+    </pre>
+
+    <hr />
+
+    <h2><a id="limitrequestbody"
+    name="limitrequestbody">LimitRequestBody directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LimitRequestBody
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>LimitRequestBody
+    0</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> LimitRequestBody
+    is only available in Apache 1.3.2 and later. 
+
+    <p>This directive specifies the number of <em>bytes</em> from 0
+    (meaning unlimited) to 2147483647 (2GB) that are allowed in a
+    request body.</p>
+
+    <p>The LimitRequestBody directive allows the user to set a
+    limit on the allowed size of an HTTP request message body
+    within the context in which the directive is given (server,
+    per-directory, per-file or per-location). If the client request
+    exceeds that limit, the server will return an error response
+    instead of servicing the request. The size of a normal request
+    message body will vary greatly depending on the nature of the
+    resource and the methods allowed on that resource. CGI scripts
+    typically use the message body for passing form information to
+    the server. Implementations of the PUT method will require a
+    value at least as large as any representation that the server
+    wishes to accept for that resource.</p>
+
+    <p>This directive gives the server administrator greater
+    control over abnormal client request behavior, which may be
+    useful for avoiding some forms of denial-of-service
+    attacks.</p>
+
+    <p>If, for example, you are permitting file upload to a particular
+    location, and wich to limit the size of the uploaded file to 100K,
+    you might use the following directive:</p>
+
+    <pre>LimitRequestBody 102400</pre>
+    
+    <hr />
+
+    <h2><a id="limitrequestfields"
+    name="limitrequestfields">LimitRequestFields directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LimitRequestFields
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>LimitRequestFields 100</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    LimitRequestFields is only available in Apache 1.3.2 and later.
+    
+
+    <p><em>Number</em> is an integer from 0 (meaning unlimited) to
+    32767. The default value is defined by the compile-time
+    constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as
+    distributed).</p>
+
+    <p>The LimitRequestFields directive allows the server
+    administrator to modify the limit on the number of request
+    header fields allowed in an HTTP request. A server needs this
+    value to be larger than the number of fields that a normal
+    client request might include. The number of request header
+    fields used by a client rarely exceeds 20, but this may vary
+    among different client implementations, often depending upon
+    the extent to which a user has configured their browser to
+    support detailed content negotiation. Optional HTTP extensions
+    are often expressed using request header fields.</p>
+
+    <p>This directive gives the server administrator greater
+    control over abnormal client request behavior, which may be
+    useful for avoiding some forms of denial-of-service attacks.
+    The value should be increased if normal clients see an error
+    response from the server that indicates too many fields were
+    sent in the request.</p>
+
+    <p>For example:</p>
+
+    <pre>LimitRequestFields 50</pre>
+
+    <hr />
+
+    <h2><a id="limitrequestfieldsize"
+    name="limitrequestfieldsize">LimitRequestFieldsize
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LimitRequestFieldsize
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>LimitRequestFieldsize 8190</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    LimitRequestFieldsize is only available in Apache 1.3.2 and
+    later. 
+
+    <p>This directive specifies the number of <em>bytes</em> from 0
+    to the value of the compile-time constant
+    <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 as
+    distributed) that will be allowed in an HTTP request
+    header.</p>
+
+    <p>The LimitRequestFieldsize directive allows the server
+    administrator to reduce the limit on the allowed size of an
+    HTTP request header field below the normal input buffer size
+    compiled with the server. A server needs this value to be large
+    enough to hold any one header field from a normal client
+    request. The size of a normal request header field will vary
+    greatly among different client implementations, often depending
+    upon the extent to which a user has configured their browser to
+    support detailed content negotiation.</p>
+
+    <p>This directive gives the server administrator greater
+    control over abnormal client request behavior, which may be
+    useful for avoiding some forms of denial-of-service attacks.</p>
+
+    <p>For example:</p>
+
+    <pre>LimitRequestFieldSize 16380</pre>
+
+    <p>Under normal conditions, the value should not be changed from
+    the default.</p>
+    <hr />
+
+    <h2><a id="limitrequestline"
+    name="limitrequestline">LimitRequestLine directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LimitRequestLine
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>LimitRequestLine
+    8190</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> LimitRequestLine
+    is only available in Apache 1.3.2 and later. 
+
+    <p>This directive sets the number of <em>bytes</em> from 0 to
+    the value of the compile-time constant
+    <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 as distributed)
+    that will be allowed on the HTTP request-line.</p>
+
+    <p>The LimitRequestLine directive allows the server
+    administrator to reduce the limit on the allowed size of a
+    client's HTTP request-line below the normal input buffer size
+    compiled with the server. Since the request-line consists of
+    the HTTP method, URI, and protocol version, the
+    LimitRequestLine directive places a restriction on the length
+    of a request-URI allowed for a request on the server. A server
+    needs this value to be large enough to hold any of its resource
+    names, including any information that might be passed in the
+    query part of a GET request.</p>
+
+    <p>This directive gives the server administrator greater
+    control over abnormal client request behavior, which may be
+    useful for avoiding some forms of denial-of-service attacks.</p>
+
+    <p>For example:</p>
+
+    <pre>LimitRequestLine 16380</pre>
+
+    <p>Under normal conditions, the value should not be changed from
+    the default.</p>
+    <hr />
+
+    <h2><a id="listen" name="listen">Listen directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Listen
+    [<em>IP-address</em>:]<em>port</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Listen is only
+    available in Apache 1.1 and later. 
+
+    <p>The Listen directive instructs Apache to listen to more than
+    one IP address or port; by default it responds to requests on
+    all IP interfaces, but only on the port given by the <code><a
+    href="#port">Port</a></code> directive.</p>
+    <tt>Listen</tt> can be used instead of <tt><a
+    href="#bindaddress">BindAddress</a></tt> and <tt>Port</tt>. It
+    tells the server to accept incoming requests on the specified
+    port or address-and-port combination. If the first format is
+    used, with a port number only, the server listens to the given
+    port on all interfaces, instead of the port given by the
+    <tt>Port</tt> directive. If an IP address is given as well as a
+    port, the server will listen on the given port and interface. 
+
+    <p>Note that you may still require a <tt>Port</tt> directive so
+    that URLs that Apache generates that point to your server still
+    work.</p>
+
+    <p>Multiple Listen directives may be used to specify a number
+    of addresses and ports to listen to. The server will respond to
+    requests from any of the listed addresses and ports.</p>
+
+    <p>For example, to make the server accept connections on both
+    port 80 and port 8000, use:</p>
+<pre>
+   Listen 80
+   Listen 8000
+</pre>
+    To make the server accept connections on two specified
+    interfaces and port numbers, use 
+<pre>
+   Listen 192.170.2.1:80
+   Listen 192.170.2.5:8000
+</pre>
+
+    <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+    Issues</a><br />
+     <strong>See Also:</strong> <a href="../bind.html">Setting
+    which addresses and ports Apache uses</a><br />
+     <strong>See Also:</strong> <a
+    href="http://httpd.apache.org/info/known_bugs.html#listenbug">Known
+    Bugs</a></p>
+    <hr />
+
+    <h2><a id="listenbacklog" name="listenbacklog">ListenBacklog
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ListenBacklog
+    <em>backlog</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ListenBacklog
+    511</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ListenBacklog is
+    only available in Apache versions after 1.2.0. 
+
+    <p>The maximum length of the queue of pending connections.
+    Generally no tuning is needed or desired, however on some
+    systems it is desirable to increase this when under a TCP SYN
+    flood attack. See the backlog parameter to the
+    <code>listen(2)</code> system call.</p>
+
+    <p>This will often be limited to a smaller number by the
+    operating system. This varies from OS to OS. Also note that
+    many OSes do not use exactly what is specified as the backlog,
+    but use a number based on (but normally larger than) what is
+    set.</p>
+    <hr />
+
+    <h2><a id="location" name="location">&lt;Location&gt;
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;Location
+    <em>URL-path</em>|<em>URL</em>&gt; ... &lt;/Location&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Location is only
+    available in Apache 1.1 and later. 
+
+    <p>The &lt;Location&gt; directive provides for access control
+    by URL. It is similar to the <a
+    href="#directory">&lt;Directory&gt;</a> directive, and starts a
+    subsection which is terminated with a &lt;/Location&gt;
+    directive. <code>&lt;Location&gt;</code> sections are processed
+    in the order they appear in the configuration file, after the
+    &lt;Directory&gt; sections and <code>.htaccess</code> files are
+    read, and after the &lt;Files&gt; sections.</p>
+
+    <p>Note that URLs do not have to line up with the filesystem at
+    all, it should be emphasized that &lt;Location&gt; operates
+    completely outside the filesystem.</p>
+
+    <p>For all origin (non-proxy) requests, the URL to be matched
+    is of the form <code>/path/</code>, and you should not include
+    any <code>http://servername</code> prefix. For proxy requests,
+    the URL to be matched is of the form
+    <code>scheme://servername/path</code>, and you must include the
+    prefix.</p>
+
+    <p>The URL may use wildcards In a wild-card string, `?' matches
+    any single character, and `*' matches any sequences of
+    characters.</p>
+
+    <p><strong>Apache 1.2 and above:</strong> Extended regular
+    expressions can also be used, with the addition of the
+    <code>~</code> character. For example:</p>
+<pre>
+   &lt;Location ~ "/(extra|special)/data"&gt;
+</pre>
+
+    <p>would match URLs that contained the substring "/extra/data"
+    or "/special/data". In Apache 1.3 and above, a new directive <a
+    href="#locationmatch">&lt;LocationMatch&gt;</a> exists which
+    behaves identical to the regex version of
+    <code>&lt;Location&gt;</code>.</p>
+
+    <p>The <code>Location</code> functionality is especially useful
+    when combined with the <code><a
+    href="mod_mime.html#sethandler">SetHandler</a></code>
+    directive. For example, to enable status requests, but allow
+    them only from browsers at foo.com, you might use:</p>
+<pre>
+    &lt;Location /status&gt;
+    SetHandler server-status
+    Order Deny,Allow
+    Deny from all
+    Allow from .foo.com
+    &lt;/Location&gt;
+</pre>
+
+    <p><strong>Apache 1.3 and above note about / (slash)</strong>:
+    The slash character has special meaning depending on where in a
+    URL it appears. People may be used to its behavior in the
+    filesystem where multiple adjacent slashes are frequently
+    collapsed to a single slash (<em>i.e.</em>,
+    <code>/home///foo</code> is the same as
+    <code>/home/foo</code>). In URL-space this is not necessarily
+    true. The <code>&lt;LocationMatch&gt;</code> directive and the
+    regex version of <code>&lt;Location&gt;</code> require you to
+    explicitly specify multiple slashes if that is your intention.
+    For example, <code>&lt;LocationMatch ^/abc&gt;</code> would
+    match the request URL <code>/abc</code> but not the request URL
+    <code>//abc</code>. The (non-regex)
+    <code>&lt;Location&gt;</code> directive behaves similarly when
+    used for proxy requests. But when (non-regex)
+    <code>&lt;Location&gt;</code> is used for non-proxy requests it
+    will implicitly match multiple slashes with a single slash. For
+    example, if you specify <code>&lt;Location /abc/def&gt;</code>
+    and the request is to <code>/abc//def</code> then it will
+    match.</p>
+
+    <p><strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received</p>
+    <hr />
+
+    <h2><a id="locationmatch"
+    name="locationmatch">&lt;LocationMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;LocationMatch
+    <em>regex</em>&gt; ... &lt;/LocationMatch&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> LocationMatch is
+    only available in Apache 1.3 and later. 
+
+    <p>The &lt;LocationMatch&gt; directive provides for access
+    control by URL, in an identical manner to <a
+    href="#location">&lt;Location&gt;</a>. However, it takes a
+    regular expression as an argument instead of a simple string.
+    For example:</p>
+<pre>
+   &lt;LocationMatch "/(extra|special)/data"&gt;
+</pre>
+
+    <p>would match URLs that contained the substring "/extra/data"
+    or "/special/data".</p>
+    <strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received 
+    <hr />
+
+    <h2><a id="lockfile" name="lockfile">LockFile
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LockFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>LockFile
+    logs/accept.lock</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The LockFile directive sets the path to the lockfile used
+    when Apache is compiled with either USE_FCNTL_SERIALIZED_ACCEPT
+    or USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally
+    be left at its default value. The main reason for changing it
+    is if the <code>logs</code> directory is NFS mounted, since
+    <strong>the lockfile must be stored on a local disk</strong>.
+    The PID of the main server process is automatically appended to
+    the filename.</p>
+
+    <p><strong>SECURITY:</strong> It is best to avoid putting this
+    file in a world writable directory such as
+    <code>/var/tmp</code> because someone could create a denial of
+    service attack and prevent the server from starting by creating
+    a lockfile with the same name as the one the server will try to
+    create.</p>
+    <hr />
+
+    <h2><a id="loglevel" name="loglevel">LogLevel
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LogLevel
+    <em>level</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>LogLevel
+    warn</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> LogLevel is only
+    available in 1.3 or later. 
+
+    <p>LogLevel adjusts the verbosity of the messages recorded in
+    the error logs (see <a href="#errorlog">ErrorLog</a>
+    directive). The following <em>level</em>s are available, in
+    order of decreasing significance:</p>
+
+    <table>
+      <tr>
+        <th align="left"><strong>Level</strong> </th>
+
+        <th align="left"><strong>Description</strong> </th>
+        <th align="left"><strong>Example</strong> </th>
+      </tr>
+
+      <tr>
+        <td><code>emerg</code> </td>
+
+        <td>Emergencies - system is unusable.</td>
+        <td>"Child cannot open lock file. Exiting"</td>
+      </tr>
+
+      <tr>
+        <td><code>alert</code> </td>
+
+        <td>Action must be taken immediately.</td>
+        <td>"getpwuid: couldn't determine user name from uid"</td>
+      </tr>
+
+      <tr>
+        <td><code>crit</code> </td>
+
+        <td>Critical Conditions.</td>
+       <td>"socket: Failed to get a socket, exiting child"</td>
+      </tr>
+
+      <tr>
+        <td><code>error</code> </td>
+
+        <td>Error conditions.</td>
+        <td>"Premature end of script headers"</td>
+      </tr>
+
+      <tr>
+        <td><code>warn</code> </td>
+
+        <td>Warning conditions.</td>
+        <td>"child process 1234 did not exit, sending another
+        SIGHUP"</td>
+      </tr>
+
+      <tr>
+        <td><code>notice</code> </td>
+
+        <td>Normal but significant condition.</td>
+        <td>"httpd: caught SIGBUS, attempting to dump core in
+        ..."</td>
+      </tr>
+
+      <tr>
+        <td><code>info</code> </td>
+
+        <td>Informational.</td>
+        <td>"Server seems busy, (you may need to increase
+        StartServers, or Min/MaxSpareServers)..."</td>
+      </tr>
+
+      <tr>
+        <td><code>debug</code> </td>
+
+        <td>Debug-level messages</td>
+        <td>"Opening config file ..."</td>
+      </tr>
+    </table>
+
+    <p>When a particular level is specified, messages from all
+    other levels of higher significance will be reported as well.
+    <em>E.g.</em>, when <code>LogLevel info</code> is specified,
+    then messages with log levels of <code>notice</code> and
+    <code>warn</code> will also be posted.</p>
+
+    <p>Using a level of at least <code>crit</code> is
+    recommended.</p>
+
+    <p>For example:</p>
+
+    <pre>LogLevel notice</pre>
+
+    <p><strong>NOTE:</strong> When logging to a regular file messages
+    of the level <code>notice</code> cannot be suppressed and thus are
+    always logged. However, this doesn't apply when logging is done
+    using <code>syslog</code>.</p>
+
+    <hr />
+
+    <h2><a id="maxclients" name="maxclients">MaxClients
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MaxClients
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>MaxClients
+    256</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The MaxClients directive sets the limit on the number of
+    simultaneous requests that can be supported; not more than this
+    number of child server processes will be created. To configure
+    more than 256 clients, you must edit the HARD_SERVER_LIMIT
+    entry in httpd.h and recompile.</p>
+
+    <p>Any connection attempts over the MaxClients limit will
+    normally be queued, up to a number based on the <a
+    href="#listenbacklog">ListenBacklog</a> directive. Once a child
+    process is freed at the end of a different request, the
+    connection will then be serviced.</p>
+    <hr />
+
+    <h2><a id="maxkeepaliverequests"
+    name="maxkeepaliverequests">MaxKeepAliveRequests
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MaxKeepAliveRequests
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>MaxKeepAliveRequests 100</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Only available
+    in Apache 1.2 and later. 
+
+    <p>The MaxKeepAliveRequests directive limits the number of
+    requests allowed per connection when <a
+    href="#keepalive">KeepAlive</a> is on. If it is set to
+    "<code>0</code>", unlimited requests will be allowed. We
+    recommend that this setting be kept to a high value for maximum
+    server performance. In Apache 1.1, this is controlled through
+    an option to the KeepAlive directive.</p>
+
+    <p>For example</p>
+
+    <pre>MaxKeepAliveRequests 500</pre>
+
+    <hr />
+
+    <h2><a id="maxrequestsperchild"
+    name="maxrequestsperchild">MaxRequestsPerChild
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MaxRequestsPerChild
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>MaxRequestsPerChild 0</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The MaxRequestsPerChild directive sets the limit on the
+    number of requests that an individual child server process will
+    handle. After MaxRequestsPerChild requests, the child process
+    will die. If MaxRequestsPerChild is 0, then the process will
+    never expire.</p>
+
+    <p>Setting MaxRequestsPerChild to a non-zero limit has two
+    beneficial effects:</p>
+
+    <ul>
+      <li>it limits the amount of memory that process can consume
+      by (accidental) memory leakage;</li>
+
+      <li>by giving processes a finite lifetime, it helps reduce
+      the number of processes when the server load reduces.</li>
+    </ul>
+
+    <p>However, on Win32, It is recommended that this be set to 0.
+    If it is set to a non-zero value, when the request count is
+    reached, the child process exits, and is respawned, at which
+    time it re-reads the configuration files. This can lead to
+    unexpected behavior if you have modified a configuration file,
+    but are not expecting the changes to be applied yet. See also
+    <a href="#threadsperchild">ThreadsPerChild</a>.</p>
+
+    <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
+    the first request is counted towards this limit. In effect, it
+    changes the behavior to limit the number of
+    <em>connections</em> per child.</p>
+    <hr />
+
+    <h2><a id="maxspareservers"
+    name="maxspareservers">MaxSpareServers directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MaxSpareServers
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>MaxSpareServers
+    10</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The MaxSpareServers directive sets the desired maximum
+    number of <em>idle</em> child server processes. An idle process
+    is one which is not handling a request. If there are more than
+    MaxSpareServers idle, then the parent process will kill off the
+    excess processes.</p>
+
+    <p>Tuning of this parameter should only be necessary on very
+    busy sites. Setting this parameter to a large number is almost
+    always a bad idea.</p>
+
+    <p>Note that this is the maximum number of <em>spare</em> servers,
+    not the maximum total number of client requests that can be handled
+    at one time. If you wish to limit that number, see the <a
+    href="#maxclients">MaxClients</a> directive.</p>
+
+    <p>This directive has no effect when used with the Apache Web
+    server on a Microsoft Windows platform.</p>
+
+    <p>See also <a href="#minspareservers">MinSpareServers</a>,
+    <a href="#startservers">StartServers</a>, and <a
+    href="#maxclients">MaxClients</a>.</p>
+    <hr />
+
+    <h2><a id="minspareservers"
+    name="minspareservers">MinSpareServers directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MinSpareServers
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>MinSpareServers
+    5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The MinSpareServers directive sets the desired minimum
+    number of <em>idle</em> child server processes. An idle process
+    is one which is not handling a request. If there are fewer than
+    MinSpareServers idle, then the parent process creates new
+    children at a maximum rate of 1 per second.</p>
+
+    <p>Tuning of this parameter should only be necessary on very
+    busy sites. Setting this parameter to a large number is almost
+    always a bad idea.</p>
+
+    <p>Note that setting this directive to some value <i>m</i> ensures
+    that you will always have at least <i>n + m</i> <code>httpd</code>
+    processes running when you have <i>n</i> active client requests.</p>
+
+    <p>This directive has no effect on Microsoft Windows.</p>
+
+    <p>See also <a href="#maxspareservers">MaxSpareServers</a>,
+    <a href="#startservers">StartServers</a>, and <a
+    href="#maxclients">MaxClients</a>.</p>
+    <hr />
+
+    <h2><a id="namevirtualhost"
+    name="namevirtualhost">NameVirtualHost directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> NameVirtualHost
+    <em>addr</em>[:<em>port</em>]<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> NameVirtualHost
+    is only available in Apache 1.3 and later 
+
+    <p>The NameVirtualHost directive is a required directive if you
+    want to configure <a href="../vhosts/">name-based virtual
+    hosts</a>.</p>
+
+    <p>Although <em>addr</em> can be hostname it is recommended
+    that you always use an IP address or wildcard,
+    <em>e.g.</em></p>
+
+    <blockquote>
+      <code>NameVirtualHost 111.22.33.44</code>
+    </blockquote>
+    With the NameVirtualHost directive you specify the IP address
+    on which the server will receive requests for the name-based
+    virtual hosts. This will usually be the address to which your
+    name-based virtual host names resolve. In cases where a
+    firewall or other proxy receives the requests and forwards them
+    on a different IP address to the server, you must specify the
+    IP address of the physical interface on the machine which will
+    be servicing the requests. If you have multiple name-based
+    hosts on multiple addresses, repeat the directive for each
+    address. 
+
+    <p>Note: the "main server" and any _default_ servers will
+    <strong>never</strong> be served for a request to a
+    NameVirtualHost IP Address (unless for some reason you specify
+    NameVirtualHost but then don't define any VirtualHosts for that
+    address).</p>
+
+    <p>Optionally you can specify a port number on which the
+    name-based virtual hosts should be used, <em>e.g.</em></p>
+
+    <blockquote>
+      <code>NameVirtualHost 111.22.33.44:8080</code>
+    </blockquote>
+    In Apache 1.3.13 and greater you can specify a <code>*</code>
+    for the <em>addr</em>. This creates a wildcard NameVirtualHost
+    which will match connections to any address that isn't
+    configured with a more specific NameVirtualHost directive or <a
+    href="#virtualhost">&lt;VirtualHost&gt;</a> section. This is
+    useful if you want only name-based virtual hosts and you don't
+    want to hard-code the server's IP address into the
+    configuration file. 
+
+    <p><strong>See also:</strong> <a href="../vhosts/">Apache
+    Virtual Host documentation</a></p>
+    <hr />
+
+    <h2><a id="options" name="options">Options directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Options
+    [+|-]<em>option</em> [[+|-]<em>option</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The Options directive controls which server features are
+    available in a particular directory.</p>
+
+    <p><em>option</em> can be set to <code>None</code>, in which
+    case none of the extra features are enabled, or one or more of
+    the following:</p>
+
+    <dl>
+      <dt>All</dt>
+
+      <dd>All options except for MultiViews. This is the default
+      setting.</dd>
+
+      <dt>ExecCGI</dt>
+
+      <dd>
+      Execution of CGI scripts is permitted.</dd>
+
+      <dt>FollowSymLinks</dt>
+
+      <dd>
+
+      The server will follow symbolic links in this
+      directory.<br />
+       <strong>Note</strong>: even though the server follows the
+      symlink it does <em>not</em> change the pathname used to
+      match against <code>&lt;Directory&gt;</code> sections.<br />
+       <strong>Note</strong>: this option gets ignored if set
+      inside a &lt;Location&gt; section.</dd>
+
+      <dt>Includes</dt>
+
+      <dd>
+      Server-side includes are permitted.</dd>
+
+      <dt>IncludesNOEXEC</dt>
+
+      <dd>
+      
+      Server-side includes are permitted, but the #exec command and
+      #exec CGI are disabled. It is still possible to #include
+      virtual CGI scripts from ScriptAliase'd directories.</dd>
+
+      <dt>Indexes</dt>
+
+      <dd>
+      If a URL which maps to a directory is requested, and the
+      there is no DirectoryIndex (<em>e.g.</em>, index.html) in
+      that directory, then the server will return a formatted
+      listing of the directory.</dd>
+
+      <dt>MultiViews</dt>
+
+      <dd>
+      <a href="../content-negotiation.html">Content negotiated</a>
+      MultiViews are allowed.</dd>
+
+      <dt>SymLinksIfOwnerMatch</dt>
+
+      <dd>
+
+      The server will only follow symbolic links for which the
+      target file or directory is owned by the same user id as the
+      link.<br />
+       <strong>Note</strong>: this option gets ignored if set
+      inside a &lt;Location&gt; section.</dd>
+    </dl>
+    Normally, if multiple <code>Options</code> could apply to a
+    directory, then the most specific one is taken complete; the
+    options are not merged. However if <em>all</em> the options on
+    the <code>Options</code> directive are preceded by a + or -
+    symbol, the options are merged. Any options preceded by a + are
+    added to the options currently in force, and any options
+    preceded by a - are removed from the options currently in
+    force. 
+
+    <p>For example, without any + and - symbols:</p>
+
+    <blockquote>
+      <code>&lt;Directory /web/docs&gt;<br />
+       Options Indexes FollowSymLinks<br />
+       &lt;/Directory&gt;<br />
+       &lt;Directory /web/docs/spec&gt;<br />
+       Options Includes<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+    then only <code>Includes</code> will be set for the
+    /web/docs/spec directory. However if the second
+    <code>Options</code> directive uses the + and - symbols: 
+
+    <blockquote>
+      <code>&lt;Directory /web/docs&gt;<br />
+       Options Indexes FollowSymLinks<br />
+       &lt;/Directory&gt;<br />
+       &lt;Directory /web/docs/spec&gt;<br />
+       Options +Includes -Indexes<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+    then the options <code>FollowSymLinks</code> and
+    <code>Includes</code> are set for the /web/docs/spec directory.
+    
+
+    <p><strong>Note:</strong> Using <code>-IncludesNOEXEC</code> or
+    <code>-Includes</code> disables server-side includes completely
+    regardless of the previous setting.</p>
+
+    <p>The default in the absence of any other settings is
+    <code>All</code>.</p>
+    <hr />
+
+    <h2><a id="pidfile" name="pidfile">PidFile directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> PidFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>PidFile
+    logs/httpd.pid</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The PidFile directive sets the file to which the server
+    records the process id of the daemon. If the filename does not
+    begin with a slash (/) then it is assumed to be relative to the
+    <a href="#serverroot">ServerRoot</a>. The PidFile is only used
+    in <a href="#servertype">standalone</a> mode.</p>
+
+    <p>It is often useful to be able to send the server a signal,
+    so that it closes and then reopens its <a
+    href="#errorlog">ErrorLog</a> and TransferLog, and re-reads its
+    configuration files. This is done by sending a SIGHUP (kill -1)
+    signal to the process id listed in the PidFile.</p>
+
+    <p>The PidFile is subject to the same warnings about log file
+    placement and <a
+    href="../misc/security_tips.html#serverroot">security</a>.</p>
+    <hr />
+
+    <h2><a id="port" name="port">Port directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Port
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>Port
+    80</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p><em>Number</em> is a number from 0 to 65535; some port
+    numbers (especially below 1024) are reserved for particular
+    protocols. See <code>/etc/services</code> for a list of some
+    defined ports; the standard port for the http protocol is
+    80.</p>
+
+    <p>The Port directive has two behaviors, the first of which is
+    necessary for NCSA backwards compatibility (and which is
+    confusing in the context of Apache).</p>
+
+    <ul>
+      <li>In the absence of any <a href="#listen">Listen</a> or <a
+      href="#bindaddress">BindAddress</a> directives specifying a
+      port number, a Port directive given in the "main server"
+      (<em>i.e.</em>, outside any <a
+      href="#virtualhost">&lt;VirtualHost&gt;</a> section) sets the
+      network port on which the server listens. If there are any
+      Listen or BindAddress directives specifying
+      <code>:number</code> then Port has no effect on what address
+      the server listens at.</li>
+
+      <li>The Port directive sets the <code>SERVER_PORT</code>
+      environment variable (for <a href="mod_cgi.html">CGI</a> and
+      <a href="mod_include.html">SSI</a>), and is used when the
+      server must generate a URL that refers to itself (for example
+      when creating an external redirect to itself). This behavior
+      is modified by <a
+      href="#usecanonicalname">UseCanonicalName</a>.</li>
+    </ul>
+    The primary behavior of Port should be considered to be
+    similar to that of the <a href="#servername">ServerName</a>
+    directive. The ServerName and Port together specify what you
+    consider to be the <em>canonical</em> address of the server.
+    (See also <a href="#usecanonicalname">UseCanonicalName</a>.) 
+
+    <p>Port 80 is one of Unix's special ports. All ports numbered
+    below 1024 are reserved for system use, <em>i.e.</em>, regular
+    (non-root) users cannot make use of them; instead they can only
+    use higher port numbers. To use port 80, you must start the
+    server from the root account. After binding to the port and
+    before accepting requests, Apache will change to a low
+    privileged user as set by the <a href="#user">User
+    directive</a>.</p>
+
+    <p>If you cannot use port 80, choose any other unused port.
+    Non-root users will have to choose a port number higher than
+    1023, such as 8000.</p>
+
+    <p>SECURITY: if you do start the server as root, be sure not to
+    set <a href="#user">User</a> to root. If you run the server as
+    root whilst handling connections, your site may be open to a
+    major security attack.</p>
+    <hr />
+
+    <h2><a id="protocolreqcheck" name="protocolreqcheck">ProtocolReqCheck
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProtocolReqCheck
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ProtocolReqCheck
+    on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config
+    <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    ProtocolReqCheck is only available in Apache 1.3.27 and later.
+
+    <p>This directive enables strict checking of the Protocol field
+    in the Request line. Versions of Apache prior to 1.3.26 would
+    silently accept bogus Protocols (such as <code>HTTP-1.1</code>)
+    and assume <code>HTTP/1.0</code>. Instead, now the Protocol field
+    must be valid. If the pre-1.3.26 behavior is desired or required,
+    it can be enabled via setting <code>ProtocolReqCheck off</code>.
+    </p>
+
+    <hr />
+
+    <h2><a id="require" name="require">Require directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Require
+    <em>entity-name</em> [<em>entity-name</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>This directive selects which authenticated users can access
+    a resource. The allowed syntaxes are:</p>
+
+    <ul>
+      <li>
+        Require user <em>userid</em> [<em>userid</em>] ... 
+
+        <p>Only the named users can access the resource.</p>
+      </li>
+
+      <li>
+        Require group <em>group-name</em> [<em>group-name</em>] ...
+        
+
+        <p>Only users in the named groups can access the
+        resource.</p>
+      </li>
+
+      <li>
+        Require valid-user 
+
+        <p>All valid users can access the resource.</p>
+      </li>
+      <li>file-owner
+        <p>Only the user, whose name matches the system's name for 
+       the file owner, can access the resource.<br>
+       [Available after Apache 1.3.20]</p>
+      </li>
+      <li>file-group
+        <p>Only the members of the group, whose name matches the
+       system's name of the file owner group, can access the 
+       resource.<br>[Available after Apache 1.3.20]</p>
+      </li>
+    </ul>
+
+    <p>Require must be accompanied by <a
+    href="#authname">AuthName</a> and <a
+    href="#authtype">AuthType</a> directives, and directives such
+    as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a> (to define
+    users and groups) in order to work correctly. Example:</p>
+
+    <blockquote>
+      <code>AuthType Basic<br />
+       AuthName "Restricted Directory"<br />
+       AuthUserFile /web/users<br />
+       AuthGroupFile /web/groups<br />
+       Require group admin<br />
+      </code>
+    </blockquote>
+    Access controls which are applied in this way are effective for
+    <strong>all</strong> methods. <strong>This is what is normally
+    desired.</strong> If you wish to apply access controls only to
+    specific methods, while leaving other methods unprotected, then
+    place the <code>Require</code> statement into a <a
+    href="#limit">&lt;Limit&gt;</a> section 
+
+    <p>See also <a href="#satisfy">Satisfy</a> and <a
+    href="mod_access.html">mod_access</a>.</p>
+    <hr />
+
+    <h2><a id="resourceconfig" name="resourceconfig">ResourceConfig
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ResourceConfig
+    <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ResourceConfig
+    conf/srm.conf</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> The ability to
+    specify a directory, rather than a file name, is only available in
+    Apache 1.3.13 and later.
+
+    <p>The server will read this file for more directives after
+    reading the httpd.conf file. <em>File-path</em> is relative to
+    the <a href="#serverroot">ServerRoot</a>. This feature can be
+    disabled using:</p>
+
+    <blockquote>
+      <code>ResourceConfig /dev/null</code>
+    </blockquote>
+    Or, on Win32 servers, 
+
+    <blockquote>
+      <code>ResourceConfig nul</code>
+    </blockquote>
+    <p>Historically, this file contained most directives except for
+    server configuration directives and <a
+    href="#directory">&lt;Directory&gt;</a> sections; in fact it
+    can now contain any server directive allowed in the <em>server
+    config</em> context. However, since Apache version 1.3.4, the
+    default <code>srm.conf</code> file which ships with Apache contains
+    only comments, and all directives are placed in the main server
+    configuration file, <code>httpd.conf</code>.</p>
+
+    <p>If <code>ResourceConfig</code> points to a directory, rather than
+    a file, Apache will read all files in that directory, and any
+    subdirectory, and parse those as configuration files. 
+    </p>
+    <p>Alternatively you can use a wildcard to limit the scope; i.e
+    to only *.conf files.
+    </p>
+    <p>Note that by default <em>any</em> file in the specified
+    directory will be loaded as a configuration file.
+    </p>
+    <p>So make sure that you don't have stray files in
+    this directory by mistake, such as temporary files created by your
+    editor, for example.</p>
+
+    <p>See also <a href="#accessconfig">AccessConfig</a>.</p>
+    <hr />
+
+    <h2><a id="rlimit" name="rlimit">RLimitCPU</a> <a
+    id="rlimitcpu" name="rlimitcpu">directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RLimitCPU
+    <em>number</em>|max [<em>number</em>|max] <br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+    operating system defaults</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> RLimitCPU is
+    only available in Apache 1.2 and later 
+
+    <p>Takes 1 or 2 parameters. The first parameter sets the soft
+    resource limit for all processes and the second parameter sets
+    the maximum resource limit. Either parameter can be a number,
+    or <code>max</code> to indicate to the server that the limit
+    should be set to the maximum allowed by the operating system
+    configuration. Raising the maximum resource limit requires that
+    the server is running as root, or in the initial startup
+    phase.</p>
+
+    <p>This applies to processes forked off from Apache children
+    servicing requests, not the Apache children themselves. This
+    includes CGI scripts and SSI exec commands, but not any
+    processes forked off from the Apache parent such as piped
+    logs.</p>
+
+    <p>CPU resource limits are expressed in seconds per
+    process.</p>
+
+    <p>See also <a href="#rlimitmem">RLimitMEM</a> or <a
+    href="#rlimitnproc">RLimitNPROC</a>.</p>
+    <hr />
+
+    <h2><a id="rlimitmem" name="rlimitmem">RLimitMEM
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RLimitMEM
+    <em>number</em>|max [<em>number</em>|max]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+    operating system defaults</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> RLimitMEM is
+    only available in Apache 1.2 and later 
+
+    <p>Takes 1 or 2 parameters. The first parameter sets the soft
+    resource limit for all processes and the second parameter sets
+    the maximum resource limit. Either parameter can be a number,
+    or <code>max</code> to indicate to the server that the limit
+    should be set to the maximum allowed by the operating system
+    configuration. Raising the maximum resource limit requires that
+    the server is running as root, or in the initial startup
+    phase.</p>
+
+    <p>This applies to processes forked off from Apache children
+    servicing requests, not the Apache children themselves. This
+    includes CGI scripts and SSI exec commands, but not any
+    processes forked off from the Apache parent such as piped
+    logs.</p>
+
+    <p>Memory resource limits are expressed in bytes per
+    process.</p>
+
+    <p>See also <a href="#rlimitcpu">RLimitCPU</a> or <a
+    href="#rlimitnproc">RLimitNPROC</a>.</p>
+    <hr />
+
+    <h2><a id="rlimitnproc" name="rlimitnproc">RLimitNPROC
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RLimitNPROC
+    <em>number</em>|max [<em>number</em>|max]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+    operating system defaults</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> RLimitNPROC is
+    only available in Apache 1.2 and later 
+
+    <p>Takes 1 or 2 parameters. The first parameter sets the soft
+    resource limit for all processes and the second parameter sets
+    the maximum resource limit. Either parameter can be a number,
+    or <code>max</code> to indicate to the server that the limit
+    should be set to the maximum allowed by the operating system
+    configuration. Raising the maximum resource limit requires that
+    the server is running as root, or in the initial startup
+    phase.</p>
+
+    <p>This applies to processes forked off from Apache children
+    servicing requests, not the Apache children themselves. This
+    includes CGI scripts and SSI exec commands, but not any
+    processes forked off from the Apache parent such as piped
+    logs.</p>
+
+    <p>Process limits control the number of processes per user.</p>
+
+    <p>Note: If CGI processes are <strong>not</strong> running
+    under userids other than the web server userid, this directive
+    will limit the number of processes that the server itself can
+    create. Evidence of this situation will be indicated by
+    <strong><em>cannot fork</em></strong> messages in the
+    error_log.</p>
+
+    <p>See also <a href="#rlimitmem">RLimitMEM</a> or <a
+    href="#rlimitcpu">RLimitCPU</a>.</p>
+    <hr />
+
+    <h2><a id="satisfy" name="satisfy">Satisfy directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Satisfy any|all<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> Satisfy all<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Satisfy is only
+    available in Apache 1.2 and later 
+
+    <p>Access policy if both <code>Allow</code> and
+    <code>Require</code> used. The parameter can be either
+    <em>'all'</em> or <em>'any'</em>. This directive is only useful
+    if access to a particular area is being restricted by both
+    username/password <em>and</em> client host address. In this
+    case the default behavior ("all") is to require that the client
+    passes the address access restriction <em>and</em> enters a
+    valid username and password. With the "any" option the client
+    will be granted access if they either pass the host restriction
+    or enter a valid username and password. This can be used to
+    password restrict an area, but to let clients from particular
+    addresses in without prompting for a password.</p>
+
+    <p>See also <a href="#require">Require</a> and <a
+    href="mod_access.html#allow">Allow</a>.</p>
+    <hr />
+
+    <h2><a id="scoreboardfile" name="scoreboardfile">ScoreBoardFile
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScoreBoardFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ScoreBoardFile
+    logs/apache_status</code> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The ScoreBoardFile directive is required on some
+    architectures to place a file that the server will use to
+    communicate between its children and the parent. The easiest
+    way to find out if your architecture requires a scoreboard file
+    is to run Apache and see if it creates the file named by the
+    directive. If your architecture requires it then you must
+    ensure that this file is not used at the same time by more than
+    one invocation of Apache.</p>
+
+    <p>If you have to use a ScoreBoardFile then you may see
+    improved speed by placing it on a RAM disk. But be careful that
+    you heed the same warnings about log file placement and <a
+    href="../misc/security_tips.html">security</a>.</p>
+
+    <p>Apache 1.2 and above:</p>
+
+    <p>Linux 1.x users might be able to add <code>-DHAVE_SHMGET
+    -DUSE_SHMGET_SCOREBOARD</code> to the <code>EXTRA_CFLAGS</code>
+    in your <code>Configuration</code>. This might work with some
+    1.x installations, but won't work with all of them. (Prior to
+    1.3b4, <code>HAVE_SHMGET</code> would have sufficed.)</p>
+
+    <p>SVR4 users should consider adding <code>-DHAVE_SHMGET
+    -DUSE_SHMGET_SCOREBOARD</code> to the <code>EXTRA_CFLAGS</code>
+    in your <code>Configuration</code>. This is believed to work,
+    but we were unable to test it in time for 1.2 release. (Prior
+    to 1.3b4, <code>HAVE_SHMGET</code> would have sufficed.)</p>
+
+    <p><strong>See Also</strong>: <a
+    href="../stopping.html">Stopping and Restarting Apache</a></p>
+    <hr />
+
+    <h2><a id="scriptinterpretersource"
+    name="scriptinterpretersource">ScriptInterpreterSource
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScriptInterpreterSource
+    registry|script<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>ScriptInterpreterSource script</code> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core (Windows only) 
+
+    <p>This directive is used to control how Apache 1.3.5 and later
+    finds the interpreter used to run CGI scripts. The default
+    technique is to use the interpreter pointed to by the #! line
+    in the script. Setting ScriptInterpreterSource registry will
+    cause the Windows Registry to be searched using the script file
+    extension (e.g., .pl) as a search key.</p>
+    <hr />
+
+    <h2><a id="sendbuffersize" name="sendbuffersize">SendBufferSize
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> SendBufferSize
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The server will set the TCP buffer size to the number of
+    bytes specified. Very useful to increase past standard OS
+    defaults on high speed high latency (<em>i.e.</em>, 100ms or
+    so, such as transcontinental fast pipes)</p>
+    <hr />
+
+    <h2><a id="serveradmin" name="serveradmin">ServerAdmin
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerAdmin
+    <em>email-address</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The ServerAdmin sets the e-mail address that the server
+    includes in any error messages it returns to the client.</p>
+
+    <p>It may be worth setting up a dedicated address for this,
+    <em>e.g.</em></p>
+
+    <blockquote>
+      <code>ServerAdmin www-admin@foo.bar.com</code>
+    </blockquote>
+    as users do not always mention that they are talking about the
+    server! 
+    <hr />
+
+    <h2><a id="serveralias" name="serveralias">ServerAlias
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerAlias
+    <em>hostname</em> [<em>hostname</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> virtual host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ServerAlias is
+    only available in Apache 1.1 and later. 
+
+    <p>The ServerAlias directive sets the alternate names for a
+    host, for use with <a
+    href="../vhosts/name-based.html">name-based virtual
+    hosts</a>.</p>
+
+    <p>Example:</p>
+
+    <pre>
+    &lt;VirtualHost *&gt;
+    ServerName server.domain.com
+    ServerAlias server server2.domain.com server2
+    ...
+    &lt;/VirtualHost&gt;
+    </pre>
+
+    <p><strong>See also:</strong> <a href="../vhosts/">Apache
+    Virtual Host documentation</a></p>
+    <hr />
+
+    <h2><a id="servername" name="servername">ServerName
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerName
+    <em>fully-qualified-domain-name</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The ServerName directive sets the hostname of the server;
+    this is used when creating redirection URLs. If it is not
+    specified, then the server attempts to deduce it from its own
+    IP address; however this may not work reliably, or may not
+    return the preferred hostname. For example:</p>
+
+    <blockquote>
+      <code>ServerName www.example.com</code>
+    </blockquote>
+    would be used if the canonical (main) name of the actual
+    machine were <code>simple.example.com</code>. 
+
+    <p>If you are using <a
+    href="../vhosts/name-based.html">name-based virtual hosts</a>,
+    the <code>ServerName</code> inside a <a
+    href="#virtualhost"><code>&lt;VirtualHost&gt;</code></a>
+    section specifies what hostname must appear in the request's
+    <code>Host:</code> header to match this virtual host.</p>
+
+    <p><strong>See Also</strong>:<br />
+     <a href="../dns-caveats.html">DNS Issues</a><br />
+     <a href="../vhosts/">Apache virtual host
+    documentation</a><br />
+     <a href="#usecanonicalname">UseCanonicalName</a><br />
+     <a href="#namevirtualhost">NameVirtualHost</a><br />
+     <a href="#serveralias">ServerAlias</a><br />
+    </p>
+    <hr />
+
+    <h2><a id="serverpath" name="serverpath">ServerPath
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerPath
+    <em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> virtual host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ServerPath is
+    only available in Apache 1.1 and later. 
+
+    <p>The ServerPath directive sets the legacy URL pathname for a
+    host, for use with <a href="../vhosts/">name-based virtual
+    hosts</a>.</p>
+
+    <p><strong>See also:</strong> <a href="../vhosts/">Apache
+    Virtual Host documentation</a></p>
+    <hr />
+
+    <h2><a id="serverroot" name="serverroot">ServerRoot
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerRoot
+    <em>directory-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ServerRoot
+    /usr/local/apache</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The ServerRoot directive sets the directory in which the
+    server lives. Typically it will contain the subdirectories
+    <code>conf/</code> and <code>logs/</code>. Relative paths for
+    other configuration files are taken as relative to this
+    directory.</p>
+
+    <p>See also <a href="../invoking.html">the <code>-d</code>
+    option to httpd</a>.</p>
+
+    <p>See also <a href="../misc/security_tips.html#serverroot">the
+    security tips</a> for information on how to properly set
+    permissions on the ServerRoot.</p>
+    <hr />
+
+    <h2><a id="serversignature"
+    name="serversignature">ServerSignature directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerSignature
+    On|Off|EMail<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ServerSignature
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ServerSignature
+    is only available in Apache 1.3 and later. 
+
+    <p>The ServerSignature directive allows the configuration of a
+    trailing footer line under server-generated documents (error
+    messages, mod_proxy ftp directory listings, mod_info output,
+    ...). The reason why you would want to enable such a footer
+    line is that in a chain of proxies, the user often has no
+    possibility to tell which of the chained servers actually
+    produced a returned error message.<br />
+     The <samp>Off</samp> setting, which is the default, suppresses
+    the error line (and is therefore compatible with the behavior
+    of Apache-1.2 and below). The <samp>On</samp> setting simply
+    adds a line with the server version number and <a
+    href="#servername">ServerName</a> of the serving virtual host,
+    and the <samp>EMail</samp> setting additionally creates a
+    "mailto:" reference to the <a
+    href="#serveradmin">ServerAdmin</a> of the referenced
+    document.</p>
+    <hr />
+
+    <h2><a id="servertokens" name="servertokens">ServerTokens
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerTokens
+    Minimal|ProductOnly|OS|Full<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ServerTokens
+    Full</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ServerTokens is
+    only available in Apache 1.3 and later; the
+    <code>ProductOnly</code> keyword is only available in versions
+    later than 1.3.12 
+
+    <p>This directive controls whether <samp>Server</samp> response
+    header field which is sent back to clients includes a
+    description of the generic OS-type of the server as well as
+    information about compiled-in modules.</p>
+
+    <dl>
+      <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server:
+      Apache</samp></dd>
+
+      <dt><code>ServerTokens Min[imal]</code></dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server:
+      Apache/1.3.0</samp></dd>
+
+      <dt><code>ServerTokens OS</code></dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+      (Unix)</samp></dd>
+
+      <dt><code>ServerTokens Full</code> (or not specified)</dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+      (Unix) PHP/3.0 MyMod/1.2</samp></dd>
+    </dl>
+
+    <p>This setting applies to the entire server, and cannot be
+    enabled or disabled on a virtualhost-by-virtualhost basis.</p>
+    <hr />
+
+    <h2><a id="servertype" name="servertype">ServerType
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ServerType
+    <em>type</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ServerType
+    standalone</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The ServerType directive sets how the server is executed by
+    the system. <em>Type</em> is one of</p>
+
+    <dl>
+      <dt>inetd</dt>
+
+      <dd>The server will be run from the system process inetd; the
+      command to start the server is added to
+      <code>/etc/inetd.conf</code></dd>
+
+      <dt>standalone</dt>
+
+      <dd>The server will run as a daemon process; the command to
+      start the server is added to the system startup scripts.
+      (<code>/etc/rc.local</code> or
+      <code>/etc/rc3.d/...</code>.)</dd>
+    </dl>
+    Inetd is the lesser used of the two options. For each http
+    connection received, a new copy of the server is started from
+    scratch; after the connection is complete, this program exits.
+    There is a high price to pay per connection, but for security
+    reasons, some admins prefer this option. <font
+    color="red">Inetd mode is no longer recommended and does not
+    always work properly. Avoid it if at all possible.</font> 
+
+    <p>Standalone is the most common setting for ServerType since
+    it is far more efficient. The server is started once, and
+    services all subsequent connections. If you intend running
+    Apache to serve a busy site, standalone will probably be your
+    only option.</p>
+    <hr />
+
+    <h2><a id="shmemuidisuser" name="shmemuidisuser">ShmemUIDisUser
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ShmemUIDisUser
+    <em>on|off</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ShmemUIDisUser
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core<br />
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    ShmemUIDisUser directive is only available in Apache 1.3.27 and later.
+
+    <p>The ShmemUIDisUser directive controls whether Apache will change
+    the <code>uid</code> and <code>gid</code> ownership of System V shared memory
+    based scoreboards to the server settings of <a href="#user">User</a> and
+    <a href="#group">Group</a>. Releases of Apache up to 1.3.26 would do
+    this by default. Since the child processes are already attached to the
+    shared memory segment, this is not required for normal usage of Apache and
+    so to prevent possible abuse, Apache will no longer do that. The old
+    behavior may be required for special cases, however, which can be implemented
+    by setting this directive to <code>on</code>.</p>
+
+    <p>This directive has no effect on non-System V based scoreboards, such as
+       <code>mmap</code>.
+    </p>
+    
+    <hr />
+
+    <h2><a id="startservers" name="startservers">StartServers
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> StartServers
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>StartServers
+    5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The StartServers directive sets the number of child server
+    processes created on startup. As the number of processes is
+    dynamically controlled depending on the load, there is usually
+    little reason to adjust this parameter.</p>
+
+    <p>When running under Microsoft Windows, this directive has no
+    effect. There is always one child which handles all requests.
+    Within the child requests are handled by separate threads. The
+    <a href="#threadsperchild">ThreadsPerChild</a> directive
+    controls the maximum number of child threads handling requests,
+    which will have a similar effect to the setting of
+    <samp>StartServers</samp> on Unix.</p>
+
+    <p>See also <a href="#minspareservers">MinSpareServers</a> and
+    <a href="#maxspareservers">MaxSpareServers</a>.</p>
+    <hr />
+
+    <h2><a id="threadsperchild"
+    name="threadsperchild">ThreadsPerChild</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ThreadsPerChild
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ThreadsPerChild
+    50</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core (Windows,
+    NetWare)<br />
+     <strong>Compatibility:</strong> Available only with Apache 1.3
+    and later with Windows 
+
+    <p>This directive tells the server how many threads it should
+    use. This is the maximum number of connections the server can
+    handle at once; be sure and set this number high enough for
+    your site if you get a lot of hits.</p>
+
+    <p>This directive has no effect on Unix systems. Unix users
+    should look at <a href="#startservers">StartServers</a> and <a
+    href="#maxrequestsperchild">MaxRequestsPerChild</a>.</p>
+    <hr />
+
+    <h2><a id="threadstacksize"
+    name="threadstacksize">ThreadStackSize</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ThreadStackSize
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ThreadStackSize
+    65536</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core (NetWare)<br />
+     <strong>Compatibility:</strong> Available only with Apache 1.3
+    and later with NetWare 
+
+    <p>This directive tells the server what stack size to use for
+    each of the running threads. If you ever get a stack overflow
+    you will need to bump this number to a higher setting.</p>
+
+    <p>This directive has no effect on other systems.</p>
+    <hr />
+
+    <h2><a id="timeout" name="timeout">TimeOut directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> TimeOut
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>TimeOut
+    300</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The TimeOut directive currently defines the amount of time
+    Apache will wait for three things:</p>
+
+    <ol>
+      <li>The total amount of time it takes to receive a GET
+      request.</li>
+
+      <li>The amount of time between receipt of TCP packets on a
+      POST or PUT request.</li>
+
+      <li>The amount of time between ACKs on transmissions of TCP
+      packets in responses.</li>
+    </ol>
+    We plan on making these separately configurable at some point
+    down the road. The timer used to default to 1200 before 1.2,
+    but has been lowered to 300 which is still far more than
+    necessary in most situations. It is not set any lower by
+    default because there may still be odd places in the code where
+    the timer is not reset when a packet is sent. 
+    <hr />
+
+    <h2><a id="usecanonicalname"
+    name="usecanonicalname">UseCanonicalName directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> UseCanonicalName
+    on|off|dns<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>UseCanonicalName
+    on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> UseCanonicalName
+    is only available in Apache 1.3 and later 
+
+    <p>In many situations Apache has to construct a
+    <em>self-referential</em> URL. That is, a URL which refers back
+    to the same server. With <code>UseCanonicalName on</code> (and
+    in all versions prior to 1.3) Apache will use the <a
+    href="#servername">ServerName</a> and <a href="#port">Port</a>
+    directives to construct the canonical name for the server. This
+    name is used in all self-referential URLs, and for the values
+    of <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in
+    CGIs.</p>
+
+    <p>For example, if <a href="#servername">ServerName</a> is set to
+    <code>www.example.com</code> and <a href="#port">Port</a> is set to
+    <code>9090</code>, then the <em>canonical name</em> of the server is
+    <code>www.example.com:9090</code>. In the event that
+    <code>Port</code> has its default value of <code>80</code>, the
+    <code>:80</code> is omitted from the <em>canonical name</em>.</p>
+
+    <p>With <code>UseCanonicalName off</code> Apache will form
+    self-referential URLs using the hostname and port supplied by
+    the client if any are supplied (otherwise it will use the
+    canonical name, as defined above). These values are the same
+    that are used to implement <a 
+    href="../vhosts/name-based.html">name based virtual hosts</a>,
+    and are available with the same clients. The CGI variables
+    <code>SERVER_NAME</code> and <code>SERVER_PORT</code> will be
+    constructed from the client supplied values as well.</p>
+
+    <p>An example where this may be useful is on an intranet server
+    where you have users connecting to the machine using short
+    names such as <code>www</code>. You'll notice that if the users
+    type a shortname, and a URL which is a directory, such as
+    <code>http://www/splat</code>, <em>without the trailing
+    slash</em> then Apache will redirect them to
+    <code>http://www.domain.com/splat/</code>. If you have
+    authentication enabled, this will cause the user to have to
+    authenticate twice (once for <code>www</code> and once again
+    for <code>www.domain.com</code> -- see <a 
+    href="../misc/FAQ.html#prompted-twice">the FAQ on this subject for
+    more information</a>). But if <code>UseCanonicalName</code>
+    is set off, then Apache will redirect to 
+    <code>http://www/splat/</code>.</p>
+
+    <p>There is a third option, <code>UseCanonicalName DNS</code>,
+    which is intended for use with mass IP-based virtual hosting to
+    support ancient clients that do not provide a
+    <code>Host:</code> header. With this option Apache does a
+    reverse DNS lookup on the server IP address that the client
+    connected to in order to work out self-referential URLs.</p>
+
+    <p><strong>Warning:</strong> if CGIs make assumptions about the
+    values of <code>SERVER_NAME</code> they may be broken by this
+    option. The client is essentially free to give whatever value
+    they want as a hostname. But if the CGI is only using
+    <code>SERVER_NAME</code> to construct self-referential URLs
+    then it should be just fine.</p>
+
+    <p><strong>See also:</strong> <a
+    href="#servername">ServerName</a>, <a href="#port">Port</a></p>
+    <hr />
+
+    <h2><a id="user" name="user">User directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> User
+    <em>unix-userid</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>User
+    #-1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> core 
+
+    <p>The User directive sets the userid as which the server will
+    answer requests. In order to use this directive, the standalone
+    server must be run initially as root. <em>Unix-userid</em> is
+    one of:</p>
+
+    <dl>
+      <dt>A username</dt>
+
+      <dd>Refers to the given user by name.</dd>
+
+      <dt># followed by a user number.</dt>
+
+      <dd>Refers to a user by their number.</dd>
+    </dl>
+    The user should have no privileges which result in it being
+    able to access files which are not intended to be visible to
+    the outside world, and similarly, the user should not be able
+    to execute code which is not meant for httpd requests. It is
+    recommended that you set up a new user and group specifically
+    for running the server. Some admins use user
+    <code>nobody</code>, but this is not always possible or
+    desirable. For example mod_proxy's cache, when enabled, must be
+    accessible to this user (see the <a
+    href="mod_proxy.html#cacheroot"><code>CacheRoot</code>
+    directive</a>). 
+
+    <p>Notes: If you start the server as a non-root user, it will
+    fail to change to the lesser privileged user, and will instead
+    continue to run as that original user. If you do start the
+    server as root, then it is normal for the parent process to
+    remain running as root.</p>
+
+    <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+    requires a properly configured <a href="../suexec.html">suEXEC
+    wrapper</a>. When used inside a &lt;VirtualHost&gt; in this
+    manner, only the user that CGIs are run as is affected. Non-CGI
+    requests are still processed with the user specified in the
+    main User directive.</p>
+
+    <p>SECURITY: Don't set User (or <a href="#group">Group</a>) to
+    <code>root</code> unless you know exactly what you are doing,
+    and what the dangers are.</p>
+    <hr />
+
+    <h2><a id="virtualhost" name="virtualhost">&lt;VirtualHost&gt;
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> &lt;VirtualHost
+    <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]]
+    ...&gt; ... &lt;/VirtualHost&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Core.<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Non-IP
+    address-based Virtual Hosting only available in Apache 1.1 and
+    later.<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Multiple address
+    support only available in Apache 1.2 and later. 
+
+    <p>&lt;VirtualHost&gt; and &lt;/VirtualHost&gt; are used to
+    enclose a group of directives which will apply only to a
+    particular virtual host. Any directive which is allowed in a
+    virtual host context may be used. When the server receives a
+    request for a document on a particular virtual host, it uses
+    the configuration directives enclosed in the
+    &lt;VirtualHost&gt; section. <em>Addr</em> can be</p>
+
+    <ul>
+      <li>The IP address of the virtual host</li>
+
+      <li>A fully qualified domain name for the IP address of the
+      virtual host.</li>
+    </ul>
+    Example: 
+
+    <blockquote>
+      <code>&lt;VirtualHost 10.1.2.3&gt;<br />
+       ServerAdmin webmaster@host.foo.com<br />
+       DocumentRoot /www/docs/host.foo.com<br />
+       ServerName host.foo.com<br />
+       ErrorLog logs/host.foo.com-error_log<br />
+       TransferLog logs/host.foo.com-access_log<br />
+       &lt;/VirtualHost&gt;</code>
+    </blockquote>
+    Each VirtualHost must correspond to a different IP address,
+    different port number or a different host name for the server,
+    in the former case the server machine must be configured to
+    accept IP packets for multiple addresses. (If the machine does
+    not have multiple network interfaces, then this can be
+    accomplished with the <code>ifconfig alias</code> command (if
+    your OS supports it), or with kernel patches like <a
+    href="../misc/vif-info.html">VIF</a> (for SunOS(TM) 4.1.x)). 
+
+    <p>You can specify more than one IP address. This is useful if
+    a machine responds to the same name on two different
+    interfaces. For example, if you have a VirtualHost that is
+    available to hosts on an internal (intranet) as well as
+    external (internet) network. Example:</p>
+
+    <blockquote>
+      <code>&lt;VirtualHost 192.168.1.2 204.255.176.199&gt;<br />
+       DocumentRoot /www/docs/host.foo.com<br />
+       ServerName host.foo.com<br />
+       ServerAlias host<br />
+       &lt;/VirtualHost&gt;</code>
+    </blockquote>
+    The special name <code>_default_</code> can be specified in
+    which case this virtual host will match any IP address that is
+    not explicitly listed in another virtual host. In the absence
+    of any _default_ virtual host the "main" server config,
+    consisting of all those definitions outside any VirtualHost
+    section, is used when no match occurs. 
+
+    <p>You can specify a <code>:port</code> to change the port that
+    is matched. If unspecified then it defaults to the same port as
+    the most recent <code><a href="#port">Port</a></code> statement
+    of the main server. You may also specify <code>:*</code> to
+    match all ports on that address. (This is recommended when used
+    with <code>_default_</code>.)</p>
+
+    <p><strong>SECURITY</strong>: See the <a
+    href="../misc/security_tips.html">security tips</a> document
+    for details on why your security could be compromised if the
+    directory where logfiles are stored is writable by anyone other
+    than the user that starts the server.</p>
+
+    <p><strong>NOTE</strong>: The use of &lt;VirtualHost&gt; does
+    <strong>not</strong> affect what addresses Apache listens on.
+    You may need to ensure that Apache is listening on the correct
+    addresses using either <a href="#bindaddress">BindAddress</a>
+    or <a href="#listen">Listen</a>.</p>
+
+    <p><strong>See also:</strong> <a href="../vhosts/">Apache
+    Virtual Host documentation</a><br />
+     <strong>See also:</strong> <a
+    href="../dns-caveats.html">Warnings about DNS and
+    Apache</a><br />
+     <strong>See also:</strong> <a href="../bind.html">Setting
+    which addresses and ports Apache uses</a><br />
+     <strong>See also</strong>: <a href="../sections.html">How
+    Directory, Location and Files sections work</a> for an
+    explanation of how these different sections are combined when a
+    request is received</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/core.html.fr b/htdocs/manual/mod/core.html.fr
new file mode 100644 (file)
index 0000000..a364262
--- /dev/null
@@ -0,0 +1,4105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.190 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Noyau d'Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Noyau d'Apache</h1>
+
+    <p>Ces param&egrave;tres de configuration contr&ocirc;lent les
+    fonctionnalit&eacute;s premi&egrave;res d'Apache, et sont
+    toujours disponibles.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#acceptfilter">AcceptFilter</a></li>
+
+      <li><a href="#accessconfig">AccessConfig</a></li>
+
+      <li><a href="#accessfilename">AccessFileName</a></li>
+
+      <li><a href="#adddefaultcharset">AddDefaultCharset</a></li>
+
+      <li><a href="#addmodule">AddModule</a></li>
+
+      <li><a href="#allowoverride">AllowOverride</a></li>
+
+      <li><a href="#authname">AuthName</a></li>
+
+      <li><a href="#authtype">AuthType</a></li>
+
+      <li><a href="#bindaddress">BindAddress</a></li>
+
+      <li><a href="#bs2000account">BS2000Account</a></li>
+
+      <li><a href="#clearmodulelist">ClearModuleList</a></li>
+
+      <li><a href="#contentdigest">ContentDigest</a></li>
+
+      <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+      <li><a href="#defaulttype">DefaultType</a></li>
+
+      <li><a href="#directory">&lt;Directory&gt;</a></li>
+
+      <li><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+      <li><a href="#documentroot">DocumentRoot</a></li>
+
+      <li><a href="#ebcdicconvert">EBCDICConvert</a></li>
+
+      <li><a
+      href="#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+      <li><a href="#ebcdickludge">EBCDICKludge</a></li>
+
+      <li><a href="#errordocument">ErrorDocument</a></li>
+
+      <li><a href="#errorlog">ErrorLog</a></li>
+
+      <li><a href="#files">&lt;Files&gt;</a></li>
+
+      <li><a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+      <li><a href="#group">Group</a></li>
+
+      <li><a href="#hostnamelookups">HostNameLookups</a></li>
+
+      <li><a href="#identitycheck">IdentityCheck</a></li>
+
+      <li><a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+
+      <li><a href="#ifmodule">&lt;IfModule&gt;</a></li>
+
+      <li><a href="#include">Include</a></li>
+
+      <li><a href="#keepalive">KeepAlive</a></li>
+
+      <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+
+      <li><a href="#limit">&lt;Limit&gt;</a></li>
+
+      <li><a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+      <li><a href="#limitrequestbody">LimitRequestBody</a></li>
+
+      <li><a href="#limitrequestfields">LimitRequestFields</a></li>
+
+      <li><a
+      href="#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+      <li><a href="#limitrequestline">LimitRequestLine</a></li>
+
+      <li><a href="#listen">Listen</a></li>
+
+      <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+      <li><a href="#location">&lt;Location&gt;</a></li>
+
+      <li><a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+      <li><a href="#lockfile">LockFile</a></li>
+
+      <li><a href="#loglevel">LogLevel</a></li>
+
+      <li><a href="#maxclients">MaxClients</a></li>
+
+      <li><a
+      href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+      <li><a
+      href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+      <li><a href="#maxspareservers">MaxSpareServers</a></li>
+
+      <li><a href="#minspareservers">MinSpareServers</a></li>
+
+      <li><a href="#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="#options">Options</a></li>
+
+      <li><a href="#pidfile">PidFile</a></li>
+
+      <li><a href="#port">Port</a></li>
+
+      <li><a href="#require">require</a></li>
+
+      <li><a href="#resourceconfig">ResourceConfig</a></li>
+
+      <li><a href="#rlimitcpu">RLimitCPU</a></li>
+
+      <li><a href="#rlimitmem">RLimitMEM</a></li>
+
+      <li><a href="#rlimitnproc">RLimitNPROC</a></li>
+
+      <li><a href="#satisfy">Satisfy</a></li>
+
+      <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+      <li><a
+      href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+      <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+      <li><a href="#serveradmin">ServerAdmin</a></li>
+
+      <li><a href="#serveralias">ServerAlias</a></li>
+
+      <li><a href="#servername">ServerName</a></li>
+
+      <li><a href="#serverpath">ServerPath</a></li>
+
+      <li><a href="#serverroot">ServerRoot</a></li>
+
+      <li><a href="#serversignature">ServerSignature</a></li>
+
+      <li><a href="#servertokens">ServerTokens</a></li>
+
+      <li><a href="#servertype">ServerType</a></li>
+
+      <li><a href="#startservers">StartServers</a></li>
+
+      <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+      <li><a href="#threadstacksize">ThreadStackSize</a></li>
+
+      <li><a href="#timeout">TimeOut</a></li>
+
+      <li><a href="#usecanonicalname">UseCanonicalName</a></li>
+
+      <li><a href="#user">User</a></li>
+
+      <li><a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+    </ul>
+
+    <h2><a id="acceptfilter" name="acceptfilter">Directive
+    AcceptFilter</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AcceptFilter} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AcceptFilter on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>AccceptFilter on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> server config<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> core 
+
+    <p><code>AcceptFilter</code> contr&ocirc;le une optimisation
+    sp&eacute;cifique &agrave; BSD. Elle est compil&eacute;e par
+    d&eacute;faut et activ&eacute;e par d&eacute;faut si votre
+    syst&egrave;me l'impl&eacute;mente (option SO_ACCCEPTFILTER de
+    setsocketopt()). A l'heure actuelle, seul FreeBSD
+    l'impl&eacute;mente.</p>
+
+    <p>Se r&eacute;f&eacute;rer &agrave; la section concernant les
+    filtres dans la <a href="../misc/perf-bsd44.html">documentation
+    sur la performance</a> pour de plus amples informations.</p>
+
+    <p>L'option de compilation <code>AP_ACCEPTFILTER_OFF</code>
+    peut &ecirc;tre utilis&eacute;e pour changer le d&eacute;faut
+    &agrave; 'off'. <code>httpd -V</code> et <code>httpd -L</code>
+    affichent dor&eacute;navant les valeurs par d&eacute;fauts au
+    moment de la compilation, et si oui ou non SO_ACCEPTFILTER a
+    &eacute;t&eacute; d&eacute;fini pour cette compilation.</p>
+    <hr />
+    <!-- XXX translate a name="accessconfig" / Directive AccessConfig 
+                  -->
+
+    <h2><a id="accessconfig" name="accessconfig">Directive
+    AccessConfig</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AccessConfig} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AccessConfig
+    <em>nomfichier|nomr&eacute;pertoire</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>AccessConfig conf/access.conf</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> configuration serveur,
+    h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Le serveur lit dans ce fichier des directives
+    suppl&eacute;mentaires apr&egrave;s avoir ouvert le fichier <a
+    href="#resourceconfig">ResourceConfig</a>. <em>nomfichier</em>
+    est exprim&eacute; relativement &agrave; <a
+    href="#serverroot">ServerRoot</a>. Cette fonctionnalit&eacute;
+    peut &ecirc;tre d&eacute;sactiv&eacute;e en &eacute;crivant
+    :</p>
+
+    <blockquote>
+      <code>AccessConfig /dev/null</code>
+    </blockquote>
+    ou sur les serverus Win32 
+
+    <blockquote>
+      <code>AccessConfig nul</code>
+    </blockquote>
+
+    <p>Historiquement, ce fichier ne contenait que des sections <a
+    href="#directory">&lt;Directory&gt;</a>; en fait, il pourra
+    maintenant contenir toute directive "serveur" autoris&eacute;e
+    dans le contexte de la <em>configuration serveur</em>.</p>
+
+    <p>Une nouveaut&eacute; de la version d'Apache 1.3.13 est la
+    possibilit&eacute; qu'<code>AccessConfig</code>
+    repr&eacute;sente un r&eacute;pertoire plutot qu'un fichier.
+    Apache lira tous les fichiers de ce r&eacute;pertoire ainsi que
+    tous les sous-r&eacute;pertoires et analysera tous ces fichiers
+    de configuration.</p>
+
+    <p>Voir &eacute;galement <a
+    href="#resourceconfig">ResourceConfig</a>.</p>
+    <hr />
+
+    <h2><a id="accessfilename" name="accessfilename">Directive
+    AccessFileName</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AccessFileName} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AccessFileName <em>nomfichier</em>
+    [<em>nomfichier</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>AccessFileName .htaccess</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> configuration serveur,
+    h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    AccessFileName ne peut accepter plusieurs noms de fichiers
+    qu'&agrave; partir de la version 1.3 d'Apache 
+
+    <p>Lorsqu'il retourne un document au client, le serveur cherche
+    le premier fichier de contr&ocirc;le d'acc&egrave;s existant
+    dans cette liste dans chacun des r&eacute;pertoires inscrit
+    dans le chemin d'acc&egrave;s menant au document, pour
+    d&eacute;terminer si l'acc&egrave;s est autoris&eacute; dan
+    chacun de ces r&eacute;pertoires. Par exemple:</p>
+
+    <blockquote>
+      <code>AccessFileName .acl</code>
+    </blockquote>
+
+    <p>Avant de servir le document
+    <code>/usr/local/web/index.html</code>, le serveur lira les
+    fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
+    <code>/usr/local/.acl</code> et
+    <code>/usr/local/web/.acl</code> &agrave; la recherche de
+    directives, sauf si celles-ci ont &eacute;t&eacute;
+    d&eacute;sactiv&eacute;es par l'&eacute;criture</p>
+
+    <blockquote>
+      <code>&lt;Directory /&gt; AllowOverride None
+      &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p><strong>Voir &eacute;galement :</strong> <a
+    href="#allowoverride">AllowOverride</a></p>
+    <hr />
+
+    <h2><a id="adddefaultcharset"
+    name="adddefaultcharset">Directive AddDefaultCharset</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AddDefaultCharset On|Off|<em>charset</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> tous<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>AddDefaultCharset Off</code><br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    AddDefaultCharset n'est disponible qu'&agrave; partir de la
+    version 1.3.12 
+
+    <p>Cette directive sp&eacute;cifie le nom de la table de
+    caract&egrave;res qui sera ajout&eacute; &agrave; toutes les
+    r&eacute;ponses qui n'ont aucun param&egrave;tre sur le type de
+    contenu dans l'en-t&ecirc;te HTTP. Elle remplace la table de
+    caract&egrave;re sp&eacute;cifi&eacute; dans le corps du
+    document par l'utilisation du marqueur <code>META</code>. La
+    mise de <code>AddDefaultCharset Off</code> d&eacute;sactive
+    cette fonctionnalit&eacute;. <code>AddDefaultCharset On</code>
+    active la table de caract&egrave;re <code>iso-8859-1</code> par
+    d&eacute;faut d'Apache. Vous pouvez &eacute;galement
+    d&eacute;finir une autre table de caract&egrave;res &agrave;
+    employer. Par exemple <code>AddDefaultCharset utf-8</code>.</p>
+    <hr />
+
+    <h2><a id="addmodule" name="addmodule">Directive
+    AddModule</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AddModule} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AddModule <em>module</em> [<em>module</em>]
+    ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur <br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>AddModule</tt> n'est disponible qu'&agrave; partir de la
+    version 1.2 d'Apache 
+
+    <p>Le serveur peut int&eacute;grer des modules compil&eacute;s
+    qui ne sont pas mis en service. Cette directive peut &ecirc;tre
+    utilis&eacute;e pour activer ou d&eacute;sactiver ces modules.
+    Le serveur est install&eacute; avec une liste
+    pr&eacute;-configur&eacute;e de modules actifs cette liste peut
+    &ecirc;tre effac&eacute;e par la directive <a
+    href="#clearmodulelist">ClearModuleList</a>.</p>
+    <hr />
+
+    <h2><a id="allowoverride" name="allowoverride">Directive
+    AllowOverride</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AllowOverride} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AllowOverride All|None|<em>type de
+    directive</em> [<em>type de directive</em>] ... <br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>AllowOverride All All</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a>
+    r&eacute;pertoire<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Lorsque le serveur trouve un fichier .htaccess (comme
+    sp&eacute;cifi&eacute; par <a
+    href="#accessfilename">AccessFileName</a>) il doit savoir
+    quelles directives declar&eacute;es dans ce fichier peuvent
+    outrepasser les droits fix&eacute;s par des directives
+    pr&eacute;c&eacute;dentes.</p>
+
+    <p>Si la directive est d&eacute;finie &agrave;
+    <code>None</code>, les fichier .htaccess sont ignor&eacute;s.
+    Dans ce cas, le serveur n'essaie m&ecirc;me pas de lire les
+    fichiers .htaccess.</p>
+
+    <p>Si la directive est d&eacute;finie &agrave; <code>All</code>
+    toutes les directives possibles dans le <a
+    href="directive-dict.html#Context">contexte</a> .htacces sont
+    autoris&eacute;es dans les fichiers .htaccess.</p>
+
+    <p>Les <em>types de directives</em> peuvent &ecirc;tre parmi
+    ces groupes de directives :</p>
+
+    <dl>
+      <dt>AuthConfig</dt>
+
+      <dd>
+      <!--%plaintext &lt;?INDEX {\tt AuthConfig} override&gt; -->
+      Autorise l'usage de la directive Authorization (<a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>,
+      <a
+      href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>,
+      <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+      href="#authname">AuthName</a>, <a
+      href="#authtype">AuthType</a>, <a
+      href="mod_auth.html#authuserfile">AuthUserFile</a>, <a
+      href="#require">Require</a>, etc.).</dd>
+
+      <dt>FileInfo</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt FileInfo} override&gt; -->
+      Autorise l'usage de directives contr&ocirc;lant
+      l'acc&egrave;s aux types de documents (<a
+      href="mod_mime.html#addencoding">AddEncoding</a>, <a
+      href="mod_mime.html#addlanguage">AddLanguage</a>, <a
+      href="mod_mime.html#addtype">AddType</a>, <a
+      href="#defaulttype">DefaultType</a>, <a
+      href="#errordocument">ErrorDocument</a>, <a
+      href="mod_negotiation.html#languagepriority">LanguagePriority</a>,
+      etc.).</dd>
+
+      <dt>Indexes</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt Indexes} override&gt; -->
+      Autorise l'usage de directives contr&ocirc;lant l'indexation
+      des r&eacute;pertoires (<a
+      href="mod_autoindex.html#adddescription">AddDescription</a>,
+      <a href="mod_autoindex.html#addicon">AddIcon</a>, <a
+      href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>,
+      <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>,
+      <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a
+      href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a
+      href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a
+      href="mod_autoindex.html#headername">HeaderName</a>, <a
+      href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a
+      href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a
+      href="mod_autoindex.html#readmename">ReadmeName</a>,
+      etc.).</dd>
+
+      <dt>Limit</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt Limit} override&gt; -->
+      Autorise l'usage de directives contr&ocirc;lant les
+      acc&egrave;s de certains h&ocirc;tes (allow, deny et
+      order).</dd>
+
+      <dt>Options</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt Options} override&gt; -->
+      Autorise l'usage de directives contr&ocirc;lant certaines
+      fonctionnalit&eacute;s sp&eacute;cifiques des
+      r&eacute;pertoires (<a href="#options">Options</a> et <a
+      href="mod_include.html#xbithack">XBitHack</a>).</dd>
+    </dl>
+
+    <p><strong>Voir &eacute;galement :</strong> <a
+    href="#accessfilename">AccessFileName</a></p>
+    <hr />
+
+    <h2><a id="authname" name="authname">Directive
+    AuthName</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AuthName} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AuthName <em>domaine-autoris&eacute;</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Cette directive indique le nom du sch&eacute;ma
+    d'autorisation pour un r&eacute;pertoire. Ce sch&eacute;ma sera
+    donn&eacute; au client de sorte que l'utilisateur sache quel
+    nom et quel mot de passe envoyer. <samp>AuthName</samp> prend
+    un seul argument. Si le sch&eacute;ma d'autorisation contient
+    des espaces, il doit &ecirc;tre entour&eacute; de guillemets.
+    Pour fonctionner correctement, elle devra &ecirc;tre
+    accompagn&eacute;e des directives <a
+    href="#authtype">AuthType</a> et <a
+    href="#require">require</a>, et de directives telles que <a
+    href="mod_auth.html#authuserfile">AuthUserFile</a> et <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a>.</p>
+    <hr />
+
+    <h2><a id="authtype" name="authtype">Directive
+    AuthType</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt AuthType} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> AuthType <em>type</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Cette directive selectionne le type d'authentification pour
+    un r&eacute;pertoire. Seul les types <code>Basic</code> et
+    <code>Digest</code> sont actuellement
+    impl&eacute;ment&eacute;s. 
+    <!--%plaintext &lt;?INDEX {\tt Basic} authentication scheme&gt; -->
+     Pour fonctionner correctement, elle devra &ecirc;tre
+    accompagn&eacute;e des directives <a
+    href="#authname">AuthName</a> et <a
+    href="#require">require</a>, et de directives telles que <a
+    href="mod_auth.html#authuserfile">AuthUserFile</a> et <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a>.</p>
+    <hr />
+
+    <h2><a id="bindaddress" name="bindaddress">Directive
+    BindAddress</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt BindAddress} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> BindAddress *|<em>addresse IP</em>|<em>nom de
+    domaine</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>BindAddress *</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Un serveur http sous Unix&reg; peut soit &eacute;couter
+    toutes les adresses IP de la machine sur lequel il est
+    ex&eacute;cut&eacute;, ou uniquement une de ces adresses. Si
+    l'argument de cette directive est *, le serveur traitera les
+    connections sur toutes les adresses IP. Sinon, le serveur peut
+    &eacute;couter &agrave; partir d'une <em>adresse IP</em>
+    sp&eacute;cifique ou d'un <em>nom de domaine</em> Internet.</p>
+
+    <p>Une et une seule directive <tt>BindAddress</tt> peut
+    &ecirc;tre utilis&eacute;e. Pour contr&ocirc;ler plus finement
+    quels ports et adresses Apache &eacute;coute, utilisez la
+    directive <a href="#listen">Listen</a> au lieu de
+    <tt>BindAddress</tt>.</p>
+
+    <p><tt>BindAddress</tt> peut &ecirc;tre utilis&eacute;e comme
+    alternative &agrave; l'implantation d'<a
+    href="../vhosts/">h&ocirc;tes virtuels</a> utilisant des
+    serveurs multiples ind&eacute;pendants, soit au lieu d'utiliser
+    les sections <a
+    href="#virtualhost">&lt;VirtualHost&gt;</a>.</p>
+
+    <p><strong>Voir aussi:</strong> <a
+    href="../dns-caveats.html">Apache et DNS</a><br />
+     <strong>Voir aussi:</strong> <a href="../bind.html">Configurer
+    les ports et adresses utilis&eacute;s par Apache</a></p>
+    <hr />
+
+    <h2><a id="bs2000account" name="bs2000account">BS2000Account
+    directive</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt BS2000Account} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> BS2000Account <em>account</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <em>none</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    BS2000Account n'est valable que pour les machines BS2000,
+    &agrave; partir de la version 1.3 d'Apache. 
+
+    <p>La directive <code>BS2000Account</code> n'est disponible que
+    pour les machines BS2000. Elle doit &ecirc;tre employ&eacute;e
+    pour d&eacute;finir le num&eacute;ro de compte pour
+    l'utilisateur non privil&eacute;gi&eacute; (qui est
+    d&eacute;fini par la directive <a href="#user">User</a> ). Ceci
+    est requis par le sous syst&egrave;me POSIX du BS2000 afin de
+    changer l'environnement d'ex&eacute;cution sosu jacent du BS200
+    en effectuant une sous connexion, et &eacute;viter ainsi que
+    des scripts CGI puissent acc&eacute;der &agrave; des ressources
+    accessible &agrave; l'utilisateur privil&eacute;gi&eacute;
+    utilis&eacute; pour lancer le serveur,
+    g&eacute;n&eacute;ralement <samp>SYSROOT</samp>.<br />
+     Seulement une directive <code>BS2000Account</code> peut
+    &ecirc;tre utilis&eacute;e.</p>
+
+    <p><strong>Voir &eacute;galement:</strong> <a
+    href="../ebcdic.html">Portage EBCDIC d'Apache</a></p>
+    <hr />
+
+    <h2><a id="clearmodulelist" name="clearmodulelist">Directive
+    ClearModuleList</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ClearModuleList} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ClearModuleList<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>ClearModuleList</tt> n'est disponible qu'&agrave; partir de
+    la version 1.2 d'Apache 
+
+    <p>Le serveur dispose &agrave; l'installation d'une liste
+    pr&eacute;-configur&eacute;e de modules actifs. Cette directive
+    efface cette liste. Il est suppos&eacute; que cette liste sera
+    reconstruite &agrave; partir de directives <a
+    href="#addmodule">AddModule</a>.</p>
+    <hr />
+
+    <h2><a id="contentdigest" name="contentdigest">Directive
+    ContentDigest</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ContentDigest} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ContentDigest <em>on|off</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ContentDigest off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels, r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> Options<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> exp&eacute;rimental 
+
+    <p><a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    ContentDigest n'est disponible qu'&agrave; partir de la version
+    1.1 d'Apache</p>
+
+    <p>Cette directive active la g&eacute;n&eacute;ration
+    d'en-t&ecirc;tes <code>Content-MD5</code> conformes aux RFC1864
+    et RFC2068.</p>
+
+    <p>MD5 est un algorithme permettant d'extraire un
+    "r&eacute;sum&eacute;" &agrave; partir d'un bloc de
+    donn&eacute;es de longueur arbitraire, avec un degr&eacute; de
+    confiance suffisant dans la mesure ou une moindre
+    alt&eacute;ration dans les donn&eacute;es sera
+    refl&eacute;t&eacute;e par un changement dans le
+    "r&eacute;sum&eacute;".</p>
+
+    <p>L'en-t&ecirc;te <code>Content-MD5</code> procure un test de
+    l'int&eacute;grit&eacute; de message de bout en bout (MIC) sur
+    le corps d'entit&eacute;. Un proxy ou client pourra tester cet
+    en-t&ecirc;te pour d&eacute;tecter des modifications
+    accidentelles du corps d'entit&eacute; en cours de transfert.
+    Exemple d'en-t&ecirc;te:</p>
+<pre>
+  Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+</pre>
+
+    <p>Notez que ceci peut r&eacute;duire les performances de votre
+    serveur dans la mesure o&ugrave; le "r&eacute;sum&eacute;" est
+    calcul&eacute; &agrave; chaque requ&ecirc;te (il ne peut
+    &ecirc;tre mis en cache).</p>
+
+    <p><code>Content-MD5</code> n'est &eacute;mis que pour des
+    documents servis par le noyau, et &agrave; l'exception de tout
+    module. Par exemple, les documents SSI, la sortie de scripts
+    CGI, et des r&eacute;ponses en flux d'octet binaire ne pourront
+    utiliser cet en-t&ecirc;te.</p>
+    <hr />
+
+    <h2><a id="coredumpdirectory"
+    name="coredumpdirectory">Directive CoreDumpDirectory</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt CoreDumpDirectory} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> CoreDumpDirectory
+    <em>nomr&eacute;pertoire</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> m&ecirc;me
+    r&eacute;pertoire que ServerRoot<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Elle d&eacute;finit le r&eacute;pertoire auquel Apache tente
+    d'acc&eacute;der avant d'enregistrer un "noyau dump". Par
+    d&eacute;faut, il s'agit du r&eacute;pertoire <a
+    href="#serverroot">ServerRoot</a>, cependant, si ce
+    r&eacute;pertoire n'est pas accessible en &eacute;criture par
+    l'utilisateur sous lequel tourne le serveur, le "noyau dump" ne
+    pourra &ecirc;tre g&eacute;n&eacute;r&eacute;. Si vous
+    souhaitez dans ce cas obtenir un "noyau dump" pour des
+    n&eacute;cessit&eacute;s de d&eacute;bogage, vous pouvez
+    utiliser cette directive pour sp&eacute;cifier un autre
+    r&eacute;pertoire dans lequel vous avez toute autorisation pour
+    &eacute;crire.</p>
+    <hr />
+
+    <h2><a id="defaulttype" name="defaulttype">Directive
+    DefaultType</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt DefaultType} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> DefaultType <em>mime-type</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>DefaultType text/html</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels, r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Il peut arriver qu'une requ&ecirc;te demande au serveur un
+    document dont le type ne peut &ecirc;tre
+    d&eacute;termin&eacute; par les tables de MIME.</p>
+
+    <p>Le serveur doit informer le client du type de contenu
+    (Content-type) du document. Dans le cas d'un type inconnu, il
+    utilisera le <tt>DefaultType</tt>. Par exemple :</p>
+
+    <blockquote>
+      <code>DefaultType image/gif</code>
+    </blockquote>
+
+    <p>sera appropri&eacute; dans un r&eacute;pertoire contenant
+    une majorit&eacute; d'images gif dont certaines ne
+    pr&eacute;sentent pas explicitement l'extension .gif.</p>
+    <hr />
+
+    <h2><a id="directory" name="directory">Directive
+    &lt;Directory&gt;</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt Directory} section directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;Directory <em>nomr&eacute;pertoire</em>&gt;
+    ... &lt;/Directory&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p><tt>&lt;Directory&gt;</tt> et <tt>&lt;/Directory&gt;</tt>
+    sont utilis&eacute;s pour "encapsuler" un groupe de directives
+    applicables uniquement au r&eacute;prtoire indiqu&eacute; ainsi
+    qu'&agrave; ses sous-r&eacute;pertoires. Toute directive
+    autoris&eacute;e dans un contexte de r&eacute;pertoire peut
+    appara&icirc;tre entre ces deux balises.
+    <em>nomr&eacute;pertoire</em> est soit le chemin
+    enti&egrave;rement qualifi&eacute; du r&eacute;pertoire, ou un
+    motif. Dans un motif, '?' remplace un caract&egrave;re unique
+    quelconque, et '*' remplace toute s&eacute;quence de
+    z&eacute;ro ou plus caract&egrave;res quelconques. Sur Apache
+    1.3, vous pouvez aussi utiliser les plages de caract&egrave;res
+    '[]' comme dans un shell UNIX. De plus aucun des
+    m&eacute;tacaract&egrave;res ne peut remplacer un '/', ce qui
+    correspond plus intimement &agrave; la r&eacute;action des
+    shells UNIX. Exemple:</p>
+<pre>
+   &lt;Directory /usr/local/httpd/htdocs&gt;
+   Options Indexes FollowSymLinks
+   &lt;/Directory&gt;
+</pre>
+
+    <p><strong>A partir d'Apache 1.2 :</strong> peuvent &ecirc;tre
+    utilis&eacute;es les "expressions r&eacute;guli&egrave;res",
+    lesquelles devront &ecirc;tre pr&eacute;c&eacute;d&eacute;es du
+    caract&egrave;re <code>~</code>. Par exemple :</p>
+<pre>
+  &lt;Directory ~"^/www/.*/[0-9]{3}"&gt;
+</pre>
+    correspondrait &agrave; des r&eacute;pertoires dans /www/ dont
+    le nom serait constitu&eacute; de trois digits. 
+
+    <p>Si plusieurs sections de r&eacute;pertoires pointent sur le
+    r&eacute;pertoire d'un document (ou l'un de ses p&egrave;res)
+    sans qu'il s'agisse d'une expression r&eacute;guli&egrave;re,
+    alors les directives sont appliqu&eacute;es selon la loi de "la
+    plus courte qualification d'abord", combin&eacute;es aux
+    directives des fichiers <a
+    href="#accessfilename">.htaccess</a>. Par exemple, avec
+    l'&eacute;criture</p>
+
+    <blockquote>
+      <code>&lt;Directory /&gt; AllowOverride None
+      &lt;/Directory&gt; &lt;Directory /home/*&gt; AllowOverride
+      FileInfo &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p>pour le contr&ocirc;le d'acc&egrave;s au document
+    <code>/home/web/dir/doc.html</code> les &eacute;tapes
+    d'&eacute;valuation sont les suivantes :</p>
+
+    <ul>
+      <li>Applique la directive <code>AllowOverride None</code>
+      (d&eacute;sactivant les fichiers
+      <code>.htaccess</code>).</li>
+
+      <li>Appliquela directive <code>AllowOverride FileInfo</code>
+      (pour le r&eacute;pertoire <code>/home/web</code>).</li>
+
+      <li>Applique toutes les directives <tt>FileInfo</tt> de
+      <code>/home/web/.htaccess</code></li>
+    </ul>
+
+    <p>Les sections exprimant des r&eacute;pertoires sous forme
+    d'expressions r&eacute;guli&egrave;res sont g&eacute;r&eacute;s
+    l&eacute;g&egrave;rement diff&eacute;remment par Apache 1.2 et
+    1.3. Sous Apache 1.2, elles sont combin&eacute;es aux sections
+    "normales" et s'appliquent dans l'ordre o&ugrave; elles
+    apparaissent dans le fichier de configuration. Elles ne
+    s'appliquent qu'une fois, seulement pour celles qui font partie
+    de la section "&agrave; plus courte correspondance". Sous
+    Apache 1.3 les sections bas&eacute;es sur des expressions
+    r&eacute;guli&egrave;res ne sont pas &eacute;valu&eacute;es
+    tant que toutes les sections "normales" n'ont pas
+    &eacute;t&eacute; consid&eacute;r&eacute;es. A ce moment, les
+    sections "r&eacute;guli&egrave;res" sont trait&eacute;es dans
+    l'ordre o&ugrave; elles apparaissent dans le fichier de
+    configuration. Par exemple, avec l'&eacute;criture</p>
+
+    <blockquote>
+      <code>&lt;Directory ~ abc$&gt; ... directives ici ...
+      &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p>Supposez que le nom de fichier demand&eacute; soit
+    <code>/home/abc/public_html/abc/index.html</code>. Le serveur
+    consid&egrave;re chacune des sections <code>/</code>,
+    <code>/home</code>, <code>/home/abc</code>,
+    <code>/home/abc/public_html</code>, et
+    <code>/home/abc/public_html/abc</code> dans cet ordre. Sous
+    Apache 1.2, lorsque <code>/home/abc</code> est pris en compte,
+    l'expression r&eacute;guli&egrave;re correspondra et ses termes
+    seront appliqu&eacute;s. Sous Apache 1.3 l'expression
+    r&eacute;guli&egrave;re n'est pas consid&eacute;r&eacute;e du
+    tout &agrave; ce point de l'arbre. Elle ne le sera pas tant que
+    toutes les sections "normales" <tt>&lt;Directory&gt;s</tt> et
+    celles des fichiers <code>.htaccess</code> n'ont pas
+    &eacute;t&eacute; appliqu&eacute;es. A ce moment seulement
+    l'expression r&eacute;guli&egrave;re reconna&icirc;tra
+    <code>/home/abc/public_html/abc</code> et les directives seront
+    appliqu&eacute;es.</p>
+
+    <p><strong>Notez que l'acc&egrave;s par d&eacute;faut d'Apache
+    pour les sections <tt>&lt;Directory&gt;</tt> est <code>Allow
+    from All</code>. Ceci veut dire que par d&eacute;faut, Apache
+    desservira tout fichier indiqu&eacute; par une URL. Nous
+    recommandons de modifier ceci &agrave; l'aide d'un bloc tel
+    que</strong></p>
+<pre>
+  &lt;Directory /&gt;
+     Order Deny,Allow
+     Deny from All
+&lt;/Directory&gt;
+</pre>
+
+    <p><strong>puis d&eacute;sactiver s&eacute;lectivement la
+    protection pour les r&eacute;pertoires devant rester
+    accessibles. Voir la page <a
+    href="../misc/security_tips.html">Trucs sur la
+    s&eacute;curit&eacute;</a> pour plus de
+    d&eacute;tails.</strong></p>
+
+    <p>Les sections de r&eacute;pertoires apparaissent
+    habituellement dans le fichier access.conf, mais peuvent
+    &ecirc;tre pr&eacute;sentes dans n'importe quel fichier de
+    configuration. Les directives &lt;Directory&gt; ne peuvent
+    &ecirc;tre imbriqu&eacute;es, et ne peuvent petre incluses dans
+    des sections <a href="#limit">&lt;Limit&gt;</a> ou <a
+    href="#limitexcept">&lt;LimitExcept&gt;</a>.</p>
+
+    <p><strong>Voir aussi</strong> : <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e.</p>
+    <hr />
+
+    <h2><a id="directorymatch" name="directorymatch">Directive
+    &lt;DirectoryMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;DirectoryMatch <em>regex</em>&gt; ...
+    &lt;/DirectoryMatch&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    Disponible &agrave; partir de la version 1.3 d'Apache 
+
+    <p><tt>&lt;DirectoryMatch&gt;</tt> et
+    <tt>&lt;/DirectoryMatch&gt;</tt> sont utilis&eacute;s pour
+    encapsuler un groupe de directives s'appliquant uniquement aux
+    r&eacute;pertoires nomm&eacute;s et ses
+    sous-r&eacute;pertoires, de mani&egrave;re identique &agrave;
+    la directive <a href="#directory">&lt;Directory&gt;</a>.
+    Cependant, elle n'accepte comme argument qu'une expression
+    r&eacute;guli&egrave;re. Par exemple :</p>
+
+    <blockquote>
+      <code>&lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;</code>
+    </blockquote>
+
+    <p>correspondrait aux r&eacute;pertoires de /www/ dont le nom
+    consiste en trois chiffres.</p>
+
+    <p><strong>Voir aussi :</strong> <a
+    href="#directory">&lt;Directory&gt;</a> pour une description de
+    la mani&egrave;re dont les d&eacute;finitions par expression
+    r&eacute;guli&egrave;re sont combin&eacute;es aux sections
+    <tt>&lt;Directory&gt;</tt> "normales".<br />
+     <strong>Voir aussi</strong> : <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e</p>
+    <hr />
+
+    <h2><a id="documentroot" name="documentroot">Directive
+    DocumentRoot</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt DocumentRoot} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> DocumentRoot <em>directory-filename</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>DocumentRoot /usr/local/apache/htdocs</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Cette directive d&eacute;finit le r&eacute;pertoire racine
+    &agrave; partir duquel httpd va distribuer les fichiers. Sauf
+    si le r&eacute;pertoire est point&eacute; par une directive
+    telle que Alias, le serveur ajoute le chemin relatif
+    mentionn&eacute;e dans l'URL pr&eacute;sent&eacute;e &agrave;
+    cette racine pour &eacute;tablir le chemin complet jusqu'au
+    document. Exemple :</p>
+
+    <blockquote>
+      <code>DocumentRoot /usr/web</code>
+    </blockquote>
+
+    <p>Un acc&egrave;s &agrave;
+    <code>http://www.my.host.com/index.html</code> se
+    r&eacute;ferre au document
+    <code>/usr/web/index.html</code>.</p>
+
+    <p>Un bogue existe pour cette directive mod_dir, laquelle
+    fonctionne mal lorsque DocumentRoot est donn&eacute;e avec un
+    '/' final (c-&agrave;-d. "DocumentRoot /usr/web/"). Il vaut
+    mieux &eacute;viter cette &eacute;criture.</p>
+    <hr />
+
+    <h2><a id="ebcdicconvert"
+    name="ebcdicconvert">EBCDICConvert</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt EBCDICConvert} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> EBCDICConvert On|Off[=<em>direction</em>]
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> la
+    conversion EBCDIC est disponible &agrave; partir de la version
+    1.3.19 d'Apache sur les plate-formes bas&eacute;es sur EBCDIC. 
+
+    <p>La directive EBCDICConvert associe une extension de fichier
+    &agrave; une possible conversion (<samp>On</samp> ou
+    <samp>Off</samp>). Les extensions de fichiers peuvent commencer
+    ou non par un point.</p>
+
+    <p>Si le format optionnel <samp>On=<i>direction</i></samp> (or
+    <samp>Off=<i>direction</i></samp>) est employ&eacute;,
+    o&ugrave; <i>direction</i> est choisi parmi <samp>In</samp>,
+    <samp>Out</samp> ou <samp>InOut</samp>, alors la directive ne
+    s'applique seulement que dans une direction de transfert
+    donn&eacute;e (<samp>In</samp> : contenu re&ccedil;u par une
+    requ&ecirc;te PUT ou POST , <samp>Out</samp> : contenu
+    renvoy&eacute; &agrave; une requete GET ou POST, et
+    <samp>InOut</samp> : conversion dans les deux
+    directions).<br />
+     Sinon, <samp>InOut</samp> (conversion dans les deux
+    directions) est d&eacute;fini.</p>
+
+    <p>La configuration de conversion bas&eacute; sur un type de
+    fichier est test&eacute; avant la configuration bas&eacute; sur
+    les types MIME, afin de permettre aux r&egrave;gles
+    g&eacute;n&eacute;riques MIME d'&ecirc;tre surcharg&eacute;es
+    par une extension sp&eacute;cifique (pplusieurs extensions de
+    fichier peuvent exister pour le m&ecirc;me type MIME).</p>
+
+    <p><strong>Exemple</strong>:<br />
+     Avec la configuration suivante, les fichiers
+    <samp>*.html</samp> contiennent du texte HTML au format EBCDIC,
+    tandis que les fichiers <samp>*.ahtml</samp> contiennent du
+    texte HTML au format ASCII :</p>
+<pre>
+    # *.html et *.ahtml contiennet du texte HTML :
+    AddType  text/html  .html .ahtml
+
+    # *.ahtml n'est pas converti (il contient d&eacute;j&agrave; du texte ASCII)
+    EBCDICConvert       Off .ahtml
+
+    # Les autres fichiers text/html contiennent du texte EBCDIC:
+    EBCDICConvertByType On  text/html
+</pre>
+    <br />
+     <br />
+     
+
+    <p><strong>Voir &eacute;galement</strong>: <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> et <a
+    href="../ebcdic.html#ebcdic">Aper&ccedil;u des fonctions de
+    conversion EBCDIC</a></p>
+    <hr />
+
+    <h2><a id="ebcdicconvertbytype"
+    name="ebcdicconvertbytype">EBCDICConvertByType</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt EBCDICConvertByType} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> EBCDICConvertByType On|Off[=<em>direction</em>]
+    <em>mimetype</em> [<em>mimetype</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> la
+    conversion EBCDIC est disponible &agrave; partir de la version
+    1.3.19 d'Apache sur les plate-formes bas&eacute;es sur EBCDIC. 
+
+    <p>La directive EBCDICConvertByType associe un type MIME
+    (pouvant contenir une *) &agrave; une &eacute;ventuelle
+    conversion (<samp>On</samp> ou <samp>Off</samp>).</p>
+
+    <p>Si le format optionnel <samp>On=<i>direction</i></samp> (or
+    <samp>Off=<i>direction</i></samp>) est employ&eacute;,
+    o&ugrave; <i>direction</i> est choisi parmi <samp>In</samp>,
+    <samp>Out</samp> ou <samp>InOut</samp>, alors la directive ne
+    s'applique seulement que dans une direction de transfert
+    donn&eacute;e (<samp>In</samp> : contenu re&ccedil;u par une
+    requ&ecirc;te PUT ou POST , <samp>Out</samp> : contenu
+    renvoy&eacute; &agrave; une requete GET ou POST, et
+    <samp>InOut</samp> : conversion dans les deux
+    directions).<br />
+     Sinon, <samp>InOut</samp> (conversion dans les deux
+    directions) est d&eacute;fini.</p>
+
+    <p><strong>Par exemple</strong>:<br />
+     Une configuration standard pratique devrait au moins contenir
+    ces directives :</p>
+<pre>
+    # All text documents are stored as EBCDIC files:
+    # Tous les document textes sont stock&eacute;s au format EBCDIC
+    EBCDICConvertByType On  text/* message/* multipart/*
+    EBCDICConvertByType On  application/x-www-form-urlencoded \
+          model/vrml application/postscript
+    # Les autres fichiers sont trait&eacute;s comme binaires.
+    EBCDICConvertByType Off */*
+</pre>
+    Si vous servez seulement que des documents ASCII, par exemple
+    provenant d'un montage NFS d'un serveur Unix, utilisez : 
+<pre>
+    # Tous les documents sont d&eacute;j&agrave; en ASCII:
+    EBCDICConvertByType Off */*
+</pre>
+
+    <p><strong>Voir &eacute;galement</strong>: <a
+    href="#ebcdicconvert">EBCDICConvert</a> et <a
+    href="../ebcdic.html#ebcdic">Aper&ccedil;u des fonctions de
+    conversion EBCDIC</a></p>
+    <hr />
+
+    <h2><a id="ebcdickludge"
+    name="ebcdickludge">EBCDICKludge</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt EBCDICKludge} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> EBCDICKludge On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>EBCDICKludge
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    EBCDICKludge est disponible &agrave; partir de la version
+    1.3.19 d'Apache sur les plate-formes bas&eacute;es sur EBCDIC.
+    Il est d&eacute;suet et sera abandonn&eacute; dans les versions
+    ult&eacute;rieures.<br />
+     
+
+    <p>The EBCDICKludge est propos&eacute;e par
+    compatibilit&eacute; avec les versions d'Apache 1.3.0 &agrave;
+    1.3.18. Dans ces versions, tous les fichiers dont le type MIME
+    commence par "text/", "message/" ou "multipart/" ou dont le
+    type est "application/x-www-form-urlencoded" sont convertis par
+    d&eacute;faut, les autres documents sont retourn&eacute;s sans
+    conversion. Un document est pr&eacute;sum&eacute; &ecirc;tre au
+    format ASCII iuniquement si il est du type
+    "<samp>text/<b>x-ascii-</b><i>sous-type</i></samp>", et ne sera
+    donc pas converti. A la place, le pr&eacute;fixe
+    "<samp><b>x-ascii-</b></samp>" &eacute;tait supprim&eacute; du
+    type, obtenant ainsi le type MIME
+    "<samp>text/<i>sous-type</i></samp>" comme type du document
+    retourn&eacute;.</p>
+
+    <p>Si la directive EBCDICKludge est mise &agrave;
+    <samp>On</samp>, et si aucune des extensions de fichiers ne
+    correspondent aux directives <a
+    href="#ebcdicconvert">EBCDICConvert</a> d&eacute;finis dans le
+    contexte , alors le serveur teste avec le type MIME de format
+    <samp><i>type/</i><b>x-ascii-</b><i>sous-type</i></samp>. Si le
+    document a un tel type alors la cha&icirc;ne
+    "<samp><b>x-ascii-</b></samp>" est supprim&eacute;e et la
+    conversion est mise &agrave; <samp>Off</samp>. Cela permet de
+    surcharger l'assertion implicite que tous les fichiers sont
+    stock&eacute;s au format EBCDIC, par exemple si Apache sert des
+    fichiers provenant d'un montage NFS d'un r&eacute;pertoire
+    contenant des documents ASCII.<br />
+     En utilisant EBCDICKludge, Il n'y a aucun moyen de forcer un
+    des autres types MIME (par exemple model/vrml) d'&ecirc;tre
+    trait&eacute; au format EBCDIC. L'utilisation de la directive
+    <a href="#ebcdicconvertbytype">EBCDICConvertByType</a> est
+    pr&eacute;f&eacute;rable pour d&eacute;finir une telle
+    conversion. Avant Apache 1.3.19, il n'y avait aucun moyen de
+    forcer ces document binaires d'&ecirc;tre trait&eacute;s comme
+    des fichiers textes EBCDIC</p>
+
+    <p><strong>Voir &eacute;galement</strong> : <a
+    href="#ebcdicconvert">EBCDICConvert</a>, <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+    href="../ebcdic.html#ebcdic">Aper&ccedil;u des fonctions de
+    conversion EBCDIC</a></p>
+    <hr />
+
+    <h2><a id="errordocument" name="errordocument">Directive
+    ErrorDocument</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ErrorDocument} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ErrorDocument <em>code d'erreur
+    document</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels, r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> Les
+    contextes r&eacute;pertoire et .htaccess ne sont utilisables
+    qu'&agrave; partir de la version 1.1 d'Apache. 
+
+    <p>Dans l'&eacute;ventualit&eacute; d'un probl&egrave;me ou
+    d'une erreur, Apache peut ex&eacute;cuter l'une des quatre
+    actions suivantes :</p>
+
+    <ol>
+      <li>sortie d'un message d'erreur simple standard</li>
+
+      <li>sortie d'un message personnalis&eacute;</li>
+
+      <li>redirection vers une URL locale pour traiter le
+      probl&egrave;me (ou l'erreur)</li>
+
+      <li>redirection vers une URL externe pour traiter le
+      probl&egrave;me (ou l'erreur)</li>
+    </ol>
+
+    <p>La premi&egrave;re option est celle par d&eacute;faut, les
+    options 2 &agrave; 4 seront obtenues en utilisant la directive
+    <tt>ErrorDocument</tt>, suivi du code HTTP d'erreur et du
+    message textuel d'erreur, ou une URL.</p>
+
+    <p><em>Messages</em> dans ce contexte, commence par un
+    guillemet simple (<code>"</code>), qui ne fait pas partie du
+    message lui-m&ecirc;me. Apache ajoutera souvent des
+    informations compl&eacute;mentaires explicitant le
+    probl&egrave;me (ou l'erreur).</p>
+
+    <p>L'URL peut d&eacute;buter par un slash (/) pour des URL
+    locales, ou &ecirc;tre compl&egrave;tement qualifi&eacute;es.
+    Exemples:</p>
+
+    <blockquote>
+      <code>ErrorDocument 500
+      http://foo.example.com/cgi-bin/tester<br />
+       ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+       ErrorDocument 401 /subscription_info.html<br />
+       ErrorDocument 403 "Sorry can't allow you access today</code>
+    </blockquote>
+
+    <p>Notez que lorsque vous sp&eacute;cifiez un
+    <tt>ErrorDocument</tt> qui pointe vers une URL externe (c'est
+    -&agrave;-dire toute adresse commen&ccedil;ant par quelque
+    chose du style "http:") Apache &eacute;mettra une requ&ecirc;te
+    de redirection au client pour lui indiquer o&ugrave; trouver le
+    document. Ceci peut perturber les robots et d'autres clients
+    qui essaient de d&eacute;terminer si une URL est valide en
+    testant le code retour de la requ&ecirc;te. De plus, si vous
+    utilisez l'&eacute;criture <code>ErrorDocument 401</code> le
+    client ne saura pas qu'il doit demander un mot de passe
+    puisqu'il ne recevra pas le code retour 401. Par
+    cons&eacute;quent, il est imp&eacute;ratif d'utiliser une URL
+    locale pour une directive "ErrorDocument 401". Ceci est induit
+    par la nature des sch&eacute;mas d'authentification de base
+    d'HTTP.</p>
+
+    <p><strong>Voir aussi:</strong> <a
+    href="../custom-error.html">documentation sur les
+    r&eacute;ponses personnalis&eacute;es.</a></p>
+    <hr />
+
+    <h2><a id="errorlog" name="errorlog">Directive
+    ErrorLog</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ErrorLog} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ErrorLog <em>nomfichier</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>ErrorLog
+    logs/error_log</code> (Unix)<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>ErrorLog
+    logs/error.log</code> (Windows et OS/2)<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Cette directive d&eacute;finit le nom du fichier dans lequel
+    le serveur marque la trace des erreurs rencontr&eacute;es. Si
+    le nom de fichier ne commence pas par un slash (/), alors la
+    partie "chemin d'acc&egrave;s" est consid&eacute;r&eacute;e
+    relativement &agrave; <a href="#serverroot">ServerRoot</a>.
+    Exemple:</p>
+
+    <blockquote>
+      <code>ErrorLog /dev/null</code>
+    </blockquote>
+
+    <p>Cette expression a pour effet de d&eacute;sactiver la trace
+    d'erreurs.</p>
+    Si le fichier commence par une barre verticale (|), il est
+    cens&eacute; &ecirc;tre une commande &agrave; ex&eacute;cuter
+    pour ttraiter le message d'erreur.<br />
+     <br />
+     
+
+    <p><strong>Apache 1.3 et ult&eacute;rieur:</strong> en
+    utilisant <code>syslog</code> &agrave; la place d'un fichier
+    permet d'employer syslogd(8) si le syst&egrave;me l'accepte. Le
+    d&eacute;fau est d'utiliser la fonction syslog
+    <code>local7</code>, mais vous pouvez remplacer ceci en
+    utilisant la syntaxe <code>syslog:</code><em>service</em>
+    o&ugrave; <em>service</em> peut &ecirc;tre un des noms
+    document&eacute; dans syslog(1).</p>
+
+    <p><strong>S&eacute;curit&eacute; :</strong> Voir la page <a
+    href="../misc/security_tips.html">note sur la
+    securit&eacute;</a> pour plus d'information concernant une
+    possibilit&eacute; de br&ecirc;che de s&eacute;curit&eacute; si
+    le r&eacute;pertoire d'accueil des fichiers de trace peut
+    &ecirc;tre &eacute;crit par tout autre utilisateur que le
+    propri&eacute;taire du processus serveur.</p>
+    <hr />
+
+    <h2><a id="files" name="files">Directive &lt;Files&gt;</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;Files <em>nomfichier</em>&gt; ...
+    &lt;/Files&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    Disponible &agrave; partir de la version 1.2 d'Apache. 
+
+    <p>La directive <tt>&lt;Files&gt;</tt> permet une gestion de
+    contr&ocirc;le d'acc&egrave;s fichier par fichier. Elle est
+    comparable aux directives <a
+    href="#directory">&lt;Directory&gt;</a> et <a
+    href="#location">&lt;Location&gt;</a>. Elle doit s'apparier
+    &agrave; une directive <tt>&lt;/Files&gt;</tt>. Les directives
+    applicables au fichier indiqu&eacute; sont encapsul&eacute;es
+    entre ces deux balises. Les sections <tt>&lt;Files&gt;</tt>
+    sont trait&eacute;es dans l'ordre o&ugrave; elles apparaissent
+    dans le fichier de configuration, une fois trait&eacute;es les
+    sections <tt>&lt;Directory&gt;</tt> et les fichiers .htaccess,
+    mais avant les sections <tt>&lt;Location&gt;</tt>.</p>
+
+    <p>L'argument <em>filename</em> peut inclure un nom de fichier,
+    o&ugrave; un motif, dans lequel '?' correspond &agrave; tout
+    caract&egrave;re unique quelconque, et '*' correspond &agrave;
+    une s&eacute;quence de z&eacute;ro &agrave; un nombre
+    quelconque de caract&egrave;res. Les "expressions
+    r&eacute;guli&egrave;res" peuvent aussi &ecirc;tre
+    utilis&eacute;es, pourvu qu'elles soient
+    pr&eacute;c&eacute;d&eacute;es du caract&egrave;re
+    <code>~</code>. Par exemple :</p>
+<pre>
+ &lt;Files ~"\.(gif|jpe?g|png)$"&gt;
+</pre>
+
+    <p>correspondrait &agrave; la majorit&eacute; des fichiers
+    graphiques utilis&eacute;s sur Internet. A partir de la version
+    1.3 d'Apache, l'usage de la directive <a
+    href="#filesmatch">&lt;FilesMatch&gt;</a> est cependant
+    pr&eacute;f&eacute;rable.</p>
+
+    <p>Notez que, contrairement aux sections <a
+    href="#directory">&lt;Directory&gt;</a> et <a
+    href="#location">&lt;Location&gt;</a>, les sections
+    <tt>&lt;Files&gt;</tt> peuvent appara&icirc;tre dans des
+    fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs
+    de contr&ocirc;ler l'acc&egrave;s &agrave; leurs propres
+    fichiers, sur un mode individuel. Lorsqu'elles sont
+    utilis&eacute;es dans un fichier <code>.htaccess</code>, si
+    <em>nomfichier</em> ne commence pas par un slash (/), le
+    r&eacute;pertoire courant contenant ledit fichier
+    <code>.htaccess</code> y sera pr&eacute;fix&eacute;
+    automatiquement.</p>
+
+    <p><strong>Voir aussi :</strong> <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e</p>
+    <hr />
+
+    <h2><a id="filesmatch" name="filesmatch">Directive
+    &lt;FilesMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;FilesMatch <em>regex</em>&gt; ...
+    &lt;/Files&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    Disponible &agrave; partir de la version 1.3 d'Apache. 
+
+    <p>La directive <tt>&lt;FilesMatch&gt;</tt> permet un
+    contr&ocirc;le d'acc&egrave;s fichier par fichier, tout comme
+    la directive <a href="#files">&lt;Files&gt;</a>. Cependant,
+    elle n'accepte qu'un argument sous forme d'expression
+    r&eacute;guli&egrave;re. Par exemple :</p>
+
+    <blockquote>
+      <code>&lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;</code>
+    </blockquote>
+
+    <p>qui correspondrait &agrave; la plupart des fichiers
+    graphiques utilis&eacute;s sur Internet.</p>
+
+    <p><strong>Voir aussi :</strong> <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e</p>
+    <hr />
+
+    <h2><a id="group" name="group">Directive Group</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt Group} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> Group <em>groupeUnix</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>Group
+    #-1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>Group</tt> d&eacute;finit le groupe dont
+    les requ&ecirc;tes seront trait&eacute;es par le serveur. Pour
+    utiliser cette directive, le serveur stand-alone doit tout
+    d'abord &ecirc;tre ex&eacute;cut&eacute; par l'utilisateur
+    "root". <em>groupeUnix</em> est &agrave; choisir parmi :</p>
+
+    <dl>
+      <dt>un nom de groupe</dt>
+
+      <dd>se r&eacute;f&egrave;re &agrave; un groupe unix par son
+      nom.</dd>
+
+      <dt># suivi d'unnum&eacute;ro de groupe.</dt>
+
+      <dd>se r&eacute;f&egrave;re &agrave; un groupe par son
+      indice.</dd>
+    </dl>
+
+    <p>Il est recommend&eacute; de cr&eacute;er un nouveau groupe
+    d'utilisateurs pour les utilisateurs ex&eacute;cutant le
+    serveur. Certains administrateurs assignent le serveur &agrave;
+    l'utilisateur <code>nobody</code>, mais ceci n'est pas toujours
+    possible ou souha&icirc;table.</p>
+
+    <p><strong>Note :</strong> si vous d&eacute;marrez le serveur
+    sous un compte utilisateur autre que "root", la commutation sur
+    un autre groupe &eacute;chouera, et le groupe utilis&eacute;
+    restera le groupe initial de l'utilisateur.</p>
+
+    <p><strong>Note sp&eacute;ciale :</strong> L'utilisation de
+    cette directive dans un contexte <tt>&lt;VirtualHost&gt;</tt>
+    n&eacute;cessite un <a href="../suexec.html">suEXEC wrapper</a>
+    correctement configur&eacute;. De cette mani&egrave;re et dans
+    ce contexte, seul le groupe dans lequel sont
+    ex&eacute;cut&eacute;s les CGI sont affect&eacute;s. Toute
+    requ&ecirc;te autre que CGI sont toujours lanc&eacute;es dans
+    le groupe d&eacute;fini par la directive Group principale.</p>
+
+    <p><strong>S&eacute;curit&eacute; :</strong> Voir <a
+    href="#user">Utilisateur</a> pour une discussion plus
+    d&eacute;taill&eacute;e sur les aspects utilisateurs.</p>
+    <hr />
+
+    <h2><a id="hostnamelookups" name="hostnamelookups">Directive
+    HostNameLookups</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt HostNameLookups} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> HostNameLookups <em>on | off | double</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>HostNameLookups off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <code>double</code> n'est disponible qu'&agrave; partir de la
+    version 1.3 d'Apache.<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> La
+    valeur par d&eacute;faut &eacute;tait <code>on</code> pour
+    toute version ant&eacute;rieure &agrave; la version 1.3
+    d'Apache. 
+
+    <p>Cette directive autorise la r&eacute;solution DNS pour la
+    trace d'acc&egrave;s (et pour les passer aux CGI/SSI en
+    <code>REMOTE_HOST</code>). La valeur <code>double</code>
+    signifie une r&eacute;solution DNS inverse double.
+    C'est-&agrave;-dire, apr&egrave;s qu'une r&eacute;solution
+    inverse soit effectu&eacute;e, une r&eacute;solution est
+    ensuite effectu&eacute;e &agrave; partir du r&eacute;sultat
+    obtenu. Au moins une des adresses IP obtenues par la
+    deuxi&egrave;me r&eacute;solution doit correspondre &agrave;
+    l'adresse originale. (Dans le langage des "fous de tcp" ceci
+    s'appelle <code>PARANOID</code>.)</p>
+
+    <p>Ind&eacute;pendamment du mode choisi, lorsque <a
+    href="mod_access.html">mod_access</a> est utilis&eacute; pour
+    faire du contr&ocirc;le d'acc&egrave;s par nom d'h&ocirc;te,
+    une r&eacute;solution inverse double sera effectu&eacute;e.
+    Ceci est indispensable pour des raisons de
+    s&eacute;curit&eacute;. Notez que le r&eacute;sultat de cette
+    r&eacute;solution inverse double n'est en g&eacute;n&eacute;ral
+    pas accessible sauf si l'option <samp>HostnameLookups
+    double</samp> est activ&eacute;e. Par exemple, si l'option est
+    simplement <samp>HostnameLookups on</samp> et une requ&ecirc;te
+    est re&ccedil;ue vers un objet soumis &agrave; des restrictions
+    quant aux noms d'h&ocirc;tes, et quelque soit le
+    r&eacute;sultat de la r&eacute;slution inverse double, les CGI
+    recevront le r&eacute;sultat de la r&eacute;solution inverse
+    dans la variable d'environnement <code>REMOTE_HOST</code>.</p>
+
+    <p>Par d&eacute;faut, l'&eacute;tat choisi &eacute;tait
+    <code>on</code> dans les versions d'apache ant&eacute;rieures
+    &agrave; la version 1.3. Elle est aujourd'hui &agrave;
+    <code>off</code> afin de diminuer le trafic pour les sites qui
+    n'ont pas un besoin absolu de la r&eacute;solution inverse.
+    C'est aussi un avantage pour les utilisateurs finaux qui
+    n'auront pas &agrave; attendre la fin du processus de
+    r&eacute;solution avant d'&ecirc;tre servis. Des sites
+    charg&eacute;s devraient plut&ocirc;t laisser cette opyion
+    &agrave; <code>off</code>, dans la mesure o&ugrave; une
+    recherche DNS peut consommer un temps non n&eacute;gligeable.
+    L'utilitaire <code>logresolve</code>, fourni dans le
+    r&eacute;pertoire <i>/support</i>, peut &ecirc;tre
+    utilis&eacute; pour r&eacute;soudre des noms d'h&ocirc;tes
+    &agrave; partir des adresses IP trac&eacute;es en mode
+    "offline".</p>
+    <hr />
+
+    <h2><a id="identitycheck" name="identitycheck">Directive
+    IdentityCheck</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt IdentityCheck} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> IdentityCheck <em>bool&eacute;en</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>IdentityCheck off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Cette directive autorise une trace conforme &agrave; la
+    RFC1413 du nom d'utilisateur pour chaque connexion, lorsque la
+    machine cliente ex&eacute;cute identd ou un procesus similaire.
+    Cette information est trac&eacute;e dans le fichier
+    <code>access log</code>. <em>bool&eacute;en</em> vaut soit
+    <code>on</code> ou <code>off</code>.</p>
+
+    <p>Cette information n'est absolument pas certifi&eacute;e et
+    ne peut &ecirc;tre consid&eacute;r&eacute;e que pour une
+    analyse sommaire.</p>
+
+    <p>Notez que ce fontionnement peut rallonger notablement les
+    d&eacute;lais d'acc&egrave;s &agrave; votre serveur dans la
+    mesure o&ugrave; chaque requ&ecirc;te n&eacute;cessite
+    l'ex&eacute;cution d'une r&eacute;solution. Lorsque des
+    "firewalls" sont pr&eacute;sents chaque r&eacute;solution peut
+    &eacute;ventuellement &eacute;chouer et ajouter ainsi 30
+    secondes d'attente pour chaque acc&egrave;s. En conclusion,
+    cette option n'est en g&eacute;n&eacute;ral pas opportune pour
+    des serveurs Internet ouverts au public.</p>
+    <hr />
+
+    <h2><a id="ifdefine" name="ifdefine">&lt;IfDefine&gt;
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;IfDefine
+    [!]<em>nom-param&egrave;tre</em>&gt; <em>...</em>
+    &lt;/IfDefine&gt;<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> aucun<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> tous<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    &lt;IfDefine&gt; est disponible &agrave; partir de la version
+    1.3.1 
+
+    <p>La section &lt;IfDefine
+    <em>test</em>&gt;...&lt;/IfDefine&gt; est employ&eacute;e pour
+    d&eacute;limiter des directives conditionnelles. Les directives
+    &agrave; l'int&eacute;rieur d'un section IfDefine ne sont
+    prises en compte que si <em>test</em> est vraie. Si
+    <em>test</em> est faux, tout ce qui se trouve entre le marqueur
+    de d&eacute;but et celui de fin est ignor&eacute;.</p>
+
+    <p>Le <em>test</em> de la section &lt;IfDefine&gt; peut exister
+    sous deux formes :</p>
+
+    <ul>
+      <li><em>nom-param&egrave;tre</em></li>
+
+      <li><code>!</code><em>nom-param&egrave;tre</em></li>
+    </ul>
+
+    <p>Dans le premier cas, les directives entre les marqueurs de
+    d&eacute;but et de fin ne sont trait&eacute; que si le
+    param&egrave;tre nomm&eacute; <em>nom-param&egrave;tre</em> est
+    d&eacute;fini. Dans le deuxi&egrave;me cas, les directives
+    entre les marqueurs de d&eacute;but et de fin ne sont
+    trait&eacute; que si le param&egrave;tre nomm&eacute;
+    <em>nom-param&egrave;tre</em> n'est <strong>pas</strong>
+    d&eacute;fini.</p>
+
+    <p>L'argument <em>nom-param&egrave;tre</em> est une
+    d&eacute;finition qui peut &ecirc;tre donn&eacute;e en ligne de
+    commande d'httpd en utilisant l'option
+    <code>-D</code><em>nom-param&egrave;tre</em>, au lancement du
+    serveur.</p>
+
+    <p>Les sections &lt;IfDefine&gt; peuvent s'imbriquer, ce qui
+    permet de r&eacute;aliser des test sur plusieurs
+    param&egrave;tres. Par exemple :</p>
+<pre>
+  $ httpd -DReverseProxy ...
+
+  # httpd.conf
+  &lt;IfDefine ReverseProxy&gt;
+  LoadModule rewrite_module libexec/mod_rewrite.so
+  LoadModule proxy_module   libexec/libproxy.so
+  &lt;/IfDefine&gt;
+</pre>
+    <hr />
+
+    <h2><a id="ifmodule" name="ifmodule">Directive
+    &lt;IfModule&gt;</a></h2>
+    <b>Syntaxe :</b> &lt;IfModule [!]<i>nomModule</i>&gt;
+    <i>...</i> &lt;/IfModule&gt;<br />
+     <b>D&eacute;faut :</b> aucun<br />
+     <b>Contexte :</b> tous<br />
+     <b>Statut :</b> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> IfModule
+    n'est disponible qu'&agrave; partir de la version 1.2 d'Apache.
+    
+
+    <p>La section <tt>&lt;IfModule
+    <i>test</i>&gt;</tt>...&lt;/IfModule&gt; permet de rendre
+    conditionnelles un groupe de directives. Les directives
+    &agrave; l'int&eacute;rieur d'une section IfModule ne sont
+    consid&eacute;r&eacute;es que si le <i>test</i> est
+    v&eacute;rifi&eacute;. Si <i>test</i> vaut faux, toute
+    directive inclue entre la balise de d&eacute;but et celle de
+    fin sont ignor&eacute;es.</p>
+
+    <p>Le <em>test</em> d'une section <tt>&lt;IfModule&gt;</tt>
+    peut prendre l'une des formes suivantes :</p>
+
+    <ul>
+      <li><i>nomModule</i></li>
+
+      <li>!<i>nomModule</i></li>
+    </ul>
+
+    <p>Dans le premier cas, les directives entre les deux balises
+    de d&eacute;but et de fin ne sont trait&eacute;es que si le
+    module indiqu&eacute; par <em>nomModule</em> est compil&eacute;
+    dans votre version d'Apache. La seconde forme inverse le sens
+    du test, et ne traite les directives que si le module
+    <em>nomModule</em> n'est <b>pas</b> compil&eacute;.</p>
+
+    <p>L'argument <em>nomModule</em> sp&eacute;cifie un nom de
+    module par son nom de fichier source, tel qu'appel&eacute; par
+    la compilation. Par exemple, <code>mod_rewrite.c</code>.</p>
+
+    <p>Les sections <tt>&lt;IfModule&gt;</tt> peuvent &ecirc;tre
+    imbriqu&eacute;es, ce qui peut &ecirc;tre utile pour
+    impl&eacute;menter simplement des tests multi-modules.</p>
+    <hr />
+
+    <h2><a id="include" name="include">Directive Include</a></h2>
+    <strong>Syntaxe :</strong> Include <em>nomfichier</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> Include
+    n'est disponible qu'&agrave; partir de la version 1.3 d'Apache.
+    
+
+    <p>Cette directive permet l'inclusion d'autres fichiers de
+    configuration &agrave; partir d'autres fichiers de
+    configuration serveur.</p>
+
+    <p>A partir de la version Apache 1.3.13, si
+    <code>Include</code> pointe vers un r&eacute;pertoire plutot
+    qu'un fichier, Apche lira tous fichiers de ce
+    r&eacute;pertoire, ou des sous-r&eacute;pertoires, et traitera
+    chacun de ces fichiers de configuration.</p>
+    <hr />
+
+    <h2><a id="keepalive" name="keepalive">Directive
+    KeepAlive</a></h2>
+    <strong>Syntaxe : (Apache 1.1)</strong> KeepAlive
+    <em>requ&ecirc;tesMax</em><br />
+     <strong>D&eacute;faut : (Apache 1.1)</strong> <code>KeepAlive
+    5</code><br />
+     <strong>Syntaxe : (Apache 1.2)</strong> KeepAlive
+    <em>on/off</em><br />
+     <strong>D&eacute;faut : (Apache 1.2)</strong> <code>KeepAlive
+    On</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    KeepAlive est disponible &agrave; partir de la version 1.1
+    d'Apache. 
+
+    <p>L'extension Keep-Alive d'HTTP/1.0 et les connexions
+    persistantes d'HTTP/1.1 fournissent des sessions durables HTTP
+    , qui autorisent plusieurs requ&ecirc;tes &agrave; &ecirc;tre
+    envoy&eacute;es sur la m&ecirc;me connexion. Dans certains cas,
+    il a &eacute;t&eacute; constat&eacute; une r&eacute;duction de
+    50% du temps de latence ppour des documents HTML contenant de
+    nombreuses images. Pour activer les connexions persistantes
+    (keep-alive) &agrave; partir d'Apache 1.2 il faut
+    d&eacute;finir la directive <code>KeepAlive On</code>.</p>
+
+    <p>Pour les clients HTTP/1.1, Les connexions persistantes ne
+    sont employ&eacute;es que si elles sont sp&eacute;cifiquement
+    demand&eacute;es par un client. De plus, une connexion
+    persistantes ne peut &ecirc;tre employ&eacute;es que si la
+    taille du contenu est connu &agrave; l'avance. Ceci implique
+    que les contenus dynamiques, tels que les scripts CGI, les
+    pages SSI, et les listes de r&eacute;pertoires
+    g&eacute;n&eacute;r&eacute;s par le serveur n'utilisent pas de
+    connexions persistentes pour les clients HTTP/1.0. Pour les
+    clients HTTP/1.1, les connexions sont persistantes par
+    d&eacute;faut &agrave; moins d'&ecirc;tre
+    sp&eacute;cifi&eacute;e. Si le client le demande, l'encodage
+    par tranches est utilis&eacute; afin d'envoyer des contenus de
+    tailles inconnus au travers de connxions persistantes.</p>
+
+    <p><strong>Sous Apache 1.1</strong>: Mettre
+    <em>requ&ecirc;tesMax</em> au nombre maximum de requ&ecirc;tes
+    qu'Apache peut traiter par connexion persistante. Une
+    limitation est impos&eacute;e pour &eacute;viter qu'un client
+    ne vienne asphyxier votre serveur en ressources. Mettre un
+    <code>0</code> pour d&eacute;sactiver ce support. A partir de
+    la version 1.2, ceci est contr&ocirc;l&eacute; par la directive
+    MaxKeepAliveRequests</p>
+    Voir aussi la directive <a
+    href="#maxkeepaliverequests">MaxKeepAliveRequests</a>.<br />
+     <br />
+     
+    <hr />
+
+    <h2><a id="keepalivetimeout" name="keepalivetimeout">Directive
+    KeepAliveTimeout</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> KeepAliveTimeout <em>secondes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>KeepAliveTimeout 15</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>KeepAliveTimeout</tt> est disponible &agrave; partir de la
+    version 1.1 d'Apache. 
+
+    <p>Le nombre de secondes pendant lesquelles Apache attendra une
+    requ&ecirc;te post&eacute;rieure avant de rompre une connexion.
+    D&egrave;s qu'une requ&ecirc;te est re&ccedil;ue, la valeur de
+    la temporisation sp&eacute;cifi&eacute;e par la directive <a
+    href="#timeout">Timeout</a> s'applique.</p>
+
+    <p>Mettre <code>KeepAliveTimeout</code> &agrave; une grande
+    valeur peut cr&eacute;er des probl&egrave;mes de performance
+    pour des serveurs charg&eacute;s. Le plus grand est ce
+    d&eacute;lai, le plus les processus du serveur seront
+    occup&eacute;s en attente de connexions avec des clients
+    inactifs.</p>
+    <hr />
+
+    <h2><a id="limit" name="limit">Directive &lt;Limit&gt;</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt Limit} section directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;Limit <em>m&eacute;thode m&eacute;thode</em>
+    ... &gt; ... &lt;/Limit&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> tous<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Les contr&ocirc;les d'acc&egrave;s sont normalement actives
+    pour <strong>toutes</strong> les m&eacute;thodes
+    d'acc&egrave;s, et ceci est le comportement normal. <strong>En
+    g&eacute;n&eacute;ral, les directives de contr&ocirc;le
+    d'acc&egrave;s ne doivent &ecirc;tre plac&eacute;es &agrave;
+    l'int&eacute;rieur d'une section
+    <code>&lt;limit&gt;</code>.</strong></p>
+
+    <p>Le but de la directive &lt;Limit&gt; est de restreindre la
+    port&eacute;e des contr&ocirc;les d'acc&egrave;s &agrave;
+    certaines m&eacute;thodes HTTP. Pour toutes les autres
+    m&eacute;thodes, les restrictions d'acc&egrave;s qui sont
+    situ&eacute;es &agrave; l'int&eacute;rieur de &lt;Limit&gt;
+    <strong>sont sans effets</strong>. L'exemple suivant applique
+    le contr&ocirc;le d'acc&egrave;s uniquement aux m&eacute;thodes
+    POST, PUT, and DELETE, laissant les autres m&eacute;thodes non
+    prot&eacute;g&eacute;es :</p>
+
+    <blockquote>
+      <code>&lt;Limit POST PUT DELETE&gt;<br />
+       Require valid-user<br />
+       &lt;/Limit&gt;</code>
+    </blockquote>
+    Les noms de m&eacute;thodes peuvent &ecirc;tre choisis parmi
+    GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH,
+    PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, et UNLOCK.
+    <strong>Le nom de la m&eacute;thode est sensible &agrave; la
+    casse.</strong> Si GET est employ&eacute;, il restreindra
+    &eacute;galement les requ&ecirc;tes HEAD. 
+    <hr />
+
+    <h2><a id="limitexcept" name="limitexcept">Directive
+    &lt;LimitExcept&gt;</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt LimitExcept} section directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;LimitExcept <em>m&eacute;thode</em>
+    [<em>m&eacute;thode</em>] ... &gt; ...
+    &lt;/LimitExcept&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> tous<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    disponible &agrave; partir de la version 1.3.5 d'Apache. 
+
+    <p>&lt;LimitExcept&gt; et &lt;/LimitExcept&gt; sont
+    employ&eacute;s pour entourer un groupe de directives de
+    contr&ocirc;le d'acc&egrave;s qui s'appliqueront pour n'importe
+    quelle m&eacute;thode d'acc&egrave;s ne se trouvant
+    <strong>pas</strong> en arguments Cette directive est
+    l'opps&eacute;e de <a href="#limit">&lt;Limit&gt;</a> et peut
+    &ecirc;tre employ&eacute;e pour contr&ocirc;ler les
+    m&eacute;thodes non reconnues ou non standard. Voir la
+    documentation de <a href="#limit">&lt;Limit&gt;</a> pour plus
+    de d&eacute;tails.</p>
+    <hr />
+
+    <h2><a id="limitrequestbody" name="limitrequestbody">Directive
+    LimitRequestBody</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt LimitRequestBody} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> LimitRequestBody <em>octets</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>LimitRequestBody 0</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    LimitRequestBody est disponible &agrave; partir de la version
+    1.3.2. 
+
+    <p>Cette directive d&eacute;termine la taille maximale en
+    octets que peut avoir le corps d'une requ&ecirc;te. Elle peut
+    aller de 0 (illimit&eacute;) &agrave; 2147483647 (2GB). La
+    valeur par d&eacute;faut est d&eacute;termin&eacute;e &agrave;
+    la compilation par la constante
+    <code>DEFAULT_LIMIT_REQUEST_BODY</code> (0 dans les
+    distributions).</p>
+
+    <p>La directive LimitRequestBody directive permet &agrave;
+    l'utilisateur de fixer une limite &agrave; la taille du corps
+    d'une requ&ecirc;te &agrave; l'int&eacute;rieur du contexte
+    o&ugrave; cette directive est situ&eacute;e (serveur, par
+    r&eacute;pertoire, par fichier). Si le client effezctue une
+    requ&ecirc;te exc&eacute;dant cette limite, le serveur
+    retournera un message d'erreur au lieu de traiter la
+    requ&ecirc;te. La taille d'une requ&ecirc;te normale peut
+    beaucoup varier en fonction de la nature de la ressource
+    demand&eacute;e et des m&eacute;thodes d'acc&egrave;s permise
+    sur cette ressource. Typiquement les scripts CGI utilise le
+    corps du message pour passer des informations au serveur. Des
+    impl&eacute;mentation de la m&eacute;thode PUT n&eacute;cessite
+    une valeur au moins aussi grande que le serveur souhaite
+    recevoir pour cette ressource.</p>
+
+    <p>Cette directive donne &agrave; l'administrateur un plus
+    grand contr&ocirc;le par rapport &agrave; des requ&ecirc;tes
+    anormales de clients, et peut &ecirc;tre utile pour
+    &eacute;viter certaines formes d'attaques par d&eacute;ni de
+    service.</p>
+    <hr />
+
+    <h2><a id="limitrequestfields"
+    name="limitrequestfields">Directive LimitRequestFields</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt LimitRequestFields} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> LimitRequestFields <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>LimitRequestFields 100</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    LimitRequestFields est disponible &agrave; partir de la version
+    1.3.2. 
+
+    <p><em>Number</em> est un entier allant de 0 (signifiant sans
+    limite) &agrave; 32767. La valeur par d&eacute;faut est
+    d&eacute;finie &agrave; la compilation par la constante
+    <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 dans la
+    distribution).</p>
+
+    <p>La directive LimitRequestFields permet &agrave;
+    l'administrateur du serveur de modifier le nombre maximum de
+    champs autoris&eacute; &agrave; l'int&eacute;rieur de
+    l'en-t&ecirc;te d'une requ&ecirc;te HTTP. Un serveur doit avoir
+    cette valeur sup&eacute;rieure au nombre de champs qu'un client
+    normal peut inclure. Le nombre de champs utilis&eacute; par un
+    client exc&egrave;de rarement 20, mais ceci peut varier en
+    fonction de l'impl&eacute;mentation des clients, le plus
+    souvent il d&eacute;pend du niveau auquel le client a
+    configur&eacute; son butineur pour accepter une
+    n&eacute;gociation de contenu tr&egrave;s fine. Les extensions
+    HTTP optionnelles sont exprim&eacute;es en utilisant des champs
+    dans l'en-t&ecirc;te de requ&ecirc;te.</p>
+
+    <p>Cette directive permet &agrave; l'administrateur un meilleur
+    contr&ocirc;le par rapport &agrave; des requ&ecirc;tes
+    anormales, ce qui peut &ecirc;tre utile pour &eacute;viter
+    certaines attaques par d&eacute;ni de service. Cette valeur
+    doit &ecirc;tre augment&eacute;e si certains clients obtiennent
+    un message d'erreur &agrave; leurs requ&ecirc;tes indiquant que
+    trop de champs sont envoy&eacute;s dans la requ&ecirc;te.</p>
+    <hr />
+
+    <h2><a id="limitrequestfieldsize"
+    name="limitrequestfieldsize">Directive
+    LimitRequestFieldsize</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt LimitRequestFieldsize} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> LimitRequestFieldsize <em>octets</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>LimitRequestFieldsize 8190</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    LimitRequestFieldsize est disponible &agrave; partir de la
+    version 1.3.2. 
+
+    <p>Cette directive indique la taille maximale de
+    l'en-t&ecirc;te d'une requ&ecirc;te HTTP et peut aller de 0
+    <em>octets</em> &agrave; la valeur d&eacute;finit &agrave; la
+    compilation par la constante
+    <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 dans la
+    distribution standard).</p>
+
+    <p>La directive LimitRequestFieldsize permet &agrave;
+    l'administrateur de limiter la taille autoris&eacute;e pour le
+    champ d'en-t&ecirc;te HTTP d'une requ&ecirc;te &agrave; une
+    valeur inf&eacute;rieure &agrave; celle d&eacute;finie &agrave;
+    la compilation. Un serveur doit avoir cette valeur suffisamment
+    grande pour pouvoir traiter les requ&ecirc;tes de clients
+    normaux. La taille d'une requ&ecirc;te noramle peut beaucoup
+    varier en fonction de l'impl&eacute;mentation du client, le
+    plus souvent il d&eacute;pend du niveau auquel le client a
+    configur&eacute; son butineur pour accepter une
+    n&eacute;gociation de contenu tr&egrave;s fine.</p>
+
+    <p>Cette directive permet l'administrateur d'avoir un meilleur
+    contr&ocirc;le sur des requ&ecirc;tes ayant un comportement
+    anormale, ce qui peut &ecirc;tre utile afin d'&eacute;viter
+    certaines formes d'attaques par d&eacute;ni de service. Dans
+    des conditions normales, cette valeur doit rester celle par
+    d&eacute;faut.</p>
+    <hr />
+
+    <h2><a id="limitrequestline" name="limitrequestline">Directive
+    LimitRequestLine</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt LimitRequestLine} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> LimitRequestLine <em>octets</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>LimitRequestLine 8190</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    LimitRequestLine est disponible &agrave; partir de la version
+    1.3.2. 
+
+    <p>Cette directive indique la taille maximale d'une
+    requ&ecirc;te HTTP et peut aller de 0 <em>octets</em> &agrave;
+    la valeur d&eacute;finit &agrave; la compilation par la
+    constante <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 dans la
+    distribution standard).</p>
+
+    <p>La directive LimitRequestLine permet &agrave;
+    l'administrateur de r&eacute;duire la limite fix&eacute;e pour
+    une requ&ecirc;te HTTP en dessous de la valeur fix&eacute;e
+    &agrave; la compilation. Comme une requ&ecirc;te est
+    compos&eacute;e de la m&eacute;thode HTTP, d'une URI et de la
+    version du protocole utilis&eacute;, la directive
+    LimitRequestLine place une restriction sur la taille maximale
+    que peut avoir une URI dansune requ&ecirc;te. Un serveur doit
+    avoir cette valeur suffisamment grande pour pouvoir traiter
+    n'importe quelle de ses ressources, en prenant en compte les
+    informations qui pourrait &ecirc;tre pass&eacute;es dans une
+    requ&ecirc;te GET.</p>
+
+    <p>Cette directive permet l'administrateur d'avoir un meilleur
+    contr&ocirc;le sur des requ&ecirc;tes ayant un comportement
+    anormale, ce qui peut &ecirc;tre utile afin d'&eacute;viter
+    certaines formes d'attaques par d&eacute;ni de service. Dans
+    des conditions normales, cette valeur doit rester celle par
+    d&eacute;faut.</p>
+    <hr />
+
+    <h2><a id="listen" name="listen">Directive Listen</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> Listen
+    [<em>adresseIp</em>:]<em>num&eacute;roPort</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> Listen
+    est disponible &agrave; partir de la version 1.1 d'Apache. 
+
+    <p>La directive <tt>Listen</tt> enjoint Apache &agrave;
+    &eacute;couter plus d'une adresse IP ou port; par d&eacute;faut
+    Apache r&eacute;pond aux requ&ecirc;tes re&ccedil;ues sur
+    toutes les interfaces IP, mais seulement celles arrivant sur le
+    port donn&eacute; par la directive <a
+    href="#port">Port</a>.</p>
+    <tt>Listen</tt> peut &ecirc;tre utilis&eacute;e &agrave; la
+    place de <tt><a href="#bindaddress">BindAddress</a></tt> et
+    <tt>Port</tt>. Elle indique au serveur d'accepter des
+    requ&ecirc;tes entrantes sur le port sp&eacute;cifi&eacute; ou
+    sur une combinaison adresse-port. Si le premier format est
+    utilis&eacute; (avec seule mention d'un num&eacute;ro de port),
+    le serveur "&eacute;coutera" tous les ports
+    sp&eacute;cifi&eacute;s sur chacune des interfaces IP qu'il
+    conna&icirc;t, plut&ocirc;t que sur le port donn&eacute; par la
+    directive <tt>Port</tt>. Si une adresse IP adresse IP est
+    pr&eacute;cis&eacute;e en compl&eacute;ment, le serveur
+    restreindra son &eacute;coute &agrave; la combinaison
+    adresse-port pr&eacute;cis&eacute;e.<br />
+     <br />
+     
+
+    <p>Notez que vous avez toujours besoin de la directive
+    <tt>Port</tt> qui permettent &agrave; Apache de
+    g&eacute;n&eacute;rer les URL de retour vers votre serveur.</p>
+
+    <p>Plusieurs directives <tt>Listen</tt> peuvent &ecirc;tre
+    utilis&eacute;es pour sp&eacute;cifier un ensemble d'adresses
+    et de ports &agrave; &eacute;couter. Le serveur r&eacute;pondra
+    aux requ&ecirc;tes re&ccedil;ues sur n'importe laquelle des
+    combinaisons adresse-port ainsi sp&eacute;cifi&eacute;e.</p>
+
+    <p>Par exemple, pour autoriser le serveur &agrave; accepter des
+    connexions sur les ports 80 et 8000, &eacute;crire :</p>
+
+    <blockquote>
+<pre>
+<code>Listen 80
+Listen 8000
+</code>
+</pre>
+    </blockquote>
+
+    <p>Pour autoriser un serveur &agrave; accepter des connexions
+    sur deux "sockets" qualifi&eacute;s, &eacute;crire :</p>
+<pre>
+Listen 192.170.2.1:80
+Listen 192.170.2.5:8000
+</pre>
+
+    <p><strong>Voir aussi:</strong> <a
+    href="../dns-caveats.html">Apache et DNS</a><br />
+     <strong>Voir aussi:</strong> <a href="../bind.html">Configurer
+    les ports et adresses utilis&eacute;e par Apache</a><br />
+     <strong>Voir aussi :</strong> <a
+    href="http://httpd.apache.org/info/known_bugs.html#listenbug">Bogues
+    connus</a></p>
+    <hr />
+
+    <h2><a id="listenbacklog" name="listenbacklog">Directive
+    ListenBacklog</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ListenBacklog <em>backlog</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ListenBacklog 511</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>ListenBacklog</tt> n'est disponible qu'&agrave; partir de
+    la version 1.2.0 d'Apache. 
+
+    <p>La longueur maximale de la file d'attente des connexions en
+    attente. En g&eacute;n&eacute;ral, aucun ajustement n'est
+    n&eacute;cessaire, cependant, il est souhaitable sur certains
+    syst&egrave;mes d'augmenter cette longueur de file pour
+    r&eacute;pondre &agrave; des attaques TCP SYN. Voir les
+    param&egrave;tres backlog dans l'appel syst&egrave;me
+    <code>listen(2)</code>.</p>
+
+    <p>Cette directive est limit&eacute;e &agrave; un petit nombre
+    par le syst&egrave;me d'exploitation. Elle peut varier d'un
+    syst&egrave;me &agrave; un autre. Il faut &eacute;galement
+    noter que pour la plupart des syst&egrave;mes, la valeur
+    r&eacute;ellement utilis&eacute;e n'est pas celle
+    sp&eacute;cifi&eacute;e par la directive, mais un nombre
+    bas&eacute; sur cette valeur (g&eacute;n&eacute;ralement plus
+    grande).</p>
+    <hr />
+
+    <h2><a id="location" name="location">Directive
+    &lt;Location&gt;</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;Location <em>URL</em>&gt; ...
+    &lt;/Location&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>Location</tt> est disponible &agrave; partir des versions
+    1.1 d'Apache. 
+
+    <p>La directive <tt>&lt;Location&gt;</tt> permet d'instaurer un
+    contr&ocirc;le d'acc&egrave;s sur une base URL. Elle est
+    comparable &agrave; la directive <a
+    href="#directory">&lt;Directory&gt;</a>, et doit s'apparier
+    &agrave; une directive <tt>&lt;/Location&gt;</tt>. Les
+    directives s'appliquant &agrave; l'URL pr&eacute;cis&eacute;e
+    seront &agrave; inclure entre ces deux balises. Les sections
+    <tt>&lt;Location&gt;</tt> sont trait&eacute;es dans l'ordre
+    o&ugrave; elles apparaissent dans le fichier de configuration,
+    une fois les sections <tt>&lt;Directory&gt;</tt> et les
+    fichiers <code>.htaccess</code> trait&eacute;s.</p>
+
+    <p>Il faut noter que les URL n'ont pas du tout &agrave; suivre
+    la m&ecirc;me organisation que le syst&egrave;me de fichiers,
+    et il faut souligner que la directive &lt;Location&gt;
+    op&egrave;re de mani&egrave;re totalement ind&eacute;pendante
+    du syst&egrave;me de fichiers.</p>
+
+    <p>Le <em>pr&eacute;fixe d'URL</em> devra, sauf pour des
+    requ&ecirc;tes &agrave; un proxy, &ecirc;tre de la forme
+    <code>/chemin/</code>, et ne devra pas inclure de mention
+    <code>http://nomserveur</code>. Elle ne prot&egrave;ge pas
+    n&eacute;cessairement un r&eacute;pertoire (cela peut
+    &ecirc;tre un fichier individuel, ou un ensemble de fichiers),
+    et peut inclure des m&eacute;tacaract&egrave;res. Dans un motif
+    (avec des m&eacute;tacaract&egrave;res), '?' remplace un
+    caract&egrave;re quelconque, et '*' remplace toute cha&icirc;ne
+    quelconque de 0 ou plus caract&egrave;res. POur les
+    requ&ecirc;tes &agrave; un proxy, l'URL doitt &ecirc;tre de la
+    forme <code>scheme://nomserveur/serveur</code>, et vous devez
+    inclure le pr&eacute;fixe.</p>
+
+    <p><strong>Apache 1.2 et plus :</strong> Des expression
+    r&eacute;guli&egrave;res peuvent &ecirc;tre utilis&eacute;es,
+    &agrave; condition de les faire pr&eacute;c&eacute;der du
+    caract&egrave;re <code>~</code>. Par exemple :</p>
+
+    <blockquote>
+      <code>&lt;Location ~ "/(extra|special)/data"&gt;</code>
+    </blockquote>
+
+    <p>correspondrait &agrave; des URL contenant la
+    sous-cha&icirc;ne "/extra/data" ou "/special/data". Cependant,
+    sous Apache 1.3, l'utilisation de la directive <a
+    href="#locationmatch">&lt;LocationMatch&gt;</a> est
+    conseill&eacute;e.</p>
+
+    <p>La fonctionnalit&eacute; <tt>Location</tt> est
+    particuli&egrave;rement pratique lorsque combin&eacute;e
+    &agrave; la directive <a
+    href="mod_mime.html#sethandler">SetHandler</a>. Par exemple,
+    pour permettre des requ&ecirc;tes sur les rapports
+    d'&eacute;tat, mais ne les autoriser que pour des agents
+    requ&eacute;rant &agrave; partir du domaine foo.com, vous
+    pourriez &eacute;crire :</p>
+
+    <blockquote>
+<pre>
+<code>&lt;Location /status&gt;
+SetHandler server-status
+order deny,allow
+deny from all
+allow from .foo.com
+&lt;/Location&gt;
+</code>
+</pre>
+    </blockquote>
+
+    <p><strong>Note sur / (barre oblique) pour les version
+    sup&eacute;rieures &agrave; 1.3</strong>: La caract&egrave;re
+    barre oblique &agrave; une signification particuli&egrave;re en
+    fonction de l'endroit o&ugrave; il se situe. Des personnes sont
+    habitu&eacute;s au comportement dans certains syst&egrave;mes
+    de fichiers o&ugrave; de multiples caract&egrave;res obliques
+    sont remplac&eacute;s par un caract&egrave;re unique (par
+    exemple <code>/home///foo</code> est identique &agrave;
+    <code>/home/foo</code>). Dans le monde des URL ceci n'est pas
+    obligatoirement vrai. La directive
+    <code>&lt;LocationMatch&gt;</code> et la version avec
+    expression r&eacute;guli&egrave;re de
+    <code>&lt;Location&gt;</code> demande de sp&eacute;cifier
+    plusieurs caract&egrave;res obliques si ceci est votre
+    intention. Par exemple, <code>&lt;LocationMatch
+    ^/abc&gt;</code> fonctionnera avec l'URL <code>/abc</code> mais
+    pas avec l'URL <code>//abc</code>. La directive (sans
+    expression r&eacute;guli&egrave;re)
+    <code>&lt;Location&gt;</code> se comporte de mani&egrave;re
+    similaire quand elle est employ&eacute;e pour des
+    requ&ecirc;tes proxy. Mais si la directive (sans expression
+    r&eacute;guli&egrave;re) <code>&lt;Location&gt;</code> est
+    utilis&eacute;e pour des requ&ecirc;tes sans proxy, il
+    associera implicitement plusieurs obliques &agrave; un seul.
+    Par exemple, si vous sp&eacute;cifiez <code>&lt;Location
+    /abc/def&gt;</code> et que la requ&ecirc;te est
+    <code>/abc//def</code> celle ci correspondra.</p>
+
+    <p><strong>Voir aussi</strong>: <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e.</p>
+    <hr />
+
+    <h2><a id="locationmatch" name="locationmatch">Directive
+    &lt;LocationMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;LocationMatch <em>regex</em>&gt; ...
+    &lt;/LocationMatch&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> Location
+    est disponible &agrave; partir de la version 1.3 d'Apache. 
+
+    <p>La directive <tt>&lt;LocationMatch&gt;</tt> permet
+    l'&eacute;tablissement d'un contr&ocirc;le d'acc&egrave;s sur
+    une base URL, d'une fa&ccedil;on identique &agrave; la
+    directive <a href="#location">&lt;Location&gt;</a>. Cependant,
+    elle n'accepte qu'une expression r&eacute;guli&egrave;re comme
+    argument. Par exemple :</p>
+
+    <blockquote>
+      <code>&lt;LocationMatch "/(extra|special)/data"&gt;</code>
+    </blockquote>
+    repr&eacute;sente des URL contenant l'une des
+    sous-cha&icirc;nes "/extra/data" ou "/special/data". <br />
+     <br />
+     <strong>Voir aussi</strong> : <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e. 
+    <hr />
+
+    <h2><a id="lockfile" name="lockfile">Directive
+    LockFile</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> LockFile <em>nomfichier</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>LockFile
+    logs/accept.lock</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>LockFile</tt> indique le chemin
+    d'acc&egrave;s du fichier de verrouillage utilis&eacute;
+    lorsqu'Apache est compil&eacute; en mode
+    <code>USE_FCNTL_SERIALIZED_ACCEPT</code> ou
+    <code>USE_FLOCK_SERIALIZED_ACCEPT</code>. Ce param&egrave;tre
+    sera laiss&eacute; g&eacute;n&eacute;ralement dans son
+    &eacute;tat par d&eacute;faut. La raison principale qui
+    conduirait &agrave; modifier ce param&egrave;tre serait le fait
+    que le r&eacute;pertoire des traces (<code>logs</code>) soit
+    mont&eacute; sous NFS, le fichier de verrouillage devant de
+    pr&eacute;f&eacute;rence &ecirc;tre situ&eacute; sur un disque
+    local &agrave; la machine serveur pour autant que possible. Le
+    PID du processus serveur principal est automatiquement
+    rajout&eacute; au nom de fichier.</p>
+
+    <p><strong>SECURITE :</strong> il vaut mieux &eacute;viter de
+    metttre ce fichier dans un r&eacute;pertoire inscriptible par
+    tout le monde tel que <code>/var/tmp</code> cas quelqu'un
+    pourrait cr&eacute;er une attaque par d&eacute;ni de service et
+    emp&eacute;cher le serveur de red&eacute;marrer en
+    cr&eacute;ant un fichier de verrouillage de m&ecirc;me nom que
+    celui que veut cr&eacute;er le serveur.</p>
+    <hr />
+
+    <h2><a id="loglevel" name="loglevel">Directive
+    LogLevel</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> LogLevel <em>niveau</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>LogLevel
+    error</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;tes virtuels<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> LogLevel
+    est disponible &agrave; partir de la version 1.3. 
+
+    <p>LogLevel ajuste le niveau de verbosit&eacute; des messages
+    inscrits dans les traces d'erreur (voir la directive <a
+    href="#errorlog">ErrorLog</a>). Les niveaux possibles sont par
+    ordre de gravit&eacute; d&eacute;croissante :</p>
+
+    <table>
+      <tr>
+        <th align="LEFT"><strong>Niveau</strong> </th>
+
+        <th align="LEFT"><strong>Description</strong> </th>
+      </tr>
+
+      <tr>
+        <th>
+        </th>
+
+        <th align="LEFT"><strong>Exemple</strong> </th>
+      </tr>
+
+      <tr>
+        <td><code>emerg</code> </td>
+
+        <td>Urgences - le syst&egrave;me est inutilisable.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"Child cannot open lock file. Exiting"</td>
+      </tr>
+
+      <tr>
+        <td><code>alert</code> </td>
+
+        <td>Une action doit &ecirc;tre prise
+        imm&eacute;diatement.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"getpwuid: couldn't determine user name from uid"</td>
+      </tr>
+
+      <tr>
+        <td><code>crit</code> </td>
+
+        <td>Conditions critiques.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"socket: Failed to get a socket, exiting child"</td>
+      </tr>
+
+      <tr>
+        <td><code>error</code> </td>
+
+        <td>Cas d'erreur.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"Premature end of script headers"</td>
+      </tr>
+
+      <tr>
+        <td><code>warn</code> </td>
+
+        <td>Avertissements.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"child process 1234 did not exit, sending another
+        SIGHUP"</td>
+      </tr>
+
+      <tr>
+        <td><code>notice</code> </td>
+
+        <td>Normal mais condition significative.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"httpd: caught SIGBUS, attempting to dump core in
+        ..."</td>
+      </tr>
+
+      <tr>
+        <td><code>info</code> </td>
+
+        <td>Pour information.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"Server seems busy, (you may need to increase
+        StartServers, or Min/MaxSpareServers)..."</td>
+      </tr>
+
+      <tr>
+        <td><code>debug</code> </td>
+
+        <td>Messages de d&eacute;boguage</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"Opening config file ..."</td>
+      </tr>
+    </table>
+
+    <p>Quand un niveau est sp&eacute;cifi&eacute;, les messages des
+    niveaux de plus haute gravit&eacute; seront &eacute;galement
+    rapport&eacute;s. Par exemple, quand la directive
+    <code>LogLevel info</code> est d&eacute;finie, les messages de
+    niveau <code>notice</code> et <code>warn</code> seront aussi
+    notifi&eacute;s.</p>
+
+    <p>L'utilisation d'un niveau de gravit&eacute; d'au moins
+    <code>crit</code> est recommand&eacute;.</p>
+    <hr />
+
+    <h2><a id="maxclients" name="maxclients">Directive
+    MaxClients</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt MaxClients} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> MaxClients <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>MaxClients 256</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>MaxClients</tt> indique le nombre limite de
+    requ&ecirc;tes simultan&eacute;es pouvant &ecirc;tre
+    accept&eacute;es par le serveur ; il repr&eacute;sente le
+    nombre maximum de processus serveur fils qui peuvent tourner
+    &agrave; un instant donn&eacute;. Pour configurer plus de 256
+    clients, vous devez modifier la constante HARD_SERVER_LIMIT du
+    fichier source d'Apache httpd.h et recompiler Apache.</p>
+
+    <p>Les tentatives de connexions au del&agrave; de MaxClients
+    sont normalement mises en attente, jusqu'&agrave; une limite
+    fix&eacute;e par la directive <a
+    href="#listenbacklog">ListenBacklog</a>. Une fois qu'un
+    processus fils est libre &agrave; la fin d'une requ&ecirc;te
+    diff&eacute;rente, la connexion en attente est
+    trait&eacute;e.</p>
+    <hr />
+
+    <h2><a id="maxkeepaliverequests"
+    name="maxkeepaliverequests">Directive
+    MaxKeepAliveRequests</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> MaxKeepAliveRequests <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>MaxKeepAliveRequests 100</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    Uniquement &agrave; partir de la version 1.2 d'Apache. 
+
+    <p>La directive <tt>MaxKeepAliveRequests</tt> limite le nombre
+    de requ&ecirc;tes permises pour une connexion unique lorsque la
+    directive <a href="#keepalive">KeepAlive</a> est
+    activ&eacute;e. Si <em>nombre</em> vaut "<code>0</code>",
+    chaque connexion peut admettre un nombre illimit&eacute; de
+    requ&ecirc;tes. Nous recommendons que ce param&egrave;tre soit
+    r&eacute;gl&eacute; sur une valeur relativement haute pour
+    obtenir des performances optimales du serveur. Dans la version
+    1.1 d'Apache, ceci est contr&ocirc;l&eacute; par la directive
+    Keepalive</p>
+    <hr />
+
+    <h2><a id="maxrequestsperchild"
+    name="maxrequestsperchild">Directive
+    MaxRequestsPerChild</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt MaxRequestsPerChild} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> MaxRequestsPerChild <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>MaxRequestsPerChild 0</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>MaxRequestsPerChild</tt> indique le nombre
+    limite de requ&ecirc;tes qu'un processus serveur fils peut
+    tra&icirc;ter. Apr&egrave;s <tt>MaxRequestsPerChild</tt>
+    requ&ecirc;tes, ce processus fils meurt. Si ce param&egrave;tre
+    est fix&eacute; &agrave; 0, alors les processus fils ne meurent
+    jamais.</p>
+
+    <p>Le fait de mettre <tt>MaxRequestsPerChild</tt> &agrave; une
+    valeur non nulle a deux cons&eacute;quences
+    b&eacute;n&eacute;fiques :</p>
+
+    <ul>
+      <li>cela limite le volume de m&eacute;moire qu'un processus
+      peut consommer (accidentellement) et &eacute;vite une
+      saturation m&eacute;moire ;</li>
+
+      <li>en donnant &agrave; un processus un temps de vie fini, le
+      nombre total de processus impliqu&eacute;s dans le serveur
+      d&eacute;croit lorsque la charge du serveur retombe.</li>
+    </ul>
+
+    <p>Cependant sur les syst&egrave;mes Win32, il est
+    recommand&eacute; de mettre cette valeur &agrave; 0. Si celle
+    ci est &agrave; une valeur non nulle, quand le nombre de
+    requ&ecirc;tes est atteint, le processus fils quitte, et est
+    relanc&eacute; en relisant les fichiers de configuration. Ceci
+    peut conduire &agrave; un comportement impr&eacute;visible si
+    vous avez modifi&eacute; un fichier de configuration, mais ne
+    souhaitez pas que ces changements soient pris en compte. Voir
+    &eacute;galement <a
+    href="#threadsperchild">ThreadsPerChild</a>.</p>
+
+    <p><strong>NOTE:</strong> pour les requ&ecirc;tes
+    <em>KeepAlive</em> requests, seule la premi&egrave;re
+    requ&ecirc;te est compt&eacute;e. En r&eacute;alit&eacute;, il
+    change le comportement afin de limiter le nombre de
+    <em>connexions</em> par fils.</p>
+    <hr />
+
+    <h2><a id="maxspareservers" name="maxspareservers">Directive
+    MaxSpareServers</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt MaxSpareServers} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> MaxSpareServers <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>MaxSpareServers 10</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>MaxSpareServers</tt> indique le nombre
+    maximal de processus fils en <em>attente</em>. Un processus en
+    attente est un processus qui existe, mais qui ne traite pas de
+    requ&ecirc;te. S'il existe plus de <tt>MaxSpareServers</tt> de
+    ces processus, alors le p&egrave;re viendra tuer les processus
+    en suppl&eacute;mentaires.</p>
+
+    <p>L'activation de cette fonctionnalit&eacute; ne devrait
+    &ecirc;tre n&eacute;cessaire que sur les site vraiment
+    tr&egrave;s charg&eacute;s. R&eacute;gler ce param&egrave;tre
+    sur une grande valeur est de toutes fa&ccedil;on toujours une
+    mauvaise id&eacute;e.</p>
+
+    <p>Cette directive n'a aucun effet quand elle est
+    employ&eacute;e sur les plates-formes WIndows.</p>
+
+    <p>Voir aussi <a href="#minspareservers">MinSpareServers</a> et
+    <a href="#startservers">StartServers</a>.</p>
+    <hr />
+
+    <h2><a id="minspareservers" name="minspareservers">Directive
+    MinSpareServers</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt MinSpareServers} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> MinSpareServers <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>MinSpareServers 5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>MinSpareServers</tt> indique le nombre
+    minimum de processus fils en <em>attente</em> qu'un serveur
+    pourra conserver. S'il existe moins de <tt>MinSpareServers</tt>
+    processus serveurs fils en attente, le processus p&egrave;re
+    recr&eacute;era des processus fils au rythme de 1 par
+    seconde.</p>
+
+    <p>L'activation de cette fonctionnalit&eacute; ne devrait
+    &ecirc;tre n&eacute;cessaire que sur des sites tr&egrave;s
+    charg&eacute;s. R&eacute;gler ce param&egrave;tre sur une
+    grande valeur est de toutes fa&ccedil;ons toujours une mauvaise
+    id&eacute;e.</p>
+
+    <p>Cette directive n'a aucun effet quand elle est
+    employ&eacute;e sur les plates-formes WIndows.</p>
+
+    <p>Voir aussi <a href="#maxspareservers">MaxSpareServers</a> et
+    <a href="#startservers">StartServers</a>.</p>
+    <hr />
+
+    <h2><a id="namevirtualhost" name="namevirtualhost">Directive
+    NameVirtualHost</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt NameVirtualHost} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> NameVirtualHost
+    <em>addr</em>[:<em>port</em>]<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>NameVirtualHost</tt> n'est disponible qu'&agrave; partir de
+    la version 1.3 d'Apache. 
+
+    <p>La directive <tt>NameVirtualHost</tt> est n&eacute;cessaire
+    si vous souhaitez configurer <a href="../vhosts/index.html">des
+    h&ocirc;tes virtuels nomm&eacute;s</a>.</p>
+
+    <p>Bien que <em>addr</em> puisse &ecirc;tre exprim&eacute;e
+    comme un nom d'h&ocirc;te, il est recommand&eacute; d'utiliser
+    une adresse IP, exemple :</p>
+
+    <blockquote>
+      <code>NameVirtualHost 111.22.33.44</code>
+    </blockquote>
+
+    <p>Avec cette directive <tt>NameVirtualHost</tt>, l'adresse
+    nomm&eacute;e par le nom de votre h&ocirc;te virtuel se
+    r&eacute;sout. Si vous exploitez plusieurs h&ocirc;tes
+    nomm&eacute;s sur des adresses multiples, r&eacute;p&eacute;tez
+    cette directive autant de fois que n&eacute;cessaire (pour
+    chaque adresse).</p>
+
+    <p>Note: le "serveur principal" et tous les serveurs "par
+    d&eacute;faut" ne seront <strong>jamais</strong> servis pour
+    une requ&ecirc;te vers une adresse IP NameVirtualHost (&agrave;
+    moins que pour une raison donn&eacute;e vous d&eacute;finissiez
+    NameVirtualHost mais qu'aucun VirtualHosts ne soit
+    d&eacute;fini pour cette adresse).</p>
+
+    <p>En option, vous pouvez pr&eacute;ciser un num&eacute;ro de
+    port sur lequel l'h&ocirc;te virtuel nomm&eacute; sera atteint,
+    par exemple :</p>
+
+    <blockquote>
+      <code>NameVirtualHost 111.22.33.44:8080</code>
+    </blockquote>
+    A partir de la version 1.3.13, vous pouvez donner comme adresse
+    <code>*</code> Ceci cr&eacute;e un NameVirtualHost qui
+    correspond &agrave; toutes les connexions venant de toutes les
+    adresses IP qui ne sont pas configur&eacute;s avec une autre
+    directive NameVirtualHost ou un section <a
+    href="#virtualhost">&lt;VirtualHost&gt;</a>. Cette option est
+    pratique si vous n'utilisez que des h&ocirc;tes virtuels
+    nomm&eacute;s et que vous ne souhaitez pas coder en dur
+    l'adresse IP de votre machine dans le fichier de
+    configuration.<br />
+     <br />
+     <strong>Voir aussi :</strong> <a href="../vhosts/">H&ocirc;tes
+    virtuels sur Apache</a> 
+    <hr />
+
+    <h2><a id="options" name="options">Directive Options</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt Options} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> Options <em>[+|-]option [+|-]option
+    ...</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <strong>Surcharge:</strong> Options<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>Options</tt> contr&ocirc;le quelles
+    fonctions du serveur sont disponibles dans un r&eacute;pertoire
+    particulier.</p>
+
+    <p><em>option</em> peut valoir <code>None</code>, auquel cas
+    aucune fonction suppl&eacute;mentaire n'est disponible, ou une
+    ou plus des possibilit&eacute;s suivantes :</p>
+
+    <dl>
+      <dt>All</dt>
+
+      <dd>toutes options sauf MultiViews.</dd>
+
+      <dt>ExecCGI</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt ExecCGI} option&gt; -->
+      L'ex&eacute;cution des scripts CGI est autoris&eacute;e.</dd>
+
+      <dt>FollowSymLinks</dt>
+
+      <dd>
+        <!--%plaintext &lt;?INDEX {\tt FollowSymLinks} option&gt; -->
+        Le serveur est autoris&eacute; &agrave; suivre les liens
+        symboliques dans ce r&eacute;pertoire. 
+
+        <p><strong>Note</strong>: m&ecirc;me si le serveur suit le
+        lien symbolique, il <b>ne</b> doit <b>pas</b> changer le
+        chemin d'acc&egrave;s afin de ne pas entrer en
+        contradiction avec les sections
+        <tt>&lt;Directory&gt;</tt>.</p>
+      </dd>
+
+      <dt>Includes</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt Includes} option&gt; -->
+      Les inclusions par Server-Side-Include sont permises.</dd>
+
+      <dt>IncludesNOEXEC</dt>
+
+      <dd>
+      <!--%plaintext &lt;?INDEX {\tt IncludesNOEXEC} option&gt; -->
+      Les SSI sont autoris&eacute;s, mais pas la commande #exec ni
+      <code>#include</code> des scripts CGI.</dd>
+
+      <dt>Indexes</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt Indexes} option&gt; -->
+      Si une URL requise pointe sur un r&eacute;pertoire, et aucun
+      fichier d&eacute;fini par <tt>DirectoryIndex</tt> (ex.
+      index.html) n'existe dans ce r&eacute;pertoire, alors le
+      serveur retourne une liste format&eacute;e du contenu du
+      r&eacute;pertoire.</dd>
+
+      <dt>MultiViews</dt>
+
+      <dd><!--%plaintext &lt;?INDEX {\tt MultiViews} option&gt; -->
+      <a href="../content-negotiation.html">Un contenu
+      n&eacute;goci&eacute;</a> en <code>MultiViews</code> est
+      permis.</dd>
+
+      <dt>SymLinksIfOwnerMatch</dt>
+
+      <dd>
+      <!--%plaintext &lt;?INDEX {\tt SymLinksIfOwnerMatch} option&gt; -->
+      Le serveur ne suivra les liens symboliques uniquement si le
+      fichier vis&eacute; ou le r&eacute;pertoire vis&eacute;
+      appartiennent au m&ecirc;me utilisateur que le lien
+      lui-m&ecirc;me.</dd>
+    </dl>
+
+    <p>Normalement, si plusieurs options <code>Options</code>
+    peuvent &ecirc;tre appliqu&eacute;es &agrave; un
+    r&eacute;pertoire, alors la plus restrictive est
+    appliqu&eacute;e ; les options ne sont pas combin&eacute;es.
+    Cependant, si <i>all</i> les options dans la directive
+    <code>Options</code> sontpr&eacute;c&eacute;d&eacute;es d'un
+    symbole + ou -, alors les options sont alors combin&eacute;es
+    entre elles. Toute option pr&eacute;c&eacute;d&eacute;e d'un +
+    est ajout&eacute;e aux options en cours, toute option
+    pr&eacute;c&eacute;d&eacute;e d'un - est
+    d&eacute;sactiv&eacute;e.</p>
+
+    <p>Par exemple, sans symboles + ni - :</p>
+
+    <blockquote>
+<pre>
+<code>&lt;Directory /web/docs&gt;
+Options Indexes FollowSymLinks
+&lt;/Directory&gt;
+&lt;Directory /web/docs/spec&gt;
+Options Includes
+&lt;/Directory&gt;
+</code>
+</pre>
+    </blockquote>
+
+    <p>seul <code>Includes</code> sera activ&eacute; pour le
+    r&eacute;pertoire <code>/web/docs/spec</code>. Cependant, si la
+    seconde directive d'<code>Options</code> utilise les symboles +
+    et - :</p>
+
+    <blockquote>
+<pre>
+<code>&lt;Directory /web/docs&gt;
+Options Indexes FollowSymLinks
+&lt;/Directory&gt;
+&lt;Directory /web/docs/spec&gt; 
+Options +Includes -Indexes
+&lt;/Directory&gt;
+</code>
+</pre>
+    </blockquote>
+
+    <p>alors les options <code>FollowSymLinks</code> et
+    <code>Includes</code> sont valid&eacute;es pour le
+    r&eacute;pertoire <code>/web/docs/spec</code>.</p>
+    <hr />
+
+    <h2><a id="pidfile" name="pidfile">Directive PidFile</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt PidFile} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> PidFile <em>filename</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>PidFile
+    logs/httpd.pid</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>PidFile</tt> d&eacute;finit le fichier dans
+    lequel le serveur enregistre l'identificateur de processus du
+    d&eacute;mon. Si le nom de fichier ne commence pas par un slash
+    (/) alors le fichier est d&eacute;fini relativement au <a
+    href="#serverroot">ServerRoot</a>. Le fichier <tt>PidFile</tt>
+    n'est utilis&eacute; que dans le mode <a
+    href="#servertype">standalone</a>.</p>
+
+    <p>Il est souvent utile de pouvoir envoyer un signal au
+    serveur, pour qu'il referme et r&eacute;ouvre ses fichiers <a
+    href="#errorlog">ErrorLog</a> et <tt>TransferLog</tt>, et
+    relise ses fichiers de configuration. Ceci peut &ecirc;tre fait
+    en envoyant un signal SIGHUP (kill -1) au processus
+    identifi&eacute; par l'identificateur de processus
+    marqu&eacute; dans <tt>PidFile</tt>.</p>
+
+    <p>Le fichier <tt>PidFile</tt> est concern&eacute; par les
+    m&ecirc;mes probl&egrave;mes d'emplacement et de <a
+    href="../misc/security_tips.html">securit&eacute;</a> que les
+    fichiers de trace.</p>
+    <hr />
+
+    <h2><a id="port" name="port">Directive Port</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt Port} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> Port <em>num&eacute;ro</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>Port
+    80</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p><em>num&eacute;ro</em> est un nombre compris entre 0 et
+    65535; certains num&eacute;ros de ports (surtout en dessous de
+    1024) sont r&eacute;serv&eacute;s pour des protocoles
+    sp&eacute;cifiques. Une liste des ports
+    pr&eacute;d&eacute;finis est consultable dans la RFC 1340
+    "Assigned Numbers" <code>/etc/services</code>; le port standard
+    assign&eacute; au protocole http est le port 80.</p>
+
+    <p>La directive <tt>Port</tt> a deux comportements, le premier
+    est n&eacute;cessaire pour assurer la compatibilit&eacute; NCSA
+    (et qui peut pr&eacute;ter &agrave; confusion dans le contexte
+    d'Apache).</p>
+
+    <ul>
+      <li>En absence de toute directive <a
+      href="#listen">Listen</a> ou <a
+      href="#bindaddress">BindAddress</a> sp&eacute;cifiant un
+      num&eacute;ro de port, la directive <tt>Port</tt>
+      d&eacute;finit le port r&eacute;seau que le serveur
+      &eacute;coute. S'il existe une directive <tt>Listen</tt> ou
+      <tt>BindAddress</tt> sp&eacute;cifiant un
+      <code>:num&eacute;ro</code> alors la directive Port n'a aucun
+      effet quant au socket que le serveur &eacute;coute.</li>
+
+      <li>La directive Port d&eacute;finit la variable
+      d'environnement <code>SERVER_PORT</code> (pour les <a
+      href="mod_cgi.html">CGI</a> et les <a
+      href="mod_include.html">SSI</a>), laquelle est
+      utilis&eacute;e lorsque le serveur g&eacute;n&egrave;re une
+      URL qui point sur lui-m&ecirc;me (par exemple lorsqu'il
+      indique une indirection externe vers lui-m&ecirc;me).</li>
+    </ul>
+
+    <p>Dans aucun cas une d&eacute;finition du <tt>Port</tt> ne
+    d&eacute;finit &agrave; quel port un <a
+    href="#virtualhost">VirtualHost</a> r&eacute;pond, la directive
+    <tt>VirtualHost</tt> elle-m&ecirc;me se chargeant de cette
+    d&eacute;finition.</p>
+
+    <p>Le comportement premier de la directive <tt>Port</tt> doit
+    &ecirc;tre consid&eacute;r&eacute; comme similaire &agrave;
+    celui de la directive <a href="#servername">ServerName</a>.
+    <tt>ServerName</tt> et <tt>Port</tt> sp&eacute;cifient
+    conjointement ce que vous consid&eacute;rez &ecirc;tre
+    l'adresse <em>canonique</em> du serveur.</p>
+
+    <p>Le Port 80 est l'un des ports pr&eacute;d&eacute;finis
+    d'Unix. Tous les ports num&eacute;rot&eacute;s en dessous de
+    1024 sont r&eacute;serv&eacute;s &agrave; un usage
+    syst&egrave;me, c-&agrave;-d. que des utilisateurs non
+    privil&eacute;gi&eacute;s (non-root) ne peuvent les utiliser ;
+    ces derniers peuvent par contre utiliser des ports de plus haut
+    rang. Pour utiliser le port 80, le serveur doit &ecirc;tre
+    ex&eacute;cut&eacute; sous <code>root</code>. Apr&egrave;s
+    avoir li&eacute; le port (bind) et avant d'accepter des
+    requ&ecirc;tes, Apache changera son utilisateur associ&eacute;
+    tel que d&eacute;fini par la directive <a
+    href="#user">User</a>.</p>
+
+    <p>Si vous ne pouvez utiliser le port 80, choisissez tout autre
+    port libre. Les utilisateurs non-root devront choisir un
+    num&eacute;ro de port sup&eacute;rieur &agrave; 1023, 8000 par
+    exemple.</p>
+
+    <p><strong>S&eacute;curit&eacute; :</strong> si vous
+    d&eacute;marrez le serveur sous <code>root</code>, assurez vous
+    que la directive <a href="#user">User</a> ne mentionne pas
+    <code>root</code>. Si vous traitez des requ&ecirc;tes en
+    disposant toujours de super privil&egrave;ges, vous ouvrez
+    votre syst&egrave;me &agrave; des attaques majeures.</p>
+    <hr />
+
+    <h2><a id="require" name="require">Directive require</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt require} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> require <em>nomEntite Entite
+    Entite...</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+    .htaccess<br />
+     <strong>Surcharge:</strong> AuthConfig<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Cette directive choisi quels utilisateurs autoris&eacute;s
+    peuvent acc&eacute;der &agrave; un r&eacute;pertoire. Les
+    syntaxes valides sont :</p>
+
+    <ul>
+      <li>
+        require user <em>utilisateur utilisateur ...</em> 
+
+        <p>Seuls les utilisateurs nomm&eacute;s peuvent
+        acc&eacute;der au r&eacute;pertoire.</p>
+      </li>
+
+      <li>
+        require group <em>nomGroupe nomGroupe ...</em> 
+
+        <p>Seuls les utilisateurs des groupes cit&eacute;s peuvent
+        acc&eacute;der au r&eacute;pertoire.</p>
+      </li>
+
+      <li>
+        require valid-user 
+
+        <p>Tout utilisateur reconnu peut acc&eacute;der au
+        r&eacute;pertoire (par opposition aux non
+        utilisateurs).</p>
+      </li>
+    </ul>
+
+    <p>Si <code>require</code> appara&icirc;t dans une section <a
+    href="#limit">&lt;Limit&gt;</a>, alors les restrictions ne sont
+    appliqu&eacute;es qu'aux m&eacute;thodes http
+    mentionn&eacute;es. Autrement, toutes les m&eacute;thodes http
+    sont restreintes. Exemple :</p>
+
+    <blockquote>
+<pre>
+<code>AuthType Basic
+AuthName unDomaine
+AuthUserFile /web/users
+AuthGroupFile /web/groups
+&lt;Limit GET POST&gt;
+require group admin
+&lt;/Limit&gt;
+</code>
+</pre>
+    </blockquote>
+
+    <p>Pour fonctionner correctement, la directive Require doit
+    &ecirc;tre accompagn&eacute; de directives <a
+    href="#authname">AuthName</a> et <a
+    href="#authtype">AuthType</a>, et de directives de type <a
+    href="mod_auth.html#authuserfile">AuthUserFile</a> et <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a> (servant
+    &agrave; d&eacute;finir les utilisateurs et les groupes).</p>
+    <hr />
+
+    <h2><a id="resourceconfig" name="resourceconfig">Directive
+    ResourceConfig</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ResourceConfig} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ResourceConfig <em>nomfichier</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ResourceConfig conf/srm.conf</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Le serveur lit dans ce fichier des directives
+    suppl&eacute;mentaires, apr&egrave;s avoir lu le fichier
+    <code>httpd.conf</code>. <em>nomfichier</em> est
+    consid&eacute;r&eacute; relativement &agrave; <a
+    href="#serverroot">ServerRoot</a>. Cette fonctionnalit&eacute;
+    peut &ecirc;tre d&eacute;sactiv&eacute;e par l'&eacute;criture
+    :</p>
+
+    <blockquote>
+      <code>ResourceConfig /dev/null</code>
+    </blockquote>
+    ou sur les serveurs Win32 
+
+    <blockquote>
+      <code>ResourceConfig nul</code>
+    </blockquote>
+
+    <p>Historiquement, ce fichier contenait essentiellement les
+    directives autres que celles servant &agrave; la configuration
+    du serveur ou les sections <a
+    href="#directory">&lt;Directory&gt;</a> ; en fait, il peut
+    contenir maintenant toute directive admise dans le contexte
+    <em>configuration serveur</em>.</p>
+
+    <p>A partir de la version 1.3.13, si la directive
+    <code>ResourceConfig</code> pointe sur un r&eacute;pertoire
+    plutot qu'un fichier, Apache lira tous les fichiers de ce
+    r&eacute;pertoire ou de ses sous-r&eacute;pertoires et les
+    traitera comme fichiers de configuration.</p>
+
+    <p>Voir aussi <a href="#accessconfig">AccessConfig</a>.</p>
+    <hr />
+
+    <h2><a id="rlimit" name="rlimit">Directive RLimitCPU</a> <a
+    id="rlimitcpu" name="rlimitcpu"></a></h2>
+    <!--%plaintext &lt;?INDEX {\tt RLimitCPU} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> RLimitCPU <em># ou 'max'</em> <em>[# ou
+    'max']</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <em>Non
+    pr&eacute;cis&eacute;; utilise le d&eacute;faut du
+    syst&egrave;me d'exploitation</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    RLimitCPU n'est disponible qu'&agrave; partir de la version 1.2
+    d'Apache 
+
+    <p>Accepte 1 ou 2 paramet&egrave;res. Le premier
+    param&egrave;tre indique la limite logicielle pour tous les
+    processus et le second param&egrave;tre la limite
+    sup&eacute;rieure en termes de ressources. Chacun des
+    param&egrave;tres peut &ecirc;tre exprim&eacute; par un nombre,
+    ou <em>max</em> pour indiquer au serveur que la limite est
+    celle impos&eacute;e par le syst&egrave;me d'exploitation. La
+    limite sup&eacute;rieure en ressource ne peut &ecirc;tre
+    atteinte que si le serveur tourne sous root, ou
+    &eacute;ventuellement pendant la phase de d&eacute;marrage.</p>
+
+    <p>Ceci est valide pour les processus lanc&eacute;s par les
+    processus fils d'Apache pour le traitement des requ&ecirc;tes
+    et non pour les processus fils d'Apache eux-m&ecirc;mes. Cela
+    inclut les scripts CGI, les commandes exec SSI, mais pas les
+    processus lanc&eacute;s par le processu Apache p&egrave;re tels
+    que les traces.</p>
+
+    <p>La limite de ressources CPU est exprim&eacute;e en secondes
+    par processus.</p>
+
+    <p>Voir aussi <a href="#rlimitmem">RLimitMEM</a> ou <a
+    href="#rlimitnproc">RLimitNPROC</a>.</p>
+    <hr />
+
+    <h2><a id="rlimitmem" name="rlimitmem">Directive
+    RLimitMEM</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt RLimitMEM} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> RLimitMEM <em># ou 'max'</em> <em>[# ou
+    'max']</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <em>Non
+    pr&eacute;cis&eacute; ; utilise le d&eacute;faut du
+    syst&egrave;me d'exploitation</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    RLimitMEM is only available in Apache 1.2 and later 
+
+    <p>Accepte 1 ou 2 param&egrave;tres. Le premier
+    param&egrave;tre fixe la limite logicielle en ressources
+    m&eacute;moire pour tous les processus tandis que le second
+    param&egrave;tre fixe la limite absolue de ressources
+    m&eacute;moire. Chaque param&egrave;tre peut &ecirc;tre un
+    nombre, ou <em>max</em> pour indiquer au serveur que la limite
+    est fix&eacute;e par le syst&egrave;me d'exploitation. La
+    limite sup&eacute;rieure en ressource ne peut &ecirc;tre
+    atteinte que si le serveur tourne sous root, ou
+    &eacute;ventuellement pendant la phase de d&eacute;marrage.</p>
+
+    <p>Ceci est valide pour les processus lanc&eacute;s par les
+    processus fils d'Apache pour le traitement des requ&ecirc;tes
+    et non pour les processus fils d'Apache eux-m&ecirc;mes. Cela
+    inclut les scripts CGI, les commandes exec SSI, mais pas les
+    processus lanc&eacute;s par le processu Apache p&egrave;re tels
+    que les traces.</p>
+
+    <p>Les ressources m&eacute;moire sont exprim&eacute;es en
+    octets par processus.</p>
+
+    <p>Voir aussi <a href="#rlimitcpu">RLimitCPU</a> ou <a
+    href="#rlimitnproc">RLimitNPROC</a>.</p>
+    <hr />
+
+    <h2><a id="rlimitnproc" name="rlimitnproc">Directive
+    RLimitNPROC</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt RLimitNPROC} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> RLimitNPROC <em># ou 'max'</em> <em>[# ou
+    'max']</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <em>Unset; uses
+    operating system defaults</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    RLimitNPROC n'est disponible qu'&agrave; partir de la version
+    1.2 d'Apache 
+
+    <p>Accepte 1 ou 2 param&egrave;tres. Le premier
+    param&egrave;tre fixe la limite logicielle en ressources pour
+    tous les processus tandis que le second param&egrave;tre fixe
+    la limite absolue de ressources m&eacute;moire. Chaque
+    param&egrave;tre peut &ecirc;tre un nombre, ou <em>max</em>
+    pour indiquer au serveur que la limite est fix&eacute;e par le
+    syst&egrave;me d'exploitation. La limite sup&eacute;rieure en
+    ressource ne peut &ecirc;tre atteinte que si le serveur tourne
+    sous root, ou &eacute;ventuellement pendant la phase de
+    d&eacute;marrage.</p>
+
+    <p>Ceci est valide pour les processus lanc&eacute;s par les
+    processus fils d'Apache pour le traitement des requ&ecirc;tes
+    et non pour les processus fils d'Apache eux-m&ecirc;mes. Cela
+    inclut les scripts CGI, les commandes exec SSI, mais pas les
+    processus lanc&eacute;s par le processu Apache p&egrave;re tels
+    que les traces.</p>
+
+    <p>Cette limite contr&ocirc;le le nombre de processus maximum
+    par utilisateur.</p>
+
+    <p><strong>Note :</strong> Si les processus CGI <b>ne</b>
+    tournent <b>pas</b> sous un autre utilisateur que l'utilisateur
+    du serveur, cette directive limitera aussi le nombre de
+    processus que le serveur lui-m&ecirc;me peut cr&eacute;er.
+    Cette situation sera indiqu&eacute;e de fa&ccedil;on
+    &eacute;vidente par des messages d'erreur <b><em>cannot
+    fork</em></b> dans le fichier error_log.</p>
+
+    <p>Voir aussi <a href="#rlimitmem">RLimitMEM</a> ou <a
+    href="#rlimitcpu">RLimitCPU</a>.</p>
+    <hr />
+
+    <h2><a id="satisfy" name="satisfy">Directive Satisfy</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt Satisfy} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> Satisfy <em>'any' ou 'all'</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> Satisfy
+    all<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>Satisfy</tt> n'est disponible qu'&agrave; partir de la
+    version 1.2 d'Apache 
+
+    <p>Politique d'acc&egrave;s si &agrave; la fois 'allow' et
+    'require' sont utilis&eacute;s. Le param&egrave;tre peut valoir
+    soit <em>'all'</em> soit <em>'any'</em>. Cette directive n'est
+    utile que si l'acc&egrave;s &agrave; une zone
+    particuli&egrave;re est &agrave; la fois restreinte par un
+    username/password <em>et</em> et par l'adresse d'h&ocirc;te
+    client. Dans ce cas le comportement par d&eacute;faut ("all")
+    impose au client de passer la restriction d'adresse <em>et</em>
+    d'entrer un identificateur d'utilisateur et un mot de passe
+    valides. Avec l'option "any", le client sera servi si son
+    adresse d'h&ocirc;te est conforme <em>ou</em> s'il rentre des
+    param&egrave;tres d'identification corrects. Ceci peut
+    &ecirc;tre utilis&eacute; pour restreindre un zone par un mot
+    de passe, tout en laissant quelques client bien
+    identifi&eacute;s entrer dans le domaine sans avoir &agrave; se
+    soumettre &agrave; la proc&eacute;dure d'identification.</p>
+
+    <p>Voir aussi <a href="#require">Require</a> et <a
+    href="mod_access.html#allow">Allow</a>.</p>
+    <hr />
+
+    <h2><a id="scoreboardfile" name="scoreboardfile">Directive
+    ScoreBoardFile</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ScoreBoardFile} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ScoreBoardFile <em>nomfichier</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ScoreBoardFile logs/apache_status</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>ScoreBoardFile</tt> est n&eacute;cessaire
+    sur certaines architectures pour cr&eacute;er un fichier
+    servant &agrave; la communication entre des processus
+    p&egrave;res et des processus fils. La meilleure fa&ccedil;on
+    de savoir si votre syst&egrave;me n&eacute;cessite un tel
+    fichier est d'ex&eacute;cuter Apache et de voir s'il
+    cr&eacute;e le fichier mentionn&eacute; dans la directive. Si
+    votre syst&egrave;me n&eacute;cessite l'emploi de ce fichier,
+    alors vous devez vous assurer que celui-ci ne peut &ecirc;tre
+    utilis&eacute; que par une et une seule invocation
+    d'Apache.</p>
+
+    <p>Si vous devez utiliser un <tt>ScoreBoardFile</tt>, vous
+    pourrez optimiser votre temps d'ex&eacute;cution en le
+    pla&ccedil;ant sur un disque virtuel en RAM. Cependant,
+    rappelez-vous que les m&ecirc;mes recommandations sont &agrave;
+    prendre en compte pour la position de ce fichier que pour la
+    position des fichiers de trace quant &agrave; la <a
+    href="../misc/security_tips.html">securit&eacute;</a>.</p>
+
+    <p><i>A partir d'Apache 1.2 :</i></p>
+
+    <p>Les utilisateurs de Linux 1.x doivent pouvoir ajouter
+    <code>-DHAVE_SHMGET</code> aux <code>EXTRA_CFLAGS</code> dans
+    leur fichier de <code>Configuration</code>. Ceci devrait
+    fonctionner sur certaines installations en 1.x, mais pas
+    forc&eacute;ment sur toutes.</p>
+
+    <p>Les utilisateurs de SVR4 devront consid&eacute;rer
+    l'opportunit&eacute; d'ajouter <code>-DHAVE_SHMGET</code> aux
+    <code>EXTRA_CFLAGS</code> dans leur fichier de
+    <code>Configuration</code>. Il semble que cela fonctionne, mais
+    nous n'avons pu le tester pour la version 1.2. (avant la
+    version 1.3b4, <code>HAVE_SHMGET</code> devait suffire.)</p>
+    <br />
+     <br />
+     
+
+    <p><strong>Voir aussi</strong> : <a
+    href="../stopping.html">Arr&ecirc;ter et red&eacute;marrer
+    Apache</a></p>
+    <hr />
+
+    <h2><a id="scriptinterpretersource"
+    name="scriptinterpretersource">ScriptInterpreterSource
+    directive</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ScriptInterpreterSource} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ScriptInterpreterSource registry|script<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ScriptInterpreterSource script</code> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+    .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau (seulement sur Windows) 
+
+    <p>Cette directive sert, &agrave; partir de la version 1.3.5
+    d'Apache, &agrave; d&eacute;terminer o&ugrave; trouver
+    l'interpr&eacute;teur employ&eacute; pour ex&eacute;cuter les
+    scripts CGI. La technique par d&eacute;faut est de prendre
+    l'interpr&eacute;teur point&eacute; par les caract&egrave;res
+    #! dans le script. En fixant ScriptInterpreterSource &agrave;
+    registry, La table de registration de Windows sera
+    employ&eacute;e pour chercher l'interpr&eacute;teur, en prenant
+    l'extension du fichier comme cl&eacute; (par exemple .pl).</p>
+    <hr />
+
+    <h2><a id="sendbuffersize" name="sendbuffersize">Directive
+    SendBufferSize</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt SendBufferSize} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> SendBufferSize <em>octets</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>Le serveur r&egrave;gle la taille du tampon interne de TCP
+    au nombre d'octets sp&eacute;cifi&eacute;. Tr&egrave;s utile
+    pour augmenter les tailles par d&eacute;faut dans le cas
+    d'utilisation de liaisons haute vitesse (ex. des liaisons
+    transcontinantales rapides).</p>
+    <hr />
+
+    <h2><a id="serveradmin" name="serveradmin">Directive
+    ServerAdmin</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ServerAdmin} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerAdmin <em>adresseEMail</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>ServerAdmin</tt> d&eacute;finit l'adresse
+    e-mail que le serveur inclut dans tout message d'erreur
+    retourn&eacute; au client.</p>
+
+    <p>Il peut &ecirc;tre utile de d&eacute;dier une adresse
+    r&eacute;serv&eacute;e &agrave; cet usage, par exemple :</p>
+
+    <blockquote>
+      <code>ServerAdmin www-admin@foo.bar.com</code>
+    </blockquote>
+
+    <p>car les utilisateur ne rappellent pas toujours dans leur
+    message ce &agrave; propos de quoi ils interviennent!</p>
+    <hr />
+
+    <h2><a id="serveralias" name="serveralias">Directive
+    ServerAlias</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerAlias <em>h&ocirc;te1 h&ocirc;te2
+    ...</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> h&ocirc;te
+    virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>ServerAlias</tt> est disponible &agrave; partir de la
+    version 1.1 d'Apache 
+
+    <p>La directive <tt>ServerAlias</tt> d&eacute;fini un nom
+    secondaire pour un h&ocirc;te, utilisable dans le contexte d'<a
+    href="../vhosts/name-based.html">h&ocirc;te virtuels
+    nomm&eacute;s</a>.</p>
+
+    <p><strong>Voir aussi :</strong> <a
+    href="../vhosts/index.html">H&ocirc;tes virtuels sur
+    Apache</a></p>
+    <hr />
+
+    <h2><a id="servername" name="servername">Directive
+    ServerName</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ServerName} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerName <em>nom de domaine enti&egrave;rement
+    qualifi&eacute;</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>ServerName</tt> d&eacute;finit le nom
+    d'h&ocirc;te du serveur ; celui-ci n'est utilis&eacute; que
+    pour cr&eacute;er des URL de redirection. S'il n'est pas
+    d&eacute;fini, alors le serveur tentera de le r&eacute;soudre
+    &agrave; partir de sa propre adresse IP ; cependant, cette
+    r&eacute;solution n'est pas d'une fiabilit&eacute; absolue, ou
+    peut r&eacute;sulter en un nom autre que le nom
+    "souhait&eacute;". Par exemple :</p>
+
+    <blockquote>
+      <code>ServerName www.wibble.com</code>
+    </blockquote>
+
+    <p>peut &ecirc;tre d&eacute;fini lorsque le nom canonique
+    (principal) de la machine actuelle est
+    <code>monster.wibble.com</code>.</p>
+
+    <p>Si vous utilisez des <a
+    href="../vhosts/name-based.html">h&ocirc;tes virtuels
+    nomm&eacute;s</a>, la directive <code>ServerName</code>
+    &agrave; l'int&eacute;rieur d'une section <a
+    href="#virtualhost"><code>&lt;VirtualHost&gt;</code></a> impose
+    que quel nom d'h&ocirc;te doit appara&icirc;tre dans
+    l'en-t&ecirc;te <code>Host:</code> d'une requ&ecirc;te pour
+    &ecirc;tre associ&eacute; &agrave; cet h&ocirc;te virtuel.</p>
+
+    <p><strong>Voir aussi</strong> : <a
+    href="../dns-caveats.html">Apache et DNS</a> <a
+    href="../vhosts/">documentation sur les h&ocirc;tes virtuels
+    Apache</a><br />
+     <a href="#usecanonicalname">UseCanonicalName</a><br />
+     <a href="#namevirtualhost">NameVirtualHost</a><br />
+     <a href="#serveralias">ServerAlias</a><br />
+    </p>
+    <hr />
+
+    <h2><a id="serverpath" name="serverpath">Directive
+    ServerPath</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerPath <em>chemin</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> h&ocirc;te
+    virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    <tt>ServerPath</tt> est disponible &agrave; partir de la
+    version 1.1 d'Apache. 
+
+    <p>La directive <tt>ServerPath</tt> d&eacute;finit le chemin
+    d'acc&egrave;s servant de base pour les URL ciblant un <a
+    href="../vhosts/index.html">h&ocirc;te virtuel
+    nomm&eacute;</a>.</p>
+
+    <p><strong>Voir aussi :</strong> <a
+    href="../vhosts/index.html">H&ocirc;tes virtuels sur
+    Apache</a></p>
+    <hr />
+
+    <h2><a id="serverroot" name="serverroot">Directive
+    ServerRoot</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ServerRoot} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerRoot <em>nomr&eacute;pertoire</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ServerRoot /usr/local/apache</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>ServerRoot</tt> d&eacute;finit le
+    r&eacute;pertoire dans lequel se situe le serveur. Typiquement,
+    ce r&eacute;pertoire contiendra les sous-r&eacute;pertoires
+    <code>conf/</code> et <code>logs/</code>. Les chemins
+    d'acc&egrave;s relatifs pour d'autres fichiers de configuration
+    seront consid&eacute;r&eacute;s relativement &agrave; ce
+    r&eacute;pertoire.<br />
+     Voir aussi <a href="../invoking.html">les <code>-d</code>
+    options de httpd</a>.</p>
+
+    <p>Voir aussi <a
+    href="../misc/security_tips.html#serverroot">les trucs de
+    s&eacute;curit&eacute;</a> pour plus d'informations sur comment
+    correctment d&eacute;finir les droits d'acc&egrave;s &agrave;
+    ServerRoot.</p>
+    <hr />
+
+    <h2><a id="serversignature" name="serversignature">Directive
+    ServerSignature</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ServerSignature} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerSignature On|Off|EMail<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ServerSignature Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    ServerSignature est disponible &agrave; partir de la version
+    1.3. 
+
+    <p>La directive ServerSignature permet la configuration d'une
+    ligne de bas de page pour les documents
+    g&eacute;n&eacute;r&eacute;s par le serveur (messages d'erreur,
+    liste des r&eacute;pertoire ftp, affichage de mod_info, ...)
+    L'utilit&eacute; de l'emploi d'une telle ligne appara&icirc;t
+    dans la cas d'encha&icirc;nement de proxy, o&ugrave;
+    l'utilisateuir souvent n'a aucune possibilit&eacute; de
+    d&eacute;terminer quel &eacute;l&eacute;ment de la cha&icirc;ne
+    de proxies a produit un message d'erreur.<br />
+     La valeur par d&eacute;faut <samp>Off</samp> supprime la ligne
+    d'erreur (et est compatible avec le comportement d'Apache 1.2
+    et pr&eacute;c&eacute;dents). La valeur <samp>On</samp> ajoute
+    une ligne contenant la version du serveur, la valeur de <a
+    href="#servername">ServerName</a> de l'h&ocirc;te virtuel et la
+    valeur <samp>EMail</samp> ajoute une r&eacute;f&eacute;rence
+    "mailto:" vers l'adresse <a href="#serveradmin">ServerAdmin</a>
+    du document demand&eacute;.</p>
+    <hr />
+
+    <h2><a id="servertokens" name="servertokens">Directive
+    ServerTokens</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ServerTokens} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerTokens Minimal|ProductOnly|OS|Full<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ServerTokens Full</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur <br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    ServerTokens est disponible &agrave; partir de la version 1.3
+    d'Apache. Le mot cl&eacute; <code>ProductOnly</code> est
+    disponible &agrave; pertir de la version 1.3.12 
+
+    <p>Cette directive contr&ocirc;le si le champ
+    <samp>Server</samp> de l'en-t&ecirc;te de r&eacute;ponse qui
+    est renvoy&eacute; aux clients inclut une description du type
+    de syst&egrave;me de du serveur ainsi que des informations sur
+    les odules compil&eacute;s.</p>
+
+    <dl>
+      <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+      <dd>Le serveur renvoie par exemple : <samp>Server:
+      Apache</samp></dd>
+
+      <dt><code>ServerTokens Min[imal]</code></dt>
+
+      <dd>Le serveur renvoie par exemple : <samp>Server:
+      Apache/1.3.0</samp></dd>
+
+      <dt><code>ServerTokens OS</code></dt>
+
+      <dd>Le serveur renvoie par exemple : <samp>Server:
+      Apache/1.3.0 (Unix)</samp></dd>
+
+      <dt><code>ServerTokens Full</code> (ou non
+      sp&eacute;cifi&eacute;)</dt>
+
+      <dd>Le serveur renvoie par exemple : <samp>Server:
+      Apache/1.3.0 (Unix) PHP/3.0 MyMod/1.2</samp></dd>
+    </dl>
+
+    <p>Cette directive s'applique &agrave; la globalit&eacute; du
+    serveur et ne paut pas &ecirc;tre activ&eacute; ou
+    d&eacute;sactiv&eacute; sur la base d'h&ocirc;tes virtuels.</p>
+    <hr />
+
+    <h2><a id="servertype" name="servertype">Directive
+    ServerType</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt ServerType} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ServerType <em>type</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ServerType standalone</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>ServerType</tt> d&eacute;finit comment le
+    serveur est ex&eacute;cut&eacute; par le syst&egrave;me
+    d'exploitation. <em>Type</em> peut prendre l'une des valeurs
+    suivantes :</p>
+
+    <dl>
+      <dt>inetd</dt>
+
+      <dd>Le serveur sera ex&eacute;cut&eacute; &agrave; partir du
+      processus system inetd ; la commande n&eacute;cessaire au
+      d&eacute;marrage du serveur devra &ecirc;tre ajout&eacute;e
+      au fichier <code>/etc/inetd.conf</code></dd>
+
+      <dt>standalone</dt>
+
+      <dd>Le serveur est lanc&eacute; en tant que d&eacute;mon ; la
+      commande de d&eacute;marrage du serveur sera ajout&eacute;e
+      aux scripts de d&eacute;marrage du syst&egrave;me
+      d'exploitation. (<code>/etc/rc.local</code> ou
+      <code>/etc/rc3.d/...</code>.)</dd>
+    </dl>
+
+    <p>Inetd est l'option la moins utilis&eacute;e des deux. Pour
+    chaque connexion http demand&eacute;e, une nouvelle instance du
+    serveur est cr&eacute;&eacute;e ; une fois la connexion
+    &eacute;tablie, ce programme tourne. Ceci implique un
+    co&ucirc;t important en ressources pour chaque connexion, mais
+    certains administrateurs pr&eacute;f&egrave;rent parfois ce
+    mode pour des raisons de s&eacute;curit&eacute;.</p>
+
+    <p>Standalone est l'option la plus fr&eacute;quente pour la
+    directive <tt>ServerType</tt> dans la mesure o&ugrave; ce
+    dernier est de loin plus performant. Le serveur n'est
+    d&eacute;marr&eacute; qu'une fois, et dessert toutes les
+    connexions ult&eacute;rieures. Si vous utilisez Apache sur un
+    site tr&egrave;s charg&eacute;, le mode standalone sera
+    certainement le seul choix possible.</p>
+    <hr />
+
+    <h2><a id="startservers" name="startservers">Directive
+    StartServers</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt StartServers} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> StartServers <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>StartServers 5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>StartServers</tt> d&eacute;finit le nombre
+    de processus fils cr&eacute;&eacute;s d&egrave;s le
+    d&eacute;marrage du serveur. Le nombre de ces processus
+    &eacute;tant contr&ocirc;l&eacute; dynamiquement en fonction de
+    la charge, il y a en g&eacute;n&eacute;ral peu
+    d'int&eacute;r&ecirc;t &agrave; modifier la valeur par
+    d&eacute;faut de ce param&egrave;tre.</p>
+
+    <p>Lorsque le serveur est ex&eacute;cut&eacute; sous Microsoft
+    Windows, cette directive n'a aucun effet. Comme la version
+    Windows d'Apache est &eacute;crite en multithread, un seul
+    processus g&egrave;re l'int&eacute;gralit&eacute; des
+    requ&ecirc;tes. La directive <a
+    href="#threadsperchild">ThreadsPerChild</a> contr&ocirc;le le
+    nombre maximal de threads traitant les requ&ecirc;tes, ce qui a
+    un effet similaire &agrave; la directive Unix
+    <samp>StartServers</samp></p>
+
+    <p>Voir aussi <a href="#minspareservers">MinSpareServers</a> et
+    <a href="#maxspareservers">MaxSpareServers</a>.</p>
+    <hr />
+
+    <h2><a id="threadsperchild" name="threadsperchild">Directive
+    ThreadsPerChild</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ThreadsPerChild <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ThreadsPerChild 50</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau (Windows)<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    Disponible seulement &agrave; partir de la version 1.3 pour
+    Windows d'Apache 
+
+    <p>Cette directive indique au serveur combien de threads il
+    doit lancer. Cela est &eacute;quivalent au nombre maximum de
+    connexions que le serveur peut traiter simultan&eacute;ment ;
+    soyez s&ucirc;r de vous et r&eacute;glez le nombre suffisament
+    haut si votre site est tr&egrave;s fr&eacute;quent&eacute;.</p>
+
+    <p>Cette directive n'a aucun effet sur les syst&egrave;mes
+    Unix. Les utilisateurs Unix regarderont les directives <a
+    href="#startservers">StartServers</a> et <a
+    href="#maxrequestsperchild">MaxRequestsPerChild</a>.</p>
+    <hr />
+
+    <h2><a id="threadstacksize" name="threadstacksize">Directive
+    ThreadStackSize</a></h2>
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> ThreadStackSize <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>ThreadStackSize 65536</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau (NetWare)<br />
+     <strong>Compatibilit&eacute; :</strong> disponible &agrave;
+    partir de la version d'Apache 1.3 sur Netware. 
+
+    <p>Cette directive indique la taille de la pile &agrave;
+    utiliser pour les threads. Si vous rencontrer un
+    probl&egrave;me de d&eacute;bordement de pile, vous devez
+    augmenter cette valeur.</p>
+
+    <p>Cette directive n'a aucun effet sur les autres
+    syst&egrave;mes.</p>
+    <hr />
+
+    <h2><a id="timeout" name="timeout">Directive TimeOut</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt TimeOut} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> TimeOut <em>nombre</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>TimeOut
+    300</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>TimeOut</tt> d&eacute;finit la
+    temporisation courante pendant laquelle Apache attendra l'une
+    de ces trois choses :</p>
+
+    <ol>
+      <li>Le temps total de r&eacute;ception d'une requ&ecirc;te
+      GET.</li>
+
+      <li>Le temps entre la r&eacute;ception de paquets TCP lors
+      d'une requ&ecirc;te POST ou PUT.</li>
+
+      <li>Le temps entre deux acquittements lors de la transmission
+      de paquets TCP de r&eacute;ponse.</li>
+    </ol>
+
+    <p>Nous pr&eacute;voyons dans le futur de permettre une
+    configuration individuelle de chacune de ces temporisations. La
+    valeur par d&eacute;faut &eacute;tait de 1200 avant la version
+    1.2, mais a &eacute;t&eacute; abaiss&eacute;e &agrave; 300
+    depuis, ce qui est d&eacute;j&agrave; largement plus que
+    n&eacute;cessaire dans la plupart des situations. Il n'est
+    cependant pas r&eacute;gl&eacute; plus bas car il peut exister
+    (encore) des portions de code un peu "floues" par lesquelles le
+    temporisateur n'est pas remis &agrave; z&eacute;ro lors de la
+    transmission d'un paquet.</p>
+    <hr />
+
+    <h2><a id="usecanonicalname"
+    name="usecanonicalname">UseCanonicalName directive</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt UseCanonicalName} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> UseCanonicalName on|off|dns<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a>
+    <code>UseCanonicalName on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel, r&eacute;pertoire<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Surcharge :</strong></a> Options<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+    UseCanonicalName est disponible &agrave; partir de la verion
+    1.3 
+
+    <p>Dans beaucoup de situations, Apache doit construire des URL
+    <em>s'autor&eacute;f&eacute;ren&ccedil;ant</em>, autremnet dit,
+    des URL r&eacute;f&eacute;ren&ccedil;ant le m&ecirc;me serveur.
+    Avec la directive <code>UseCanonicalName on</code> (dans les
+    versions d'Apache inf&eacute;rieures &agrave; 1.3) Apache
+    utilise les valeurs des directives <a
+    href="#servername">ServerName</a> et <a href="#port">Port</a>
+    pour construire un nom canonique du serveur. Ce nom est
+    utilis&eacute; pour toutes les URL autor&eacute;f&eacute;rentes
+    et pour les valeurs de <code>SERVER_NAME</code> et
+    <code>SERVER_PORT</code> pour les scripts CGI.</p>
+
+    <p>Avec <code>UseCanonicalName off</code>, Apache formera les
+    URLS autor&eacute;f&eacute;rentes en utilisant le nom
+    d'h&ocirc;te le num&eacute;ro de port fourni par le client si
+    ceux ci sont fournis (sinon il utilisera le nom canonique). Ces
+    valeurs sont les m&ecirc;mes qui sont employ&eacute;es pour
+    impl&eacute;menter les <a
+    href="../vhosts/name-based.html">h&ocirc;tes virtuels
+    bas&eacute;s sur des noms</a>, et sont disponibles pour les
+    m&ecirc;mes clients. Les variable CGI <code>SERVER_NAME</code>
+    et <code>SERVER_PORT</code> seront aussi construites &agrave;
+    partir des valeurs fournies par les clients.</p>
+
+    <p>Un exemple o&ugrave; cette directive est utile est le cas
+    d'un serveur intranet o&ugrave; des utilisateurs se connectent
+    &agrave; la machine en utilisant des noms courts tels que
+    <code>www</code>. Vous noterez que si l'utilisateur tape un nom
+    court et que l'URL est un r&eacute;pertoire tel que
+    <code>http://www/splat</code>, <em>sans le caract&egrave;re
+    oblique / final</em> , Apache redirigera la requ&ecirc;te vers
+    <code>http://www.domain.com/splat/</code>. Si vous avez une
+    authentification active, lu'tilisateur devra s'authentifier
+    deux fois, (une premi&egrave;re fois pour <code>www</code> et
+    une deuxi&egrave;me fois pour An example where this may be
+    useful is on an intranet server where you have users connecting
+    to the machine using short names such as . You'll notice that
+    if the users type a <code>www.domain.com</code>). Mais si la
+    directive <code>UseCanonicalName</code> est &agrave; off,
+    Apache redirigera vers <code>http://www/splat/</code>.</p>
+
+    <p>Il existe une troisi&egrave;me option,
+    <code>UseCanonicalName DNS</code>, qui est pr&eacute;vu pour
+    &ecirc;tre employ&eacute; avec de nombreux h&ocirc;tes virtuels
+    bas&eacute;s sur les adresses IP afin de supporter les clients
+    qui ne fournissent pas d'en-t&ecirc;te <code>Host:</code>. Avec
+    cette option Apache effectue une r&eacute;solution DNS inverse
+    sur l'adresse IP du serveur sur lequel le client se connecte
+    afin de travailler avec pour les URL
+    autor&eacute;f&eacute;rentes.</p>
+
+    <p><strong>Attention :</strong> si les scripts CGI font des
+    suppositions sur les valeurs de <code>SERVER_NAME</code> il
+    peuvent ne plus fonctionner avec cette option. Mais le script
+    CGI utilise uniquement <code>SERVER_NAME</code> pour construire
+    des URL autor&eacute;f&eacute;rentes, il ne evrait y avoir
+    aucun probl&egrave;mes.</p>
+
+    <p><strong>Voir &eacute;galement :</strong> <a
+    href="#servername">ServerName</a>, <a href="#port">Port</a></p>
+    <hr />
+
+    <h2><a id="user" name="user">Directive User</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt User} directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> User <em>utilisateurUnix</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>D&eacute;faut :</strong></a> <code>User
+    #-1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur, h&ocirc;te virtuel<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> noyau 
+
+    <p>La directive <tt>User</tt> d&eacute;finit l'utilisateur
+    associ&eacute; au serveur. Pour utiliser cette directive, un
+    serveur standalone devra &ecirc;tre lanc&eacute; sous
+    <code>root</code>. <em>utilisateurUnix</em> est l'un parmi
+    :</p>
+
+    <dl>
+      <dt>un nom d'utilisateur</dt>
+
+      <dd>se r&eacute;f&egrave;re &agrave; un utilisateur
+      d&eacute;clar&eacute; du syst&egrave;me.</dd>
+
+      <dt># suivi d'un num&eacute;ro d'utilisateur.</dt>
+
+      <dd>se r&eacute;f&egrave;re &agrave; l'utilisateur
+      d&eacute;clar&eacute; du syst&egrave;me portant ce
+      num&eacute;ro.</dd>
+    </dl>
+
+    <p>L'utilisateur peut n'avoir aucun privil&egrave;ge ce qui lui
+    permet n&eacute;anmoins de pouvoir avoir acc&egrave;s &agrave;
+    des fichiers qui ne sont pas sens&eacute;s &ecirc;tre visibles
+    du "reste du monde", mais pas d'ex&eacute;cuter du code qui ne
+    serait pas explicitement ex&eacute;cutable par l'utilisateur
+    associ&eacute; &agrave; httpd. Il est d'ailleurs
+    recommand&eacute; de cr&eacute;er un utilisateur et un groupe
+    specialement pour ex&eacute;cuter le serveur. Certains
+    administrateurs utilisent souvent l'utilisateur
+    <code>nobody</code>, mais ceci n'est pas toujours possible ou
+    souhaitable. Par exemple, le cache de mod_proxy quancd celui
+    est activ&eacute; , doit &ecirc;tre accessible &agrave; cette
+    utilisateur (voir la directive <a
+    href="mod_proxy.html#cacheroot"><code>CacheRoot</code></a>
+    ).</p>
+
+    <p><strong>Note :</strong> si vous d&eacute;marrez le serveur
+    sous un utilisateur non-root, la tentative pour passer sous un
+    utilisateur de moindre privil&egrave;ge &eacute;chouera, et le
+    serveur continuera &agrave; sex&eacute;cuter sous l'utilisateur
+    d'origine. Si vous d&eacute;marrez le serveur sous
+    <code>root</code>, alors il sera normal que le processus
+    p&egrave;re continue &agrave; s'ex&eacute;cuter sous
+    <code>root</code>.</p>
+
+    <p><strong>Note sp&eacute;cifique :</strong> L'utilisation de
+    cette directive dans une section <tt>&lt;VirtualHost&gt;</tt>
+    n&eacute;cessite un <a href="../suexec.html">wrapper suEXEC</a>
+    correctement configur&eacute;. Lorsqu'elle est utilis&eacute;e
+    de cette fa&ccedil;on dans une section
+    <tt>&lt;VirtualHost&gt;</tt>, seul l'utilisateur associ&eacute;
+    &agrave; l'ex&eacute;cution des scripts CGI est affect&eacute;.
+    Les requ&ecirc;tes non-CGI seront toujours trait&eacute;es sous
+    l'utilisateur d&eacute;fini dans la directive User de la
+    section principale.</p>
+
+    <p><strong>S&eacute;curit&eacute; :</strong> Ne
+    d&eacute;finissez pas l'utilisateur (ni le <a
+    href="#group">groupe</a>) comme <code>root</code> sauf si vous
+    savez exactement ce que vous faites, et si vous &ecirc;tes
+    totalement conscients des risques qui sont encourus.</p>
+    <hr />
+
+    <h2><a id="virtualhost" name="virtualhost">Directive
+    &lt;VirtualHost&gt;</a></h2>
+    <!--%plaintext &lt;?INDEX {\tt VirtualHost} section directive&gt; -->
+    <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+    :</strong></a> &lt;VirtualHost <em>adresse</em>[:<em>port</em>]
+    ...&gt; ... &lt;/VirtualHost&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Contexte :</strong></a> configuration
+    serveur<br />
+     <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+    :</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> la
+    "virtualisation" d'h&ocirc;tes non bas&eacute;s sur l'adressage
+    IP n'est disponible qu'&agrave; partir de la version 1.1
+    d'Apache<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibilit&eacute; :</strong></a> le
+    support d'adresses multiples n'est disponible qu'&agrave;
+    partir de la version 1.2 d'Apache 
+
+    <p>Les directives &lt;VirtualHost&gt; et &lt;/VirtualHost&gt;
+    sont utilis&eacute;es pour "encapsuler" un groupe de directives
+    qui s'appliquent &agrave; un h&ocirc;te virtuel particulier.
+    Toute directive autoris&eacute;e dans un contexte "h&ocirc;te
+    virtuel" peut &ecirc;tre pr&eacute;sente. Lorsque le serveur
+    re&ccedil;oit une requ&ecirc;te demandant un document
+    sp&eacute;cifique sur un h&ocirc;te virtuel sp&eacute;cifique,
+    il utilise les directives de configuration explicit&eacute;es
+    dans la section &lt;VirtualHost&gt; correspondante.
+    <em>Adresse</em> peut &ecirc;tre :</p>
+
+    <ul>
+      <li>l'adresse IP de l'h&ocirc;te virtuel</li>
+
+      <li>un nom de domaine enti&egrave;rement qualifi&eacute; pour
+      l'adresse IP de cet h&ocirc;te virtuel.</li>
+    </ul>
+
+    <p>Exemple :</p>
+
+    <blockquote>
+<pre>
+<code>&lt;VirtualHost 10.1.2.3&gt; 
+ServerAdmin webmaster@host.foo.com
+DocumentRoot /www/docs/host.foo.com 
+ServerName host.foo.com
+ErrorLog logs/host.foo.com-error_log
+TransferLog logs/host.foo.com-access_log
+&lt;/VirtualHost&gt;
+</code>
+</pre>
+    </blockquote>
+
+    <p>Chaque h&ocirc;te virtuel doit &ecirc;tre associ&eacute;
+    &agrave; une adresse IP, &agrave; un num&eacute;ro de port ou
+    &agrave; un nom d'h&ocirc;te diff&eacute;rents que celui
+    attribu&eacute; au serveur, dans le dernier cas la machine du
+    serveur doit &ecirc;tre configur&eacute;e pour accepter des
+    paquets IP sur plusieurs adresses. (Si la machine ne dispose
+    pas de plusieurs interfaces r&eacute;seau physiques, ceci peut
+    &ecirc;tre obtenu par la commande <code>ifconfig alias</code>
+    (si votre OS l'accepte), ou par des patchs du kernel du type <a
+    href="../misc/vif-info.html">VIF</a> (pour SunOS(TM)
+    4.1.x)).</p>
+
+    <p>Vous pouvez sp&eacute;cifier plus d'une adresse IP. Ceci
+    peut &ecirc;tre utile si une machine r&eacute;pond au
+    m&ecirc;me nom venant de deux diff&eacute;rentes interfaces.
+    Par exemple, si vous avez un h&ocirc;te virtuel qui est
+    accessible des h&ocirc;tes &agrave; partir d'un r&eacute;seau
+    interne (intranet) et externe (internet). Exemple :</p>
+
+    <blockquote>
+      <code>&lt;VirtualHost 192.168.1.2 204.255.176.199&gt;<br />
+       DocumentRoot /www/docs/host.foo.com<br />
+       ServerName host.foo.com<br />
+       ServerAlias host<br />
+       &lt;/VirtualHost&gt;</code>
+    </blockquote>
+
+    <p>Le nom pr&eacute;d&eacute;fini <code>_default_</code> peut
+    &ecirc;tre attribu&eacute; auquel cas cet h&ocirc;te virtuel
+    lira toutes les adresses IP qui ne sont pas explicitement
+    list&eacute;es dans les autres h&ocirc;tes virtuels
+    d&eacute;finis. En l'absence d'un h&ocirc;te virtuel _default_,
+    la configuration serveur "principale", &agrave; savoir toutes
+    les d&eacute;finitions en dehors des sections VirtualHost,
+    seront utilis&eacute;es si aucun h&ocirc;te virtuel ne
+    reconna&icirc;t l'adresse.</p>
+
+    <p>Vous pouvez sp&eacute;cifier une commande <code>:port</code>
+    pour changer le port reconnu par l'h&ocirc;te virtuel. Si aucun
+    port n'est mentionn&eacute;, alors le port reconnu est par
+    d&eacute;faut celui mentionn&eacute; dans la derni&egrave;re
+    directive de <code><a href="#port">Port</a></code> de la
+    section principale qui pr&eacute;c&egrave;de. Vous pouvez
+    &eacute;galement sp&eacute;cifier <code>:*</code> pour
+    reconna&icirc;tre tous les ports &agrave; cette adresse. (Ceci
+    est conseill&eacute; lorsque l'h&ocirc;te virtuel est le
+    <code>_default_</code>.)</p>
+
+    <p><strong>S&eacute;curit&eacute;</strong>: Voir les <a
+    href="../misc/security_tips.html">conseils de
+    s&eacute;curit&eacute;</a> pour plus de d&eacute;tails sur les
+    risques encourus si le r&eacute;pertoire contenant les fichiers
+    de trace peut &ecirc;tre &eacute;crit par un autre utilisateur
+    que celui sous lequel est ex&eacute;cut&eacute; le serveur.</p>
+
+    <p><strong>Note</strong>: L'utilisation de la directive
+    &lt;VirtualHost&gt; <strong>n'</strong> affecte
+    <strong>pas</strong> les adresses qu'&eacute;coute Apache. Vous
+    devez vous assurer que les adresses d&eacute;finies pour les
+    h&ocirc;tes virtuels font aussi partie de l'ensemble des
+    adresses &eacute;cout&eacute;es par Apache et d&eacute;finies
+    par des directives <a href="#bindaddress">BindAddress</a> ou <a
+    href="#listen">Listen</a>.</p>
+
+    <p><strong>Voir aussi :</strong> <a
+    href="../vhosts/index.html">H&ocirc;tes virtuels sur
+    Apache</a><br />
+     <a href="../dns-caveats.html">Avertissement concernant DNS et
+    Apache</a><br />
+     <a href="../bind.html">Configurer les ports et adresses
+    utilis&eacute;s par Apache</a></p>
+
+    <p><strong>Voir aussi</strong> : <a
+    href="../sections.html">Comment fonctionnent les sections
+    concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+    une explication plus pr&eacute;cise concernant la
+    mani&egrave;re dont ces sections sont combin&eacute;es
+    lorsqu'une requ&ecirc;te est trait&eacute;e. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/core.html.html b/htdocs/manual/mod/core.html.html
new file mode 100644 (file)
index 0000000..4f4cd5e
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="core.html.en" -->
+
diff --git a/htdocs/manual/mod/core.html.ja.jis b/htdocs/manual/mod/core.html.ja.jis
new file mode 100644 (file)
index 0000000..5d9aead
--- /dev/null
@@ -0,0 +1,4193 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache Core Features</title>
+  </head>
+  <!-- English Revision: 1.262 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+  alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%3%"5!G=\e(B</h1>
+
+    <p>\e$B0J2<$N%G%#%l%/%F%#%V$O\e(B Apache
+    \e$B$N%3%"5!G=$r%3%s%H%m!<%k$9$k$b$N$G!">o$KMxMQ2DG=$G$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#acceptfilter">AcceptFilter</a></li>
+
+      <li><a href="#acceptmutex">AcceptMutex</a></li>
+
+      <li><a href="#accessconfig">AccessConfig</a></li>
+
+      <li><a href="#accessfilename">AccessFileName</a></li>
+
+      <li><a href="#adddefaultcharset">AddDefaultCharset</a></li>
+
+      <li><a href="#addmodule">AddModule</a></li>
+
+      <li><a href="#allowoverride">AllowOverride</a></li>
+
+      <li><a href="#authname">AuthName</a></li>
+
+      <li><a href="#authtype">AuthType</a></li>
+
+      <li><a href="#AuthDigestRealmSeed">AuthDigestRealmSeed</a></li>
+
+      <li><a href="#bindaddress">BindAddress</a></li>
+
+      <li><a href="#bs2000account">BS2000Account</a></li>
+
+      <li><a href="#cgicommandargs">CGICommandArgs</a></li>
+
+      <li><a href="#clearmodulelist">ClearModuleList</a></li>
+
+      <li><a href="#contentdigest">ContentDigest</a></li>
+
+      <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+      <li><a href="#defaulttype">DefaultType</a></li>
+
+      <li><a href="#directory">&lt;Directory&gt;</a></li>
+
+      <li><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+      <li><a href="#documentroot">DocumentRoot</a></li>
+
+      <li><a href="#ebcdicconvert">EBCDICConvert</a></li>
+
+      <li><a
+      href="#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+      <li><a href="#ebcdickludge">EBCDICKludge</a></li>
+
+      <li><a href="#enableexceptionhook">EnableExceptionHook</a></li>
+
+      <li><a href="#errordocument">ErrorDocument</a></li>
+
+      <li><a href="#errorlog">ErrorLog</a></li>
+
+      <li><a href="#fileetag">FileETag</a></li>
+
+      <li><a href="#files">&lt;Files&gt;</a></li>
+
+      <li><a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+      <li><a href="#group">Group</a></li>
+
+      <li><a href="#hostnamelookups">HostnameLookups</a></li>
+
+      <li><a href="#identitycheck">IdentityCheck</a></li>
+
+      <li><a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+
+      <li><a href="#ifmodule">&lt;IfModule&gt;</a></li>
+
+      <li><a href="#include">Include</a></li>
+
+      <li><a href="#keepalive">KeepAlive</a></li>
+
+      <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+
+      <li><a href="#limit">&lt;Limit&gt;</a></li>
+
+      <li><a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+      <li><a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
+
+      <li><a href="#limitrequestbody">LimitRequestBody</a></li>
+
+      <li><a href="#limitrequestfields">LimitRequestFields</a></li>
+
+      <li><a
+      href="#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+      <li><a href="#limitrequestline">LimitRequestLine</a></li>
+
+      <li><a href="#listen">Listen</a></li>
+
+      <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+      <li><a href="#location">&lt;Location&gt;</a></li>
+
+      <li><a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+      <li><a href="#lockfile">LockFile</a></li>
+
+      <li><a href="#loglevel">LogLevel</a></li>
+
+      <li><a href="#maxclients">MaxClients</a></li>
+
+      <li><a
+      href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+      <li><a
+      href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+      <li><a href="#maxspareservers">MaxSpareServers</a></li>
+
+      <li><a href="#minspareservers">MinSpareServers</a></li>
+
+      <li><a href="#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="#options">Options</a></li>
+
+      <li><a href="#pidfile">PidFile</a></li>
+
+      <li><a href="#port">Port</a></li>
+
+      <li><a href="#protocolreqcheck">ProtocolReqCheck</a></li>
+
+      <li><a href="#require">Require</a></li>
+
+      <li><a href="#resourceconfig">ResourceConfig</a></li>
+
+      <li><a href="#rlimitcpu">RLimitCPU</a></li>
+
+      <li><a href="#rlimitmem">RLimitMEM</a></li>
+
+      <li><a href="#rlimitnproc">RLimitNPROC</a></li>
+
+      <li><a href="#satisfy">Satisfy</a></li>
+
+      <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+      <li><a
+      href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+      <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+      <li><a href="#serveradmin">ServerAdmin</a></li>
+
+      <li><a href="#serveralias">ServerAlias</a></li>
+
+      <li><a href="#servername">ServerName</a></li>
+
+      <li><a href="#serverpath">ServerPath</a></li>
+
+      <li><a href="#serverroot">ServerRoot</a></li>
+
+      <li><a href="#serversignature">ServerSignature</a></li>
+
+      <li><a href="#servertokens">ServerTokens</a></li>
+
+      <li><a href="#servertype">ServerType</a></li>
+
+      <li><a href="#shmemuidisuser">ShmemUIDisUser</a></li>
+
+      <li><a href="#startservers">StartServers</a></li>
+
+      <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+      <li><a href="#threadstacksize">ThreadStackSize</a></li>
+
+      <li><a href="#timeout">TimeOut</a></li>
+
+      <li><a href="#usecanonicalname">UseCanonicalName</a></li>
+
+      <li><a href="#user">User</a></li>
+
+      <li><a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="acceptfilter" name="acceptfilter">AcceptFilter
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AcceptFilter
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>AcceptFilter
+    on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br /> 
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> AcceptFilter \e$B$O\e(B
+    Apache 1.3.22 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+    <p><code>AcceptFilter</code> \e$B$O!"\e(BBSD
+    \e$B$KFCM-$N%U%#%k%?$N:GE,2=$r%3%s%H%m!<%k$7$^$9!#\e(B
+    \e$B$3$N5!G=$O%G%U%)%k%H$GAH$_9~$^$l$^$9!#\e(B
+    \e$B$=$7$F!"%7%9%F%`$,$3$N5!G=$r%5%]!<%H\e(B
+    (setsocketopt() \e$B$G\e(B SO_ACCEPTFILTER \e$B%*%W%7%g%s$,MxMQ$G$-$k\e(B) 
+    \e$B$7$F$$$l$P!"%G%U%)%k%H$GM-8z$H$J$j$^$9!#\e(B
+    \e$B8=:_$N$H$3$m!"\e(BFreeBSD \e$B$K$*$$$F$N$_%5%]!<%H$5$l$F$$$^$9!#\e(B</p>
+
+    <p>\e$B>\$7$$>pJs$rF@$k$K$O!"\e(B<a
+    href="../misc/perf-bsd44.html">\e$B@-G=$N%R%s%H\e(B</a>\e$B$N%U%#%k%?%;%/%7%g%s$r\e(B
+    \e$B8+$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B$J$*!"%3%s%Q%$%k;~$K\e(B <code>AP_ACCEPTFILTER_OFF</code>
+    \e$B%U%i%0$rMxMQ$9$l$P%G%U%)%k%H$rL58z$K$9$k$3$H$,2DG=$G$9!#\e(B
+    <code>httpd -V</code> \e$B$H\e(B <code>httpd -L</code>
+    \e$B$rMxMQ$9$k$3$H$K$h$C$F!"%3%s%Q%$%k;~$N%G%U%)%k%H$H\e(B SO_ACCEPTFILTER
+    \e$B$,M-8z$K$J$C$F$$$k$+$I$&$+$r;2>H$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="acceptmutex" name="acceptmutex">AcceptMutex
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AcceptMutex
+    uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>AcceptMutex
+    default</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> AcceptMutex \e$B$O\e(B
+    Apache 1.3.21 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p><code>AcceptMutex</code> \e$B$O!"\e(Baccept() \e$B$K$*$$$F$I$NJ}K!$N\e(B
+    mutex \e$B$rMxMQ$9$k$N$+$r;XDj$7$^$9!#$J$*!"MxMQ$G$-$k\e(B mutex
+    \e$B$O%3%s%Q%$%k;~$K7hDj$5$l!"\e(B
+    \e$B%W%i%C%H%U%)!<%`$K$h$C$F$O$9$Y$F$NJ}K!$OMxMQ$G$-$J$$$3$H$,$"$j$^$9!#\e(B
+    \e$BMxMQ$G$-$k\e(B mutex \e$B$O!"%3%^%s%I%i%$%s%*%W%7%g%s$G\e(B
+    <code>httpd -V</code> \e$B$r;XDj$9$k$H0lMw$,I=<($5$l$^$9!#\e(B</p>
+
+    <p>\e$B%3%s%Q%$%k;~$N%U%i%0$H$7$F\e(B
+    <code>-D HAVE_METHOD_SERIALIZED_ACCEPT</code> 
+    \e$B$r;XDj$9$k$3$H$K$h$C$F!"0[$J$kJ}K!$rDI2C$9$k$3$H$b$G$-!"\e(B
+    \e$BFCDj$N%W%i%C%H%U%)!<%`8~$1$K\e(B <code>include/ap_config.h</code>
+    \e$B$rJT=8$9$k$3$H$b2DG=$G$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B Microsoft Windows
+    \e$B$KBP$7$F;XDj$7$F$b8z2L$O$"$j$^$;$s\e(B</p>
+
+    <p>\e$B>\$7$$>pJs$K$D$$$F$O\e(B<a
+     href="../misc/perf-tuning.html">\e$B%Q%U%)!<%^%s%9%A%e!<%s%K%s%0\e(B</a>\e$B$r\e(B
+    \e$B;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="accessconfig" name="accessconfig">AccessConfig
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AccessConfig
+    <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>AccessConfig
+    conf/access.conf</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>Apache 1.3.13
+    \e$B0J9_$G$N$_!"%U%!%$%kL>$NBe$o$j$K%G%#%l%/%H%j%Q%9$r;XDj$G$-$^$9!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O%P!<%8%g%s\e(B 2.0 \e$B0J9_$K$OB8:_$7$^$;$s!#\e(B
+
+    <p><a href="#resourceconfig">ResourceConfig</a> \e$B%U%!%$%k$rFI$_9~$s$@8e!"\e(B
+    \e$B$=$l$K2C$($FB?$/$N%G%#%l%/%F%#%V$r$3$3$G5-$7$?%U%!%$%k$+$iFI$_9~$_$^$9!#\e(B
+    <em>File-path</em> \e$B$O!"\e(B<a href="#serverroot">ServerRoot</a>
+    \e$B$G5-$7$?%Q%9$+$i$N!"AjBP%Q%9$G$9!#\e(B<br />
+    \e$B$J$*!"$3$N5!G=$rL58z$K$9$k$K$O<!$N$h$&$K;XDj$7$^$9!#\e(B</p>
+
+    <blockquote>
+      <code>AccessConfig /dev/null</code>
+    </blockquote>
+    Win32 \e$B$N>l9g\e(B
+
+    <blockquote>
+      <code>AccessConfig nul</code>
+    </blockquote>
+
+    \e$B0JA0$O!"$3$N%U%!%$%k$K$O\e(B <a href="#directory">&lt;Directory&gt;</a>
+    \e$B%;%/%7%g%s$N$_$,=q$+$l$F$$$^$7$?!#\e(B
+    \e$B8=:_$G$O%5!<%P@_Dj%U%!%$%k$K5-=R$G$-$k$3$H$9$Y$F$,5-=R2DG=$K$J$C$F$$$^$9!#\e(B
+    \e$B$?$@!"\e(BApache \e$B$N%P!<%8%g%s\e(B 1.3.4 \e$B0J9_$G$O!"\e(B
+    Apache \e$B$H6&$KG[I[$5$l$F$$$k%G%U%)%k%H$N\e(B <code>access.conf</code> 
+    \e$B%U%!%$%k$K$O%3%a%s%H$7$+=q$+$l$F$*$i$:!"\e(B
+    \e$B$9$Y$F$N%G%#%l%/%F%#%V$,<g$H$J$k%5!<%P@_Dj%U%!%$%k$N\e(B
+    <code>httpd.conf</code> \e$B$K5-=R$5$l$F$$$^$9!#\e(B
+
+    <p>
+    \e$B$b$7!"$3$N\e(B <code>AccessConfig</code>
+    \e$B%G%#%l%/%F%#%V$K!"%U%!%$%k$G$O$J$/%G%#%l%/%H%j$,;XDj$5$l$l$P!"\e(B
+    Apache \e$B$O$=$N%G%#%l%/%H%jFb$N$9$Y$F$N%U%!%$%k$rFI$_9~$_!"\e(B
+    \e$B$=$l$i$r@_Dj%U%!%$%k$H$7$F=hM}$7$^$9!#\e(B</p>
+    <p>\e$BBe$o$j$K!"%o%$%k%I%+!<%I$r;H$C$FHO0O$r9J$k$3$H$b$G$-$^$9!#\e(B
+    \e$B$9$J$o$A!"\e(B*.conf \e$B%U%!%$%k$N$_!"$H$$$C$?$h$&$K!#\e(B</p>
+    <p>\e$B%G%U%)%k%H$G$O;XDj$5$l$?%G%#%l%/%H%j$N!V\e(B<em>\e$B$I$N$h$&$J\e(B</em>\e$B!W\e(B
+    \e$B%U%!%$%k$G$b@_Dj%U%!%$%k$H$7$FFI$_9~$^$l$^$9!#\e(B</p>
+    <p>\e$B$G$9$+$i8m$C$F\e(B (\e$BNc$($P%(%G%#%?$G%F%s%]%i%j%U%!%$%k$r:n@.$9$kEy\e(B)
+    \e$B%U%!%$%k$rCV$+$J$$$h$&$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="#include">Include</a>,<a
+    href="#resourceconfig">ResourceConfig</a>.</p>
+    <hr />
+
+    <h2><a id="accessfilename" name="accessfilename">AccessFileName
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AccessFileName
+    <em>filename</em> [<em>filename</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>AccessFileName
+    .htaccess</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> AccessFileName \e$B$O\e(B Apache 1.3
+    \e$B0J9_$K$*$$$F$N$_J#?t$N%U%!%$%kL>$r;XDj$G$-$^$9!#\e(B
+
+    <p>\e$B%I%-%e%a%s%H$r%/%i%$%"%s%H$KJV$9$H$-!"%5!<%P$O%G%#%l%/%H%j$K\e(B
+    \e$BBP$7$F%"%/%;%9@_Dj%U%!%$%k$,M-8z$K$J$C$F$$$l$P!"$=$N%I%-%e%a%s%H$X$N\e(B
+    \e$B%Q%9>e$K$"$k$9$Y$F$N%G%#%l%/%H%j$+$i$3$3$G;XDj$5$l$?L>A0$N0lMw$NCf$G\e(B
+    \e$B:G=i$K8+$D$+$C$?%U%!%$%k$r!"$=$l$>$l%"%/%;%9@)8f%U%!%$%k$H$7$FFI$_9~$_$^$9!#\e(B
+    \e$BNc$($P\e(B:</p>
+
+    <blockquote>
+      <code>AccessFileName .acl</code>
+    </blockquote>
+    \e$B$N$h$&$K;XDj$5$l$F$$$k$H!"\e(B /usr/local/web/index.html
+    \e$B$rJV$9>l9g!"0J2<$N$h$&$K$7$FL58z$K$5$l$F$$$J$$8B$j!"\e(B
+    \e$B%I%-%e%a%s%H$rJV$9A0$K\e(B /.acl, /usr/.acl, /usr/local/.acl,
+    /usr/local/web/.acl \e$B$+$i%G%#%l%/%F%#%V$rFI$_9~$_$^$9!#\e(B
+
+    <blockquote>
+      <code>&lt;Directory /&gt;<br />
+       AllowOverride None<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="#allowoverride">AllowOverride</a> \e$B5Z$S\e(B <a
+    href="../configuring.html">\e$B@_Dj%U%!%$%k\e(B</a></p>
+    <hr />
+
+    <h2><a id="adddefaultcharset"
+    name="adddefaultcharset">AddDefaultCharset \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddDefaultCharset
+    On|Off|<em>charset</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B$9$Y$F\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>AddDefaultCharset Off</code><br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    AddDefaultCharset \e$B$O\e(B Apache 1.3.12 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BHTTP \e$B%X%C%@$K%3%s%F%s%H%?%$%W%Q%i%a!<%?$r\e(B
+    \e$B;}$?$J$$%l%9%]%s%9$KDI2C$5$l$kJ8;z%;%C%H$NL>A0$r;XDj$7$^$9!#\e(B
+    \e$B$3$l$O!"%I%-%e%a%s%HFb$N\e(B META
+    \e$B%?%0$G;XDj$5$l$?$I$N$h$&$JJ8;z%;%C%H$bL58z$K$7$^$9!#\e(B
+    <code>AddDefaultCharset Off</code>
+    \e$B$H$$$&@_Dj$K$h$j!"$3$N5!G=$OL58z$K$J$j$^$9!#\e(B
+    <code>AddDefaultCharset On</code> \e$B$K$9$l$P!"%G%#%l%/%F%#%V$NMW5aDL$j\e(B
+    Apache \e$BFbIt$N%G%U%)%k%HJ8;z%;%C%H\e(B <code>iso-8859-1</code>
+    \e$B$K@_Dj$7$^$9!#$^$?!"B>$N\e(B <em>charset</em> \e$B$b;XDj$G$-$^$9!#\e(B</p>
+    
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+    <code>AddDefaultCharset utf-8</code>
+    </blockquote>
+
+    <p><b>\e$BCm0U\e(B:</b> \e$B$3$l$O%G%U%)%k%H$G\e(B Apache
+    \e$B$,@8@.$9$k%9%F!<%?%9%Z!<%8\e(B ('404 Not Found' \e$B$d\e(B
+    '301 Moved Permanently' \e$B$J$I\e(B) \e$B$K$O1F6A\e(B<b>\e$B$7$^$;$s\e(B</b>\e$B!#\e(B
+    \e$B$=$l$i$O!"\e(B(\e$B%Z!<%8$NFbMF$,%O!<%I%3!<%I$5$l$F=q$+$l$F$$$k\e(B) <i>\e$B<B:]$N\e(B</i>
+    \e$BJ8;z%;%C%H$,$"$k$?$a!"%G%U%)%k%H$,E,MQ$5$l$kI,MW$O$J$$$+$i$G$9!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="addmodule" name="addmodule">AddModule
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddModule
+    <em>module</em> [<em>module</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> AddModule \e$B$O\e(B Apache 1.2
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>Apache
+    \e$B$G$O!";HMQ$7$J$$%3%s%Q%$%k:Q$_$N%b%8%e!<%k$r;}$D$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O!"$=$l$i$N%b%8%e!<%k$r;HMQ$9$k$h$&$K$G$-$^$9!#\e(B
+    \e$B5/F08e!"$"$i$+$8$a;HMQ%b%8%e!<%k$N%j%9%H$r:n@.$7$F$$$^$9$,!"\e(B
+    <a href="#clearmodulelist">ClearModuleList</a>
+    \e$B%G%#%l%/%F%#%V$K$h$j$=$N%j%9%H$NCf?H$r>C$9$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+    <code>AddModule mod_include.c</code>
+    </blockquote>
+
+    <p><code>AddModule</code> \e$B$N=gHV$O=EMW$G$9!#%b%8%e!<%k$OM%@hEY$N\e(B
+    \e$B5U=g$K=q$-$^$9!=8e$K=q$+$l$F$$$k$b$N$OA0$NJ}$K=q$+$l$F$$$k$b$N$N\e(B
+    \e$B?6$kIq$$$r>e=q$-$9$k$3$H$,$G$-$^$9!#$3$l$O!"L\$K8+$($k1F6A$,$"$j$^$9!#\e(B
+    \e$BNc$($P!"\e(BUserDir \e$B$,\e(B Alias \e$B$N8e$K$"$l$P!"%f!<%6$N%[!<%`%G%#%l%/%H%j$N\e(B
+    \e$B%(%$%j%"%9$r:n$k$3$H$O$G$-$^$;$s!#$h$j>\$7$$>pJs$H!"?d>)$5$l$F$$$k\e(B
+    \e$B=gHV$K$D$$$F$O\e(B Apache \e$B%=!<%9G[I[Cf$N\e(B <code>src/Configuration.tmpl</code>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#clearmodulelist">ClearModuleList</a> \e$B$H\e(B <a
+    href="mod_so.html#loadmodule">LoadModule</a></p>
+    <hr />
+
+    <h2><a id="allowoverride" name="allowoverride">AllowOverride
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AllowOverride
+    All|None|<em>directive-type</em> [<em>directive-type</em>]
+    ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>AllowOverride
+    All</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B%5!<%P$,\e(B (<a
+    href="#accessfilename">AccessFileName</a> \e$B$K$h$C$F;XDj$5$l$?\e(B)
+    .htaccess \e$B%U%!%$%k$r8+$D$1$?;~!"$=$N%U%!%$%k$NCf$G\e(B
+    \e$B@k8@$5$l$?$I$N%G%#%l%/%F%#%V$,$h$jA0$KDj5A$5$l$?%"%/%;%9>pJs$r\e(B
+    \e$B>e=q$-$G$-$k$+$rCN$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p><strong>Note:</strong> <code>AllowOverride</code> is only
+    valid in &lt;Directory&gt; sections, not in &lt;Location&gt; or
+    &lt;Files&gt; sections, as implied by the <strong>Context</strong>
+    section above.</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$r\e(B None \e$B$K@_Dj$9$k$H!"\e(B.htaccess
+    \e$B%U%!%$%k$O40A4$KL5;k$5$l$^$9!#\e(B
+    \e$B$3$N>l9g!"%5!<%P$O%U%!%$%k%7%9%F%`$N\e(B .htaccess
+    \e$B%U%!%$%k$rFI$`$3$H$r;n$_$5$($7$^$;$s!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$,\e(B <code>All</code> \e$B$K@_Dj$5$l$F$$$k$H$-$K$O!"\e(B
+    .htaccess \e$B$H$$$&\e(B <a
+    href="directive-dict.html#Context">\e$B%3%s%F%-%9%H\e(B</a>
+    \e$B$r;}$D$9$Y$F$N%G%#%l%/%F%#%V$,MxMQ$G$-$^$9!#\e(B</p>
+
+    <p><em>directive-type</em>
+    \e$B$K$O!"0J2<$N%G%#%l%/%F%#%V72$N%-!<%o!<%I$N$I$l$+$r;XDj$7$^$9!#\e(B</p>
+
+    <dl>
+      <dt>AuthConfig</dt>
+
+      <dd>
+
+      \e$BG'>Z$K4X$9$k%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k\e(B (<a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>,
+      <a
+      href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>,
+      <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+      href="#authname">AuthName</a>, <a
+      href="#AuthDigestRealmSeed">AuthDigestRealmSeed</a>, <a
+      href="#authtype">AuthType</a>, <a
+      href="mod_auth.html#authuserfile">AuthUserFile</a>, <a
+      href="#require">Require</a> <em>\e$B$J$I\e(B</em>)\e$B!#\e(B</dd>
+
+      <dt>FileInfo</dt>
+
+      <dd>
+      \e$B%I%-%e%a%s%H%?%$%W$r@)8f$9$k$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k\e(B (<a
+      href="mod_mime.html#addencoding">AddEncoding</a>, <a
+      href="mod_mime.html#addlanguage">AddLanguage</a>, <a
+      href="mod_mime.html#addtype">AddType</a>, <a
+      href="#defaulttype">DefaultType</a>, <a
+      href="#errordocument">ErrorDocument</a>, <a
+      href="mod_negotiation.html#languagepriority">LanguagePriority</a>
+      <em>\e$B$J$I\e(B</em>)\e$B!#\e(B</dd>
+
+      <dt>Indexes</dt>
+
+      <dd>
+      \e$B%G%#%l%/%H%j%$%s%G%C%/%9$r@)8f$9$k$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k\e(B
+      (<a
+      href="mod_autoindex.html#adddescription">AddDescription</a>,
+      <a href="mod_autoindex.html#addicon">AddIcon</a>, <a
+      href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>,
+      <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>,
+      <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a
+      href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a
+      href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a
+      href="mod_autoindex.html#headername">HeaderName</a>, <a
+      href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a
+      href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a
+      href="mod_autoindex.html#readmename">ReadmeName</a>
+      <em>\e$B$J$I\e(B</em>)\e$B!#\e(B</dd>
+
+      <dt>Limit</dt>
+
+      <dd>
+      \e$B%[%9%H$X$N%"%/%;%9@)8f$r9T$&$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k\e(B (<a
+      href="mod_access.html#allow">Allow</a>,
+      <a href="mod_access.html#deny">Deny</a>
+      and <a href="mod_access.html#order">Order</a>).</dd>
+
+      <dt>Options</dt>
+
+      <dd>
+      \e$BFCDj$N%G%#%l%/%H%j$K$*$1$k5!G=$r;XDj$9$k$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k\e(B
+      (<a href="#options">Options</a> \e$B$H\e(B <a
+      href="mod_include.html#xbithack">XBitHack</a>).</dd>
+    </dl>
+
+    <p>\e$BNc\e(B:</p>
+    <blockquote><code>AllowOverride AuthConfig Indexes</code></blockquote>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="#accessfilename">AccessFileName</a> \e$B5Z$S\e(B <a
+    href="../configuring.html">\e$B@_Dj%U%!%$%k$N5-=R\e(B</a></p>
+    <hr />
+
+    <h2><a id="authname" name="authname">AuthName
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AuthName
+    <em>auth-domain</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O%G%#%l%/%H%j$KBP$9$kG'2DNN0h\e(B (\e$BLuCm\e(B: realm)
+    \e$B$NL>A0$r;XDj$7$^$9!#\e(B
+    \e$BG'2DNN0h$O!"MxMQ<T$,$I$N%f!<%6L>$H%Q%9%o!<%I$rAw?.$9$l$P$h$$$N$+$r\e(B
+    \e$B%/%i%$%"%s%H$K65$($k$?$a$KMxMQ$7$^$9!#\e(B
+    <samp>AuthName</samp> \e$B$O0l$D$N0z?t$r<h$j!"\e(B
+    \e$B%9%Z!<%9$,4^$^$l$k>l9g$K$O!"0zMQId$G0O$^$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O\e(B
+    <a href="#authtype">AuthType</a> \e$B%G%#%l%/%F%#%V$d\e(B
+    <a href="#require">Require</a> \e$B%G%#%l%/%F%#%V5Z$S!"\e(B
+    <a href="mod_auth.html#authuserfile">AuthUserFile</a> \e$B$d\e(B <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a>
+    \e$B$J$I$N%G%#%l%/%F%#%V$H0l=o$KMxMQ$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote><code>AuthName "\e$BHkL)$N%Q%9%o!<%I\e(B"</code></blockquote>
+
+    <p>\e$B$3$3$G\e(B <code>AuthName</code> \e$B$K;XDj$7$?J8;zNs$,!"\e(B
+    \e$BBgItJ,$N%V%i%&%6$N%Q%9%o!<%I%@%$%"%m%0$KI=<($5$l$^$9!#\e(B</p>
+
+    <p><strong>\e$BLuCm\e(B:</strong>
+    \e$B0z?t$KM?$($kJ8;zNs$O1Q?t;z$d%O%$%U%s$J$I$N5-9f$N$_$rMxMQ$9$k$Y$-$G$9$,!"\e(B2
+    \e$B%P%$%HJ8;z$r;XDj$7$?>l9g$G$b!"\e(B
+    Apache \e$B$ODL>o$NJ8;zNsF1MM$K%/%i%$%"%s%H$XAw=P$7$^$9!#\e(B
+    (\e$B$?$@%5%]!<%H$,I=L@$5$l$F$$$k$o$1$G$O$"$j$^$;$s\e(B)</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="../howto/auth.html">\e$BG'>Z!">5G'!"%"%/%;%9@)8f\e(B</a></p>
+    <hr />
+
+    <h2><a id="AuthDigestRealmSeed" name="AuthDigestRealmSeed">AuthDigestRealmSeed
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AuthDigestRealmSeed
+    <em>secret-real-string</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> \e$B%3%"\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$OG'2DNN0h$4$H$NHkL)$N0lEY$-$j$N@\F,<-$r\e(B
+    \e$B@_Dj$7$^$9!#$3$l$O\e(B Digest
+    \e$B8r49$N4V$K<hF@$7$?%f!<%6L>!"%Q%9%o!<%I!"G'2DNN0hL>J8;zNs$r!"\e(B
+    \e$BB>$N>l=j$G:FMxMQ$G$-$J$$MM$K$7$^$9!#\e(B</p>
+    <p>\e$B$3$l$O\e(B <a href="mod_digest.html">mod_digest.html</a> \e$B$K$7$+E,MQ$5$l$^$;$s!#\e(B
+    \e$B<B83E*$J\e(B
+    <a href="mod_auth_digest.html">mod_auth_digest.html</a>
+    \e$B$O@lMQ$N:FMxMQBP:v\e(B (\e$B$h$j?J$s$@!";~4V$b9MN8$7$?$b$N\e(B) \e$B$r<BAu$7$F$$$^$9!#\e(B
+    </p>
+
+    <p>\e$BF0:n$9$k$?$a$K$O\e(B <a href="#authtype">AuthType</a> \e$B$K\e(B Digest \e$B$N%?%$%W!"\e(B
+    <a href="#require">Require</a> \e$B%G%#%l%/%F%#%V$H\e(B
+    <a href="mod_auth.html#authuserfile">AuthUserFile</a> \e$B$d\e(B <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a>
+    \e$B%G%#%l%/%F%#%V$,@_Dj$5$l$F$$$k$3$H$,I,MW$G$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="../howto/auth.html">\e$BG'>Z!">5G'!"%"%/%;%9@)8f\e(B</a></p>
+    <hr />
+
+    <h2><a id="authtype" name="authtype">AuthType
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AuthType
+    Basic|Digest<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$OBP>]%G%#%l%/%H%j$GMxMQ$9$k%f!<%6!<G'>Z$N<oN`$rA*$S$^$9!#\e(B
+    \e$B$?$@!"8=:_$N$H$3$m$O\e(B <code>Basic</code> \e$B<c$7$/$O\e(B
+    <code>Digest</code> \e$B$7$+<BAu$5$l$F$$$^$;$s!#\e(B
+
+    \e$B$3$N%G%#%l%/%F%#%V$O\e(B
+    <a href="#authtype">AuthType</a> \e$B%G%#%l%/%F%#%V$d\e(B
+    <a href="#require">Require</a> \e$B%G%#%l%/%F%#%V5Z$S!"\e(B
+    <a href="mod_auth.html#authuserfile">AuthUserFile</a> \e$B$d\e(B <a
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a>
+    \e$B$J$I$N%G%#%l%/%F%#%V$H0l=o$KMxMQ$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>AuthDigest \e$B$,;H$o$l$k$H\e(B <a
+     href="#AuthDigestRealmSeed">AuthDigestRealmSeed</a> \e$B$b%;%C%H$5$l$^$9!#\e(B</p>
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="../howto/auth.html">\e$BG'>Z!">5G'!"%"%/%;%9@)8f\e(B</a></p>
+    <hr />
+
+    <h2><a id="bindaddress" name="bindaddress">BindAddress
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> BindAddress
+    *|<em>IP-address</em>|<em>domain-name</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>BindAddress
+    *</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> BindAddress \e$B$O\e(B
+    \e$BHs?d>)$G\e(B Apache 2.0 \e$B$G$O:o=|$5$l$^$9!#\e(B
+
+    <p>Unix&reg; \e$B$K$*$$$F\e(B HTTP \e$B%5!<%P$O!"%5!<%P$N$9$Y$F$N\e(B IP
+    \e$B%"%I%l%9$r\e(B listen \e$B$9$k$3$H$,$G$-!"0l$D$N\e(B IP \e$B%"%I%l%9$@$1$r\e(B
+    listen \e$B$9$k$3$H$b$G$-$^$9!#$3$N%G%#%l%/%F%#%V$K\e(B *
+    \e$B$r;XDj$9$k$H!"%5!<%P$O$9$Y$F$N\e(B IP \e$B%"%I%l%9>e$G\e(B listen
+    \e$B$r9T$$$^$9!#$=$l0J30$N>l9g$O!"FCDj$N\e(B <em>IP-address</em> \e$B$+\e(B
+    <em>domain-name</em> \e$B$N$_$G\e(B listen \e$B$7$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <code>BindAddress 192.168.15.48</code><br />
+
+    <p>\e$B$J$*!"\e(B<code>BindAddress</code>
+    \e$B%G%#%l%/%F%#%V$O0l$D$7$+MxMQ$G$-$^$;$s!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B Apache 2.0 \e$B$K$*$$$F$OHs?d>)$G!"<h$j=|$+$l$F$$$^$9!#\e(B
+    \e$BBe$o$j$K!"F1Ey$N5!G=$r;}$A$+$DJ#?t$N%"%I%l%9$d%]!<%H$K$*$$$F\e(B
+    listen \e$B$G$-$k$h$&$K$J$C$?\e(B
+    <code><a href="#listen">Listen</a></code>
+    \e$B%G%#%l%/%F%#%V$rMxMQ$G$-$^$9!#\e(B</p>
+    <p>BindAddress \e$B$O!"\e(B<code><a
+    href="#virtualhost">&lt;VirtualHost&gt;</a></code>
+    \e$B%;%/%7%g%s$r;H$&Be$o$j$K!"J#?t$N%5!<%P$r5/F0$7$F\e(B<a
+    href="../vhosts/">\e$B%P!<%A%c%k%[%9%H\e(B</a>\e$B$r%5%]!<%H$9$k\e(B
+    \e$B$?$a$KMxMQ$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong>
+    <a href="../dns-caveats.html">DNS \e$B$K4X$9$kLdBj\e(B</a><br />
+    <strong>\e$B;2>H\e(B:</strong> <a href="../bind.html">Apache
+    \e$B$,MxMQ$9$k%"%I%l%9$H%]!<%H$N@_Dj\e(B</a></p>
+    <hr />
+
+    <h2><a id="bs2000account" name="bs2000account">BS2000Account
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> BS2000Account
+    <em>account</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> BS2000Account \e$B$O\e(B BS2000
+    \e$B%^%7%s$G$+$D\e(B Apache 1.3.22 \e$B0J9_$G$N$_MxMQ2DG=$G$9!#\e(B
+
+    <p><code>BS2000Account</code> \e$B%G%#%l%/%F%#%V$O!"\e(BBS2000
+    \e$B%[%9%H$G$N$_M-8z$G$"$j!"\e(B(<a href="#user">User</a>
+    \e$B%G%#%l%/%F%#%V$rMxMQ$7$F\e(B) Apache 
+    \e$B$r<B9T$9$k8"8B$r4IM}<T0J30$N%"%+%&%s%HHV9f$K;XDj$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$B$3$l$O!"\e(BCGI \e$B%9%/%j%W%H$,!"DL>o\e(B SYSROOT
+    \e$B$G$"$k!"%5!<%P$r5/F0$7$?4IM}<T8"8B$r;}$D%"%+%&%s%H$N\e(B
+    \e$B%j%=!<%9$K%"%/%;%9$G$-$J$$$h$&$K$9$k$?$a$K!"\e(B
+    (\e$B%5%V%m%0%$%s$K$h$C$F!"\e(BBS2000 \e$B$N%?%9%/4D6-2<$KCV$+$l$k\e(B) BS2000 \e$B$N\e(B
+    POSIX \e$B%5%V%7%9%F%`$K$*$$$FI,MW$G$9!#\e(B<code>BS2000Account</code>
+    \e$B%G%#%l%/%F%#%V$O\e(B 1 \e$B2s$@$1MxMQ$G$-$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="../ebcdic.html">Apache \e$B$N\e(B
+    EBCDIC \e$B$X$N0\?"HG\e(B</a></p>
+    <hr />
+
+    <h2><a id="cgicommandargs" name="cgicommandargs">CGICommandArgs
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> CGICommandArgs On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> CGICommandArgs On<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+     1.3.24 \e$B0J9_$G;HMQ2DG=!#\e(B
+
+    <p>\e$B@N!9!"%$%s%?!<%M%C%H$,$h$j0BA4$G=c?h$@$C$?$H$-$K$O!"\e(B
+    \e$B%5!<%P$,\e(B '=' \e$BJ8;z$r4^$^$J$$%/%(%j!<J8;zNs$r<u$1<h$C$F2r@O$7!"\e(B
+    CGI \e$B%W%m%0%i%`$X%3%^%s%I%i%$%s$N0z?t$H$7$FEO$9$HJXMx$J$3$H$,$"$j$^$7$?!#\e(B
+    \e$BNc$($P!"\e(B<code>&lt;IsIndex&gt;</code> \e$B$K$h$j@8@.$5$l$?8!:w$O$h$/\e(B
+    \e$B$=$N$h$&$KF0:n$7$F$$$^$7$?!#$3$N$h$&$JF0:n$O:#F|$G$O0lHL$K\e(B
+    \e$B0BA4$G$J$$$H8+$J$5$l$F$$$^$9$,!"\e(BApache \e$B$N%G%U%)%k%H$NF0:n$O\e(B
+    \e$B8eJ}8_49@-$N$?$a$K$3$N?6$kIq$$$r0];}$7$F$$$^$9!#$?$$$F$$$N\e(B CGI
+    \e$B%W%m%0%i%`$O%3%^%s%I%i%$%s$N0z?t$r<u$1IU$1$^$;$s$,!"0z?t$r\e(B
+    \e$B<u$1IU$1$k$b$N$NCf$G$O!"$[$H$s$I$,$3$N0z?t$NEO$7J}$K5$IU$$$F$*$i$:!"\e(B
+    \e$B0-0U$N$"$k%/%i%$%"%s%H$,$3$NJ}K!$r;H$C$F0BA4$G$J$$$b$N$rEO$9\e(B
+    \e$B$3$H$KBP$9$k@H<e@-$,$"$j$^$9!#$=$N$h$&$J%9%/%j%W%H$r\e(B
+    Apache \e$B$N5!G=$r$[$\B;$J$&$3$H$J$/J]8n$9$k$?$a$K!"\e(B
+    <code>CGICommandArgs Off</code> \e$B$H@_Dj$9$k$3$H$,?d>)$5$l$F$$$^$9!#\e(B
+    </p>
+
+    <hr />
+
+    <h2><a id="clearmodulelist"
+    name="clearmodulelist">ClearModuleList \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ClearModuleList<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ClearModuleList
+    \e$B$O\e(B Apache 1.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B%5!<%P$O$"$i$+$8$aM-8z$J%b%8%e!<%k$N0lMw$r;}$C$F$$$^$9!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O$=$N0lMw$r%/%j%"$7$^$9!#8e$G\e(B
+    <a href="#addmodule">AddModule</a> \e$B%G%#%l%/%F%#%V$r;H$C$F\e(B
+    \e$B%b%8%e!<%k$r0lMw$K:F$S2C$($k$3$H$,4|BT$5$l$F$$$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#addmodule">AddModule</a> \e$B$H\e(B <a
+    href="mod_so.html#loadmodule">LoadModule</a></p>
+
+    <hr />
+
+    <h2><a id="contentdigest" name="contentdigest">ContentDigest
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ContentDigest
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ContentDigest
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> experimental<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ContentDigest \e$B$O\e(B Apache 1.1
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BRFC1864 \e$B5Z$S\e(B RFC2068 \e$B$K$*$$$FDj5A$5$l$F$$$k\e(B
+    <code>Content-MD5</code> \e$B%X%C%@$N@8@.$rM-8z$K$7$^$9!#\e(B</p>
+
+    <p>MD5 \e$B$O!"G$0UD9$N%G!<%?$N!V%a%C%;!<%8%@%$%8%'%9%H!W\e(B(\e$B!V;XLf!W\e(B
+    \e$B$HI=8=$5$l$k$3$H$b$"$k\e(B) \e$B$r7W;;$9$k%"%k%4%j%:%`$G!"\e(B
+    \e$B%G!<%?$NJQ99$,$"$C$?>l9g$K$OHs>o$K9b$$?.MjEY$G\e(B
+    \e$B%a%C%;!<%8%@%$%8%'%9%H$KJQ99$,H?1G$5$l$^$9!#\e(B</p>
+
+    <p><code>Content-MD5</code> \e$B%X%C%@$O!"%(%s%I%D!<%(%s%I$G\e(B
+    \e$B%(%s%F%#%F%#%\%G%#!<$K4^$^$l$k%a%C%;!<%8$N40A4@-%A%'%C%/\e(B
+    (Message Integrity Check - MIC) \e$B$rDs6!$7$^$9!#\e(B
+    \e$B$3$N%X%C%@$rD4$Y$k$3$H$G!"%W%m%-%7$d%/%i%$%"%s%H$O!"\e(B
+    \e$BESCf7PO)$K$*$1$k%(%s%F%#%F%#%\%G%#$NM=4|$;$LJQ99$J$I$r\e(B
+    \e$B8!=P$9$k$3$H$,$G$-$^$9!#%X%C%@$NNc\e(B:</p>
+<pre>
+   Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+</pre>
+
+    <p>\e$B%j%/%(%9%H$4$H$K%a%C%;!<%8%@%$%8%'%9%H$r7W;;$9$k\e(B
+    (\e$BCM$O%-%c%C%7%e$5$l$^$;$s\e(B) \e$B$3$H$+$i!"\e(B
+    \e$B%5!<%P%Q%U%)!<%^%s%9$,Dc2<$9$k$3$H$K$D$$$FCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p><code>Content-MD5</code >
+    \e$B$O!"%3%"5!G=$K$h$j=hM}$5$l$?%I%-%e%a%s%H$rAw$k$H$-$N$_M-8z$G$"$j!"\e(B
+    SSI \e$B%I%-%e%a%s%H$d\e(B CGI \e$B%9%/%j%W%H$N=PNO!"\e(B
+    \e$B%P%$%H%l%s%8$r;XDj$7$?1~Ez$N>l9g$K$O$3$N%X%C%@$OIUM?$5$l$^$;$s!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="coredumpdirectory"
+    name="coredumpdirectory">CoreDumpDirectory \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> CoreDumpDirectory
+    <em>\e$B%G%#%l%/%H%j%Q%9\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> ServerRoot \e$B$HF1$8>l=j\e(B<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B$3$l$K$h$j!"\e(BApache
+    \e$B$,%3%"%@%s%W$r$9$kA0$K0\F0$9$k$?$a$N%G%#%l%/%H%j$r;XDj$G$-$^$9!#\e(B
+    \e$B%G%U%)%k%H$N>l9g$O!"\e(B<a href="#serverroot">ServerRoot</a>
+    \e$B$K$*$$$F;XDj$7$?%G%#%l%/%H%j$H$J$k$b$N$N!"\e(B
+    \e$BDL>o$N>l9g$O%5!<%P$r<B9T$7$F$$$k%f!<%6$K$h$C$F=q$-9~$_8"8B$,L5$/!"\e(B
+    \e$B%3%"%@%s%W$,;D$5$l$k$3$H$O$"$j$^$;$s!#\e(B
+    \e$B$b$7!"%G%P%C%0$N$?$a$K%3%"%@%s%W$,I,MW$J$N$G$"$l$P!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$K$h$j0c$&>l=j$K@_Dj$r$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p>\e$B@_DjNc\e(B:</p>
+
+    <blockquote>
+    <code>CoreDumpDirectory /tmp</code>
+    </blockquote>
+
+    <hr />
+
+    <h2><a id="defaulttype" name="defaulttype">DefaultType
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> DefaultType
+    <em>MIME-type</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>DefaultType
+    text/html</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B%5!<%P$O!"\e(BMIME \e$B$N%?%$%W%^%C%W$+$i$O7hDj$G$-$J$$\e(B
+    \e$B%I%-%e%a%s%H$NAw?.$rMW5a$5$l$k$3$H$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B%5!<%P$O!"%I%-%e%a%s%H$N%3%s%F%s%H%?%$%W$r%/%i%$%"%s%H$K\e(B
+    \e$BDLCN$9$kI,MW$,$"$j$^$9$N$G!"$3$N$h$&$K%?%$%W$,L$CN$N>l9g$O\e(B
+    <code>DefaultType</code> \e$B$G;XDj$5$l$?%?%$%W$rMxMQ$7$^$9!#\e(B
+    \e$B@_DjNc\e(B:</p>
+
+    <blockquote>
+      <code>DefaultType image/gif</code>
+    </blockquote>
+    \e$B$3$l$O\e(B .gif \e$B$H$$$&3HD%;R$,%U%!%$%kL>$K4^$^$l$F$$$J$$B?$/$N\e(B
+    GIF \e$B2hA|$,4^$^$l$F$$$k%G%#%l%/%H%j$KE,$7$F$$$k$G$7$g$&!#\e(B
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="mod_mime.html#addtype">AddType</a> \e$B5Z$S\e(B <a
+    href="mod_mime.html#typesconfig">TypesConfig</a></p>
+
+    <hr />
+
+    <h2><a id="directory" name="directory">&lt;Directory&gt;
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;Directory
+    <em>directory-path</em>|proxy:<em>url-path</em>&gt;
+    ... &lt;/Directory&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+     \e$B%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core
+
+    <p>\e$B;XDj$5$l$?%G%#%l%/%H%jG[2<$K$N$_%G%#%l%/%F%#%V$rE,MQ$5$;$k$?$a$K!"\e(B
+    &lt;Directory&gt; \e$B5Z$S\e(B &lt;/Directory&gt;
+    \e$B$rBP$H$7$F!"%G%#%l%/%F%#%V72$r0O$&$3$H$,$G$-$^$9!#\e(B
+    \e$B0O$$$NCf$G$O!"%G%#%l%/%H%j%3%s%F%-%9%H$G5v2D$5$l$?$9$Y$F$N\e(B
+    \e$B%G%#%l%/%F%#%V$,MxMQ$G$-$^$9!#\e(B<em>directive-path</em>
+    \e$B$O!"%U%k%Q%9<c$7$/$O%o%$%k%I%+!<%I$K$F;XDj$7$^$9!#\e(B
+    `?' \e$B$OG$0U$N\e(B 1 \e$BJ8;z!"\e(B`*' \e$B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#\e(BApache 1.3
+    \e$B$N>l9g!"%7%'%k$K$*$1$k;XDjF1MM!"J8;z$NHO0O;XDj$r\e(B `[ ]' \e$B$G2DG=$G$9!#\e(B
+    \e$B$^$?!"\e(BApache 1.3\e$B$G$O!"\e(BUNIX \e$B$N%7%'%k$N5sF0$K;w$;$k$?$a$K!"\e(B
+    \e$B%o%$%k%I%+!<%I$O\e(B `/' \e$BJ8;z$K$O%^%C%A$7$^$;$s!#\e(B
+    \e$BNc\e(B:</p>
+<pre>
+   &lt;Directory /usr/local/httpd/htdocs&gt;
+   Options Indexes FollowSymLinks
+   &lt;/Directory&gt;
+</pre>
+
+    <p><strong>Apache 1.2 \e$B0J9_$N>l9g\e(B:</strong> <code>~</code>
+    \e$B$H$$$&J8;z$rIU2C$9$k$3$H$G3HD%@55,I=8=$rMxMQ$9$k$3$H$b$G$-$^$9!#\e(B<br />
+    \e$BNc$($P!"\e(B</p>
+<pre>
+   &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
+</pre>
+    \e$B$H$$$C$?;XDj$N>l9g!"\e(B/www/ \e$B0J2<$K$"$k?t;z\e(B 3
+    \e$BJ8;z$N%G%#%l%/%H%j$K%^%C%A$7$^$9!#\e(B
+
+    <p>\e$B$b$7J#?t$N\e(B (\e$B@55,I=8=0J30$N\e(B) \e$B%G%#%l%/%H%j%;%/%7%g%s$,\e(B
+    \e$B%I%-%e%a%s%H$r4^$`%G%#%l%/%H%j\e(B (\e$B$d$=$N>e0L%G%#%l%/%H%j\e(B)
+    \e$B$H%^%C%A$7$?$J$i$P!"\e(B<a href="#accessfilename">.htaccess</a>
+    \e$B%U%!%$%k$N%G%#%l%/%F%#%V$bFI$_9~$_$D$D!"\e(B
+    \e$BC;$$%Q%9$+$i=g$KE,MQ$5$l$^$9!#\e(B
+    \e$BNc$($P!"\e(B</p>
+
+    <blockquote>
+      <code>&lt;Directory /&gt;<br />
+       AllowOverride None<br />
+       &lt;/Directory&gt;<br />
+      <br />
+       &lt;Directory /home/*&gt;<br />
+       AllowOverride FileInfo<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+    \e$B$H@_Dj$7!"%I%-%e%a%s%H\e(B <code>/home/web/dir/doc.html</code>
+    \e$B$X$N%"%/%;%9$,$"$C$?>l9g$K$O0J2<$N$h$&$KF0:n$7$^$9\e(B:
+
+    <ul>
+      <li><code>AllowOverride None</code> \e$B$,E,MQ$5$l$k!#\e(B
+      (<code>.htaccess</code> \e$B%U%!%$%k$OL58z$K$J$k\e(B)</li>
+
+      <li><code>AllowOverride FileInfo</code> \e$B$,E,MQ$5$l$k\e(B
+      (<code>/home/web</code> \e$B%G%#%l%/%H%j$KBP$7$F\e(B)\e$B!#\e(B</li>
+
+      <li><code>/home/web/.htaccess</code> \e$B$N\e(B FileInfo
+      \e$B%G%#%l%/%F%#%V$,E,MQ$5$l$k!#\e(B</li>
+    </ul>
+
+    <p>\e$B%G%#%l%/%H%j%;%/%7%g%s$K$*$1$k@55,I=8=$K$D$$$F$O!"\e(BApache 1.2 \e$B$H\e(B
+    1.3 \e$B$G<c4307$$$,0c$$$^$9!#\e(B</p>
+
+    <p>Apache 1.2 \e$B$N>l9g!"DL>o$N%G%#%l%/%H%j%;%/%7%g%s$,F1$8$/!"\e(B
+    \e$B@_Dj%U%!%$%kFb$K8=$l$k=g$KI>2A$5$l$^$9!#@55,I=8=$N%G%#%l%/%H%j%;%/%7%g%s$O!"\e(B
+    \e$B0lHVC;$/%^%C%A$7$?>l9g$K0lEY$@$1E,MQ$5$l$^$9!#\e(B
+
+    Apache 1.3 \e$B$G$O!"\e(B
+    \e$B@55,I=8=$O!"DL>o$N%;%/%7%g%s$,$9$Y$FE,MQ$5$l$k$^$G9MN8$5$l$^$;$s!#\e(B
+    \e$B$=$N8e!"$9$Y$F$N@55,I=8=$,@_Dj%U%!%$%k$K8=$l$?=g$G;n$5$l$^$9!#\e(B
+    \e$BNc$($P!"0J2<$N$h$&$J>l9g$K\e(B</p>
+
+    <blockquote>
+      <code>&lt;Directory ~ abc$&gt;<br />
+       ... directives here ...<br />
+       &lt;/Directory&gt;<br />
+      </code>
+    </blockquote>
+
+    \e$B%"%/%;%9$5$l$F$$$k%U%!%$%kL>$,\e(B
+    <code>/home/abc/public_html/abc/index.html</code>
+    \e$B$G$"$k$H$7$^$7$g$&!#%5!<%P$O\e(B <code>/</code>, <code>/home</code>,
+    <code>/home/abc</code>, <code>/home/abc/public_html</code> \e$B5Z$S\e(B
+    <code>/home/abc/public_html/abc</code> \e$B$N=g$K9MN8$7$^$9!#\e(B
+    Apache 1.2 \e$B$G$"$l$P!"\e(B<code>/home/abc</code>
+    \e$B$NI>2A$r$9$k:]$K!"@55,I=8=$,%^%C%A$7E,MQ$5$l$^$9!#\e(B
+
+    Apache 1.3
+    \e$B$N>l9g$O@55,I=8=$O%D%j!<>e$N$=$N;~E@$G$OA4$/9MN8$5$l$^$;$s!#\e(B
+    \e$B$9$Y$F$NDL>o$N\e(B &lt;Directory&gt; \e$B$H\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$,I>2A$5$l$k$^$G!"9MN8$5$l$^$;$s!#$=$N8e!"@55,I=8=$O\e(B
+    <code>/home/abc/public_html/abc</code> \e$B$K%^%C%A$7!"E,MQ$5$l$^$9!#\e(B
+
+    <p><strong>Apache \e$B$N%G%U%)%k%H$G$O\e(B &lt;Directory /&gt;
+    \e$B$X$N%"%/%;%9$O\e(B <samp>Allow from All</samp>
+    \e$B$K$J$C$F$$$k$3$H$KCm0U$7$F$/$@$5$$!#$3$l$O!"\e(BURL
+    \e$B$+$i%^%C%W$5$l$?$I$N%U%!%$%k$G$b\e(B Apache \e$B$OAw$k$H$$$&$3$H$G$9!#\e(B
+    \e$B$3$l$O0J2<$N$h$&$K$7$FJQ99$9$k$3$H$,?d>)$5$l$F$$$^$9!#\e(B</strong></p>
+<pre>
+ &lt;Directory /&gt;
+     Order Deny,Allow
+     Deny from All
+ &lt;/Directory&gt;
+</pre>
+
+    <p><strong>\e$B$=$7$F%"%/%;%9$r\e(B<em>\e$B2DG=$K$7$?$$\e(B</em>
+    \e$B%G%#%l%/%H%j$KBP$7$F8DJL$K@_Dj$9$l$P$h$$$G$7$g$&!#\e(B
+    \e$B$3$N$"$?$j$K$D$$$F$O!"\e(B<a href="../misc/security_tips.html"
+    >\e$B%;%-%e%j%F%#$K4X$9$k%3%D\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B</strong></p>
+    &lt;Directory&gt; \e$B%G%#%l%/%F%#%V$OF~$l;R$K$9$k$3$H$,$G$-$:!"\e(B
+    <a href="#limit">&lt;Limit&gt;</a> \e$B$d\e(B <a
+    href="#limitexcept">&lt;LimitExcept&gt;</a>
+    \e$B%;%/%7%g%s$NCf$K$b5-=R$G$-$^$;$s!#\e(B
+
+   <p><a href="mod_proxy.html">mod_proxy</a> \e$B$,M-8z$K$J$C$F$$$k>l9g!"\e(B
+   <code>proxy:</code> \e$B9=J8$r;H$C$F!"%W%m%-%7$5$l$F$$$k%3%s%F%s%D$K\e(B
+   \e$BBP$7$FE,MQ$5$;$k$3$H$,$G$-$^$9!#$3$N9=J8$O@_Dj$rE,MQ$7$?$$\e(B
+   \e$B%W%m%-%7$5$l$F$$$k\e(B URL \e$B$r;XDj$9$k$+!"%W%m%-%7$5$l$F$$$k%3%s%F%s%D$9$Y$F$K\e(B
+   \e$BE,MQ$5$;$k$?$a$K\e(B <code>*</code> \e$B$r;XDj$9$k!"$H$$$&$h$&$K$J$C$F$$$^$9\e(B:</p>
+
+   <p>\e$B$9$Y$F$N%W%m%-%7$5$l$F$$$k%3%s%F%s%D$KE,MQ$5$;$k$K$O\e(B:</p>
+
+   <pre>
+   &lt;Directory proxy:*&gt;
+     ... directives here ...
+   &lt;/Directory&gt;
+   </pre>
+
+   <p>\e$B%W%m%-%7$5$l$F$$$k%3%s%F%s%D$N0lItJ,$K$N$_E,MQ$5$;$k$K$O\e(B:</p>
+
+   <pre>
+   &lt;Directory proxy:http://www.example.com/&gt;
+     ... directives here ...
+   &lt;/Directory&gt;
+   </pre>
+
+    <p><strong>\e$B;2>H\e(B</strong>: \e$B%j%/%(%9%H$r<u$1$?:]$K!"\e(B
+    \e$B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$FAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B
+    <a href="../sections.html">Directory, Location \e$B5Z$S\e(B Files
+    \e$B%;%/%7%g%s$,$I$N$h$&$KF0:n$9$k$N$+\e(B</a></p>
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#directorymatch">DirectoryMatch</a></p>
+    <hr />
+
+    <h2><a id="directorymatch"
+    name="directorymatch">&lt;DirectoryMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;DirectoryMatch
+    <em>regex</em>&gt; ... &lt;/DirectoryMatch&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3 \e$B0J9_$G;HMQ2DG=\e(B
+
+    <p>\e$B;XDj$5$l$?%G%#%l%/%H%jG[2<$K$N$_%G%#%l%/%F%#%V$rE,MQ$5$;$k$?$a$K!"\e(B
+    <a href="#directory">&lt;Directory&gt;</a> \e$B$HF1MM$K\e(B
+    &lt;DirectoryMatch&gt; \e$B5Z$S\e(B &lt;/DirectoryMatch&gt;
+    \e$B$rBP$H$7$F!"%G%#%l%/%F%#%V72$r0O$&$3$H$,$G$-$^$9!#\e(B
+    \e$B$?$@$7!"0z?t$O@55,I=8=$H$J$j$^$9!#Nc$($P!"\e(B</p>
+<pre>
+   &lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;
+</pre>
+
+    <p>\e$B$H$$$C$?;XDj$N>l9g$O\e(B /www/ \e$B0J2<$K$"$k?t;z\e(B 3
+    \e$BJ8;z$N%G%#%l%/%H%j$K%^%C%A$7$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> 
+    \e$BDL>o$N\e(B &lt;Directory&gt;
+    \e$B%;%/%7%g%s$H0l=o$K@55,I=8=$rMxMQ$9$k$?$a$N2r@b$H$7$F$O\e(B
+    <a href="#directory">&lt;Directory&gt;</a><br />
+    <strong>\e$B;2>H\e(B</strong>: \e$B%j%/%(%9%H$r<u$1$?:]$K!"\e(B
+    \e$B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$FAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B
+    <a href="../sections.html">Directory, Location \e$B5Z$S\e(B Files
+    \e$B%;%/%7%g%s$,$I$N$h$&$KF0:n$9$k$N$+\e(B</a></p>
+    <hr />
+
+    <h2><a id="documentroot" name="documentroot">DocumentRoot
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> DocumentRoot
+    <em>directory-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>DocumentRoot
+    /usr/local/apache/htdocs</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(Bhttpd
+    \e$B$,%U%!%$%k$rDs6!$9$k%G%#%l%/%H%j$r@_Dj$7$^$9!#\e(BAlias
+    \e$B$N$h$&$J%G%#%l%/%F%#%V$K%^%C%A$7$J$$>l9g$K$O!"%I%-%e%a%s%H$N\e(B
+    (\e$BLuCm\e(B:\e$B%U%!%$%k%7%9%F%`>e$N\e(B) \e$B%Q%9$r@8@.$9$k$?$a$K!"%j%/%(%9%H$5$l$?\e(B
+    URL \e$B$N%Q%9ItJ,$r%I%-%e%a%s%H%k!<%H$KIUM?$7$^$9!#\e(B
+    \e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>DocumentRoot /usr/web</code>
+    </blockquote>
+    \e$B$3$N>l9g!"\e(B
+    <code>http://www.my.host.com/index.html</code> \e$B$X$N%"%/%;%9$,$"$l$P\e(B
+    <code>/usr/web/index.html</code> \e$B$,JV$5$l$^$9!#\e(B
+
+    <p>\e$B$H$3$m$G!"\e(BDocumentRoot
+    \e$B$N0z?t$N%Q%9$N:G8e$NJ8;z$K%9%i%C%7%e$,;XDj$5$l$F$$$k$H\e(B
+    (<em>\e$BNc$($P\e(B</em>\e$B!"\e(B"DocumentRoot /usr/web/" \e$B$N$h$&$K\e(B)
+    \e$BLdBj$,5/$3$k$H$$$&\e(B mod_dir \e$B$N%P%0$,$"$k$h$&$G$9!#\e(B
+    \e$B$=$N$?$a!"$3$N$h$&$J;XDj$O$7$J$$$h$&$K$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="ebcdicconvert"
+    name="ebcdicconvert">EBCDICConvert</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> EBCDICConvert
+    On|Off[=<em>direction</em>] <em>extension</em>
+    [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> EBCDICConvert \e$B$O\e(B
+    Apache 1.3.19 \e$B0J9_$G$+$D\e(B EBCDIC
+    \e$B%Y!<%9$N%W%i%C%H%U%)!<%`$K$*$$$F$N$_MxMQ2DG=$G$9!#\e(B
+
+    <p>EBCDICConvert
+    \e$B%G%#%l%/%F%#%V$OM?$($i$l$?%U%!%$%k$N3HD%;R$r;XDj$NJQ49@_Dj\e(B
+     (<samp>On</samp> \e$B$+\e(B <samp>Off</samp>) \e$B$K%^%C%W$7$^$9!#\e(B
+    \e$B3HD%;R$N:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+
+    <p>\e$B%*%W%7%g%s$N7A<0\e(B <samp>On=<i>direction</i></samp> (\e$B$d\e(B
+    <samp>Off=<i>direction</i></samp>) \e$B$,;XDj$5$l$k$H\e(B (<i>direction</i>
+    \e$B$O\e(B <samp>In</samp>, <samp>Out</samp>, <samp>InOut</samp> \e$B$N$I$l$+\e(B)\e$B!"\e(B
+    \e$B%G%#%l%/%F%#%V$O;XDj$5$l$?8~$-$K$@$1E,MQ$5$l$^$9\e(B (<samp>In</samp>: 
+    PUT \e$B$d\e(B POST \e$B%j%/%(%9%H$G%3%s%F%s%D$r%"%C%W%m!<%I!"\e(B<samp>Out</samp>:
+    GET \e$B$d\e(B POST \e$B%j%/%(%9%H$GJV$5$l$k%3%s%F%s%D!"\e(B<samp>InOut</samp>: 
+    \e$BN>J}$N8~$-$GJQ49\e(B)\e$B!#\e(B<br />
+    \e$B$=$l0J30$N7A<0$G$O!"\e(B<samp>InOut</samp> (\e$BN>J}$N8~$-$GJQ49\e(B)
+    \e$B$G$"$k$H$_$J$5$l$^$9!#\e(B</p>
+
+    <p>\e$B0lHLE*$J\e(B MIME \e$B$K4p$E$$$?%k!<%k$r!"\e(B
+    \e$B$h$j:Y$+$$%U%!%$%k$N3HD%;R$K4p$E$$$?%k!<%k$,>e=q$-$G$-$k$h$&$K!"\e(B
+    \e$B3HD%;R$K4p$E$$$?@_Dj$O\e(B MIME
+    \e$B%?%$%W$K4p$E$$$?@_Dj$h$jA0$K;n$5$l$^$9!#\e(B</p>
+
+    <p><strong>\e$BNc\e(B</strong>:<br />
+    \e$B0J2<$N@_Dj$G$O!"IaDL$N\e(B <samp>*.html</samp> \e$B%U%!%$%k$O\e(B
+    EBCDIC \e$B%(%s%3!<%G%#%s%0$N\e(B HTML \e$B$G!"\e(B<samp>*.ahtml</samp> \e$B%U%!%$%k$O\e(B
+    ASCII \e$B%(%s%3!<%G%#%s%0$N\e(B HTML \e$B$G$9\e(B:</p>
+
+<pre>
+    # *.html \e$B$H\e(B *.ahtml \e$B$O\e(B HTML:
+    AddType  text/html  .html .ahtml
+
+    # *.ahtml \e$B$OJQ49$5$l$J$$\e(B (\e$B4{$K\e(B ASCII \e$B$K$J$C$F$$$k\e(B):
+    EBCDICConvert       Off .ahtml
+
+    # \e$BB>$N$9$Y$F$N\e(B text/html \e$B%U%!%$%k$O\e(B EBCDIC \e$B$N$O$:\e(B:
+    EBCDICConvertByType On  text/html
+</pre>
+    <br />
+     <br />
+
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> \e$B$H\e(B <a
+    href="../ebcdic.html#ebcdic">EBCDICConvertByType
+    \e$BJQ494X?t$N35MW\e(B</a></p>
+    <hr />
+
+    <h2><a id="ebcdicconvertbytype"
+    name="ebcdicconvertbytype">EBCDICConvertByType</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> EBCDICConvertByType
+    On|Off[=<em>direction</em>] <em>mimetype</em>
+    [<em>mimetype</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> EBCDICConvertByType \e$B$O\e(B
+    Apache 1.3.19 \e$B0J9_$G$+$D\e(B EBCDIC \e$B%Y!<%9$N%W%i%C%H%U%)!<%`$K$*$$$F$N$_\e(B
+    \e$BMxMQ2DG=$G$9!#\e(B
+
+    <p>EBCDICConvertByType \e$B%G%#%l%/%F%#%V$OM?$($i$l$?\e(B MIME \e$B%?%$%W\e(B
+    (\e$B%o%$%k%I%+!<%I$b2D\e(B) \e$B$r;XDj$5$l$?JQ49@_Dj\e(B (<samp>On</samp> \e$B$+\e(B
+    <samp>Off</samp>) \e$B$K%^%C%W$7$^$9!#\e(B</p>
+
+    <p>\e$B%*%W%7%g%s$N7A<0\e(B <samp>On=<i>direction</i></samp> (\e$B$d\e(B
+    <samp>Off=<i>direction</i></samp>) \e$B$,;XDj$5$l$k$H\e(B (<i>direction</i>
+    \e$B$O\e(B <samp>In</samp>, <samp>Out</samp>, <samp>InOut</samp> \e$B$N$I$l$+\e(B)\e$B!"\e(B
+    \e$B%G%#%l%/%F%#%V$O;XDj$5$l$?8~$-$K$@$1E,MQ$5$l$^$9\e(B (<samp>In</samp>:
+    PUT \e$B$d\e(B POST \e$B%j%/%(%9%H$G%3%s%F%s%D$r%"%C%W%m!<%I!"\e(B<samp>Out</samp>:
+    GET \e$B$d\e(B POST \e$B%j%/%(%9%H$GJV$5$l$k%3%s%F%s%D!"\e(B<samp>InOut</samp>:
+    \e$BN>J}$N8~$-$GJQ49\e(B)\e$B!#\e(B<br />
+    \e$B$=$l0J30$N7A<0$G$O!"\e(B<samp>InOut</samp> (\e$BN>J}$N8~$-$GJQ49\e(B)
+    \e$B$G$"$k$H$_$J$5$l$^$9!#\e(B</p>
+
+    <p><strong>\e$BNc\e(B</strong>:<br />
+    \e$BM-MQ$JI8=`@_Dj$K$O0J2<$N%G%U%)%k%H$,$"$k$Y$-$G$9\e(B:</p>
+<pre>
+    # \e$B$9$Y$F$N%F%-%9%H%I%-%e%a%s%H$O\e(B EBCDIF \e$B$N%U%!%$%k\e(B:
+    EBCDICConvertByType On  text/* message/* multipart/*
+    EBCDICConvertByType On  application/x-www-form-urlencoded \
+                model/vrml application/postscript
+    # \e$B$9$Y$F$NB>$N%U%!%$%k$O%P%$%J%j$H$_$J$9\e(B
+    EBCDICConvertByType Off */*
+</pre>
+    \e$BNc$($P\e(B NFS \e$B$G%^%&%s%H$5$l$?\e(B unix
+    \e$B%5!<%P$+$i%I%-%e%a%s%H$rAw$k!"$H$$$&$h$&$K\e(B
+    ASCII \e$B$N%I%-%e%a%s%H$N$_$r07$&>l9g$O!"0J2<$N$h$&$K$7$F$/$@$5$$\e(B:
+<pre>
+    # \e$B$9$Y$F$N%I%-%e%a%s%H$O4{$K\e(B ASCII
+    EBCDICConvertByType Off */*
+</pre>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#ebcdicconvert">EBCDICConvert</a> \e$B$H\e(B <a
+    href="../ebcdic.html#ebcdic">EBCDIC \e$BJQ494X?t$N35MW\e(B</a></p>
+    <hr />
+
+    <h2><a id="ebcdickludge"
+    name="ebcdickludge">EBCDICKludge</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> EBCDICKludge
+    On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>EBCDICKludge
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> EBCDICKludge \e$B$O\e(B Apache
+    1.3.19 \e$B0J9_$G\e(B EBCDIC \e$B%Y!<%9$N%W%i%C%H%U%)!<%`$G$N$_;HMQ2DG=$G$9!#\e(B
+    \e$BHs?d>)$G!">-Mh$N%P!<%8%g%s$G$O:o=|$5$l$kM=Dj$G$9!#\e(B<br />
+
+    <p>EBCDICKludge \e$B$O\e(B apache \e$B$N%P!<%8%g%s\e(B 1.3.0 \e$B$+$i\e(B 1.3.18
+    \e$B$H$N8_49@-$rJ]$D$?$a$KDs6!$5$l$F$$$^$9!#$=$l$i$N%P!<%8%g%s$G$O!"\e(B
+    "text/", "message/", "multipart" \e$B$G;O$^$k\e(B MIME \e$B%?%$%W$H!"\e(B
+    "application/x-www-form-urlencoded"
+    \e$B$N$9$Y$F$N%U%!%$%k$O%G%U%)%k%H$GJQ49$5$l!"\e(B
+    \e$BB>$N$9$Y$F$N%I%-%e%a%s%H$OL5JQ49$GAw$i$l$F$$$^$7$?!#\e(B
+    "<samp>text/<b>x-ascii-</b><i>subtype</i></samp>"
+    \e$B$,%I%-%e%a%s%H$KBP$7$F@_Dj$5$l$F$$$k>l9g$K$N$_!"%I%-%e%a%s%H$O\e(B
+    ASCII \e$B%U%)!<%^%C%H$G$"$k$H$_$J$5$l!":FJQ49$5$l$^$;$s$G$7$?!#\e(B
+    \e$BJQ49$9$kBe$o$j$K!"\e(B"<samp><b>x-ascii-</b></samp>"
+    \e$B$,%?%$%W$+$i<h$j=|$+$l!"\e(B"<samp>text/<i>subtype</i></samp>"
+    \e$B$,%I%-%e%a%s%H$N\e(B MIME \e$B%?%$%W$K$J$C$F$$$^$7$?!#\e(B</p>
+
+    <p>EBCDICKludge \e$B%G%#%l%/%H%j$,\e(B <samp>On</samp> \e$B$K@_Dj$5$l$F$$$F!"\e(B
+    <a href="#ebcdicconvert">EBCDICConvert</a> \e$B%G%#%l%/%F%#%V$,$=$3$N\e(B
+    \e$B%3%s%F%-%9%H$K%^%C%A$9$l$P!"%5!<%P$O\e(B
+    <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp> \e$B$H$$$&7A<0$N\e(B
+    MIME \e$B%?%$%W$rD4$Y$^$9!#%I%-%e%a%s%H$K$=$N$h$&$J%?%$%W$,$"$l$P!"\e(B
+    "<samp><b>x-ascii-</b></samp>" \e$B$,<h$j=|$+$l$F!"JQ49$O\e(B <samp>Off</samp>
+    \e$B$K@_Dj$5$l$^$9!#Nc$($P\e(B NFS \e$B$G%^%&%s%H$5$l$?%G%#%l%/%H%j$N\e(B
+    ASCII \e$B$N%I%-%e%a%s%H$rAw$C$F$$$k$h$&$J>l9g$K!"$3$l$K$h$j\e(B
+    \e$B$9$Y$F$N%F%-%9%H%U%!%$%k$O\e(B EBCDIC
+    \e$B$G$"$k$H$$$&A0Ds$rJQ99$9$k$3$H$,$G$-$^$9!#\e(B<br />
+    EBCDICKludge \e$B$G$O!"B>$N\e(B MIME \e$B%?%$%W\e(B (<em>\e$BNc$($P\e(B</em> model/vrml) \e$B$r\e(B
+    EBCDIC \e$B$N%F%-%9%H%U%!%$%k$H$7$F07$&$3$H$O$G$-$^$;$s!#\e(B
+    \e$B$=$N$h$&$JJQ49$K$O>e5-$N\e(B <a
+     href="#ebcdicconvertbytype">EBCDICConvertByType</a>
+    \e$B%G%#%l%/%F%#%V$N;HMQ$,$h$jNI$$J}K!$G$9!#\e(B(Apache \e$B%P!<%8%g%s\e(B 1.3.19
+    \e$B$h$jA0$G$O!"%P%$%J%j%I%-%e%a%s%H$r\e(B EBCDIC
+    \e$B%F%-%9%H%U%!%$%k$H$7$F07$&J}K!$OA4$/$"$j$^$;$s$G$7$?\e(B)\e$B!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#ebcdicconvert">EBCDICConvert</a>, <a
+    href="#ebcdicconvertbytype">EBCDICConvertByType</a> \e$B$H\e(B <a
+    href="../ebcdic.html#ebcdic">EBCDIC \e$BJQ494X?t$N35MW\e(B</a></p>
+    <hr />
+
+    <h2><a id="enableexceptionhook" name="enableexceptionhook">
+    EnableExceptionHook directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> EnableExceptionHook
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>EnableExceptionHook
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> EnableExceptionHook
+    \e$B$O\e(B Apache 1.3.30 \e$B0J9_$G;HMQ2DG=\e(B
+
+    <p><code>EnableExceptionHook</code> \e$B$O%b%8%e!<%k$K<BAu$5$l$?\e(B
+    \e$BNc30%U%C%/$r;R%W%m%;%9$,%/%i%C%7%e$7$?8e$K8F$V$+$I$&$+$r@)8f$7$^$9!#\e(B
+    \e$BNc30%U%C%/$O%b%8%e!<%k$,%/%i%C%7%e$N860x$r7hDj$9$k$?$a$N?GCG>pJs$r\e(B
+    \e$B%m%0<}=8$9$k$G$-$k$h$&$K$7$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="errordocument" name="errordocument">ErrorDocument
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ErrorDocument
+    <em>error-code document</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$B%G%#%l%/%H%j<c$7$/$O\e(B .htaccess
+    \e$B%3%s%F%-%9%H$K$*$$$F$N;XDj$O\e(B Apache 1.1 \e$B0J9_$G$N$_MxMQ2DG=$G$9!#\e(B
+
+    <p>\e$BLdBj$d%(%i!<$,H/@8$7$?$H$-$NF0:n$H$7$F!"\e(B
+    Apache \e$B$K$O0J2<$N;M$D$N$&$A0l$D$NF0:n$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <ol>
+      <li>Apache \e$BI8=`$N4JC1$J%(%i!<%a%C%;!<%8$rI=<(\e(B</li>
+
+      <li>\e$B<+J,$G;XDj$7$?%a%C%;!<%8$rI=<(\e(B</li>
+
+      <li>\e$BLdBj$d%(%i!<$N=hM}$r$9$k0Y$K!"<+%5!<%PFb$N\e(B
+      <em>URL-path</em> \e$B$X%j%@%$%l%/%H\e(B</li>
+
+      <li>\e$BLdBj$d%(%i!<$N=hM}$r$9$k0Y$K!"30It$N\e(B <em>URL</em>
+      \e$B$X%j%@%$%l%/%H\e(B</li>
+    </ol>
+
+    <p>\e$B:G=i$N$b$N$,%G%U%)%k%H$NF0:n$G!"\e(B2 \e$BHVL\$+$i\e(B 4 \e$BHVL\$O!"\e(B
+    <code>ErrorDocument</code> \e$B%G%#%l%/%F%#%V$K$h$j!"\e(BHTTP
+    \e$B$N%l%9%]%s%9%3!<%I$H!"%a%C%;!<%8$+\e(B URL \e$B$r;XDj$9$k$3$H$G@_Dj$7$^$9!#\e(B</p>
+
+    <p><em>\e$B%a%C%;!<%8\e(B</em>\e$B$r5-=R$9$k>l9g$K$O!"Fs=E0zMQId\e(B 1 \e$BJ8;z\e(B
+    (<code>"</code>) \e$B$r:G=i$KIUM?$7$^$9!#\e(B
+    \e$BFs=E0zMQId$O%a%C%;!<%8$K$O4^$^$l$^$;$s!#\e(B
+    Apache \e$B$O>l9g$K$h$C$F!"LdBj$d%(%i!<$K$D$$$FIU2CE*$J>pJs$rDs6!$7$^$9!#\e(B</p>
+
+    <p>URL \e$B$N>l9g$O!"%m!<%+%k$N\e(B URL \e$B$N;XDj$H$7$F%9%i%C%7%e$G;O$^$k\e(B (/)
+    \e$B%Q%9$+!"%/%i%$%"%s%H$,2r<a$G$-$k%U%k\e(B URL \e$B$r;XDj$7$^$9!#\e(B<br />
+    \e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>ErrorDocument 500
+      http://foo.example.com/cgi-bin/tester<br />
+       ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+       ErrorDocument 401 /subscription_info.html<br />
+       ErrorDocument 403 "Sorry can't allow you access today</code>
+    </blockquote>
+
+    <p>\e$B%j%b!<%H\e(B URL (\e$BNc$($P!"F,$K\e(B http \e$B$HIUM?$7$?J}K!\e(B) \e$B$r\e(B
+    <code>ErrorDocument</code> \e$B$K;XDj$9$k$H$-!"\e(B
+    \e$B$?$H$(J8=q$,F1$8%5!<%P$K$"$m$&$H$b!"%I%-%e%a%s%H$,$I$3$K$"$k$+$rDLCN$9$k$?$a$K!"\e(B
+    Apache \e$B$O%j%@%$%l%/%H$r%/%i%$%"%s%H$KAw=P$9$k$H$$$&$3$H$K!"Cm0U$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$K$O$$$m$$$m$H4XO"$7$F5/$3$kLdBj$,$"$j$^$9!#\e(B
+    \e$BCf$G$b:G$b=EMW$J$N$O!"%/%i%$%"%s%H$O85!9$N%(%i!<%9%F!<%?%9%3!<%I$r<u$1<h$i$:!"\e(B
+    \e$BBe$o$j$K%j%@%$%l%/%H$N%9%F!<%?%9%3!<%I$r<u$1<h$k$H$$$&$3$H$G$9!#\e(B
+    \e$B$3$l$K$h$j!"%9%F!<%?%9%3!<%I$r;H$C$F\e(B URL \e$B$,M-8z$G$"$k$+$I$&$+$r7hDj$7$h$&$H$9$k\e(B
+    \e$B%&%'%V%m%\%C%H$d$=$NB>%/%i%$%"%s%H$r!":.Mp$5$;$k$+$b$7$l$^$;$s!#\e(B
+    \e$B$5$i$K!"\e(B<code>ErrorDocument 401</code> \e$B$K%j%b!<%H$N\e(B URL \e$B$r;XDj$9$k$H!"\e(B
+    \e$B%/%i%$%"%s%H$O\e(B 401 \e$B$H$$$&%9%F!<%?%9%3!<%I$r<u$1<h$i$J$$$?$a!"\e(B
+    \e$B%Q%9%o!<%I$r%f!<%6$KF~NOMW5a$7$J$1$l$P$J$i$J$$$3$H$,$o$+$j$^$;$s!#\e(B
+    \e$B=>$C$F!"\e(B<strong>"ErrorDocument 401" \e$B$H$$$&%G%#%l%/%F%#%V$r;H$&>l9g$O!"\e(B
+    \e$BI,$:%m!<%+%k$JJ8=q$r;2>H$7$J$1$l$P$J$j$^$;$s!#\e(B</strong></p>
+
+    <p>\e$B%5!<%P$,@8@.$7$?%(%i!<%a%C%;!<%8$,!V>.$5$9$.$k!W$H\e(B
+    Microsoft Internet Explorer (MSIC) \e$B$O%G%U%)%k%H$G$=$l$rL5;k$7!"\e(B
+    \e$B!V?F@Z$J!W%(%i!<%a%C%;!<%8$GCV$-49$($^$9!#$7$-$$CM$O%(%i!<$N\e(B
+    \e$B<oN`$K$h$C$F0[$j$^$9$,!"DL>o!"%(%i!<%I%-%e%a%s%H$r\e(B 512 \e$B%P%$%H$h$j\e(B
+    \e$BBg$-$/$9$k$H!"\e(BMSIE \e$B$O%5!<%P$,@8@.$7$?%(%i!<$r1#$5$:$KI=<($7$^$9!#\e(B
+    \e$B$h$j>\$7$$>pJs$O\e(B Microsoft Knowledgebase \e$B$N5-;v\e(B <a
+    href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
+    >Q294807</a> \e$B$K$"$j$^$9!#\e(B</p>
+
+    <p>\e$B;2>H\e(B: <a href="../custom-error.html">\e$B%l%9%]%s%9$r%+%9%?%^%$%:$9$kJ}K!$K$D$$$F$N2r@b!#\e(B</a>
+    \e$B%9%F!<%?%9%3!<%I$H$=$N0UL#$N40A4$J%j%9%H$O\e(B <a
+    href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP
+    \e$B;EMM=q\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="errorlog" name="errorlog">ErrorLog
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ErrorLog
+    <em>file-pathh</em>|syslog[:<em>facility</em>] <br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ErrorLog
+    logs/error_log</code> (Unix)<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ErrorLog
+    logs/error.log</code> (Windows and OS/2)<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B%(%i!<%m%0%G%#%l%/%F%#%V$O!"%5!<%P$K@8$8$?$5$^$6$^$J%(%i!<$r\e(B
+    \e$B5-O?$9$k$?$a$N%U%!%$%k$NL>A0$r@_Dj$7$^$9!#\e(B
+    <em>file-path</em> \e$B$,%9%i%C%7%e\e(B (/) \e$B$+$i;O$^$i$J$$>l9g$O!"\e(B<a
+    href="#serverroot">ServerRoot</a> \e$B$+$i$NAjBP%Q%9$H$_$J$5$l$^$9!#\e(B
+    <em>file-path</em> \e$B$,%Q%$%W\e(B (|) \e$B$+$i;O$^$k>l9g$O!"\e(B
+    \e$B%(%i!<%m%0$r=hM}$9$k$?$a$K<B9T$5$l$k%3%^%s%I$,\e(B
+    \e$B;XDj$5$l$F$$$k$H2r<a$5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B</p>
+
+    <p><code>ErrorLog logs/vhost1.error</code></p>
+
+    or
+
+    <p><code>ErrorLog |/usr/local/bin/errorlog.pl</code></p>
+
+    <p><strong>Apache 1.3 \e$B0J9_$N>l9g\e(B:</strong> \e$B%U%!%$%kL>$NBe$o$j$K\e(B
+    <code>syslog</code> \e$B$H;XDj$9$k$3$H$K$h$C$F!"\e(B
+    \e$B%7%9%F%`$,%5%]!<%H$7$F$$$l$P\e(B syslogd(8)
+    \e$B$rMxMQ$7$?%m%.%s%0$,M-8z$K$J$j$^$9!#%G%U%)%k%H$G$O!"\e(B
+    <code>local7</code> \e$B%U%!%7%j%F%#$H$J$j$^$9$,!"\e(B
+    <code>syslog:</code><em>facility</em>
+    \e$B$H$$$C$?7A$G5-=R$9$k$3$H$K$h$j!"DL>o\e(B syslog(1)
+    \e$B$N%I%-%e%a%s%H$G@bL@$5$l$F$$$k%U%!%7%j%F%#$N0l$D$r;H$&$h$&$K\e(B
+    \e$B$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <p><code>ErrorLog syslog</code></p>
+
+    or
+
+    <p><code>ErrorLog syslog:user</code></p>
+
+    <p>\e$B%;%-%e%j%F%#\e(B: 
+    \e$B%m%0%U%!%$%k$r3JG<$9$k%G%#%l%/%H%j$,!"%5!<%P$r5/F0$7$?%f!<%60J30$N\e(B
+    \e$B%f!<%6$K$h$C$F=q$-9~$a$k>l9g$K%;%-%e%j%F%#$,GK$i$l$k2DG=@-$,$"$k$3$H$K\e(B
+    \e$B4X$9$k>\:Y$O\e(B <a
+    href="../misc/security_tips.html#serverroot">\e$B%;%-%e%j%F%#$K4X$9$k%3%D\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="#loglevel">LogLevel</a>
+    \e$B5Z$S\e(B <a href="../logs.html">Apache \e$B$N%m%0%U%!%$%k\e(B</a></p>
+    <hr />
+
+    <h2><a id="fileetag" name="fileetag">FileETag \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> FileETag
+    <i>component</i> ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3.23 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>FileETag
+    \e$B%G%#%l%/%F%#%V$O%I%-%e%a%s%H$,%U%!%$%k$K4p$E$$$?$b$N$G$"$k$H$-$K!"\e(B
+    ETag (\e$B%(%s%F%#%F%#%?%0\e(B) \e$B1~Ez%X%C%@%U%#!<%k%I$r:n@.$9$k$H$-$K;HMQ$9$k\e(B
+    \e$B%U%!%$%k$NB0@-$r@_Dj$7$^$9!#\e(B (ETag \e$B$NCM$O%M%C%H%o!<%/$NBS0h$r@aLs$9$k$?$a$N\e(B
+    \e$B%-%c%C%7%e$N4IM}$G;H$o$l$^$9!#\e(B) Apache 1.3.22 \e$B0JA0$G$O!"\e(BETag \e$B$NCM$O\e(B
+    <i>\e$B>o$K\e(B</i>\e$B%U%!%$%k$N\e(B inode, \e$B%5%$%:!":G=*=$@5;~9o\e(B (mtime) \e$B$+$i:n@.\e(B
+    \e$B$5$l$F$$$^$7$?!#\e(BFileETag \e$B%G%#%l%/%F%#%V$K$h$j!"$3$l$i$N$I$l$r;H$&$+$r\e(B
+    \e$BA*$V$3$H$,$G$-$^$9!#G'<1$5$l$k%-!<%o!<%I$O\e(B:
+    </p>
+    <dl compact="compact">
+     <dt><b>INode</b></dt>
+     <dd>\e$B%U%!%$%k$N\e(B inode \e$BHV9f$r7W;;$K;H$$$^$9\e(B</dd>
+     <dt><b>MTime</b></dt>
+     <dd>\e$B%U%!%$%k$N:G=*=$@5;~9o$r;H$$$^$9\e(B</dd>
+     <dt><b>Size</b></dt>
+     <dd>\e$B%U%!%$%k$NCf?H$N%P%$%H?t$r;H$$$^$9\e(B</dd>
+     <dt><b>All</b></dt>
+     <dd>\e$B;HMQ2DG=$J$9$Y$F$N%U%#!<%k%I$r;H$$$^$9\e(B
+     ('<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>' \e$B$HEy2A$G$9\e(B)</dd>
+     <dt><b>None</b></dt>
+     <dd>\e$B%I%-%e%a%s%H$,%U%!%$%k$K4p$E$$$?$b$N$G$b!"\e(BETag \e$B%U%#!<%k%I$r\e(B
+    \e$B1~Ez$KIU2C$7$^$;$s\e(B</dd>
+    </dl>
+    <p>
+    INode, MTime, Size \e$B%-!<%o!<%I$K$O\e(B '+' \e$B$d\e(B '-' \e$B$rA0$KIU$1$F\e(B
+    \e$B;XDj$9$k$3$H$b$G$-$^$9!#$3$N>l9g$O!"$h$j9-$$HO0O$+$i7Q>5$5$l$?\e(B
+    \e$B%G%U%)%k%H$N@_Dj$KJQ99$r2C$($k$h$&$K$J$j$^$9!#$=$N$h$&$J@\F,<-$N\e(B
+    \e$BL5$$%-!<%o!<%I$r;XDj$9$k$H!"B(:B$K7Q>5$7$?@_Dj$rL58z$K$7$^$9!#\e(B</p>
+    <p>
+    \e$B$"$k%G%#%l%/%H%j$N@_Dj$K\e(B
+    '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>' \e$B$,$"$j!"\e(B
+    \e$B%5%V%G%#%l%/%H%j$N@_Dj$K\e(B '<code>FileETag&nbsp;-INode</code>' \e$B$,$"$k$H$-$O!"\e(B
+    \e$B$=$N%5%V%G%#%l%/%H%j$N@_Dj$O\e(B (\e$B@_Dj$,>e=q$-$5$l$J$1$l$P%5%V%G%#%l%/%H%j$N\e(B
+    \e$B%5%V%G%#%l%/%H%j$K$b7Q>5$5$l$^$9\e(B) '<code>FileETag&nbsp;MTime&nbsp;Size</code>'
+    \e$B$HF1$8$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="files" name="files">&lt;Files&gt; \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;Files
+    <em>filename</em>&gt; ... &lt;/Files&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>&lt;Files&gt; \e$B%G%#%l%/%F%#%V$O!"%U%!%$%kL>$K$h$k%"%/%;%9@)8f$r9T$&$b$N$G!"\e(B<a
+    href="#directory">&lt;Directory&gt;</a> \e$B%G%#%l%/%F%#%V$d\e(B <a
+    href="#location">&lt;Location&gt;</a> \e$B%G%#%l%/%F%#%V$HF1$8$h$&$J5!G=$r;}$A$^$9!#\e(B
+    \e$B$3$l$O!"\e(B&lt;/Files&gt; \e$B%G%#%l%/%F%#%V$HBP$K$J$C$F$$$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B$3$N%;%/%7%g%sCf$N%G%#%l%/%F%#%V$O!"%Y!<%9L>\e(B (\e$B%U%!%$%kL>$N:G8e$NItJ,\e(B)
+    \e$B$,;XDj$5$l$?%U%!%$%kL>$K%^%C%A$9$k$9$Y$F$N%*%V%8%'%/%H$KE,MQ$5$l$^$9!#\e(B
+
+    <code>&lt;Files&gt;</code> \e$B%;%/%7%g%s$O\e(B &lt;Directory&gt;
+    \e$B%;%/%7%g%s$H\e(B <code>.htaccess</code> \e$B$,FI$_9~$^$l$?8e!"\e(B
+    &lt;Location&gt;
+    \e$B%;%/%7%g%s$h$j$O@h$K@_Dj%U%!%$%k$K8=$l$?=g$KE,MQ$5$l$^$9!#\e(B
+    &lt;Files&gt; \e$B$O!"\e(B&lt;Directory&gt;
+    \e$B%;%/%7%g%sFb$K%M%9%H$5$;$k$3$H$,$G$-!"\e(B
+    \e$B%U%!%$%k%7%9%F%`$N0lIt$K$N$_8BDj$7$FE,MQ$5$;$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><em>filename</em>
+    \e$B0z?t$O!"%U%!%$%kL>$+%o%$%k%I%+!<%IJ8;zNs$G!"%o%$%k%I%+!<%I$G$O\e(B
+    `?' \e$B$O0l$D$NJ8;z!"\e(B`*' \e$B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#\e(B<code>~</code>
+    \e$B$H$$$&J8;z$rIU2C$9$k$3$H$G3HD%@55,I=8=$r;H$&$3$H$b$G$-$^$9!#\e(B
+    \e$BNc$($P!"\e(B</p>
+<pre>
+   &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
+</pre>
+    \e$B$H$9$k$3$H$K$h$j!"0lHLE*$J%$%s%?!<%M%C%H$N2hA|%U%)!<%^%C%H$K%^%C%A$7$^$9!#\e(B
+    \e$B$?$@$7!"\e(BApache 1.3 \e$B0J9_$N>l9g$K$O!"\e(B
+    <a href="#filesmatch">&lt;FilesMatch&gt;</a> \e$B$r;H$&J}$,?d>)$5$l$F$$$^$9!#\e(B
+
+    <p>\e$B$A$J$_$K!"\e(B<a
+    href="#directory"><code>&lt;Directory&gt;</code></a> \e$B5Z$S\e(B <a
+    href="#location"><code>&lt;Location&gt;</code></a> \e$B%;%/%7%g%s$H$O0[$J$j!"\e(B
+    <code>&lt;Files&gt;</code>
+    \e$B$O\e(B .htaccess \e$B%U%!%$%kFb$GMxMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$l$K$h$j!"%f!<%6$,%U%!%$%kKh$K%"%/%;%9$N@)8f$r9T$J$&$3$H$,$G$-$k$h$&$K\e(B
+    \e$B$J$C$F$$$^$9!#\e(B
+    \e$BNc$($P!"%G%#%l%/%H%jFb$K$"$k0l$D$N%U%!%$%k$KBP$7$F%Q%9%o!<%I$K$h$kJ]8n$r9T$J$&$K$O!"\e(B
+    <code>.htaccess</code> \e$B$K0J2<$N$h$&$J@_Dj$rDI2C$9$l$PNI$$$G$7$g$&!#\e(B</p>
+
+    <pre>
+    &lt;Files admin.cgi&gt;
+    Require group admin
+    &lt;/Files&gt;</pre>
+
+    <p>\e$B$J$*!"$3$N%G%#%l%/%F%#%V$O%5%V%G%#%l%/%H%j$K$bE,MQ$5$l!"\e(B
+    \e$B>e$NNc$N>l9g$K$O!"FC$K@_Dj$,>e=q$-$5$l$J$$8B$j!"\e(B
+    \e$B%5%V%G%#%l%/%H%jCf$N\e(B <code>admin.cgi</code>
+    \e$B$H$$$&%U%!%$%k$K$bJ]8n$,$+$+$k$H$$$&$3$H$rK:$l$J$$$G$/$@$5$$!#\e(B</p>
+
+    <p>(<code>Require</code> \e$B%G%#%l%/%F%#%V$N;H$$J}$K$D$$$F$O!"\e(B<a
+     href="#require">Require</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B)</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: 
+    \e$B%j%/%(%9%H$r<u$1$?:]$K!"0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F\e(B
+    \e$BAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B <a href="../sections.html">
+    Directory, Location, Files \e$B%;%/%7%g%s$NF0:nJ}K!\e(B</a></p>
+    <hr />
+
+    <h2><a id="filesmatch"
+    name="filesmatch">&lt;FilesMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;FilesMatch
+    <em>regex</em>&gt; ... &lt;/FilesMatch&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>&lt;FilesMatch&gt; \e$B%G%#%l%/%F%#%V$O!"\e(B<a href="#files">&lt;Files&gt;</a>
+    \e$B%G%#%l%/%F%#%VF1MM$K%U%!%$%kL>$K$h$k%"%/%;%9@)8f$N5!G=$rDs6!$7$^$9!#$?$@$7!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$K$O@55,I=8=$r;XDj$7$^$9!#\e(B
+    \e$BNc$($P\e(B:</p>
+<pre>
+   &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
+</pre>
+
+    <p>\e$B$O0lHLE*$J%$%s%?!<%M%C%H$N2hA|7A<0$K%^%C%A$7$^$9!#\e(B</p>
+    <p><strong>\e$B;2>H\e(B</strong>: 
+    \e$B%j%/%(%9%H$r<u$1$?:]$K!"0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F\e(B
+    \e$BAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B <a href="../sections.html">
+    Directory, Location, Files \e$B%;%/%7%g%s$NF0:nJ}K!\e(B</a></p>
+    <hr />
+
+    <h2><a id="group" name="group">Group \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Group
+    <em>unix-group</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>Group
+    #-1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>Group
+    \e$B%G%#%l%/%F%#%V$O!"%5!<%P$,%j%/%(%9%H$K1~Ez$9$k:]$N%0%k!<%W$r@_Dj$7$^$9!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$r;H$&$?$a$K$O!"%9%?%s%I%"%m!<%s%5!<%P$r\e(B root
+    \e$B$G5/F0$7$J$1$l$P$J$j$^$;$s!#\e(B
+    <em>Unix-group</em> \e$B$O!"0J2<$N$I$A$i$+$r$H$j$^$9!#\e(B</p>
+
+    <dl>
+      <dt>\e$B%0%k!<%WL>\e(B</dt>
+
+      <dd>\e$BL>A0$G%0%k!<%W$r;XDj$7$^$9!#\e(B</dd>
+
+      <dt># \e$B$r@hF,$K%0%k!<%W\e(B ID</dt>
+
+      <dd>\e$B?t;z$G%0%k!<%W$r;XDj$7$^$9!#\e(B</dd>
+    </dl>
+    <p>\e$B%5!<%P$r<B9T$9$k$?$a$K?7$7$$%0%k!<%W$r:n@.$9$k$3$H$,?d>)$5$l$F$$$^$9!#\e(B
+    <code>nobody</code> \e$B$H;XDj$9$k4IM}<T$b$$$^$9$,!"$=$N%f!<%6$OMxMQ2DG=$G$J$$\e(B
+    \e$B>l9g$b$"$j$^$9$7!"K>$^$7$/$b$"$j$^$;$s!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <code>Group www-group</code>
+
+    <p>\e$BCm0UE@\e(B: root \e$B%f!<%60J30$G%5!<%P$r5/F0$5$l$?>l9g!"\e(B
+    \e$B;XDj$7$?%0%k!<%W$X0\$k$3$H$,$G$-$:!"$=$N$^$^$N%f!<%6$G<B9T$5$l$^$9!#\e(B</p>
+
+    <p>\e$BFC$KCm0U$9$Y$-E@\e(B: &lt;VirtualHost&gt;
+    \e$BFb$G$3$N%G%#%l%/%F%#%V$r;HMQ$9$k$?$a$K$O!"\e(B<a href="../suexec.html">suEXEC
+    \e$B%i%C%Q!<\e(B</a>\e$B$,@_Dj$5$l$F$$$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B$3$N>l9g!"\e(BCGI \e$B$r<B9T$9$k$H$-$K$N$_!";XDj$7$?%0%k!<%W$,MxMQ$5$l$^$9!#\e(B
+    CGI \e$B0J30$N>l9g$K$O!"%a%$%s@_Dj$K$*$1$k\e(B Group
+    \e$B%G%#%l%/%F%#%V$G;XDj$5$l$?%0%k!<%W$G=hM}$5$l$^$9!#\e(B</p>
+
+    <p>\e$B%;%-%e%j%F%#\e(B: \e$B%;%-%e%j%F%#$K4X$9$k2r@b$O\e(B <a href="#user">User</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="hostnamelookups"
+    name="hostnamelookups">HostnameLookups \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> HostnameLookups
+    on|off|double<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>HostnameLookups
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    <code>double</code> \e$B$O\e(B Apache 1.3 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3 \e$B$h$jA0$O%G%U%)%k%H$,\e(B
+    <code>on</code> \e$B$K$J$C$F$$$^$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"%[%9%HL>$r%m%0<}=8$G$-$k$h$&$K\e(B DNS
+    \e$B%k%C%/%"%C%W$rM-8z$K$7$^$9\e(B (\e$B$5$i$K!"\e(BCGI/SSI \e$B$K\e(B
+    <code>REMOTE_HOST</code> \e$BJQ?t$H$7$FEO$7$^$9\e(B)\e$B!#\e(B<code>double</code>
+    \e$B$r;XDj$7$?>l9g!"Fs=E$N5U0z$-$r9T$$$^$9!#$D$^$j!"5U0z$-$N8e$K!"\e(B
+    \e$B$=$N7k2L$KBP$7$F@50z$-$r9T$$$^$9!#@50z$-$N7k2L$N\e(B IP
+    \e$B%"%I%l%9$NCf$K%*%j%8%J%k$N%"%I%l%9$H0lCW$9$k$b$N$,$J$1$l$P$J$j$^$;$s\e(B
+    ("tcpwrappers" \e$B$NMQ8l$G$O\e(B PARANOID \e$B$H8F$P$l$F$$$^$9\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B$A$J$_$K!"\e(B<a href="mod_access.html">mod_access</a>
+    \e$B$G%[%9%HL>$K$h$k%"%/%;%9@)8f$r9T$&>l9g$K$O!"@_Dj$NG!2?$K$h$i$:\e(B
+    \e$BFs=E$N5U0z$-$,<B9T$5$l$^$9!#\e(B
+    \e$B$3$l$O!"%;%-%e%j%F%#$rJ]$D$?$a$KI,MW$G$9!#\e(B
+    <code>HostnameLookups double</code> \e$B$r@_Dj$7$J$$8B$j!"\e(B
+    \e$BB>$NItJ,$O$3$NFs=E5U0z$-$N7k2L$r;H$&$3$H$O$G$-$^$;$s!#Nc$($P!"\e(B
+    <code>HostnameLookups on</code> \e$B$H@_Dj$7$F$"$k>uBV$G!"\e(B
+    \e$B%[%9%HL>$K$h$k%"%/%;%9@)8B$r9T$C$?%*%V%8%'%/%H$X$N\e(B
+    \e$B%j%/%(%9%H$r<u$1$?$H$9$k$H!"Fs=E$N5U0z$-$,@.8y$9$k$+H]$+$K$h$i$:!"\e(B
+    <code>REMOTE_HOST</code> \e$B$K$ODL>o$N5U0z$-7k2L$,EO$5$l$^$9!#\e(B</p>
+
+    <p>Apache 1.3 \e$B$h$jA0$N%P!<%8%g%s$G$O!"$3$N%G%#%l%/%F%#%V$N%G%U%)%k%H$O\e(B
+    <code>on</code> \e$B$G$7$?$,!"\e(B
+    \e$BK\Ev$K5U0z$-$rI,MW$H$7$F$$$k$o$1$G$O$J$$%5%$%H$N\e(B
+    \e$B%M%C%H%o!<%/%H%i%U%#%C%/$rDc8:$5$;$k$?$a$K!"\e(B<code>off</code>
+    \e$B$KJQ99$5$l$^$7$?!#%k%C%/%"%C%W$K$h$kM>7W$JCY1d$,$J$/$J$k$?$a!"\e(B
+    \e$B%(%s%I%f!<%6$K$H$C$F$bNI$$$G$7$g$&!#\e(B
+    DNS \e$B$N%k%C%/%"%C%W$K$O!"$+$J$j$N;~4V$,I,MW$H$J$k>l9g$,B?$/!"\e(B
+    \e$BIi2Y$N9b$$%5%$%H$G$O$3$N%G%#%l%/%F%#%V$O\e(B <code>off</code>
+    \e$B$K$9$Y$-$G$9!#$J$*!"\e(B<em>/support</em> \e$B%G%#%l%/%H%j$K4^$^$l$k\e(B
+    <a href="../programs/logresolve.html">logresolve</a>
+    \e$B%f!<%F%#%j%F%#$K$h$j!"\e(BApache \e$B$NF0:n$H$OJL$K!"%m%0$K;D$5$l$F$$$k\e(B
+    IP \e$B%"%I%l%9$+$i%[%9%HL>$r%k%C%/%"%C%W$9$k$3$H$,2DG=$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="identitycheck" name="identitycheck">IdentityCheck
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> IdentityCheck
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>IdentityCheck
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"%/%i%$%"%s%H%^%7%s>e$G\e(B
+    identd \e$B$d$=$l$KN`;w$7$?%G!<%b%s$,F0:n$7$F$$$k$H$-$K!"\e(B
+    \e$B$=$l$>$l$N@\B3$KBP$7$F\e(B RFC 1413
+    \e$B$K=`=h$7$?%j%b!<%H%f!<%6$NL>A0$N%m%.%s%0$r9T$J$&$h$&$K$7$^$9!#\e(B
+    \e$B$3$N>pJs$O!"%"%/%;%9%m%0$K<}=8$5$l$^$9!#\e(B</p>
+
+    <p>\e$B$3$3$GF@$i$l$?>pJs$O4JC1$J%f!<%6DI@W$K;H$&0J30$O!"\e(B
+    \e$BA4$/?.Mj$9$k$Y$-$G$O$"$j$^$;$s!#\e(B</p>
+
+    <p>\e$B$9$Y$F$N%j%/%(%9%H$KBP$7$F%k%C%/%"%C%W$,9T$J$o$l$^$9$N$G!"\e(B
+    \e$B?<9o$JCY1d$NLdBj$r5/$3$9$+$b$7$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    (\e$BLuCm\e(B: \e$BNc$($P%/%i%$%"%s%HB&$K\e(B) \e$B%U%!%$%"%&%)!<%k$,$"$k$H!"\e(B
+    \e$B%k%C%/%"%C%W$,<:GT$7!"3F%j%/%(%9%H$K\e(B 30
+    \e$BIC$NCY1d$,2C$o$k$3$H$K$J$k2DG=@-$,$"$j$^$9!#\e(B
+    \e$B=>$C$F!"0lHLE*$K$O%$%s%?!<%M%C%H$+$i%"%/%;%92DG=$J%Q%V%j%C%/$J%5!<%P$G\e(B
+    \e$BM-1W$J$b$N$G$O$"$j$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="ifdefine" name="ifdefine">&lt;IfDefine&gt;
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;IfDefine
+    [!]<em>parameter-name</em>&gt; <em>...</em>
+    &lt;/IfDefine&gt;<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B$9$Y$F\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> &lt;IfDefine&gt;
+    \e$B$O\e(B Apache 1.3.1 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>&lt;IfDefine <em>test</em>&gt;...&lt;/IfDefine&gt;
+    \e$B%;%/%7%g%s$O!"%G%#%l%/%F%#%V$r>r7oIU$-$G;XDj$9$k$?$a$KMxMQ$7$^$9!#\e(B
+    IfDefine \e$B%;%/%7%g%s$K4^$^$l$k%G%#%l%/%F%#%V$O!"\e(B<em>test</em>
+    \e$B$,Dj5A$5$l$F$$$k$H$-$N$_=hM}$5$l$^$9!#$b$7!"\e(B<em>test</em>
+    \e$B$,Dj5A$5$l$F$$$J$1$l$P!"\e(B
+    \e$B3+;O$H=*N;$N;XDj$N4V$N%G%#%l%/%F%#%V$OL5;k$5$l$^$9!#\e(B</p>
+
+    <p>&lt;IfDefine&gt; \e$B%;%/%7%g%s%G%#%l%/%F%#%V$K;XDj$9$k\e(B
+    <em>test</em> \e$B$O!"<!$NFs$D$N7A<0$N$&$A$N0l$D$r$H$j$^$9!#\e(B</p>
+
+    <ul>
+      <li><em>parameter-name</em></li>
+
+      <li><code>!</code><em>parameter-name</em></li>
+    </ul>
+
+    <p>\e$BA0<T$N%1!<%9$G$O!"$b$7\e(B <em>parameter-name</em>
+    \e$B$HL>IU$1$i$l$?%Q%i%a!<%?$,Dj5A$5$l$F$$$l$P!"\e(B
+    \e$B3+;O$H=*N;$N4V$N%G%#%l%/%F%#%V$,=hM}$5$l$^$9!#8e<T$N>l9g$O5U$G!"\e(B
+    <em>parameter-name</em>
+    \e$B$,;XDj$5$l$F\e(B<strong>\e$B$$$J$$\e(B</strong>\e$B>l9g$K=hM}$5$l$^$9!#\e(B</p>
+
+    <p><em>parameter-name</em> \e$B0z?t$O!"%5!<%P$r5/F0$9$k:]$K\e(B
+    <code>httpd</code> \e$B$N%3%^%s%I%i%$%s$K\e(B
+    <code>-D</code><em>parameter-</em> \e$B$H$$$&7A$G;XDj$9$k$HDj5A$5$l$^$9!#\e(B </p>
+
+    <p>&lt;IfDefine&gt; \e$B%;%/%7%g%s$OF~$l;R$K$9$k$3$H$,$G$-!"\e(B
+    \e$BJ#?t$N%Q%i%a!<%?$K$h$k%F%9%H$r$9$k$?$a$K;HMQ$G$-$^$9!#\e(B
+    \e$BNc\e(B:</p>
+<pre>
+  $ httpd -DReverseProxy ...
+
+  # httpd.conf
+  &lt;IfDefine ReverseProxy&gt;
+  LoadModule rewrite_module libexec/mod_rewrite.so
+  LoadModule proxy_module   libexec/libproxy.so
+  &lt;/IfDefine&gt;
+</pre>
+    <hr />
+
+    <h2><a id="ifmodule" name="ifmodule">&lt;IfModule&gt;
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;IfModule
+    [!]<em>module-name</em>&gt; <em>...</em>
+    &lt;/IfModule&gt;<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B$9$Y$F\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> IfModule \e$B$O\e(B Apache 1.2
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>&lt;IfModule <em>test</em>&gt;...&lt;/IfModule&gt;
+    \e$B%;%/%7%g%s$O!"%G%#%l%/%F%#%V$r>r7oIU$-$G;XDj$9$k$?$a$KMxMQ$7$^$9!#\e(B
+    IfModule \e$B%;%/%7%g%s$K4^$^$l$k%G%#%l%/%F%#%V$O!"\e(B<em>test</em>
+    \e$B$G;XDj$9$k%b%8%e!<%k$,AH$_9~$^$l$F$$$k$H$-$N$_=hM}$5$l$^$9!#$b$7\e(B
+    <em>test</em> \e$B$,AH$_9~$^$l$F$$$J$1$l$P!"3+;O$H=*N;$N4V$N%G%#%l%/%F%#%V\e(B
+    \e$B$OL5;k$5$l$^$9!#\e(B</p>
+
+    <p>&lt;IfModule&gt; \e$B%;%/%7%g%s%G%#%l%/%F%#%V$K;XDj$9$k\e(B
+    <em>test</em> \e$B$O!"<!$NFs$D$N7A<0$N$&$A$N0l$D$r$H$j$^$9!#\e(B</p>
+
+    <ul>
+      <li><em>module name</em></li>
+
+      <li>!<em>module name</em></li>
+    </ul>
+
+    <p>\e$BA0<T$N%1!<%9$G$O!"$b$7\e(B <em>module name</em>
+    \e$B$HL>IU$1$i$l$?%b%8%e!<%k$,\e(B Apache \e$B$KAH$_9~$^$l$F$$$l$P\e(B
+    (\e$B%3%s%Q%$%k:Q$_$N$b$N$H!"\e(B<a
+    href="mod_so.html#loadmodule">LoadModule</a>
+    \e$B$rMxMQ$7$FF0E*$KFI$_9~$s$@$b$N$NN>J}\e(B)\e$B!"\e(B
+    \e$B3+;O$H=*N;$N4V$N%G%#%l%/%F%#%V$,=hM}$5$l$^$9!#8e<T$N>l9g$O5U$G!"\e(B
+    <em>module name</em>
+    \e$B$,AH$_9~$^$l$F\e(B<strong>\e$B$$$J$$\e(B</strong>\e$B>l9g$K=hM}$5$l$^$9!#\e(B</p>
+
+    <p><em>module name</em>
+    \e$B0z?t$O!"%3%s%Q%$%k$r$7$?;~$N%b%8%e!<%k$N%U%!%$%kL>$G!"Nc$($P\e(B
+    <code>mod_rewrite.c</code> \e$B$H$$$C$?7A$K$J$j$^$9!#\e(B</p>
+
+    <p>&lt;IfModule&gt; \e$B%;%/%7%g%s$OF~$l;R$K$9$k$3$H$,2DG=$G$"$j!"\e(B
+    \e$BJ#?t$N%b%8%e!<%k$N%F%9%H$r9T$J$&$?$a$K;HMQ$G$-$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="include" name="include">Include \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <strong>\e$B9=J8\e(B:</strong> Include
+    <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Include \e$B$O\e(B Apache 1.3
+    \e$B0J9_$GMxMQ2DG=$G$9!#%o%$%k%I%+!<%I$O%P!<%8%g%s\e(B 1.3.27
+    \e$B$GF3F~$5$l$^$7$?!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$K$h$j!"%5!<%P$N@_Dj%U%!%$%k$+$i\e(B
+    \e$BB>$N@_Dj%U%!%$%k$r%$%s%/%k!<%I$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><em>file-path</em> \e$B$O!"\e(B(\e$B%9%i%C%7%e$+$i;O$^$k\e(B) \e$B%U%k%Q%9$+!"\e(B
+    <code>ServerRoot</code> \e$B$+$i$NAjBP%Q%9$G;XDj$7$^$9!#\e(B</p>
+
+    <p>Apache 1.3.13 \e$B$+$i!"\e(B<code>Include</code> \e$B$K%U%!%$%k$NBe$o$j$K\e(B
+    \e$B%G%#%l%/%H%j$r;XDj$9$k$3$H$K$h$C$F!"\e(B
+    \e$B%G%#%l%/%H%j$H$=$N%5%V%G%#%l%/%H%jFb$N$9$Y$F$N%U%!%$%k$r\e(B
+    \e$BFI$_9~$s$G=hM}$G$-$k$h$&$K$J$j$^$7$?!#\e(B</p>
+    <p>\e$B%o%$%k%I%+!<%I$r;H$&$3$H$G!"$3$l$rNc$($P\e(B '*.conf'
+    \e$B%U%!%$%k$N$_$K@)8B$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+    <code>Include /usr/local/apache/conf/ssl.conf<br />
+    Include /usr/local/apache/conf/vhosts/
+    </code>
+    </blockquote>
+
+    <p><code>ServerRoot</code> \e$B$+$i$NAjBP%Q%9$N>l9g$O\e(B:</p>
+
+    <blockquote>
+    <code>Include conf/ssl.conf<br />
+    Include conf/vhosts/
+    </code>
+    </blockquote>
+
+    <p>\e$B$J$*!"%G%#%l%/%H%j$r;XDj$9$k:]$O!"%(%G%#%?$N%F%s%]%i%j%U%!%$%k$J$I!"\e(B
+    \e$BL\E*30$N%U%!%$%k$rCV$+$J$$$h$&$K$7$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B$=$N$h$&$J%U%!%$%k$,$"$k$H!"\e(BApache \e$B$O$=$l$i$+$i%G%#%l%/%F%#%V$r\e(B
+    \e$BFI$_9~$b$&$H$7$F!"5/F0$K<:GT$9$k$+$b$7$l$^$;$s!#\e(B
+    <code>apachectl configtest</code> \e$B$r<B9T$9$k$H!"@_Dj$r%A%'%C%/$7$F$$$k;~$K\e(B
+    \e$BFI$_9~$^$l$?%U%!%$%k$N%j%9%H$,I=<($5$l$^$9\e(B:</p>
+
+<pre>
+root@host# apachectl configtest
+ Processing config directory: /usr/local/apache/conf/vhosts
+ Processing config file: /usr/local/apache/conf/vhosts/vhost1
+ Processing config file: /usr/local/apache/conf/vhosts/vhost2
+Syntax OK
+</pre>
+
+    <p>\e$B$3$l$K$h$j!"@_Dj$N0lIt$H$7$F0U?^$7$?%U%!%$%k$@$1$,\e(B
+    \e$B;H$o$l$F$$$k$+$I$&$+$r3NG'$G$-$^$9!#\e(B</p>
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="../programs/apachectl.html">apachectl</a></p>
+
+    <hr />
+
+    <h2><a id="keepalive" name="keepalive">KeepAlive
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <strong>\e$B9=J8\e(B: (Apache 1.1)</strong> KeepAlive
+    <em>max-requests</em><br />
+     <strong>\e$B%G%U%)%k%H\e(B: (Apache 1.1)</strong> <code>KeepAlive
+    5</code><br />
+     <strong>\e$B9=J8\e(B: (Apache 1.2)</strong> KeepAlive on|off<br />
+     <strong>\e$B%G%U%)%k%H\e(B: (Apache 1.2)</strong> <code>KeepAlive
+    On</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> KeepAlive \e$B$O\e(B Apache 1.1 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>HTTP/1.0 \e$B$N\e(B Keep-Alive \e$B3HD%$H\e(B HTTP/1.1
+    \e$B$N;}B3E*@\B3$N5!G=$O!"J#?t$N%j%/%(%9%H$,F1$8\e(B TCP
+    \e$B$N@\B3$GAw$i$l$k!"D9;~4V;}B3$9$k\e(B HTTP
+    \e$B%;%C%7%g%s$rDs6!$7$^$9!#$?$/$5$s$N2hA|$,4^$^$l$k\e(B HTML
+    \e$B%I%-%e%a%s%H$G$O>l9g$K$h$C$F$OCY1d;~4V$,\e(B 50%
+    \e$BC;=L$5$l$k7k2L$b$G$F$$$^$9!#\e(BApache 1.2 \e$B0J9_$G\e(B Keep-Alive
+    \e$B@\B3$rM-8z$K$9$k$K$O\e(B <code>KeepAlive On</code> \e$B$H@_Dj$7$^$9!#\e(B</p>
+
+    <p>HTTP/1.0 \e$B$KBP1~$7$?%/%i%$%"%s%H$N:]$K$O!"\e(B
+    \e$B%/%i%$%"%s%H$h$jFC$KMW5a$,$"$C$?>l9g$N$_\e(B Keep-Alive \e$B@\B3$H$J$j$^$9!#\e(B
+    \e$B$5$i$K!"\e(BHTTP/1.0 \e$B%/%i%$%"%s%H$G$O!"%3%s%F%s%D$NMFNL$,@h$K\e(B
+    (\e$BLuCm\e(B: \e$BMW5a$KBP$7$F1~Ez$rJV$9A0$K\e(B) \e$B$o$+$k>l9g$N$_\e(B Keep-Alive
+    \e$B@\B3$rMxMQ$G$-$^$9!#$3$l$O!"\e(BCGI \e$B$N=PNO$d\e(B SSI \e$B$N%Z!<%8!"\e(B
+    \e$B%5!<%P$,@8@.$7$?%G%#%l%/%H%j$N%j%9%H$N$h$&$JF0E*%3%s%F%s%D$r\e(B
+    HTTP/1.0 \e$B%/%i%$%"%s%H$KAw$k>l9g$K$O\e(B Keep-Alive
+    \e$B@\B3$r;H$($J$$$3$H$r0UL#$7$^$9!#\e(BHTTP/1.1
+     \e$B$KBP1~$7$?%/%i%$%"%s%H$N:]$K$O!"\e(B
+    \e$BFC$K;XDj$5$l$J$$8B$j$O%G%U%)%k%H$H$7$F;}B3E*$J@\B3$,9T$J$o$l$^$9!#\e(B
+    \e$B%/%i%$%"%s%H$,MW5a$9$l$P!"%3%s%F%s%D$NMFNL$rH=JL$G$-$J$$$b$N$r\e(B
+    \e$B;}B3E*$J@\B3$rDL$7$FAw$k$?$a$K!"%A%c%s%/%(%s%3!<%G%#%s%0$,MQ$$$i$l$^$9!#\e(B</p>
+
+    <p><strong>Apache 1.1 \e$B$N$_\e(B</strong>:
+    Apache \e$B$,@\B3$4$H$K<uIU$G$-$kMW5a$N:GBg?t$r\e(B <em>max-requests</em>
+    \e$B$K$F;XDj$G$-$^$9!#\e(B
+    \e$B@)8B$O!"%5!<%P$N%j%=!<%9$rB?Bg$KMxMQ$9$k$h$&$J%/%i%$%"%s%H$rKI$0$?$a$K\e(B
+    \e$B9T$J$$$^$9!#\e(B
+    <code>0</code> \e$B$K@_Dj$9$k$H@)8BCM$O$J$/$J$j$^$9!#\e(B
+    Apache 1.2 \e$B5Z$S\e(B 1.3 \e$B$N>l9g$K$O!"\e(BMaxKeepAliveRequests 
+    \e$B%G%#%l%/%F%#%V$K$h$j@)8f$7$^$9!#\e(B</p>
+
+    <p>\e$B;2>H\e(B <a
+    href="#maxkeepaliverequests">MaxKeepAliveRequests</a></p>
+    <hr />
+
+    <h2><a id="keepalivetimeout"
+    name="keepalivetimeout">KeepAliveTimeout \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> KeepAliveTimeout
+    <em>seconds</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>KeepAliveTimeout
+    15</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> KeepAliveTimeout
+    \e$B$O\e(B Apache 1.1 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B@\B3$rJD$8$kA0$K!"\e(BApache \e$B$,<!$N%j%/%(%9%H$r2?ICBT$D$+$r;XDj$7$^$9!#\e(B
+    \e$B%j%/%(%9%H$r<u$1IU$1$?8e$O!"\e(B<a
+    href="#timeout"><code>Timeout</code></a> \e$B%G%#%l%/%F%#%V$K$h$C$F\e(B
+    \e$B;XDj$5$l$?%?%$%`%"%&%HCM$,;H$o$l$^$9!#\e(B</p>
+
+    <p><code>KeepAliveTimeout</code> \e$B$rBg$-$JCM$K@_Dj$9$k$H!"\e(B
+    \e$BIi2Y$N9b$$%5!<%P$K$*$$$F$O%Q%U%)!<%^%s%9$NLdBj$r0z$-5/$3$9>l9g$,$"$j$^$9!#\e(B
+    \e$B%?%$%`%"%&%H$,D9$1$l$PD9$$$[$I!"$h$jB?$/$N%5!<%P%W%m%;%9$,\e(B
+    \e$B3hH/$G$J$$%/%i%$%"%s%H$+$i$N@\B3$N=*N;$rBT$AB3$1$k$3$H$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="limit" name="limit">&lt;Limit&gt; \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;Limit
+    <em>method</em> [<em>method</em>] ... &gt; ...
+    &lt;/Limit&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> any<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B%"%/%;%9@)8f$O!"DL>o\e(B<strong>\e$B$9$Y$F$N\e(B</strong>\e$B%"%/%;%9%a%=%C%I$KBP$7$F\e(B
+    \e$B1F6A$7!"IaDL$O$3$l$,K>$^$7$$5sF0$G$9!#\e(B
+    <strong>\e$B$=$&$7$?$3$H$+$i!"BgItJ,$N>l9g$K$O%"%/%;%9@)8f$K4X$o$k%G%#%l%/%F%#%V$r\e(B
+    <code>&lt;limit&gt;</code> \e$B%;%/%7%g%sFb$K=q$/$Y$-$G$O$"$j$^$;$s!#\e(B </strong></p>
+
+    <p>&lt;Limit&gt;
+    \e$B%G%#%l%/%F%#%V$NL\E*$O!"%"%/%;%9@)8f$NHO0O$r;XDj$5$l$?\e(B HTTP
+    \e$B%a%=%C%I$K8BDj$9$k$?$a$G$9!#$=$l0J30$N%a%=%C%I$O!"\e(B&lt;Limit&gt;
+    \e$B$G0O$o$l$?%"%/%;%9@)8f$N\e(B<strong>\e$B1F6A$r<u$1$^$;$s\e(B</strong>\e$B!#\e(B
+    \e$B0J2<$NNc$O!"\e(BPOST, PUT, DELETE
+    \e$B$N%a%=%C%I$KBP$7$F$N$_%"%/%;%9$N@)8f$r9T$$!"\e(B
+    \e$B$=$l0J30$N%a%=%C%I$K$D$$$F$O@)8B$7$^$;$s\e(B:</p>
+
+    <blockquote>
+      <code>&lt;Limit POST PUT DELETE&gt;<br />
+       Require valid-user<br />
+       &lt;/Limit&gt;</code>
+    </blockquote>
+    <p>\e$B%a%=%C%I$NL>A0$K$O!"\e(BGET, POST, PUT, DELETE, CONNECT, OPTIONS,
+    PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
+    \e$B$NCf$+$i!"0l$D0J>e$rNs5s$9$k$3$H$,$G$-$^$9!#\e(B
+    <strong>\e$B%a%=%C%I$NL>A0$O!"BgJ8;z>.J8;z$r6hJL$7$^$9!#\e(B</strong>
+    \e$B$^$?!"\e(BGET \e$B$r;XDj$9$k$H\e(B HEAD \e$B$K4X$7$F$b@)8B$,$+$+$j$^$9!#\e(B
+    TRACE \e$B%a%=%C%I$r@)8B$9$k$3$H$O$G$-$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B7Y9p\e(B:</strong> \e$B%"%/%;%9@)8B$r9T$J$&$H$-$O\e(B <a
+    href="#limit">&lt;Limit&gt;</a> \e$B$h$j$b\e(B <a
+    href="#limitexcept">&lt;LimitExcept&gt;</a> \e$B%;%/%7%g%s$r\e(B
+    \e$B;H$&$h$&$K$7$F$/$@$5$$!#\e(B<a href="#limitexcept">&lt;LimitExcept&gt;</a>
+    \e$B%;%/%7%g%s$OG$0U$N%a%=%C%I$KBP$9$kJ]8n$O9T$J$$$^$;$s$N$G!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="limitexcept" name="limitexcept">&lt;LimitExcept&gt;
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;LimitExcept
+    <em>method</em> [<em>method</em>] ... &gt; ...
+    &lt;/LimitExcept&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> any<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3.5 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>&lt;LimitExcept&gt; \e$B$H\e(B &lt;/LimitExcept&gt;
+    \e$B$O!"0z?t$K\e(B<strong>\e$B4^$^$l$F$$$J$$\e(B</strong> HTTP
+    \e$B$N%"%/%;%9%a%=%C%I$KE,MQ$9$k$?$a$N%"%/%;%9@)8f\e(B
+    \e$B%G%#%l%/%F%#%V$r0O$`$?$a$KMxMQ$7$^$9!#\e(B<em>\e$B$D$^$j\e(B</em>\e$B!"\e(B<a
+    href="#limit">&lt;Limit&gt;</a> \e$B%;%/%7%g%s$NH?BP$NF0:n$r$7!"\e(B
+    \e$BI8=`$N%a%=%C%I$HI8=`30$dL$G'<1$N%a%=%C%I$N>l9g$NN>J}$r@_Dj$G$-$^$9!#\e(B
+    <a href="#limit">&lt;Limit&gt;</a>
+    \e$B$N%I%-%e%a%s%H$bJ;$;$F;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <pre>
+    &lt;LimitExcept POST GET&gt;
+    Require valid-user
+    &lt;/LimitExcept&gt;
+    </pre>
+
+    <hr />
+
+    <h2><a id="limitinternalrecursion"
+    name="limitinternalrecursion">LimitInternalRecursion directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LimitInternalRecursion
+    <em>number</em> [<em>number</em>]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>LimitInternalRecursion
+    20</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> LimitInternalRecursion
+    is \e$B$O\e(B Apache 1.3.28 \e$B0J9_$G$N$_;HMQ2DG=$G$9!#\e(B
+
+    <p>\e$BFbIt%j%@%$%l%/%H$O!"Nc$($P!"%*%j%8%J%k$N%j%/%(%9%H$r\e(B
+    CGI \e$B%9%/%j%W%H$KFbIt%j%@%$%l%/%H$9$k\e(B <a
+    href="mod_actions.html#action">Action</a>
+    \e$B%G%#%l%/%F%#%V$r;H$C$?>l9g$KH/@8$7$^$9!#\e(B
+    \e$B%5%V%j%/%(%9%H$O$"$k\e(B URI
+    \e$B$,%j%/%(%9%H$5$l$?>l9g$K2?$,5/$-$k$N$+$rFM$-;_$a$k$?$a$N\e(B Apache
+    \e$B$NJ}K!$G$9!#Nc$($P!"\e(B<a href="mod_dir.html">mod_dir</a>
+    \e$B$O\e(B <a
+    href="mod_dir.html#directoryindex">DirectoryIndex</a>
+    \e$B$K5s$2$i$l$F$$$k%U%!%$%k$rC5$9$?$a$K%5%V%j%/%(%9%H$r;H$$$^$9!#\e(B</p>
+
+    <p><code>LimitInternalRecursion</code> \e$B$OFbIt%j%@%$%l%/%H$d\e(B
+    \e$B%5%V%j%/%(%9%H$,L58B%k!<%W$K4Y$C$?>l9g$K\e(B
+    \e$B%5!<%P$,%/%i%C%7%e$9$k$N$rKI$.$^$9!#\e(B
+    \e$B$3$N$h$&$J%k!<%W$ODL>o!"@_Dj%_%9$,860x$G5/$3$j$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$OFs$D$N0[$J$k@)8BCM$rJ]B8$7$^$9!#$=$l$>$l$NCM$O!"\e(B
+    \e$B%j%/%(%9%HC10L$GI>2A$5$l$^$9!#:G=i$N\e(B <em>number</em> \e$B$O8e$KB3$/$3$H$N$G$-$k\e(B
+    \e$BFbIt%j%@%$%l%/%H$N>e8B$r@_Dj$7$^$9!#Fs$D$a$N\e(B <em>number</em> \e$B$O\e(B
+    \e$B%5%V%j%/%(%9%H$NF~$l;R9=B$$N?<$5$r@_Dj$7$^$9!#\e(B<em>Number</em> \e$B$r\e(B
+    \e$B0l$D$@$1;XDj$7$?>l9g$O!"$=$NCM$,N>J}$N@)8BCM$K;HMQ$5$l$^$9!#\e(B
+    \e$BCM\e(B <code>0</code> \e$B$O!VL5@)8B!W$r0UL#$7$^$9!#\e(B</p>
+
+    <p><strong>\e$BNc\e(B</strong></p>
+    <pre>
+    LimitInternalRecursion 5
+    </pre>
+
+    <hr />
+    <h2><a id="limitrequestbody"
+    name="limitrequestbody">LimitRequestBody \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LimitRequestBody
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>LimitRequestBody
+    0</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> LimitRequestBody
+    \e$B$O\e(B Apache 1.3.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"%j%/%(%9%H%\%G%#$K$*$$$F5v$5$l$k\e(B 0
+    (\e$BL5@)8B$r0UL#$7$^$9\e(B) \e$B$+$i\e(B 2147483647 (2GB)
+    \e$B$^$G$N%P%$%H?t!"\e(B<em>bytes</em> \e$B$r;XDj$7$^$9!#\e(B</p>
+
+    <p>LimitRequestBody \e$B%G%#%l%/%F%#%V$O!";XDj$5$l$?%3%s%F%-%9%H\e(B
+    (\e$B%5!<%PA4BN!"%G%#%l%/%H%j!"%U%!%$%k!"%m%1!<%7%g%s\e(B) \e$BFb$K$*$$$F\e(B
+    HTTP \e$B%j%/%(%9%H%a%C%;!<%8%\%G%#$N5vMF$5$l$k%5%$%:$K@)8B$r$+$1$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%/%i%$%"%s%H$N%j%/%(%9%H$,$=$N@)8BCM$rD6$($F$$$l$P!"\e(B
+    \e$B%5!<%P$O%j%/%(%9%H$r=hM}$;$:$K%(%i!<$rJV$7$^$9!#\e(B
+    \e$BDL>o$N%j%/%(%9%H%a%C%;!<%8%\%G%#$N%5%$%:$O!"%j%=!<%9$N<oN`$d\e(B
+    \e$B5v2D$5$l$F$$$k%a%=%C%I$K$h$C$FBg$-$/JQ$o$j$^$9!#\e(B
+    CGI \e$B%9%/%j%W%H$O!"$h$/%5!<%P$X%U%)!<%`>pJs$rAw?.$9$k$?$a$K\e(B
+    \e$B%a%C%;!<%8%\%G%#$r;H$$$^$9!#\e(B
+    PUT \e$B%a%=%C%I$N<BAu$O!"$3$N%G%#%l%/%F%#%V$NCM$H$7$F\e(B
+    \e$B>/$J$/$H$b$"$k%j%=!<%9$KBP$7$F%5!<%P$,<u$1IU$1$h$&$H$9$k\e(B
+    \e$BI=8=$NBg$-$5$[$I$NCM$rI,MW$H$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"\e(B
+    \e$B2?$i$+$N7A$N%5!<%S%95qH]967b\e(B (\e$BLuCm\e(B:DoS) \e$B$rHr$1$k$N$KM-8z$G$9!#\e(B</p>
+
+    <p>\e$B$"$k>l=j$X$N%U%!%$%k%"%C%W%m!<%I$r5v2D$9$k$H$7$?>l9g$K!"\e(B
+    \e$B%"%C%W%m!<%I$G$-$k%U%!%$%k$N%5%$%:$r\e(B 100K \e$B$K@)8B$7$?$1$l$P!"\e(B
+    \e$B0J2<$N$h$&$K;XDj$9$l$P$h$$$G$7$g$&!#\e(B</p>
+
+    <pre>LimitRequestBody 102400</pre>
+    
+    <hr />
+
+    <h2><a id="limitrequestfields"
+    name="limitrequestfields">LimitRequestFields \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LimitRequestFields
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>LimitRequestFields 100</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    LimitRequestFields \e$B$O\e(BApache 1.3.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p><em>number</em>\e$B$K$O!"\e(B0 (\e$BL5@)8B$r0UL#$7$^$9\e(B) \e$B$+$i\e(B 32767
+    \e$B$^$G$N?tCM$r;XDj$7$^$9!#\e(B
+    \e$B%G%U%)%k%HCM$O!"Dj?t\e(B <code>DEFAULT_LIMIT_REQUEST_FIELDS</code>
+    \e$B$K$h$j%3%s%Q%$%k;~$KDj5A$5$l$^$9\e(B (\e$BG[I[;~$K$O\e(B 100 \e$B$H;XDj$5$l$F$$$^$9\e(B)\e$B!#\e(B</p>
+
+    <p>LimitRequestBody \e$B%G%#%l%/%F%#%V$O!"%5!<%P4IM}<T$,\e(B HTTP
+    \e$B%j%/%(%9%HCf$K$*$$$F5v2D$9$k%j%/%(%9%H%X%C%@%U%#!<%k%I?t$r;XDj$7$^$9!#\e(B
+    \e$B%5!<%P$O$3$NCM$K$ODL>o$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$K4^$^$l$k$G$"$m$&\e(B
+    \e$B%U%#!<%k%I$N?t$h$jBg$-$JCM$rI,MW$H$7$^$9!#\e(B
+    \e$B%/%i%$%"%s%H$K$h$j;H$o$l$?MW5a%X%C%@!<%U%#!<%k%I$N?t$,\e(B
+    20 \e$B$rD6$($k$3$H$O$[$H$s$I$"$j$^$;$s$,!"\e(B
+    \e$B$3$l$O<o!9$N%/%i%$%"%s%H$N<BAu$K$h$C$FJQ$o$j!"\e(B
+    \e$B>\:Y$J%3%s%F%s%H%M%4%7%(!<%7%g%s$r$9$k$?$a$N%V%i%&%6$N@_Dj$K$^$G$b\e(B
+    \e$B1F6A$5$l$k$3$H$,$"$j$^$9!#%*%W%7%g%s$N\e(B HTTP
+    \e$B3HD%$O%j%/%(%9%H%X%C%@%U%#!<%k%I$r;H$C$F8=$5$l$k>l9g$,\e(B
+    \e$BB?$/$"$j$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"\e(B
+    \e$B2?$i$+$N7A$N%5!<%S%95qH]967b\e(B (\e$BLuCm\e(B:DoS) \e$B$rHr$1$k$N$KM-8z$G$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <pre>LimitRequestFields 50</pre>
+
+    <hr />
+
+    <h2><a id="limitrequestfieldsize"
+    name="limitrequestfieldsize">LimitRequestFieldsize
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LimitRequestFieldsize
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>LimitRequestFieldsize 8190</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    LimitRequestFieldsize \e$B$O\e(B Apache 1.3.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BHTTP
+    \e$B%j%/%(%9%H%X%C%@Fb$K4^$a$k$3$H$N$G$-$k%P%$%H!"\e(B<em>bytes</em> \e$B$r\e(B
+    0 \e$B$+$i%3%s%Q%$%k;~$KDj5A$5$l$kDj?t\e(B
+    <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (\e$BG[I[;~$K$O\e(B 8192 \e$B$H;XDj\e(B)
+    \e$B$G;XDj$5$l$?CM$^$G$N?t;z$G;XDj$7$^$9!#\e(B</p>
+
+    <p>LimitRequestFieldsize \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%5!<%P$N%3%s%Q%$%k;~$K;XDj$7$?%$%s%W%C%H%P%C%U%!MFNL0J2<$K\e(B
+    HTTP \e$B%j%/%(%9%H%X%C%@$N5vMF$5$l$k%5%$%:$r@)8B$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%5!<%P$O!"$3$N%G%#%l%/%F%#%V$NCM$H$7$F!"\e(B
+    \e$BDL>o$N%/%i%$%"%s%H%j%/%(%9%H$+$iAw$i$l$?8D!9$N%X%C%@%U%#!<%k%I$K\e(B
+    \e$B==J,B-$kBg$-$5$rI,MW$H$7$^$9!#\e(B
+    \e$BIaDL$N%j%/%(%9%H%X%C%@$N%5%$%:$O!"8D!9$N%/%i%$%"%s%H$K$h$jBg$-$/JQ$o$j!"\e(B
+    \e$B>\:Y$J%3%s%F%s%H%M%4%7%(!<%7%g%s$r$9$k$?$a$N%V%i%&%6$N@_Dj$K$^$G$b\e(B
+    \e$B1F6A$5$l$k$3$H$,$"$j$^$9!#\e(B
+    </p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"\e(B
+    \e$B2?$i$+$N7A$N%5!<%S%95qH]967b\e(B (\e$BLuCm\e(B:DoS) \e$B$rHr$1$k$N$KM-8z$G$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <pre>LimitRequestFieldSize 16380</pre>
+
+    <p>\e$BDL>o$O%G%U%)%k%H$+$iJQ99$9$kI,MW$O$J$$$G$7$g$&!#\e(B</p>
+    <hr />
+
+    <h2><a id="limitrequestline"
+    name="limitrequestline">LimitRequestLine \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LimitRequestLine
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>LimitRequestLine
+    8190</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> LimitRequestLine
+    \e$B$O\e(B Apache 1.3.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BHTTP \e$B%j%/%(%9%H9TFb$G5vMF$5$l$k%P%$%H?t\e(B
+    <em>bytes</em> \e$B$r\e(B 0 \e$B$+$i%3%s%Q%$%k;~$NDj?t\e(B
+    <code>DEFAULT_LIMIT_REQUEST_LINE</code> (\e$BG[I[;~$K$O\e(B 8192 \e$B$H;XDj\e(B)
+    \e$B$G;XDj$5$l$?CM$^$G$N?t;z$G;XDj$7$^$9!#\e(B</p>
+
+    <p>LimitRequestLine \e$B%G%#%l%/%F%#%V$K$h$j!"%5!<%P4IM}<T$O\e(B
+    \e$B%5!<%P$N%3%s%Q%$%k;~$K;XDj$7$?%$%s%W%C%H%P%C%U%!MFNL0J2<$K\e(B
+    \e$B%/%i%$%"%s%H$+$i$N\e(B HTTP
+    \e$B%j%/%(%9%H9T$N%5%$%:$N@)8B$r9T$&$3$H$,$G$-$^$9!#%j%/%(%9%H9T$O!"\e(B
+    HTTP \e$B%a%=%C%I!"\e(BURI, \e$B%W%m%H%3%k%P!<%8%g%s$+$i@.$C$F$*$j!"\e(B
+    LimitRequestLine \e$B$O%5!<%P$X$N%j%/%(%9%H$KBP$7$F5vMF$9$k%j%/%(%9%H\e(B
+    URI \e$B$ND9$5$r@)8B$9$k$3$H$K$J$j$^$9!#%5!<%P$O!"\e(BGET
+    \e$B%j%/%(%9%H$N%/%(%jItJ,$b4^$a$F!"%j%=!<%9$NL>A0$,F~$k$KB-$k\e(B
+    \e$BBg$-$5$rI,MW$H$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"\e(B
+    \e$B2?$i$+$N7A$N%5!<%S%95qH]967b\e(B (\e$BLuCm\e(B:DoS) \e$B$rHr$1$k$N$KM-8z$G$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <pre>LimitRequestLine 16380</pre>
+
+    <p>\e$BDL>o$N>l9g$K$O!"%G%U%)%k%H$+$iJQ99$9$kI,MW$J$$$G$7$g$&!#\e(B</p>
+    <hr />
+
+    <h2><a id="listen" name="listen">Listen \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Listen
+    [<em>IP-address</em>:]<em>port</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Listen \e$B$O\e(B Apache 1.1
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>Listen \e$B%G%#%l%/%F%#%V$O!"\e(BApache \e$B$,J#?t$N\e(B IP \e$B%"%I%l%9$d%]!<%H$r\e(B
+    listen \e$B$9$k$h$&$K;X<($7$^$9!#%G%U%)%k%H$G$O!"$9$Y$F$N\e(B
+    IP \e$B%$%s%?!<%U%'!<%9$X$N%j%/%(%9%H$K1~Ez$7!"\e(B<code><a
+    href="#port">Port</a></code> \e$B%G%#%l%/%F%#%V$,;XDj$7$?%]!<%H$N$_$r\e(B
+    listen \e$B$9$k$3$H$K$J$j$^$9!#\e(B</p>
+    <tt><a
+    href="#bindaddress">BindAddress</a></tt> \e$B$d\e(B <tt>Port</tt>
+    \e$B$NBe$o$j$K\e(B <tt>Listen</tt> \e$B$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    <tt>Listen</tt> \e$B$OFCDj$N%]!<%H<c$7$/$O%"%I%l%9$H%]!<%H$NAH9g$o$;$K$h$j\e(B
+    \e$B%j%/%(%9%H$N<u$1IU$1$r;XDj$9$k$3$H$,2DG=$G$9!#\e(B
+    \e$B:G=i$N%]!<%HHV9f$N$_$N;XDjJ}K!$rMxMQ$7$?>l9g$K$O!"\e(B
+    \e$B%5!<%P$O\e(B <tt>Port</tt> \e$B%G%#%l%/%F%#%V$GM?$($i$l$?%]!<%H$KBe$o$j!"\e(B
+    \e$B$9$Y$F$N%$%s%?!<%U%'!<%9>e$G;XDj$5$l$?%]!<%H$r\e(B listen 
+    \e$B$7$^$9!#$b$7!"%]!<%H$H0l=o$K\e(B IP \e$B%"%I%l%9$,;XDj$5$l$F$$$l$P!"\e(B
+    \e$B;XDj$5$l$?%$%s%?!<%U%'!<%9$N%]!<%H$r\e(B listen \e$B$7$^$9!#\e(B
+
+    <p>\e$B$J$*!"\e(BApache \e$B$,<+J,$N%5!<%P$r;X$9\e(B URL \e$B$r@5$7$/@8@.$G$-$k$h$&$K\e(B
+    <tt>Port</tt> \e$B%G%#%l%/%F%#%V$b;H$&I,MW$,$"$k$+$b$7$l$J$$$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p>Listen \e$B$9$kJ#?t$N%"%I%l%9$H%]!<%H$r;XDj$9$k$?$a$K!"\e(B
+    \e$BJ#?t$N\e(B Listen \e$B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$=$N>l9g!"%5!<%P$O;XDj$5$l$?$9$Y$F$N%"%I%l%9$H%]!<%H$G!"\e(B
+    \e$B%j%/%(%9%H$KBP$9$k1~Ez$r9T$J$$$^$9!#\e(B</p>
+
+    <p>\e$B%5!<%P$,\e(B 80 \e$BHV%]!<%H$H\e(B 8000 \e$BHV%]!<%H$NN>J}$G@\B3$r<u$1IU$1$k@_Dj$NNc\e(B:</p>
+<pre>
+   Listen 80
+   Listen 8000
+</pre>
+    \e$BFs$D$N%$%s%?!<%U%'!<%9$H%]!<%HHV9f$K$*$$$F@\B3$r<u$1IU$1$k@_Dj$NNc\e(B:
+<pre>
+   Listen 192.170.2.1:80
+   Listen 192.170.2.5:8000
+</pre>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="../dns-caveats.html">DNS \e$B$K4X$9$kLdBj\e(B</a><br />
+     <strong>\e$B;2>H\e(B:</strong> <a href="../bind.html">Apache \e$B$,MxMQ$9$k%"%I%l%9$H%]!<%H$N@_Dj\e(B</a><br />
+     <strong>\e$B;2>H\e(B:</strong> <a
+    href="http://httpd.apache.org/info/known_bugs.html#listenbug">\e$B4{CN$N%P%0\e(B</a></p>
+    <hr />
+
+    <h2><a id="listenbacklog" name="listenbacklog">ListenBacklog
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ListenBacklog
+    <em>backlog</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ListenBacklog
+    511</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ListenBacklog \e$B$O\e(B Apache 1.2.0
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B<u$1IU$1$G$-$F$$$J$$@\B3$rBT5!$5$;$k:]$N:GBg?t$r;XDj$7$^$9!#\e(B
+    \e$BDL>o$OJQ99$NI,MW$O$"$j$^$;$s$7!"JQ99$9$k$3$H$OK>$^$7$/$"$j$^$;$s!#\e(B
+    \e$B$7$+$7!"%7%9%F%`$K$h$C$F$O\e(B TCP SYN \e$B%U%i%C%I967b$r<u$1$F$$$k$H$-$K\e(B
+    \e$B$3$N?tCM$rA}$d$7$?J}$,NI$$>l9g$,$"$j$^$9!#\e(B<code>listen(2)</code>
+    \e$B%7%9%F%`%3!<%k$N\e(B backlog \e$B%Q%i%a!<%?$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B$3$N?tCM$O!"\e(BOS \e$B$K$h$C$F>.$5$JCM$K@)8B$5$l$F$$$k$3$H$,$h$/$"$j!"\e(B
+    OS \e$B$K$h$C$F$5$^$6$^$G$9!#$5$i$K!"B?$/$N\e(B OS \e$B$O\e(B backlog
+    \e$B$G;XDj$5$l$?CM$=$N$b$N$r;H$&$N$G$O$J$/!"$=$l$K4p$E$/CM\e(B
+     (\e$BDL>o$O$h$jBg$-$JCM\e(B) \e$B$r;H$&$H$$$&$3$H$K$bCm0U$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="location" name="location">&lt;Location&gt;
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;Location
+    <em>URL-path</em>|<em>URL</em>&gt; ... &lt;/Location&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Location \e$B$O\e(B Apache 1.1
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>&lt;Location&gt; \e$B%G%#%l%/%F%#%V$O!"\e(BURL
+    \e$B$K$h$k%"%/%;%9@)8f$rDs6!$7$^$9!#\e(B<a
+    href="#directory">&lt;Directory&gt;</a> \e$B%G%#%l%/%F%#%V$H;w$F$$$F!"\e(B
+    &lt;/Location&gt; \e$B%G%#%l%/%F%#%V$G=*N;$9$k%5%V%;%/%7%g%s$r3+;O$7$^$9!#\e(B
+    <code>&lt;Location&gt;</code> \e$B%;%/%7%g%s$O!"\e(B&lt;Directory&gt;
+    \e$B%;%/%7%g%s$H\e(B <code>.htaccess</code> \e$B$NFI$_9~$_$N8e!"\e(B&lt;Files&gt;
+    \e$B%;%/%7%g%s$rE,MQ$7$?8e$K!"@_Dj%U%!%$%k$K8=$l$?=g$K=hM}$5$l$^$9!#\e(B</p>
+
+    <p>URL \e$B$O%U%!%$%k%7%9%F%`$KBP1~$9$kI,MW$O$J$/!"\e(B&lt;Location&gt;
+    \e$B$O40A4$K%U%!%$%k%7%9%F%`$K4X78$;$:F0:n$9$k$3$H$r6/D4$7$F$*$-$^$9!#\e(B</p>
+
+    <p>\e$B$9$Y$F$N%j%/%(%9%H\e(B (\e$B%W%m%-%7$r=|$/\e(B) \e$B$KBP$7!"\e(BURL \e$B$O\e(B
+    <code>/path/</code> \e$B$H$$$&!"\e(B<code>http://servername</code>
+    \e$B$H$$$&@\F,<-$r4^$^$J$$7A$G%^%C%A$7$^$9!#\e(B
+    \e$B%W%m%-%7%j%/%(%9%H$N>l9g$K$O!"\e(B<code>scheme://servername/path</code>
+    \e$B$H$$$&@\F,<-$r4^$`7A$G%^%C%A$7!"@\F,<-$r4^$a$F;XDj$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>URL \e$B$K$O%o%$%k%I%+!<%I$rMxMQ$9$k$3$H$,$G$-$^$9!#\e(B
+    `?' \e$B$OG$0U$N0lJ8;z!"\e(B`*' \e$B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#\e(B </p>
+
+    <p><strong>Apache 1.2 \e$B0J9_$N>l9g\e(B:</strong>
+    <code>~</code> \e$B$H$$$&J8;z$rDI2C$9$k$3$H$G!"3HD%@55,I=8=$r\e(B
+    \e$BMxMQ$9$k$3$H$b$G$-$^$9!#\e(B
+    \e$BNc$($P!"\e(B</p>
+<pre>
+   &lt;Location ~ "/(extra|special)/data"&gt;
+</pre>
+
+    <p>\e$B$O\e(B URL \e$B$K\e(B "/extra/data" \e$B$+\e(B "/special/data"
+    \e$B$H$$$&J8;zNs$,4^$^$l$F$$$k>l9g$K%^%C%A$7$^$9!#$=$7$F!"\e(B
+    Apache 1.3 \e$B0J9_$N>l9g$K$O!"\e(B<code>&lt;Location&gt;</code>
+    \e$B$N@55,I=8=HG$HA4$/F1$8F0:n$r$9$k\e(B <a
+    href="#locationmatch">&lt;LocationMatch&gt;</a>
+    \e$B$H$$$&?7$7$$%G%#%l%/%F%#%V$,$"$j$^$9!#\e(B</p>
+
+    <p><code>Location</code> \e$B5!G=$O!"\e(B<code><a
+    href="mod_mime.html#sethandler">SetHandler</a></code>
+    \e$B%G%#%l%/%F%#%V$HAH9g$o$;$FMxMQ$9$k$HFC$KJXMx$G$9!#\e(B
+    \e$BNc$($P!"\e(Bfoo.com \e$B$N%V%i%&%6$+$i$N$_%9%F!<%?%9$N;2>H$rM-8z$K$7$?$1$l$P!"\e(B
+    \e$B<!$N$h$&$K$9$l$PNI$$$G$7$g$&!#\e(B</p>
+<pre>
+    &lt;Location /status&gt;
+    SetHandler server-status
+    Order Deny,Allow
+    Deny from all
+    Allow from .foo.com
+    &lt;/Location&gt;
+</pre>
+
+    <p><strong>Apache 1.3 \e$B0J9_$K$*$1$k\e(B / (\e$B%9%i%C%7%e\e(B)
+    \e$B$N<h$j07$$$K$D$$$F$NCm0U\e(B:</strong>
+    \e$B%9%i%C%7%eJ8;z$O!"\e(BURL
+    \e$BFb$K8=$l$k>l=j$K1~$8$FJQ$o$kFCJL$J0UL#$r;}$C$F$$$^$9!#\e(B
+    \e$B%U%!%$%k%7%9%F%`$K$*$$$FMxMQ$9$k>l9g$K$OJ#?t$N%9%i%C%7%e$G$b0l$D$N\e(B
+    \e$B%9%i%C%7%e$H$7$F07$o$l$^$9$,!"\e(B(\e$BNc$($P!"\e(B<code>/home///foo</code>
+    \e$B$O\e(B <code>/home/foo</code> \e$B$H$$$C$?$h$&$K\e(B) URL
+    \e$B$K$*$$$F$OI,$:$7$b$=$&$J$k$o$1$G$O$"$j$^$;$s!#\e(B
+    <code>&lt;LocationMatch&gt;</code>
+    \e$B%G%#%l%/%F%#%V$d@55,I=8=$rMxMQ$7$?\e(B <code>&lt;Location&gt;</code>
+    \e$B%G%#%l%/%F%#%V$G$=$N$h$&$JF0:n$r$5$;$?$1$l$P!"\e(B
+    \e$BL@<(E*$KJ#?t$N%9%i%C%7%e$r5-=R$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$BNc$($P!"\e(B<code>&lt;LocationMatch ^/abc&gt;</code> \e$B$O!"\e(B
+    <code>/abc</code> \e$B$H$$$&%j%/%(%9%H\e(B URL \e$B$K%^%C%A$7$^$9$,!"\e(B
+    <code>//abc</code> \e$B$H$$$&%j%/%(%9%H\e(B URL \e$B$K$O%^%C%A$7$^$;$s!#\e(B
+    (\e$B@55,I=8=$G$J$$\e(B) <code>&lt;Location&gt;</code> \e$B%G%#%l%/%F%#%V$O!"\e(B
+    Proxy \e$B%j%/%(%9%H$KBP$7$FMxMQ$9$k:]$K$OF1MM$N$U$k$^$$$r$7$^$9$,!"\e(B
+    (\e$B@55,I=8=$G$J$$\e(B) <code>&lt;Location&gt;</code> \e$B$r\e(B Proxy
+    \e$B$G$J$$%j%/%(%9%H$KBP$7$FMxMQ$9$k:]$K$O!"\e(B
+    \e$B0l$D$N%9%i%C%7%e$GJ#?t$N%9%i%C%7%e$K%^%C%A$7$^$9!#\e(B
+    \e$BNc$($P!"\e(B<code>&lt;Location /abc/def&gt;</code> \e$B$H;XDj$7!"\e(B
+    <code>/abc//def</code>
+    \e$B$H$$$&%j%/%(%9%H$,$"$l$P!"%^%C%A$9$k$3$H$K$J$j$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: \e$B%j%/%(%9%H$r<u$1$?:]$K!"\e(B
+    \e$B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F\e(B
+    \e$BAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B <a href="../sections.html">
+    Directory, Location, Files \e$B%;%/%7%g%s$NF0:nK!\e(B</a></p>
+    <hr />
+
+    <h2><a id="locationmatch"
+    name="locationmatch">&lt;LocationMatch&gt;</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;LocationMatch
+    <em>regex</em>&gt; ... &lt;/LocationMatch&gt;<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> LocationMatch \e$B$O\e(B Apache 1.3
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>
+    &lt;LocationMatch&gt; \e$B%G%#%l%/%F%#%V$O!"\e(B<a
+    href="#location">&lt;Location&gt;</a> \e$B$HF1$8MM$K\e(B
+    URL \e$B$K$h$k%"%/%;%9@)8f$rDs6!$7$^$9!#\e(B
+    \e$B$?$@$7!"0z?t$OIaDL$NJ8;zNs$G$O$J$/!"@55,I=8=$H$J$j$^$9!#Nc$($P!"\e(B</p>
+<pre>
+   &lt;LocationMatch "/(extra|special)/data"&gt;
+</pre>
+
+    <p>\e$B$O\e(B URL \e$B$K\e(B "/extra/data" \e$B$+\e(B "/special/data" \e$B$H$$$&J8;zNs$,\e(B
+    \e$B4^$^$l$F$$$k>l9g$K%^%C%A$7$^$9!#\e(B</p>
+    <p><strong>\e$B;2>H\e(B</strong>: \e$B%j%/%(%9%H$r<u$1$?:]$K!"\e(B
+    \e$B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F\e(B
+    \e$BAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B <a href="../sections.html">
+    Directory, Location, Files \e$B%;%/%7%g%s$NF0:nK!\e(B</a></p>
+    <hr />
+
+    <h2><a id="lockfile" name="lockfile">LockFile
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LockFile
+    <em>\e$B%U%!%$%k%Q%9\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>LockFile
+    logs/accept.lock</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>LockFile \e$B%G%#%l%/%F%#%V$O\e(B Apache \e$B$,\e(B USE_FCNTL_SERIALIZED_ACCEPT
+    \e$B$+\e(B USE_FLOCK_SERIALIZED_ACCEPT
+    \e$B$G%3%s%Q%$%k$5$l$?$H$-$K;H$&%m%C%/%U%!%$%k$X$N%Q%9$r;XDj$7$^$9!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$ODL>o$O%G%U%)%k%HCM$N$^$^$K$7$F$*$/$Y$-$G$9!#\e(B
+    \e$B$3$l$rJQ$($k<g$JM}M3$O!"\e(B<code>logs</code> \e$B%G%#%l%/%H%j$,\e(B NFS
+    \e$B%^%&%s%H$5$l$F$$$k!"$H$$$&$b$N$G$9!#$3$l$O!"\e(B<strong>\e$B%m%C%/%U%!%$%k$O\e(B
+    \e$B%m!<%+%k%G%#%9%/>e$K:n$i$l$J$1$l$P$J$i$J$$\e(B</strong>\e$B$+$i$G$9!#\e(B
+    \e$B<g%5!<%P%W%m%;%9$N\e(B PID \e$B$,%U%!%$%kL>$N8e$KDI2C$5$l$^$9!#\e(B</p>
+
+    <p><strong>\e$B%;%-%e%j%F%#\e(B</strong> <code>/var/tmp</code>
+    \e$B$N$h$&$J3'$,=q$-9~$a$k%G%#%l%/%H%j$OHr$1$k$N$,8-L@$G$9!#\e(B
+    \e$B$3$l$O!"%5!<%P$,:n@.$7$h$&$H$9$k%m%C%/%U%!%$%k$HF1$8L>A0$N%U%!%$%k$r\e(B
+    \e$B:n@.$9$k$3$H$G!"%5!<%P$N5/F0$rAK;_$9$k!"$H$$$&%5!<%S%95qH]967b$r\e(B
+    \e$B9T$&$3$H$,2DG=$K$J$k$+$i$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="loglevel" name="loglevel">LogLevel
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LogLevel
+    <em>level</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>LogLevel
+    warn</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> LogLevel \e$B$O\e(B Apache 1.3
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>LogLevel \e$B$O!"%(%i!<%m%0$X5-O?$9$k%a%C%;!<%8$N>iD9@-$r;XDj$7$^$9\e(B
+    (<a href="#errorlog">ErrorLog</a> \e$B%G%#%l%/%F%#%V$r8+$F$/$@$5$$\e(B)\e$B!#\e(B
+    \e$B0J2<$N\e(B <em>level</em> \e$B$r;XDj$G$-!"=g$K=EMWEY$,2<$,$C$F$$$-$^$9!#\e(B</p>
+
+    <table>
+      <tr>
+        <th align="left"><strong>\e$B%l%Y%k\e(B</strong> </th>
+
+        <th align="left"><strong>\e$B@bL@\e(B</strong> </th>
+        <th align="left"><strong>\e$BNc\e(B</strong> </th>
+      </tr>
+
+      <tr>
+        <td><code>emerg</code> </td>
+
+        <td>\e$B6[5^\e(B - \e$B%7%9%F%`$,MxMQ$G$-$J$$\e(B</td>
+        <td>Child cannot open lock file. Exiting
+        (\e$B;R%W%m%;%9$,%m%C%/%U%!%$%k$r3+$1$J$$$?$a=*N;$7$?\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>alert</code> </td>
+
+        <td>\e$BD>$A$KBP=h$,I,MW\e(B</td>
+        <td>getpwuid: couldn't determine user name from uid
+        (getpwuid: UID \e$B$+$i%f!<%6L>$rFCDj$G$-$J$+$C$?\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>crit</code> </td>
+
+        <td>\e$BCWL?E*$J>uBV\e(B</td>
+       <td>socket: Failed to get a socket, exiting child
+       (socket: \e$B%=%1%C%H$,F@$i$l$J$$$?$a!";R%W%m%;%9$r=*N;$5$;$?\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>error</code> </td>
+
+        <td>\e$B%(%i!<\e(B</td>
+        <td>Premature end of script headers
+        (\e$B%9%/%j%W%H$N%X%C%@$,B-$j$J$$$^$^$G=*$o$C$?\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>warn</code> </td>
+
+        <td>\e$B7Y9p\e(B</td>
+        <td>child process 1234 did not exit, sending another SIGHUP
+        (\e$B;R%W%m%;%9\e(B 1234 \e$B$,=*N;$7$J$+$C$?!#$b$&0lEY\e(B SIGHUP \e$B$rAw$k\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>notice</code> </td>
+
+        <td>\e$BIaDL$@$,!"=EMW$J>pJs\e(B</td>
+        <td>httpd: caught SIGBUS, attempting to dump core in ...
+        (httpd: SIGBUS \e$B%7%0%J%k$r<u$1!"\e(B... \e$B$X%3%"%@%s%W$r$7$?\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>info</code> </td>
+
+        <td>\e$BDI2C>pJs\e(B</td>
+        <td>"Server seems busy, (you may need to increase
+        StartServers, or Min/MaxSpareServers)..." (\e$B!V%5!<%P$OIi2Y$,9b$$!"\e(B
+        (StartServers \e$B$d\e(B Min/MaxSpareServers \e$B$NCM$rA}$d$9I,MW$,$"$k$+$b\e(B)\e$B!W\e(B)</td>
+      </tr>
+
+      <tr>
+        <td><code>debug</code> </td>
+
+        <td>\e$B%G%P%C%0%a%C%;!<%8\e(B</td>
+        <td>"Opening config file ..." (\e$B@_Dj%U%!%$%k$r3+$$$F$$$k\e(B...)</td>
+      </tr>
+    </table>
+
+    <p>\e$BFCDj$N%l%Y%k$,;XDj$5$l$?>l9g!"$=$l$h$j9b$$%l%Y%k$N$9$Y$F$N\e(B
+    \e$B%a%C%;!<%8$,Js9p$5$l$^$9!#\e(B
+    <em>\e$BNc$($P\e(B</em>\e$B!"\e(B<code>LogLevel info</code> \e$B$K;XDj$9$k$H!"\e(B
+    <code>notice</code> \e$B$H\e(B <code>warn</code> \e$B$bJs9p$5$l$^$9!#\e(B</p>
+
+    <p>\e$B$J$*\e(B <code>crit</code> \e$B0J>e$r;XDj$9$k$3$H$,?d>)$5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <pre>LogLevel notice</pre>
+
+    <p><strong>\e$BCm\e(B:</strong> \e$BDL>o$N%U%!%$%k$K5-O?$9$k>l9g%l%Y%k\e(B
+    <code>notice</code> \e$B$N%a%C%;!<%8$OM^@)$9$k$3$H$,$G$-$:!"\e(B
+    \e$B>o$K5-O?$5$l$^$9!#$7$+$7!"$3$l$O\e(B <code>syslog</code>
+    \e$B$r;H$C$F%m%0<}=8$r9T$J$&>l9g$K$O$"$F$O$^$j$^$;$s!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="maxclients" name="maxclients">MaxClients
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> MaxClients
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>MaxClients
+    256</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>MaxClients
+    \e$B%G%#%l%/%F%#%V$O!"F1;~$K%5%]!<%H$G$-$k:GBg%j%/%(%9%H?t$r@_Dj$7$^$9!#\e(B
+    \e$B;R%5!<%P%W%m%;%9$O!"$3$l$h$jB?$/$O:n@.$5$l$^$;$s!#\e(B
+    \e$B$J$*!"\e(B256 \e$B%/%i%$%"%s%H$h$jBg$-$J?tCM$r;XDj$9$k$?$a$K$O!"\e(Bhttpd.h \e$B$N\e(B
+    HARD_SERVER_LIMIT \e$B$rJT=8$7$F:F%3%s%Q%$%k$7$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>MaxClients \e$B$N@)8B$rD6$($?@\B3$O!"DL>o$O\e(B <a
+    href="#listenbacklog">ListenBacklog</a>
+    \e$B%G%#%l%/%F%#%V$G;XDj$7$??t$^$G%-%e!<$KF~$l$i$l$^$9!#\e(B
+    \e$B$=$7$F!"JL$N%j%/%(%9%H$r=*N;$7;R%W%m%;%9$,2rJ|$5$l$?;~E@$G!"\e(B
+    \e$B@\B3$,<u$1IU$1$i$l$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="maxkeepaliverequests"
+    name="maxkeepaliverequests">MaxKeepAliveRequests
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> MaxKeepAliveRequests
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>MaxKeepAliveRequests 100</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>MaxKeepAliveRequests \e$B%G%#%l%/%F%#%V$O!"\e(B<a
+    href="#keepalive">KeepAlive</a> \e$B$,M-8z$J>l9g$K!"\e(B
+    \e$B0l2s$N@\B3$G<u$1IU$12DG=$J%j%/%(%9%H$N?t$r@)8B$7$^$9!#\e(B
+    "<code>0</code>" \e$B$K@_Dj$7$F$$$l$P!"<u$1IU$1$k%j%/%(%9%H$OL5@)8B$K$J$j$^$9!#\e(B
+    \e$B$3$N@_Dj$O!"%5!<%P@-G=$r8~>e$5$;$k$?$a$K!"Bg$-$J?tCM$r;XDj$9$k$3$H$r4+$a$^$9!#\e(B
+    \e$B$J$*!"\e(BApache 1.1 \e$B$G$O$3$NCM$O!"\e(BKeepAlive
+    \e$B%G%#%l%/%F%#%V$N%*%W%7%g%s$H$7$F;XDj$5$l$F$$$^$7$?!#\e(B</p>
+
+    <p>\e$BNc\e(B</p>
+
+    <pre>MaxKeepAliveRequests 500</pre>
+
+    <hr />
+
+    <h2><a id="maxrequestsperchild"
+    name="maxrequestsperchild">MaxRequestsPerChild
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> MaxRequestsPerChild
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>MaxRequestsPerChild 0</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>MaxRequestsPerChild \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B8D!9$N;R%5!<%P!<%W%m%;%9$,=hM}$G$-$k%j%/%(%9%H$N:GBg?t$r@_Dj$7$^$9!#\e(B
+    MaxRequestsPerChild
+    \e$B$G;XDj$5$l$??t$N%j%/%(%9%H$r=hM}$9$k$H!";R%W%m%;%9$O=*N;$7$^$9!#\e(B
+    \e$B$J$*!"\e(B0 \e$B$r;XDj$9$k$H!"%W%m%;%9$O8B$j$J$/F0$-$D$E$1$^$9!#\e(B</p>
+
+    <p>MaxRequestsPerChild \e$B$K$h$j!":GBg?t$r\e(B 0
+    \e$B0J30$NCM$K@_Dj$9$k$3$H$O!"Fs$D$NM-1W$J8z2L$,$"$j$^$9!'\e(B</p>
+
+    <ul>
+      <li>(\e$BM=4|$;$L\e(B) \e$B%a%b%j%j!<%/$K$h$C$F%W%m%;%9$,>CHq$9$k\e(B
+      \e$B%a%b%j$NAmNL$r@)8B$9$k$3$H$,$G$-$^$9!#\e(B</li>
+
+      <li>\e$B%W%m%;%9$N<B9T;~4V@)8B$,@_$1$i$l$k$3$H$K$h$j!"\e(B
+      \e$B%5!<%P$NIi2YDc8:;~$K%W%m%;%9$N?t$r8:>/$5$;$k$3$H$r=u$1$^$9!#\e(B</li>
+    </ul>
+
+    <p>\e$B$?$@$7!"\e(BWin32 \e$B$K$*$$$F$O$3$l$r\e(B 0 \e$B$K@_Dj$7$?J}$,NI$$$G$7$g$&!#\e(B
+    0 \e$B0J30$r;XDj$9$k$H!"%j%/%(%9%H$N@)8B$KE~C#$7$?$H$-$K;R%W%m%;%9$,=*N;$7!"\e(B
+    \e$B;R%W%m%;%9$,$b$&0lEY:n$i$l!"$=$N:]$K@_Dj%U%!%$%k$rFI$_D>$7$^$9!#\e(B
+    \e$B$3$l$K$h$j!"@_Dj%U%!%$%k$r=$@58e$K!"\e(B
+    \e$B$^$@=$@5FbMF$,E,MQ$5$l$k$N$r4|BT$7$F$$$J$$$H$-$K\e(B
+    \e$BM=4|$;$L?6$kIq$$$r$9$k$3$H$,$"$j$^$9!#\e(B
+    <a href="#threadsperchild">ThreadsPerChild</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B:</strong> <em>KeepAlive</em> \e$B%j%/%(%9%H$N>l9g!"\e(B
+    \e$B:G=i$N%j%/%(%9%H$N$_%+%&%s%H$5$l$^$9!#\e(B
+    \e$B<B<AE*$K$O;R%W%m%;%9$"$?$j$N\e(B<em>\e$B@\B3?t\e(B</em>\e$B$r;XDj$9$k$b$N$H$$$($^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="maxspareservers"
+    name="maxspareservers">MaxSpareServers \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> MaxSpareServers
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>MaxSpareServers
+    10</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>MaxSpareServers \e$B%G%#%l%/%F%#%V$O!"\e(B<em>\e$B%"%$%I%k>uBV\e(B</em>\e$B$G$"$k\e(B
+    \e$B;R%5!<%P%W%m%;%9$NK>$^$7$$:GBg?t$r;XDj$7$^$9!#\e(B
+    \e$B%"%$%I%k>uBV$N%W%m%;%9$H$O!"%j%/%(%9%H$r=hM}$7$F$$$J$$%W%m%;%9$N$3$H$G$9!#\e(B
+    MaxSpareServers \e$B$G;XDj$7$??t0J>e$,%"%$%I%k>uBV$G$"$l$P!"\e(B
+    \e$B?F%W%m%;%9$OA}$($9$.$?%W%m%;%9$r\e(B kill \e$B$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$N?tCM$NJQ99$O!"$H$F$b%"%/%;%9$NB?$$%5%$%H$K$*$$$F$N$_I,MW$H$J$k$G$7$g$&!#\e(B
+    \e$BBg$-$J?tCM$r;XDj$9$k$3$H$O!"$[$H$s$I$N>l9g$K$ONI$/$J$$@_Dj$G$9!#\e(B</p>
+
+    <p>\e$B$J$*!"$3$l$O\e(B<em>\e$BM=Hw\e(B</em>\e$B%5!<%P$N:GBg?t$G$"$j!"\e(B
+    \e$B%/%i%$%"%s%H$+$i$N%j%/%(%9%H$r0lEY$K$I$l$@$1=hM}$G$-$k$N$+$N:GBg?t$r\e(B
+    \e$B;XDj$9$k$b$N$G$O$"$j$^$;$s!#\e(B
+    \e$B$b$7!"$=$&$$$C$?:GBg?t$r;XDj$7$?$$$N$G$"$l$P!"\e(B<a
+    href="#maxclients">MaxClients</a> \e$B%G%#%l%/%F%#%V$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BMicrosoft Windows \e$B%W%i%C%H%U%)!<%`$K$*$1$k\e(B
+    Apache \e$B%5!<%P$G$O0UL#$r;}$A$^$;$s!#\e(B</p>
+
+    <p><a href="#minspareservers">MinSpareServers</a>\e$B!"\e(B<a
+    href="#startservers">StartServers</a>\e$B!"\e(B<a
+    href="#maxclients">MaxClients</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="minspareservers"
+    name="minspareservers">MinSpareServers \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> MinSpareServers
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>MinSpareServers
+    5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>MinSpareServers \e$B%G%#%l%/%F%#%V$O!"\e(B<em>\e$B%"%$%I%k>uBV\e(B</em>\e$B$G$"$k\e(B
+    \e$B;R%5!<%P%W%m%;%9$NK>$^$7$$:G>.?t$r;XDj$7$^$9!#\e(B
+    \e$B%"%$%I%k>uBV$N%W%m%;%9$H$O!"%j%/%(%9%H$r=hM}$7$F$$$J$$%W%m%;%9$N$3$H$G$9!#\e(B
+    \e$B$b$7\e(B MinSpareServers \e$B$G;XDj$7$??t$h$j%"%$%I%k>uBV$N%5!<%P$,>/$J$1$l$P!"\e(B
+    \e$B?F%W%m%;%9$O\e(B 1 \e$BIC4V$K\e(B 1 \e$B8D$r8BEY$H$7$F?7$7$$;R%W%m%;%9$r@8@.$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$N?tCM$NJQ99$O!"$H$F$b%"%/%;%9$NB?$$%5%$%H$K$*$$$F$N$_I,MW$H$J$k$G$7$g$&!#\e(B
+    \e$BBg$-$J?tCM$r;XDj$9$k$3$H$O!"$[$H$s$I$N>l9g$K$ONI$/$J$$@_Dj$G$9!#\e(B</p>
+
+    <p>\e$B$J$*!"$3$N%G%#%l%/%F%#%V$K$*$$$F$"$k?tCM\e(B <i>m</i> \e$B$r;XDj$7$?$H$9$k$H!"\e(B
+    <i>n</i> \e$B$H$$$&?t$N2TF0Cf$N%/%i%$%"%s%H%j%/%(%9%H$,$"$k;~$K!"\e(B
+    <i>n + m</i> \e$B0J>e$N\e(B <code>httpd</code>
+    \e$B%W%m%;%9$,3N<B$KJ];}$5$l$k$h$&$K$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BMicrosoft Windows
+    \e$B%W%i%C%H%U%)!<%`$G$O0UL#$r;}$A$^$;$s!#\e(B</p>
+
+    <p><a href="#minspareservers">MinSpareServers</a>\e$B!"\e(B<a
+    href="#startservers">StartServers</a>\e$B!"\e(B<a
+    href="#maxclients">MaxClients</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="namevirtualhost"
+    name="namevirtualhost">NameVirtualHost \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> NameVirtualHost
+    <em>addr</em>[:<em>port</em>]<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> NameVirtualHost
+    \e$B$O\e(B Apache 1.3 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>NameVirtualHost \e$B%G%#%l%/%F%#%V$O!"\e(B
+    <a href="../vhosts/">\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</a>\e$B$N@_Dj$r9T$$$?$$>l9g$K\e(B
+    \e$BI,MW$H$J$k$b$N$G$9!#\e(B</p>
+
+    <p><em>addr</em> \e$B$K$O%[%9%HL>$r;XDj$G$-$^$9$,!">o$K\e(B IP
+    \e$B%"%I%l%9$+%o%$%k%I%+!<%I$r;XDj$9$k$N$,?d>)$5$l$^$9!#\e(B
+    <em>\e$BNc$($P!"\e(B</em></p>
+
+    <blockquote>
+      <code>NameVirtualHost 111.22.33.44</code>
+    </blockquote>
+    NameVirtualHost \e$B%G%#%l%/%F%#%V$O!"L>A0%Y!<%9$N%P!<%A%c%k%[%9%H$r\e(B
+    \e$BMxMQ$7$F%j%/%(%9%H$r<u$1IU$1$k\e(B IP \e$B%"%I%l%9$r;XDj$7$^$9!#\e(B
+    \e$B$3$l$O!"IaDL$OL>A0%Y!<%9$N%P!<%A%c%k%[%9%H%"%I%l%9$G$9!#\e(B
+    \e$B$?$@$7!"%U%!%$%"!<%&%)!<%k$dB>$N%W%m%-%7$,%j%/%(%9%H$r<u$1IU$1!"\e(B
+    \e$B0c$&\e(B IP \e$B%"%I%l%9$N%5!<%P$K%U%)%o!<%I$9$k$H$$$&>l9g$O!"\e(B
+    \e$B%j%/%(%9%H$rDs6!$7$?$$%^%7%s>e$NJ*M}%$%s%?!<%U%'!<%9$N\e(B
+    IP \e$B%"%I%l%9$r;XDj$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$BJ#?t$N%"%I%l%9$GJ#?t$NL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$r;XDj$9$k>l9g$O\e(B
+    \e$B3F%"%I%l%9$KBP$7$F%G%#%l%/%F%#%V$r=q$$$F$/$@$5$$!#\e(B
+
+    <p>\e$B!V<g%5!<%P!W$d!"$I$N\e(B _default_ \e$B%5!<%P$b!"\e(B
+    NameVirtualHost \e$B$G;XDj$7$?\e(B IP \e$B%"%I%l%9$X$N%j%/%(%9%H\e(B
+    \e$B$r=hM}$9$k$3$H$O\e(B<strong>\e$B$"$j$^$;$s\e(B</strong> (\e$B$J$<$+\e(B NameVirtualHost
+    \e$B$r;XDj$7$?$1$I$=$N%"%I%l%9$K\e(B VirtualHost \e$B$rDj5A$7$J$+$C$?>l9g$r=|$/\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B$J$*!"L>A0%Y!<%9$N%P!<%A%c%k%[%9%H$K%]!<%HHV9f$r;XDj$9$k$3$H$b2DG=$G$9!#\e(B<br />
+    \e$BNc$($P!"\e(B</p>
+
+    <blockquote>
+      <code>NameVirtualHost 111.22.33.44:8080</code>
+    </blockquote>
+    Apache 1.3.13 \e$B0J>e$N>l9g$K$O!"\e(B<em>addr</em> \e$B$K\e(B <code>*</code>
+    \e$B$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$l$K$h$j!"\e(BNameVirtualHost\e$B%G%#%l%/%F%#%V$d\e(B <a
+    href="#virtualhost">&lt;VirtualHost&gt;</a> \e$B%;%/%7%g%s$G;XDj$5$l$J$+$C$?!"\e(B
+    \e$B$h$j:Y$+$/@_Dj$5$l$F$$$k%"%I%l%90J30$N$9$Y$F$N%"%I%l%9$X$N@\B3$K%^%C%A$7$^$9!#\e(B
+    \e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$@$1$rMxMQ$7$?$$>l9g$d!"\e(B
+    \e$B@_Dj%U%!%$%kCf$K%5!<%P$N\e(B IP
+    \e$B%"%I%l%9$r5-=R$9$k$3$H$rK>$^$J$$>l9g$KM-MQ$G$7$g$&!#\e(B
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="../vhosts/">Apache \e$B%P!<%A%c%k%[%9%H2r@b=q\e(B</a></p>
+    <hr />
+
+    <h2><a id="options" name="options">Options \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Options
+    [+|-]<em>option</em> [[+|-]<em>option</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>Options \e$B%G%#%l%/%F%#%V$O!"FCDj$N%G%#%l%/%H%j$KBP$7$F\e(B
+    \e$B$I$N5!G=$rM-8z$K$9$k$N$+$r@)8f$7$^$9!#\e(B</p>
+
+    <p><em>option</em> \e$B$r\e(B <code>None</code>
+    \e$B$K;XDj$9$k$H!"FCJL$J5!G=$O$9$Y$FL58z$K$J$j$^$9!#$^$?!"0J2<$N<($9\e(B
+    1 \e$B8D0J>e$N$b$N$r;XDj$G$-$^$9!#\e(B</p>
+
+    <dl>
+      <dt>All</dt>
+
+      <dd>MultiViews \e$B$r=|$$$?$9$Y$F$N5!G=$,M-8z$H$J$j$^$9!#\e(B
+      \e$B$3$l$,%G%U%)%k%H$G$9!#\e(B</dd>
+
+      <dt>ExecCGI</dt>
+
+      <dd>
+      CGI \e$B%9%/%j%W%H$N<B9T$r5v2D$7$^$9!#\e(B</dd>
+
+      <dt>FollowSymLinks</dt>
+
+      <dd>
+      \e$B%5!<%P$,!"$3$N%G%#%l%/%H%jFb$G%7%s%\%j%C%/%j%s%/$r$?$I$l$k$h$&$K$7$^$9!#\e(B<br />
+      <strong>\e$BCm0UE@\e(B</strong>:
+      \e$B%5!<%P$,%7%s%\%j%C%/%j%s%/$r$?$I$k>l9g$G$b!"\e(B
+      <code>&lt;Directory&gt;</code>
+      \e$B%;%/%7%g%s$K%^%C%A$5$;$k$?$a$N%Q%9L>$O\e(B<em>\e$BJQ99$5$l$^$;$s\e(B</em>\e$B!#\e(B<br />
+      <strong>\e$BCm0UE@\e(B</strong>: &lt;Location&gt;
+      \e$BFb$K$3$N%*%W%7%g%s$r;XDj$7$F$bL5;k$5$l$^$9!#\e(B</dd>
+
+      <dt>Includes</dt>
+
+      <dd>
+      SSI \e$B$rM-8z$K$7$^$9!#\e(B</dd>
+
+      <dt>IncludesNOEXEC</dt>
+
+      <dd>
+      SSI \e$B$OM-8z$K$J$j$^$9$,!"\e(B#exec \e$B%3%^%s%I\e(B \e$B$H\e(B #exec CGI
+      \e$B$OL58z$K$J$j$^$9!#$?$@$7!"\e(B#include virtual \e$B$K$h$j!"\e(BScriptAlias
+      \e$B$5$l$?%G%#%l%/%H%j$G\e(B CGI \e$B$r<B9T$9$k$3$H$O2DG=$G$9!#\e(B</dd>
+
+      <dt>Indexes</dt>
+
+      <dd>
+      \e$B$b$7!"\e(BURL \e$B$,%G%#%l%/%H%j$K%^%C%W$9$k%j%/%(%9%H$G$"$C$F!"$+$D\e(B
+      DirectoryIndex \e$B$G;XDj$7$?%U%!%$%k\e(B (\e$BNc$($P!"\e(Bindex.html) \e$B$,\e(B
+      \e$B%G%#%l%/%H%jFb$KL5$1$l$P!"\e(B
+      \e$B%G%#%l%/%H%jFb$N0lMw$r@07A$7$FJV$;$k$h$&$K$7$^$9!#\e(B</dd>
+
+      <dt>MultiViews</dt>
+
+      <dd>
+      <a href="../content-negotiation.html">\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</a> 
+      \e$B$5$l$?\e(B MultiViews \e$B$r5v2D$7$^$9!#\e(B</dd>
+
+      <dt>SymLinksIfOwnerMatch</dt>
+
+      <dd>
+      \e$B%7%s%\%j%C%/@h$N%U%!%$%k$^$?$O%G%#%l%/%H%j$,!"\e(B
+      \e$B%7%s%\%j%C%/%j%s%/$N=jM-%f!<%6\e(B ID
+      \e$B$HF1$8>l9g$K$N$_%7%s%\%j%C%/%j%s%/$r$?$I$l$k$h$&$K$7$^$9!#\e(B<br />
+      <strong>\e$BCm0UE@\e(B</strong>: &lt;Location&gt;
+      \e$BFb$K$3$N%*%W%7%g%s$r;XDj$7$F$bL5;k$5$l$^$9!#\e(B</dd>
+    </dl>
+    \e$BDL>o!"%G%#%l%/%H%j$KBP$7$FJ#?t$N\e(B <code>Options</code>
+    \e$B$,E,MQ2DG=$J>l9g!":G$b6a$$$b$N0l$D$N$_$,E,MQ$5$l$^$9!#\e(B
+    \e$BJ#?t$N;XDj$,%^!<%8$5$l$k$o$1$G$O$"$j$^$;$s!#$7$+$7!"$9$Y$F$N\e(B
+    <code>Options</code> \e$B%G%#%l%/%F%#%V$,\e(B + \e$B$d\e(B -
+    \e$BIU$-$G;XDj$5$l$?>l9g$O%*%W%7%g%s$NCM$O%^!<%8$5$l$^$9!#\e(B
+    + \e$B$rF,$K$D$1$l$P8=:_$N@_Dj$K2C$($i$l!"\e(B-
+    \e$B$rIU$1$l$P8=:_$N@_Dj$+$i:o=|$5$l$^$9!#\e(B
+
+    <p>\e$BNc$($P!"\e(B+ \e$B$d\e(B - \e$B$rMxMQ$7$J$$>l9g$O\e(B:</p>
+
+    <blockquote>
+      <code>&lt;Directory /web/docs&gt;<br />
+       Options Indexes FollowSymLinks<br />
+       &lt;/Directory&gt;<br />
+       &lt;Directory /web/docs/spec&gt;<br />
+       Options Includes<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+
+    /web/docs/spec \e$B$H$$$&%G%#%l%/%H%j$K$O!"\e(B<code>Includes</code>
+    \e$B$@$1$,E,MQ$5$l$^$9!#$7$+$7!"\e(B2 \e$BHVL\$N\e(B <code>Options</code> \e$B$G\e(B
+    + \e$B$d\e(B - \e$B$rMxMQ$7$F$_$k$H\e(B:
+
+    <blockquote>
+      <code>&lt;Directory /web/docs&gt;<br />
+       Options Indexes FollowSymLinks<br />
+       &lt;/Directory&gt;<br />
+       &lt;Directory /web/docs/spec&gt;<br />
+       Options +Includes -Indexes<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+
+    /web/docs/spec \e$B$H$$$&%G%#%l%/%H%j$K$O!"\e(B <code>FollowSymLinks</code>
+    \e$B$H\e(B <code>Includes</code> \e$B$,E,MQ$5$l$^$9!#\e(B
+    
+
+    <p><strong>\e$BCm0U\e(B:</strong> <code>-IncludesNOEXEC</code> \e$B<c$7$/$O\e(B
+    <code>-Includes</code>
+    \e$B$r;XDj$9$k$H!"A0$N@_Dj$,$I$N$h$&$K$J$C$F$$$h$&$H$b\e(B SSI
+    \e$B$OL58z$H$J$j$^$9!#\e(B</p>
+
+    <p>\e$B$I$N$h$&$J@_Dj$b$5$l$F$$$J$1$l$P!"%G%U%)%k%H$G$O\e(B
+    <code>All</code> \e$B$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="pidfile" name="pidfile">PidFile \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> PidFile
+    <em>\e$B%U%!%$%k%Q%9\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>PidFile
+    logs/httpd.pid</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>PidFile \e$B%G%#%l%/%F%#%V$O%5!<%P$,%G!<%b%s$N%W%m%;%9\e(B ID
+    \e$B$r5-O?$9$k%U%!%$%k$r@_Dj$7$^$9!#%U%!%$%kL>$,%9%i%C%7%e\e(B
+    (/) \e$B$+$i;O$a$i$l$F$$$J$1$l$P!"\e(BServerRoot \e$B$+$i$NAjBP%Q%9$H$J$j$^$9!#\e(B
+    PidFile \e$B$O\e(B <a href="#servertype">standalone</a>
+    \e$B%b!<%I$G$N$_;HMQ$G$-$^$9!#\e(B</p>
+
+    <p><a
+    href="#errorlog">ErrorLog</a> \e$B$H\e(B TransferLog \e$B$rJD$8$F3+$-D>$7$F!"\e(B
+    \e$B@_Dj%U%!%$%k$r:FFI$_9~$_$5$;$k$3$H$,$G$-$k$h$&$K%5!<%P$K\e(B
+    \e$B%7%0%J%k$rAw$k$3$H$,$G$-$l$PJXMx$J$3$H$,$"$j$^$9!#\e(B
+    \e$B$3$l$O!"\e(BSIGHUP (kill -1) \e$B%7%0%J%k$r\e(B PidFile
+    \e$B$K5-:\$5$l$F$$$k%W%m%;%9\e(B ID \e$B$KAw$k$3$H$K$h$C$F2DG=$G$9!#\e(B</p>
+
+    <p>PidFile \e$B$O%m%0%U%!%$%k$N>l=j$H\e(B <a
+    href="../misc/security_tips.html#serverroot">\e$B0BA4@-\e(B</a>\e$B$HF1$8$h$&$J\e(B
+    \e$BCm0U$,I,MW$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="port" name="port">Port \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Port
+    <em>number</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>Port
+    80</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p><em>number</em>\e$B$K$O!"\e(B0 \e$B$+$i\e(B 65535
+    \e$B$^$G$NHV9f$r;XDj$7$^$9!#$$$/$D$+$N%]!<%HHV9f\e(B (\e$BFC$K\e(B1024\e$BHV0JA0\e(B) 
+    \e$B$O!"FCDj$N%W%m%H%3%k$N$?$a$KM=Ls$5$l$F$$$^$9!#\e(B
+    <code>/etc/services</code>
+    \e$B$r8+$k$H!"Dj5A$5$l$F$$$k%]!<%H$N0lMw$,$"$j$^$9!#DL>o!"\e(BHTTP
+    \e$B%W%m%H%3%k$NI8=`$N%]!<%H$O\e(B 80 \e$B$G$9!#\e(B</p>
+
+    <p>Port \e$B%G%#%l%/%F%#%V$O!"Fs$D$N0UL#$r;}$C$F$*$j!"0l$D$O\e(B
+    NCSA \e$B$N>e0L8_49$H$7$F$NI,MW@-$G$9\e(B (Apache
+    \e$B$N@_Dj$G$O:.F1$7$d$9$$E@$G$9\e(B)</p>
+    <ul>
+      <li>\e$B%]!<%HHV9f$r;XDj$7$F$$$k\e(B <a href="#listen">Listen</a> \e$B$d\e(B <a
+      href="#bindaddress">BindAddress</a> \e$B$,$J$1$l$P!"<g%5!<%PFb\e(B
+      (<a href="#virtualhost">&lt;VirtualHost&gt;</a> \e$B%;%/%7%g%s30\e(B)
+      \e$B$K5-=R$9$k$3$H$K$h$C$F!"%5!<%P$,\e(B listen
+      \e$B$9$k%]!<%H$NHV9f$r;XDj$G$-$^$9!#\e(BListen \e$B<c$7$/$O\e(B BindAddress
+      \e$B$K$*$$$F\e(B <code>:number</code> \e$B$H$$$C$?;XDj$,$5$l$F$$$l$P!"\e(BPort
+      \e$B$O%5!<%P$,\e(B listen \e$B$9$k%]!<%H$K$O1F6A$7$^$;$s!#\e(B</li>
+
+      <li>Port \e$B%G%#%l%/%F%#%V$NCM$O!"\e(B<code>SERVER_PORT</code> \e$B4D6-JQ?t\e(B
+      (<a href="mod_cgi.html">CGI</a> \e$B$d\e(B
+      <a href="mod_include.html">SSI</a> \e$B$K$*$$$F@_Dj$5$l$k\e(B)
+      \e$B$r@_Dj$7!"%5!<%P$,<+J,<+?H$r;2>H$9$k\e(B URL \e$B$r@8@.$9$k\e(B
+      (\e$BNc$($P!"<+J,<+?H$X30It%j%@%$%l%/%H$r:n@.$9$k>l9g$J$I\e(B)
+      \e$B>l9g$KMxMQ$5$l$^$9!#$3$NF0:n$O\e(B <a
+      href="#usecanonicalname">UseCanonicalName</a>
+      \e$B$K$h$jJQ99$G$-$^$9!#\e(B</li>
+    </ul>
+
+    Port \e$B%G%#%l%/%F%#%V$N<g$JF0:n$O!"\e(B<a href="#servername">ServerName</a>
+    \e$B%G%#%l%/%F%#%V$HF1MM$N$b$N$H$_$J$9$3$H$,$G$-$^$9!#\e(B
+    ServerName \e$B$H\e(B Port
+    \e$B$O!"%5!<%P$N\e(B<em>\e$B@5<0$J\e(B</em>\e$B%"%I%l%9$,!"2?$G$"$k$+$r;XDj$7$^$9!#\e(B
+
+    <p>80 \e$BHV%]!<%H$O!"\e(BUNIX \e$B$NFCJL$J%]!<%H$N0l$D$G$9!#\e(B1024
+    \e$BHVL$K~$N$9$Y$F$N%]!<%H$O%7%9%F%`$,;HMQ$9$k$?$a$KM=Ls$5$l$F$$$^$9!#\e(B
+    <em>\e$B$9$J$o$A\e(B</em>\e$B!"0lHL%f!<%6\e(B (root \e$B0J30\e(B) \e$B$O;HMQ$9$k$3$H$,$G$-$^$;$s!#\e(B
+    \e$B0lHL%f!<%6$O$=$l0J>e$N%]!<%H$7$+;HMQ$G$-$^$;$s!#$=$N$?$a!"\e(B
+    80 \e$BHV%]!<%H$r;HMQ$9$k$K$O!"\e(Broot
+    \e$B%"%+%&%s%H$G%5!<%P$r5/F0$7$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B5/F08e$K!"%]!<%H$r%P%$%s%I$7$?8e!"%j%/%(%9%H$r<u$1IU$1$kA0$K\e(B
+    Apache \e$B$O\e(B <a href="#user">User
+    \e$B%G%#%l%/%F%#%V\e(B</a>\e$B$G;XDj$5$l$?!"$h$jFC8"$NDc$$%f!<%6$K0\9T$7$^$9!#\e(B</p>
+
+    <p>\e$B$b$7!"\e(B80 \e$BHV%]!<%H$r;HMQ$G$-$J$$>l9g$K$O!"\e(B
+    \e$B;HMQ$7$F$$$J$$B>$NG$0U$N%]!<%H$rA*$s$G$/$@$5$$!#\e(Broot \e$B0J30$N%f!<%6$J$i!"\e(B
+    8000 \e$B$J$I$N$h$&$K\e(B 1023 \e$B$h$j>e$N%]!<%H$rA*$s$G2<$5$$!#\e(B</p>
+
+    <p>\e$B%;%-%e%j%F%#\e(B: \e$B$b$7!"\e(Broot \e$B$K$h$C$F%5!<%P$r5/F0$7$?$J$i!"\e(B
+    <a href="#user">User</a> \e$B$r\e(B root \e$B0J30$K@_Dj$7$F$/$@$5$$!#@\B3$r\e(B
+    root \e$B$G07$&$H!"%5%$%H$O=EBg$J%;%-%e%j%F%#967b$K$5$i$5$l$k\e(B
+    \e$B2DG=@-$,$"$j$^$9!#\e(B </p>
+    <hr />
+
+    <h2><a id="protocolreqcheck" name="protocolreqcheck">ProtocolReqCheck
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ProtocolReqCheck
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ProtocolReqCheck
+    on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B
+    <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    ProtocolReqCheck \e$B$O\e(B Apache 1.3.27 \e$B0J9_$G$N$_;HMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B Request \e$B9T$N\e(B Protocol
+    \e$B%U%#!<%k%I$N87L)$J%A%'%C%/$r9T$&$h$&$K$7$^$9!#\e(BApache \e$B$N\e(B 1.3.26
+    \e$B0JA0$N%P!<%8%g%s$O\e(B (<code>HTTP-1.1</code> \e$B$N$h$&$J\e(B) \e$B4V0c$C$?\e(B
+    Protocol \e$B$rL[$C$F<u$1IU$1$F!"\e(B<code>HTTP/1.0</code>
+    \e$B$H$_$J$7$F$$$^$7$?!#$3$N%P!<%8%g%s$G$O$=$&$G$O$J$/!"\e(BProtocol
+    \e$B%U%#!<%k%I$O@5$7$$$b$N$G$J$1$l$P$J$i$J$/$J$j$^$7$?!#\e(B
+    1.3.26 \e$B0JA0$NF0:n$,K>$^$7$+$C$?$j!"I,MW$@$C$?$j$9$k>l9g$O\e(B
+    <code>ProtocolReqCheck off</code>
+    \e$B$H@_Dj$9$k$3$H$K$h$j87L)$J%A%'%C%/$r$7$J$$$h$&$K$G$-$^$9!#\e(B</p>
+
+     <hr />
+
+    <h2><a id="require" name="require">Require \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Require
+    <em>entity-name</em> [<em>entity-name</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"$I$NG'>Z:Q$_$N%f!<%6$,%j%=!<%9$K\e(B
+    \e$B%"%/%;%9$9$k$3$H$,$G$-$k$+$r;XDj$7$^$9!#\e(B
+    \e$B0J2<$N$h$&$J9=J8$K$J$j$^$9!#\e(B</p>
+
+    <ul>
+      <li>
+        Require user <em>userid</em> [<em>userid</em>] ... 
+
+        <p>\e$B;XDj$5$l$?%f!<%6$N$_!"%j%=!<%9$X$N%"%/%;%9$r5v2D$7$^$9!#\e(B</p>
+      </li>
+
+      <li>
+        Require group <em>group-name</em> [<em>group-name</em>] ...
+        
+
+        <p>\e$B;XDj$5$l$?%0%k!<%W$KB0$9$k%f!<%6$N$_!"%j%=!<%9$X$N%"%/%;%9$r5v2D$7$^$9!#\e(B</p>
+      </li>
+
+      <li>
+        Require valid-user 
+
+        <p>\e$B$9$Y$F$NG'>Z$5$l$?%f!<%6$K!"%j%=!<%9$X$N%"%/%;%9$r5v2D$7$^$9!#\e(B</p>
+      </li>
+      <li>file-owner
+        <p>\e$BL>A0$,%U%!%$%k$N=jM-<T$N%7%9%F%`$G$NL>A0$K9g$&%f!<%6$@$1$,\e(B
+        \e$B%j%=!<%9$r%"%/%;%9$G$-$^$9!#\e(B<br />
+        [Apache 1.3.20 \e$B0J9_$G;HMQ2DG=\e(B]</p>
+      </li>
+      <li>file-group
+        <p>\e$B%U%!%$%k$N=jM-<T$N%0%k!<%W$N%7%9%F%`$G$NL>A0$K9g$&%0%k!<%W$N%a%s%P$@$1$,\e(B
+        \e$B%j%=!<%9$K%"%/%;%9$G$-$^$9!#\e(B<br />[Apache 1.3.20 \e$B0J9_$G;HMQ2DG=\e(B]</p>
+      </li>
+    </ul>
+
+    <p>Require \e$B$O!"@5$7$/F0:n$9$k$?$a$K$O\e(B <a
+    href="#authname">AuthName</a> \e$B5Z$S\e(B <a
+    href="#authtype">AuthType</a> \e$B%G%#%l%/%F%#%V$d!"\e(B
+    <a
+    href="mod_auth.html#authuserfile">AuthUserFile</a> \e$B5Z$S\e(B <a 
+    href="mod_auth.html#authgroupfile">AuthGroupFile</a>
+    (\e$B%f!<%6$H%0%k!<%W$r;XDj$9$k$?$a$K\e(B) \e$B$H$$$C$?%G%#%l%/%F%#%V$H6&$K\e(B
+    \e$B;XDj$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$BNc$($P\e(B:</p>
+
+    <blockquote>
+      <code>AuthType Basic<br />
+       AuthName "Restricted Directory"<br />
+       AuthUserFile /web/users<br />
+       AuthGroupFile /web/groups<br />
+       Require group admin<br />
+      </code>
+    </blockquote>
+    \e$B%"%/%;%9@)8f$O!"\e(B<strong>\e$B$9$Y$F$N\e(B</strong>\e$B%a%=%C%I$KBP$7$F9T$o$l$^$9!#\e(B
+    <strong>\e$BDL>o$O!"$3$l$,K>$^$7$$F0:n$G$9!#\e(B</strong>
+    \e$B$b$7!"FCDj$N%a%=%C%I$KBP$7$F$N$_%"%/%;%9$N@)8f$rE,MQ$7!"\e(B
+    \e$BB>$N%a%=%C%I$O@)8B$7$J$$>l9g$K$O!"\e(B<a
+    href="#limit">&lt;Limit&gt;</a> \e$B%;%/%7%g%sFb$K\e(B <code>Require</code>
+    \e$B$r;XDj$7$F$/$@$5$$!#\e(B
+
+    <p><a href="#satisfy">Satisfy</a> \e$B5Z$S\e(B <a
+    href="mod_access.html">mod_access</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="resourceconfig" name="resourceconfig">ResourceConfig
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ResourceConfig
+    <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ResourceConfig
+    conf/srm.conf</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$B%U%!%$%kL>$G$O$J$/!"\e(B
+    \e$B%G%#%l%/%H%j$r;XDj$9$k5!G=$O\e(B Apache 1.3.13 \e$B0J9_$G$N$_;HMQ2DG=$G$9!#\e(B
+
+    <p>\e$B%5!<%P$O\e(B httpd.conf \e$B%U%!%$%k$rFI$_9~$s$@8e!"\e(B
+    \e$BDI2C$N%G%#%l%/%F%#%V$r$3$3$G5-$7$?%U%!%$%k$+$iFI$_9~$_$^$9!#\e(B
+    <em>File-path</em>\e$B$O!"\e(B<a href="#serverroot">ServerRoot</a>
+    \e$B$+$i$NAjBP%Q%9$G$9!#\e(B<br />
+    \e$B$3$N5!G=$rL58z$K$9$k$K$O<!$N$h$&$K;XDj$7$^$9!#\e(B</p>
+
+    <blockquote>
+      <code>ResourceConfig /dev/null</code>
+    </blockquote>
+    Win32 \e$B$N>l9g\e(B
+
+    <blockquote>
+      <code>ResourceConfig nul</code>
+    </blockquote>
+
+    \e$B0JA0$O!"%5!<%P@_Dj$K4X$9$k%G%#%l%/%F%#%V$H\e(B <a
+    href="#directory">&lt;\e$B%G%#%l%/%H%j\e(B&gt;</a>
+    \e$B%;%/%7%g%s0J30$N$[$H$s$I$N%G%#%l%/%F%#%V$,=q$+$l$F$$$^$7$?!#\e(B
+    \e$B<B:]!"8=:_$G$O!V%5!<%P@_Dj%U%!%$%k!W%3%s%F%-%9%H$K5-=R$G$-$k$3$H$9$Y$F$,\e(B
+    \e$B5-=R2DG=$K$J$C$F$$$^$9!#\e(B
+    \e$B$?$@!"\e(BApache \e$B$N%P!<%8%g%s\e(B 1.3.4 \e$B0J9_$GG[I[$5$l$F$$$k%G%U%)%k%H$N\e(B 
+    <code>srm.conf</code> \e$B$G$O$3$N%U%!%$%kFb$K$O%3%a%s%H$7$+=q$+$l$F$*$i$:!"\e(B
+    \e$B$9$Y$F$N%G%#%l%/%F%#%V$,%5!<%P@_Dj%U%!%$%k$N\e(B <code>httpd.conf</code>
+    \e$B$K5-=R$5$l$F$$$^$9!#\e(B
+
+    <p>
+    <code>ResourceConfig</code>
+    \e$B$,%U%!%$%k$G$O$J$/%G%#%l%/%H%j$r;XDj$7$F$$$l$P!"\e(BApache
+    \e$B$O$=$N%G%#%l%/%H%jFb$H$9$Y$F$N%5%V%G%#%l%/%H%jFb$N$9$Y$F$N%U%!%$%k$r\e(B
+    \e$BFI$_9~$_!"$=$l$i$r@_Dj%U%!%$%k$H$7$F=hM}$7$^$9!#\e(B</p>
+    <p>\e$BBe$o$j$K!"%o%$%k%I%+!<%I$r;H$C$FHO0O$r9J$k$3$H$b$G$-$^$9!#\e(B
+    \e$B$9$J$o$A!"\e(B*.conf \e$B%U%!%$%k$N$_!"$H$$$C$?$h$&$K!#\e(B</p>
+    <p>\e$B%G%U%)%k%H$G$O;XDj$5$l$?%G%#%l%/%H%j$N!V\e(B<em>\e$B$I$N$h$&$J\e(B</em>\e$B!W\e(B
+    \e$B%U%!%$%k$G$b@_Dj%U%!%$%k$H$7$FFI$_9~$^$l$^$9!#\e(B</p>
+    <p>\e$B$G$9$+$i8m$C$F\e(B (\e$BNc$($P%(%G%#%?$G%F%s%]%i%j%U%!%$%k$r:n@.$9$kEy\e(B)
+    \e$B%U%!%$%k$rCV$+$J$$$h$&$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="#accessconfig">AccessConfig</a></p>
+    <hr />
+
+    <h2><a id="rlimit" name="rlimit">RLimitCPU</a> <a
+    id="rlimitcpu" name="rlimitcpu">\e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> RLimitCPU
+    <em>number</em>|max [<em>number</em>|max] <br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>Unset; uses
+    operating system defaults</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> RLimitCPU \e$B$O\e(B Apache 1.2
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B0l$D$+Fs$D$N%Q%i%a!<%?$r;XDj$G$-$^$9!#\e(B
+    \e$B:G=i$N%Q%i%a!<%?$OA4%W%m%;%9$KBP$9$k%j%=!<%9$N%=%U%H%j%_%C%H$r@_Dj$7!"\e(B
+    2 \e$BHVL\$N%Q%i%a!<%?$O:GBg$N%j%=!<%9%j%_%C%H$r@_Dj$7$^$9!#\e(B
+    \e$B%Q%i%a!<%?$K$O?t;z$+!"%*%Z%l!<%F%#%s%0%7%9%F%`$N:GBg$H$J$k\e(B
+    <code>max</code> \e$B$N$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B:GBg$N%j%=!<%9%j%_%C%H$r>e$2$k$?$a$K$O!"%5!<%P$r\e(B root
+    \e$B$G<B9T$9$k$+!"\e(Broot \e$B$K$h$C$F5/F0$5$l$J$1$l$P$$$1$^$;$s!#\e(B </p>
+
+    <p>\e$B$A$J$_$K!"$3$N@_Dj$O\e(B Apache
+    \e$B$N;R%W%m%;%9<+BN$G$O$J$/!"%j%/%(%9%H$r<u$1IU$1$?\e(B Apache
+    \e$B$N;R%W%m%;%9$+$i\e(B fork \e$B$5$l$?%W%m%;%9$KE,MQ$5$l$^$9!#$3$l$K$O\e(B
+    CGI \e$B$d\e(B SSI \e$B$+$i<B9T$5$l$?%3%^%s%I$,4^$^$l$^$9$,!"\e(BApache
+    \e$B$N?F%W%m%;%9$+$i\e(B fork \e$B$5$l$?%m%0$N%Q%$%W%W%m%;%9$J$I$K$OE,MQ$5$l$^$;$s!#\e(B</p>
+
+    <p>CPU \e$B%j%=!<%9$N%j%_%C%H$O%W%m%;%9$"$?$j$NIC?t$GI=$o$5$l$^$9!#\e(B</p>
+
+    <p><a href="#rlimitmem">RLimitMEM</a> \e$B$d\e(B <a
+    href="#rlimitnproc">RLimitNPROC</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="rlimitmem" name="rlimitmem">RLimitMEM
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> RLimitMEM
+    <em>number</em>|max [<em>number</em>|max]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>Unset; uses
+    operating system defaults</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> RLimitMEM \e$B$O\e(B Apache 1.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B0l$D$+Fs$D$N%Q%i%a!<%?$r;XDj$G$-$^$9!#\e(B
+    \e$B:G=i$N%Q%i%a!<%?$OA4%W%m%;%9$KBP$9$k%j%=!<%9$N%=%U%H%j%_%C%H$r@_Dj$7!"\e(B
+    2 \e$BHVL\$N%Q%i%a!<%?$O:GBg$N%j%=!<%9%j%_%C%H$r@_Dj$7$^$9!#\e(B
+    \e$B%Q%i%a!<%?$K$O?t;z$+!"%*%Z%l!<%F%#%s%0%7%9%F%`$N:GBg$H$J$k\e(B
+    <code>max</code> \e$B$N$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B:GBg$N%j%=!<%9%j%_%C%H$r>e$2$k$?$a$K$O!"%5!<%P$r\e(B root
+    \e$B$G<B9T$9$k$+!"\e(Broot \e$B$K$h$C$F5/F0$5$l$J$1$l$P$$$1$^$;$s!#\e(B </p>
+
+    <p>\e$B$A$J$_$K!"$3$N@_Dj$O\e(B Apache
+    \e$B$N;R%W%m%;%9<+BN$G$O$J$/!"%j%/%(%9%H$r<u$1IU$1$?\e(B Apache
+    \e$B$N;R%W%m%;%9$+$i\e(B fork \e$B$5$l$?%W%m%;%9$KE,MQ$5$l$^$9!#$3$l$K$O\e(B
+    CGI \e$B$d\e(B SSI \e$B$+$i<B9T$5$l$?%3%^%s%I$,4^$^$l$^$9$,!"\e(BApache
+    \e$B$N?F%W%m%;%9$+$i\e(B fork \e$B$5$l$?%m%0$N%Q%$%W%W%m%;%9$J$I$K$OE,MQ$5$l$^$;$s!#\e(B</p>
+
+    <p>\e$B%a%b%j%j%=!<%9$N%j%_%C%H$O%W%m%;%9$"$?$j$N%P%$%H?t$GI=$5$l$^$9!#\e(B</p>
+
+    <p><a href="#rlimitcpu">RLimitCPU</a> \e$B$d\e(B <a
+    href="#rlimitnproc">RLimitNPROC</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="rlimitnproc" name="rlimitnproc">RLimitNPROC
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> RLimitNPROC
+    <em>number</em>|max [<em>number</em>|max]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>Unset; uses
+    operating system defaults</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> RLimitNPROC \e$B$O\e(B Apache 1.2 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B0l$D$+Fs$D$N%Q%i%a!<%?$r;XDj$G$-$^$9!#\e(B
+    \e$B:G=i$N%Q%i%a!<%?$OA4%W%m%;%9$KBP$9$k%j%=!<%9$N%=%U%H%j%_%C%H$r@_Dj$7!"\e(B
+    2 \e$BHVL\$N%Q%i%a!<%?$O:GBg$N%j%=!<%9%j%_%C%H$r@_Dj$7$^$9!#\e(B
+    \e$B%Q%i%a!<%?$K$O?t;z$+!"%*%Z%l!<%F%#%s%0%7%9%F%`$N:GBg$H$J$k\e(B
+    <code>max</code> \e$B$N$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B:GBg$N%j%=!<%9%j%_%C%H$r>e$2$k$?$a$K$O!"%5!<%P$r\e(B root
+    \e$B$G<B9T$9$k$+!"\e(Broot \e$B$K$h$C$F5/F0$5$l$J$1$l$P$$$1$^$;$s!#\e(B </p>
+
+    <p>\e$B$A$J$_$K!"$3$N@_Dj$O\e(B Apache
+    \e$B$N;R%W%m%;%9<+BN$G$O$J$/!"%j%/%(%9%H$r<u$1IU$1$?\e(B Apache
+    \e$B$N;R%W%m%;%9$+$i\e(B fork \e$B$5$l$?%W%m%;%9$KE,MQ$5$l$^$9!#$3$l$K$O\e(B
+    CGI \e$B$d\e(B SSI \e$B$+$i<B9T$5$l$?%3%^%s%I$,4^$^$l$^$9$,!"\e(BApache 
+    \e$B$N?F%W%m%;%9$+$i\e(B fork \e$B$5$l$?%m%0$N%Q%$%W%W%m%;%9$J$I$K$OE,MQ$5$l$^$;$s!#\e(B</p>
+
+    <p>\e$B%W%m%;%9$N@)8B$O!"%f!<%6$"$?$j$N%W%m%;%9?t$G@)8f$5$l$^$9!#\e(B</p>
+
+    <p>\e$BCm0UE@\e(B: CGI \e$B%W%m%;%9$,%&%'%V%5!<%P$N%f!<%6\e(B ID
+    \e$B0J30$G<B9T$5$l$k$N$G\e(B<strong>\e$BL5$1$l$P\e(B</strong>\e$B!"$3$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%5!<%P<+?H$,@8@.$G$-$k%W%m%;%9$N?t$r@)8B$9$k$3$H$K$J$j$^$9!#\e(B
+    \e$B$=$N$h$&$J>u67$K$J$C$F$$$k$+$I$&$+$O!"%(%i!<%m%0$NCf$N\e(B
+    <strong><em>cannot fork</em></strong>
+    \e$B$H$$$&%a%C%;!<%8$K$h$j3NG'$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><a href="#rlimitcpu">RLimitCPU</a> \e$B$d\e(B <a
+    href="#rlimitcpu">RLimitCPU</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="satisfy" name="satisfy">Satisfy \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Satisfy any|all<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> Satisfy all<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Satisfy \e$B$O\e(B Apache 1.2
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p><code>Allow</code> \e$B$H\e(B <code>Require</code>
+    \e$B$NN>J}$,;H$o$l$F$$$k$H$-$N%"%/%;%9%]%j%7!<$r@_Dj$7$^$9!#%Q%i%a!<%?$O\e(B
+    <em>'all'</em> \e$B$+\e(B <em>'any'</em>
+    \e$B$G$9!#$3$N%G%#%l%/%F%#%V$O$"$k>l=j$X$N%"%/%;%9$,%f!<%6L>\e(B/\e$B%Q%9%o!<%I\e(B
+    <em>\e$B$H\e(B</em>\e$B%/%i%$%"%s%H$N%[%9%H$N%"%I%l%9$G@)8B$5$l$F$$$k$H$-$K$N$_\e(B
+    \e$BLrN)$A$^$9!#%G%U%)%k%H$NF0:n\e(B ("all")
+    \e$B$O%/%i%$%"%s%H$,%"%I%l%9$K$h$k%"%/%;%9@)8B$rK~$?$7!"\e(B
+    <em>\e$B$+$D\e(B</em>\e$B@5$7$$%f!<%6L>$H%Q%9%o!<%I$rF~NO$9$k$3$H$rMW5a$7$^$9!#\e(B
+    "any" \e$B$G$O!"%/%i%$%"%s%H$O%[%9%H$N@)8B$rK~$?$9$+!"\e(B
+    \e$B@5$7$$%f!<%6L>$H%Q%9%o!<%I$NF~NO$r$9$k$+$r$9$l$P%"%/%;%9$r5v2D$5$l$^$9!#\e(B
+    \e$B$3$l$O!"$"$k>l=j$r%Q%9%o!<%I$GJ]8n$9$k$1$l$I!"FCDj$N%"%I%l%9$+$i$N\e(B
+    \e$B%/%i%$%"%s%H$K$O%Q%9%o!<%I$NF~NO$rMW5a$;$:$K%"%/%;%9$r5v2D$9$k!"\e(B
+    \e$B$H$$$&$h$&$J$H$-$K;HMQ$G$-$^$9!#\e(B</p>
+
+    <p><a href="#require">Require</a> \e$B$H\e(B <a
+    href="mod_access.html#allow">Allow</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="scoreboardfile" name="scoreboardfile">ScoreBoardFile
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScoreBoardFile
+    <em>\e$B%U%!%$%k%Q%9\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ScoreBoardFile
+    logs/apache_status</code> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B%"!<%-%F%/%A%c$K$h$C$F$O!"%5!<%P$N?F%W%m%;%9$H;R%W%m%;%9$,\e(B
+    \e$BDL?.$9$k$?$a$N%U%!%$%k$rCV$/>l=j$r;XDj$9$k$?$a$K\e(B ScoreBoardFile
+    \e$B%G%#%l%/%F%#%V$r;H$&I,MW$,$"$k$3$H$,$"$j$^$9!#\e(B
+    \e$B;HMQ$7$F$$$k%"!<%-%F%/%A%c$,\e(B scoreboard
+    \e$B%U%!%$%k$rI,MW$H$7$F$$$k$+$I$&$+$rD4$Y$k0lHV4JC1$JJ}K!$O\e(B Apache
+    \e$B$r<B9T$7$F$3$N%G%#%l%/%F%#%V$G;XDj$5$l$F$$$k\e(B
+    \e$B%U%!%$%k$r:n@.$9$k$+$I$&$+$r8+$k$3$H$G$9!#\e(B
+    \e$B;HMQ$7$F$$$k%"!<%-%F%/%A%c$G$3$l$,I,MW$J>l9g$O!"$3$N%U%!%$%k$r;H$&\e(B
+    Apache \e$B$O0l$D$@$1$G$"$k$3$H$r3N<B$K$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>ScoreBoardFile \e$B$r;H$&I,MW$,$"$k>l9g$O!"$=$l$r\e(B RAM
+    \e$B%G%#%9%/>e$KCV$/$3$H$GB.EY$,8~>e$9$k$G$7$g$&!#\e(B
+    \e$B$?$@$7!"%m%0%U%!%$%k$N0LCV$H\e(B
+    <a href="../misc/security_tips.html">\e$B%;%-%e%j%F%#\e(B</a>\e$B$K4X$9$k\e(B
+    \e$B7Y9p$r==J,Cm0U$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>Apache 1.2 \e$B0J9_\e(B:</p>
+
+    <p>Linux 1.x \e$B%f!<%6$O\e(B <code>Configuration</code> \e$B$N\e(B
+    <code>EXTRA_CFLAGS</code> \e$B$K\e(B <code>-DHAVE_SHMGET</code> \e$B$r\e(B
+    \e$B@_Dj$9$k$3$H$,$G$-$k$+$b$7$l$^$;$s!#$3$l$O!"\e(B1.x
+    \e$B$N$$$/$D$+$G$OF0:n$7$^$9$,!"\e(B
+    \e$B$9$Y$F$GF0:n$9$k$H$$$&$o$1$G$O$"$j$^$;$s!#\e(B(1.3b4 \e$B$h$jA0$G$O\e(B
+    <code>HAVE_SHMGET</code> \e$B$G==J,$G$7$?!#\e(B)</p>
+
+    <p>SVR4 \e$B%f!<%6$O\e(B <code>Configuration</code> \e$B$N\e(B
+    <code>EXTRA_CFLAGS</code> \e$B$K\e(B <code>-DUSE_SHMGET_SCOREBOARD</code>
+    \e$B$rDI2C$9$k$3$H$r9MN8$7$?J}$,NI$$$G$7$g$&!#\e(B
+    \e$B$3$l$OF0:n$9$k$H9M$($i$l$F$$$^$9$,!"\e(B1.2
+    \e$B$N%j%j!<%9$^$G$K%F%9%H$r$9$k$3$H$O$G$-$^$;$s$G$7$?!#\e(B(1.3b4
+    \e$B$h$jA0$G$O\e(B <code>HAVE_SHMGET</code> \e$B$G==J,$G$7$?!#\e(B)</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="../stopping.html">Apache \e$B$NDd;_$H:F5/F0\e(B</a></p>
+    <hr />
+
+    <h2><a id="scriptinterpretersource"
+    name="scriptinterpretersource">ScriptInterpreterSource
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScriptInterpreterSource
+    registry|script<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>ScriptInterpreterSource script</code> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core (Windows \e$B$N$_\e(B) 
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BApache 1.3.5 \e$B0J9_$G\e(B CGI
+    \e$B%9%/%j%W%H$r<B9T$9$k>l9g$KMxMQ$9$k%$%s%?!<%W%j%?$r!"\e(B
+    \e$B$I$N$h$&$KC5$7=P$9$+$K$D$$$F@)8f$9$k$?$a$K;HMQ$7$^$9!#\e(B
+    \e$B%G%U%)%k%H$N>l9g$O%9%/%j%W%H$N\e(B #!
+    \e$B9T$K;X$5$l$F$$$k%$%s%?!<%W%j%?$r;HMQ$7$^$9$,\e(B
+    ScriptInterpreterSource registry
+    \e$B$r;XDj$9$k$H!"%9%/%j%W%H%U%!%$%k$N3HD%;R\e(B (\e$BNc$($P!"\e(B .pl)
+    \e$B$r%-!<$H$7$F!"\e(BWindows \e$B$N%l%8%9%H%j$r8!:w$9$k$h$&$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="sendbuffersize" name="sendbuffersize">SendBufferSize
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> SendBufferSize
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>\e$B%5!<%P$O!"\e(BTCP
+    \e$B%P%C%U%!$N%5%$%:$r;XDj$5$l$?%P%$%H?t$K@_Dj$7$^$9!#9bB.$GBg$-$JCY1d\e(B
+    (<em>\e$BNc$($P\e(B</em>\e$B!"\e(B100ms \e$BDxEY$"$k$h$&$J9bB.$JBgN&2#CG2s@~$J$I\e(B)
+    \e$B$N$"$k>l9g$K!"%5%$%:$rI8=`$N\e(B OS
+    \e$B$N%G%U%)%k%H0J>e$KBg$-$/$9$k$?$a$KHs>o$KM-MQ$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="serveradmin" name="serveradmin">ServerAdmin
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerAdmin
+    <em>email-address</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>ServerAdmin
+    \e$B$O!"%/%i%$%"%s%H$KJV$9$5$^$6$^$J%(%i!<%a%C%;!<%8Cf$K5-=R$9$k!"\e(B
+    \e$BEE;R%a!<%k$N%"%I%l%9$r@_Dj$7$^$9!#\e(B</p>
+
+    <p>\e$B$=$N:]!"$3$l$N$?$a$K@lMQ$N%"%I%l%9$r@_Dj$9$k$N$,NI$$$G$7$g$&!#\e(B
+    <em>\e$BNc$($P!"\e(B</em></p>
+
+    <blockquote>
+      <code>ServerAdmin www-admin@foo.bar.com</code>
+    </blockquote>
+    \e$B$H$$$C$?$h$&$K$7$^$9!#%f!<%6$O$$$D$b%5!<%P$K4X$9$kOC$G$"$k$H$$$&$3$H$r\e(B
+    \e$BL@5-$7$F$/$k$o$1$G$O$"$j$^$;$s$N$G!#\e(B
+
+    <hr />
+
+    <h2><a id="serveralias" name="serveralias">ServerAlias
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerAlias
+    <em>hostname</em> [<em>hostname</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ServerAlias \e$B$O\e(B Apache 1.1
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>ServerAlias\e$B%G%#%l%/%F%#%V$O!"\e(B<a
+    href="../vhosts/name-based.html">\e$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</a>\e$B$K$*$$$F\e(B
+    \e$B;HMQ$9$k%[%9%H$NJLL>$r;XDj$7$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <pre>
+    &lt;VirtualHost *&gt;
+    ServerName server.domain.com
+    ServerAlias server server2.domain.com server2
+    ...
+    &lt;/VirtualHost&gt;
+    </pre>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="../vhosts/">Apache \e$B%P!<%A%c%k%[%9%H@bL@=q\e(B</a></p>
+    <hr />
+
+    <h2><a id="servername" name="servername">ServerName
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerName
+    <em>fully-qualified-domain-name</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>ServerName \e$B%G%#%l%/%F%#%V$O!"%5!<%P$N%[%9%HL>$r@_Dj$7$^$9!#\e(B
+    \e$B$3$l$O!"%j%@%$%l%/%H$9$k\e(B URL \e$B$r@8@.$9$k:]$KMxMQ$5$l$^$9!#\e(B
+    \e$BFC$K;XDj$,$J$5$l$F$$$J$+$C$?>l9g$K$O!"<+%5!<%P$KIUM?$5$l$F$$$k\e(B
+    IP \e$B%"%I%l%9$+$i?dB,$7$^$9$,!"$3$l$O3N<B$JJ}K!$G$O$J$/!"\e(B
+    \e$B@5$7$$%[%9%HL>$rJV$9$H$b8B$j$^$;$s!#\e(B<br />
+    \e$BNc$($P\e(B:</p>
+    
+    <blockquote>
+      <code>ServerName www.example.com</code>
+    </blockquote>
+    \e$B$r!"%^%7%s$KBP$9$k@5$7$$\e(B (\e$B%a%$%s$N\e(B) \e$BL>A0$,!"\e(B
+    <code>simple.example.com</code> \e$B$G$"$k$H$-$K;H$&$3$H$,$G$-$^$9!#\e(B
+
+    <p><a href="../vhosts/name-based.html">\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</a>
+    \e$B$rMxMQ$7$F$$$k>l9g!"\e(B<a
+    href="#virtualhost"><code>&lt;VirtualHost&gt;</code></a>
+    \e$B%;%/%7%g%sFb$N\e(B <code>ServerName</code>
+    \e$B$O$3$N%P!<%A%c%k%[%9%H$K%^%C%A$9$k$?$a$K2?$,%j%/%(%9%H$N\e(B
+    Host: \e$B%X%C%@$K8=$l$kI,MW$,$"$k$N$+$r;XDj$7$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>:<br />
+     <a href="../dns-caveats.html">DNS \e$B$K4X$9$kLdBj\e(B</a><br />
+     <a href="../vhosts/">Apache\e$B%P!<%A%c%k%[%9%H@bL@=q\e(B</a><br />
+     <a href="#usecanonicalname">UseCanonicalName</a><br />
+     <a href="#namevirtualhost">NameVirtualHost</a><br />
+     <a href="#serveralias">ServerAlias</a><br />
+    </p>
+    <hr />
+
+    <h2><a id="serverpath" name="serverpath">ServerPath
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerPath
+    <em>\e$B%G%#%l%/%H%j%Q%9\e(B</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ServerPath \e$B$O\e(B Apache 1.1
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>ServerPath \e$B%G%#%l%/%F%#%V$O!"\e(B<a
+    href="../vhosts/">\e$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</a>\e$B$K$*$$$FMxMQ$9$k\e(B
+    \e$B%l%,%7!<$J\e(B URL \e$B%Q%9L>$r@_Dj$7$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="../vhosts/">Apache
+    \e$B%P!<%A%c%k%[%9%H@bL@=q\e(B</a></p>
+    <hr />
+
+    <h2><a id="serverroot" name="serverroot">ServerRoot
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerRoot
+    <em>\e$B%G%#%l%/%H%j%Q%9\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ServerRoot
+    /usr/local/apache</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>ServerRoot
+    \e$B%G%#%l%/%F%#%V$O!"%5!<%P$,<g$KMxMQ$9$k%G%#%l%/%H%j$r@_Dj$7$^$9!#\e(B
+    \e$BDL>o!"\e(B<code>conf/</code> \e$B$d\e(B <code>logs/</code>
+    \e$B$H$$$C$?%5%V%G%#%l%/%H%j$,4^$^$l$^$9!#\e(B
+    \e$B$^$?!"B>$N@_Dj%U%!%$%k$K$*$1$kAjBP%Q%9$O!"\e(B
+    \e$B$3$N%G%#%l%/%H%j$+$i$H$J$j$^$9!#\e(B</p>
+
+    <p><a href="../invoking.html">httpd \e$B$N\e(B <code>-d</code> \e$B$K$D$$$F\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p>ServerRoot \e$B$N8"8B$r$I$N$h$&$K@_Dj$9$k$+$K$D$$$F$O\e(B <a
+    href="../misc/security_tips.html#serverroot">\e$B%;%-%e%j%F%#$K4X$9$k3P=q\e(B</a>
+    \e$B$K>pJs$,$"$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="serversignature"
+    name="serversignature">ServerSignature \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerSignature
+    On|Off|EMail<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ServerSignature
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ServerSignature
+    \e$B$O\e(B Apache 1.3 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>ServerSignature \e$B%G%#%l%/%F%#%V$O!"%5!<%P$,@8@.$9$k%I%-%e%a%s%H\e(B
+    (\e$B%(%i!<%a%C%;!<%8!"\e(Bmod_proxy \e$B$K$*$1$k\e(B FTP \e$B$N%G%#%l%/%H%j%j%9%H!"\e(B
+    mod_info \e$B$N=PNO!"Ey!9\e(B)
+    \e$B$N:G2<9T$KIUM?$9$k%U%C%?$N@_Dj$r9T$J$$$^$9!#\e(B
+    \e$B$=$N$h$&$J!"%U%C%?9T$rM-8z$K$7$?$$M}M3$H$7$F$O!"\e(B
+    \e$B%W%m%-%7$,J#?tO"$J$C$F$$$k>l9g$K!"%f!<%6$O$I$N%5!<%P$,JV$7$?\e(B
+    \e$B%(%i!<%a%C%;!<%8$+$rCN$k<jCJ$,$[$H$s$IL5$$$+$i$G$9!#\e(B<br />
+    \e$B%G%U%)%k%H$G$"$k\e(B <samp>Off</samp>
+    \e$B$K@_Dj$r$9$k$H!"%(%i!<$N:]$N9T$,M^@)$5$l$^$9!#\e(B
+    (\e$B$=$7$F!"\e(BApache-1.2 \e$B0JA0$H8_49$NF0:n$r$7$^$9\e(B)
+    <samp>On</samp> \e$B$K@_Dj$7$?>l9g$O!"C1$K%I%-%e%a%s%H$NCf$K!"\e(B
+    \e$B%5!<%P$N%P!<%8%g%s!"2TF0Cf$N%P!<%A%c%k%[%9%H$N\e(B <a
+    href="#servername">ServerName</a> \e$B$N=q$+$l$?9T$rDI2C$7!"\e(B
+    <samp>EMail</samp> \e$B$K$7$?>l9g$O$5$i$K;2>H$5$l$?%I%-%e%a%s%H$KBP$9$k\e(B <a
+    href="#serveradmin">ServerAdmin</a> \e$B$r;X$9\e(B "mailto:" \e$B$,DI2C$5$l$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="servertokens" name="servertokens">ServerTokens
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerTokens
+    Minimal|ProductOnly|OS|Full<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ServerTokens
+    Full</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> ServerTokens \e$B$O\e(B Apache 1.3
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+    \e$B$^$?!"\e(B<code>ProductOnly</code> \e$B%-!<%o!<%I$O\e(B Apache 1.3.12
+    \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"%/%i%$%"%s%H$KAw$jJV$9\e(B <samp>Server</samp>
+    \e$B%l%9%]%s%9%X%C%@Fb$K!"%5!<%P$N0lHLE*$J\e(B OS
+    \e$B<oJL$d!"%3%s%Q%$%k$5$l$FAH$_9~$^$l$F$$$k%b%8%e!<%k$N>pJs$r\e(B
+    \e$B4^$a$k$+$I$&$+$r;XDj$7$^$9!#\e(B</p>
+
+    <dl>
+      <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+      <dd>\e$B%5!<%P$O\e(B (\e$BNc$($P\e(B): <samp>Server:
+      Apache</samp> \e$B$H$$$C$?$h$&$KAw$j$^$9!#\e(B</dd>
+
+      <dt><code>ServerTokens Min[imal]</code></dt>
+
+      <dd>\e$B%5!<%P$O\e(B (\e$BNc$($P\e(B): <samp>Server:
+      Apache/1.3.0</samp> \e$B$H$$$C$?$h$&$KAw$j$^$9!#\e(B</dd>
+
+      <dt><code>ServerTokens OS</code></dt>
+
+      <dd>\e$B%5!<%P$O\e(B (\e$BNc$($P\e(B): <samp>Server: Apache/1.3.0
+      (Unix)</samp> \e$B$H$$$C$?$h$&$KAw$j$^$9!#\e(B</dd>
+
+      <dt><code>ServerTokens Full</code> (\e$B$b$7$/$OL$;XDj\e(B)</dt>
+
+      <dd>\e$B%5!<%P$O\e(B (\e$BNc$($P\e(B): <samp>Server: Apache/1.3.0
+      (Unix) PHP/3.0 MyMod/1.2</samp> \e$B$H$$$C$?$h$&$KAw$j$^$9!#\e(B</dd>
+    </dl>
+
+    <p>\e$B$3$N@_Dj$O%5!<%PA4BN$KE,MQ$5$l!"\e(B
+    \e$B%P!<%A%c%k%[%9%H>e$GM-8z$K$7$?$jL58z$K$7$?$j$O$G$-$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="servertype" name="servertype">ServerType
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ServerType
+    <em>type</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ServerType
+    standalone</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>ServerType \e$B%G%#%l%/%F%#%V$O!"%5!<%P$,%7%9%F%`$K$I$N$h$&$K\e(B
+    \e$B<B9T$5$l$k$+$r;XDj$7$^$9!#\e(B
+    <em>Type</em> \e$B$K$O!"<!$N$I$A$i$+$r;XDj$7$^$9!#\e(B</p>
+
+    <dl>
+      <dt>inetd</dt>
+
+      <dd>\e$B%5!<%P$O!"\e(Binetd \e$B%W%m%;%9$+$i<B9T$5$l!"\e(B
+      <code>/etc/inetd.conf</code> \e$B$K5/F0$9$k%3%^%s%I$r5-=R$7$^$9!#\e(B</dd>
+
+      <dt>standalone</dt>
+
+      <dd>\e$B%5!<%P$O!"%G!<%b%s%W%m%;%9$H$7$F<B9T$7!"\e(B
+      \e$B%7%9%F%`$N%9%?!<%H%"%C%W%9%/%j%W%H\e(B
+      (<code>/etc/rc.local</code> \e$B$+\e(B <code>/etc/rc3.d/...</code>)
+      \e$B$K5/F0$9$k%3%^%s%I$r5-=R$7$^$9!#\e(B</dd>
+    </dl>
+
+    Inetd \e$B$O!"$"$^$jMxMQ$5$l$^$;$s!#\e(B
+    \e$B$=$N@_Dj$G$O!"\e(BHTTP \e$B@\B3$r<u$1$kEY$K!"%5!<%P$,\e(B 1
+    \e$B$+$iN)$A>e$2$i$l!"@\B3$,=*N;$7$?8e$K%W%m%0%i%`$b=*N;$7$^$9!#\e(B
+    \e$B$3$l$O!"@\B3$NEY$K$H$F$bIi2Y$,$+$+$j$^$9$,!"\e(B
+    \e$B%;%-%e%j%F%#$rM}M3$K$3$N%*%W%7%g%s$r9%$`4IM}<T$b$$$^$9!#\e(B
+    <font color="red">\e$B$?$@!"\e(BInetd \e$B%b!<%I$O?d>)$5$l$F$*$i$:!"\e(B
+    \e$B:#8e$b$:$C$HMxMQ2DG=$H$$$&$o$1$G$O$"$j$^$;$s!#\e(B
+    \e$B2DG=$J8B$j;H$o$J$$$G$/$@$5$$!#\e(B</font> 
+
+    <p>Standalone \e$B$O!"$:$C$H8zN(E*$G$"$k$?$a!"\e(BServerType
+    \e$B$NI8=`E*$J@_Dj$H$J$C$F$$$^$9!#\e(B
+    \e$B%5!<%P$O0lEY5/F0$5$l$k$H!"$9$Y$F$N@\B3$r=hM}$7$^$9!#\e(B
+    \e$B$b$7!"Ii2Y$N9b$$%5%$%H$G\e(B Apache \e$B$rMxMQ$9$k$D$b$j$G$"$l$P!"\e(B
+    standalone \e$B$OM#0l$N%*%W%7%g%s$H$$$($k$G$7$g$&!#\e(B</p>
+    <hr />
+
+    <h2><a id="shmemuidisuser" name="shmemuidisuser">ShmemUIDisUser
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ShmemUIDisUser
+    <em>on|off</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ShmemUIDisUser
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+
+    <p>ShmemUIDisUser \e$B%G%#%l%/%F%#%V$O\e(B System V
+    \e$B6&M-%a%b%j$K4p$E$$$?%9%3%"%\!<%I$N!"=jM-<T$N\e(B <code>uid</code> \e$B$H\e(B
+    <code>gid</code> \e$B$r%5!<%P$N@_Dj$N\e(B <a href="#user">User</a> \e$B$H\e(B
+    <a href="#group">Group</a> \e$B$KJQ99$9$k$+$I$&$+$r@)8f$7$^$9!#\e(B
+    Apache 1.3.26 \e$B$^$G$N%j%j!<%9$O%G%U%)%k%H$G$3$l$r9T$C$F$$$^$7$?!#\e(B
+    \e$B;R%W%m%;%9$O4{$K6&M-%a%b%j%;%0%a%s%H$K%"%?%C%A$5$l$F$$$^$9$N$G!"\e(B
+    \e$B$=$NF0:n$O\e(B Apache \e$B$NDL>o$NF0:n$K$OI,MW$G$O$J$/!"967b$rKI$0$?$a$K$b!"\e(B
+    Apache \e$B$O$=$N$h$&$JF0:n$r$7$J$/$J$j$^$7$?!#$7$+$7!"FCJL$J>l9g$K$O\e(B
+    \e$B0JA0$NF0:n$,I,MW$K$J$k$3$H$b$"$j!"$=$l$O$3$N%G%#%l%/%F%#%V$r\e(B
+    <code>on</code> \e$B$K$9$k$3$H$G<B8=$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(BSystem V \e$B$K4p$E$$$?%9%3%"%\!<%I$G$O$J$$!"\e(B
+    <code>mmap</code> \e$B$N$h$&$J%7%9%F%`$G$O8zNO$O$"$j$^$;$s!#\e(B
+
+    </p>
+    
+     <hr />
+
+    <h2><a id="startservers" name="startservers">StartServers
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> StartServers
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>StartServers
+    5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>StartServers \e$B%G%#%l%/%F%#%V$O!"5/F0;~$K$I$l$@$1$N%5!<%P;R%W%m%;%9$r\e(B
+    \e$B<B9T$9$k$N$+$r;XDj$7$^$9!#\e(B
+    \e$B%W%m%;%9$N?t$O!"Ii2Y$K$h$C$FF0E*$K@)8f$5$l$k$?$a!"\e(B
+    \e$BIaDL$O$3$N%Q%i%a!<%?$rJQ99$9$kM}M3$O$[$H$s$I$"$j$^$;$s!#\e(B</p>
+
+    <p>Microsoft Windows
+    \e$B$G<B9T$9$k>l9g$K$O!"$3$N%G%#%l%/%F%#%V$O0UL#$r;}$A$^$;$s!#\e(B
+    Windows \e$B$G$O>o$K0l$D$N;R%W%m%;%9$,$9$Y$F$N%j%/%(%9%H$r07$$$^$9!#\e(B
+    \e$B;R%W%m%;%9$NFbIt$G$O!"%j%/%(%9%H$O%9%l%C%I$G=hM}$5$l$^$9!#\e(B
+    <a href="#threadsperchild">ThreadsPerChild</a> \e$B%G%#%l%/%F%#%V$O\e(B
+    \e$B%j%/%(%9%H$r07$&:GBg$N;R%9%l%C%I$N?t$r@)8f$7$^$9$N$G!"\e(BUNIX \e$B$G\e(B
+    <samp>StartServers</samp> \e$B$r;XDj$7$?$N$HF1$8$h$&$J8z2L$K$J$j$^$9!#\e(B</p>
+
+    <p><a href="#minspareservers">MinSpareServers</a> \e$B$d\e(B
+    <a href="#maxspareservers">MaxSpareServers</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="threadsperchild"
+    name="threadsperchild">ThreadsPerChild</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ThreadsPerChild
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ThreadsPerChild
+    50</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core (Windows,
+    NetWare)<br />
+    <strong>\e$B8_49@-\e(B:</strong> Windows \e$B>e$GF0:n$9$k\e(B Apache 1.3
+    \e$B0J9_$K$*$$$F$N$_M-8z\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"%5!<%P$,$I$l$@$1$N%9%l%C%I$r;HMQ$9$k$N$+$r\e(B
+    \e$B;X<($7$^$9!#\e(B
+    \e$B$3$l$,!"%5!<%P$,=hM}$G$-$k:GBg@\B3?t$K$J$j$^$9!#\e(B
+    \e$B$?$/$5$s$N%R%C%H$,$"$k%5%$%H$N>l9g$K$O?tCM$rA}$d$9I,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B$J$*!"$3$N%G%#%l%/%F%#%V$O\e(B UNIX \e$B%7%9%F%`>e$G$O0UL#$r;}$A$^$;$s!#\e(B
+    UNIX \e$B$N>l9g$K$O!"\e(B <a href="#startservers">StartServers</a> \e$B$d\e(B <a
+    href="#maxrequestsperchild">MaxRequestsPerChild</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="threadstacksize"
+    name="threadstacksize">ThreadStackSize</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ThreadStackSize
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>ThreadStackSize
+    65536</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core (NetWare)<br />
+    <strong>\e$B8_49@-\e(B:</strong> NetWare \e$B>e$GF0:n$9$k\e(B Apache 1.3
+    \e$B0J9_$K$*$$$F$N$_M-8z\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"3F%9%l%C%I$N%9%?%C%/$N%5%$%:$r%5!<%P$K;X<($7$^$9!#\e(B
+    \e$B%9%?%C%/$,%*!<%P%U%m!<$9$k$h$&$G$"$l$P!"$h$jBg$-$J?tCM$K@_Dj$9$k\e(B
+    \e$BI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"B>$N%7%9%F%`$N>l9g$K$O0UL#$r;}$A$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="timeout" name="timeout">TimeOut \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> TimeOut
+    <em>\e$B?tCM\e(B</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>TimeOut
+    300</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>TimeOut \e$B%G%#%l%/%F%#%V$O!"8=:_$N$H$3$m\e(B
+    \e$B0J2<$N;0$D$NBT$A;~4V$K$D$$$F$NDj5A$r9T$$$^$9\e(B:</p>
+
+    <ol>
+      <li>GET \e$B%j%/%(%9%H$r<u$1<h$k$N$K$+$+$kAm;~4V\e(B</li>
+
+      <li>POST \e$B$d\e(B PUT\e$B%j%/%(%9%H$K$*$$$F!"<!$N\e(B TCP
+      \e$B%Q%1%C%H$,FO$/$^$G$NBT$A;~4V\e(B</li>
+
+      <li>\e$B%l%9%]%s%9$rJV$9:]!"\e(BTCP \e$B$N\e(B ACK \e$B$,5"$C$F$/$k$^$G$N;~4V\e(B</li>
+    </ol>
+    \e$B>-Mh$K$OJL!9$N@_Dj$r$9$k$3$H$,2DG=$K$G$-$k$h$&9M0FCf$G$9!#\e(B
+    Apache 1.2 \e$B0JA0$K$*$$$F$O%?%$%^!<$O\e(B 1200 \e$B$,%G%U%)%k%H$G$7$?$,!"\e(B
+    300 \e$B$K2<$2$i$l$^$7$?!#\e(B300 \e$B$G$b$[$H$s$I$N>l9g$O==J,$9$.$kCM$G$9!#\e(B
+    \e$B%3!<%ICf$NJQ$J>l=j$K$^$@%Q%1%C%H$rAw$k:]$K%?%$%^$r%j%;%C%H$7$J$$\e(B
+    \e$B>l=j$,$"$k$+$b$7$l$J$$$N$G!"%G%U%)%k%H$r$h$j>.$5$$CM$K$O$7$F$$$^$;$s!#\e(B
+    <hr />
+
+    <h2><a id="usecanonicalname"
+    name="usecanonicalname">UseCanonicalName \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> UseCanonicalName
+    on|off|dns<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>UseCanonicalName
+    on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j\e(B<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Options<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> UseCanonicalName
+    \e$B$O\e(B Apache 1.3 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B
+
+    <p>\e$BB?$/$N>u67$G\e(B Apache \e$B$O\e(B<em>\e$B<+8J;2>H\e(B</em>
+    URL\e$B!"$9$J$o$AF1$8%5!<%P$r;X$9\e(B URL\e$B!"$r:n@.$9$kI,MW$,$"$j$^$9!#\e(B
+    <code>UseCanonicalName on</code> \e$B$r;H$&$H\e(B (1.3
+    \e$B$h$jA0$N$9$Y$F$N%P!<%8%g%s$G$b\e(B) Apache \e$B$O\e(B <a
+    href="#servername">ServerName</a> \e$B%G%#%l%/%F%#%V$H\e(B <a
+    href="#port">Port</a>
+    \e$B%G%#%l%/%F%#%V$r;H$C$F%5!<%P$N@5<0$JL>A0$r:n@.$7$^$9!#\e(B
+    \e$B$3$NL>A0$,$9$Y$F$N<+8J;2>H\e(B URL \e$B$G;H$o$l!"\e(BCGI \e$B$N\e(B
+    <code>SERVER_NAME</code> \e$B$H\e(B <code>SERVER_PORT</code>
+    \e$B$K$b;H$o$l$^$9!#\e(B</p>
+
+    <p>\e$BNc$($P!"\e(B<a href="#servername">ServerName</a> \e$B$,\e(B
+    <code>www.example.com</code> \e$B$K@_Dj$5$l$F$$$F!"\e(B<a
+    href="#port">Port</a> \e$B$,\e(B <code>9090</code>
+    \e$B$K@_Dj$5$l$F$$$k>l9g$O!"%5!<%P$N\e(B<em>\e$B@5<0$JL>A0\e(B</em>\e$B$O\e(B
+    <code>www.example.com:9090</code> \e$B$K$J$j$^$9!#\e(B<code>Port</code>
+    \e$B$NCM$,%G%U%)%k%H$N\e(B <code>80</code> \e$B$G$"$k$H$-$O!"\e(B
+    <code>:80</code> \e$B$O\e(B<em>\e$B@5<0$JL>A0\e(B</em>\e$B$+$i$O>J$+$l$^$9!#\e(B</p>
+
+    <p><code>UseCanonicalName off</code> \e$B$G$O\e(B Apache
+    \e$B$O%/%i%$%"%s%H$,%[%9%HL>$H%]!<%H$rDs6!$7$?>l9g$K$O$=$l$i$r85$K<+8J;2>H\e(B
+    URL \e$B$r:n@.$7$^$9\e(B (\e$BDs6!$5$l$F$$$J$$>l9g$O>e$GDj5A$5$l$F$$$k$h$&$K\e(B
+    \e$B@5<0$JL>A0$r;H$$$^$9\e(B)\e$B!#\e(B
+    \e$B$3$l$i$NCM$O\e(B<a href="../vhosts/name-based.html">\e$BL>A0%Y!<%9$N\e(B
+    \e$B%P!<%A%c%k%[%9%H\e(B</a>\e$B$r<BAu$9$k$N$K;H$o$l$F$$$k$N$HF1$8CM$G!"\e(B
+    \e$BF1$8%/%i%$%"%s%H$+$i<hF@$G$-$kCM$G$9!#\e(BCGI \e$BJQ?t\e(B
+    <code>SERVER_NAME</code> \e$B$H\e(B <code>SERVER_PORT</code>
+    \e$B$b%/%i%$%"%s%H$+$iM?$($i$l$?CM$+$i:n@.$5$l$^$9!#\e(B</p>
+
+    <p>\e$B$3$l$,M-MQ$J>l9g$NNc$O!"%$%s%H%i%M%C%H$N%5!<%P$G!"\e(B<code>www</code>
+    \e$B$N$h$&$JC;$$L>A0$G%f!<%6$,%^%7%s$K@\B3$7$F$$$k$H$-$G$9!#\e(B
+    \e$B%f!<%6$,C;$$L>A0$rF~NO$7$F!"\e(BURL
+    \e$B$,\e(B<em>\e$B:G8e$N%9%i%C%7%eL5$7$N\e(B</em>\e$B%G%#%l%/%H%j$X$N$b$N$G$"$k$H$-$K!"\e(B
+    Apache \e$B$O%j%/%(%9%H$r\e(B <code>http://www.domain.com/splat/</code>
+    \e$B$X%j%@%$%l%/%H$9$k$3$H$K5$IU$/$G$7$g$&!#\e(B
+    \e$BG'>Z$r$9$k$h$&$K@_Dj$7$F$$$k$H!"$3$N>l9g%f!<%6$O\e(B
+    2 \e$B2sG'>Z$r$7$J$1$l$P$J$i$J$/$J$j$^$9\e(B (<code>www</code> \e$B$KBP$7$F\e(B
+    1 \e$B2s!"\e(B<code>www.domain.com</code> \e$B$KBP$7$F$b$&0l2s\e(B -- 
+    \e$B$h$j>\$7$$>pJs$O\e(B <a href="../misc/FAQ.html#prompted-twice">\e$B$3$NOCBj$N\e(B
+    FAQ</a> \e$B$r;2>H$7$F$/$@$5$$\e(B)\e$B!#$7$+$7!"\e(B<code>UseCanonicalName</code>
+    \e$B$,\e(B off \e$B$K$J$C$F$$$k$H!"\e(BApache \e$B$O\e(B <code>htttp://www/splat/</code>
+    \e$B$K%j%@%$%l%/%H$7$^$9!#\e(B</p>
+
+    <p>\e$B;0$DL\$N%*%W%7%g%s\e(B <code>UseCanonicalName DNS</code> \e$B$O!"\e(B
+    <code>Host:</code>
+    \e$B%X%C%@$rDs6!$7$J$$8E$$%/%i%$%"%s%H$r%5%]!<%H$7$?Bg5,LO$J\e(B IP
+    \e$B%Y!<%9$N%P!<%A%c%k%[%9%F%#%s%0$G;HMQ$5$l$k$3$H$r0U?^$7$F$$$^$9!#\e(B
+    \e$B$3$N%*%W%7%g%s$G$O!"\e(BApache \e$B$O%/%i%$%"%s%H$,@\B3$7$?\e(B IP \e$B%"%I%l%9$K\e(B
+    DNS \e$B$N5U0z$-$r9T$J$C$F<+8J;2>H\e(B URL \e$B$r:n@.$7$^$9!#\e(B</p>
+
+    <p><strong>\e$B7Y9p\e(B:</strong> CGI \e$B$,\e(B <code>SERVER_NAME</code> 
+    \e$B$K4X$9$k2>Dj$r9T$J$C$F$$$k$H$-$O!"\e(B
+    \e$B$3$N%*%W%7%g%s$N@_Dj$GF0:n$7$J$/$J$k$+$b$7$l$^$;$s!#\e(B
+    \e$B%/%i%$%"%s%H$O<B<AE*$K$O%[%9%HL>$K$H$7$F\e(B
+    \e$B2?$G$bK>$_$NCM$r;XDj$9$k$3$H$,$G$-$^$9!#$7$+$7!"\e(BCGI \e$B$,\e(B
+    <code>SERVER_NAME</code> \e$B$N$_$r;H$C$F<+8J;2>H\e(B URL
+    \e$B$r:n@.$7$F$$$k>l9g$O$I$N@_Dj$r9T$J$C$F$bBg>fIW$J$O$:$G$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a
+    href="#servername">ServerName</a>, <a href="#port">Port</a></p>
+    <hr />
+
+    <h2><a id="user" name="user">User \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> User
+    <em>unix-userid</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>User
+    #-1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> core 
+
+    <p>User \e$B%G%#%l%/%F%#%V$O%5!<%P$,%j%/%(%9%H$K1~Ez$9$k$H$-$N%f!<%6\e(B
+    ID \e$B$r@_Dj$7$^$9!#$3$N%G%#%l%/%F%#%V$r;H$&$?$a$K$O!"\e(Bstandalone
+    \e$B%5!<%P$,\e(B root \e$B$H$7$F5/F0$5$l$F$$$J$1$l$P$J$j$^$;$s!#\e(B
+    <em>Unix-userid</em> \e$B$O0J2<$N$I$l$+$G$9\e(B:</p>
+
+    <dl>
+      <dt>\e$B%f!<%6L>\e(B</dt>
+
+      <dd>\e$BL>A0$G%f!<%6$r;XDj!#\e(B</dd>
+
+      <dt># \e$B$N8e$K%f!<%6HV9f!#\e(B</dt>
+
+      <dd>\e$BHV9f$G%f!<%6$r;XDj!#\e(B</dd>
+    </dl>
+    \e$B%f!<%6$O30$N@$3&$+$i8+$i$l$k$3$H$r0U?^$7$F$$$J$$%U%!%$%k$r%"%/%;%9\e(B
+    \e$B$G$-$F$7$^$&$h$&$J8"8B$,L5$$$b$N$K$9$Y$-$G!"F1MM$K\e(B httpd \e$B$N%j%/%(%9%H\e(B
+    \e$B$KBP$7$F0U?^$5$l$F$$$J$$%3!<%I$r<B9T$G$-$J$$$h$&$J$b$N$K$9$Y$-$G$9!#\e(B
+    \e$B%5!<%P$r<B9T$9$k$?$a$@$1$K?7$7$$@lMQ$N%f!<%6$H%0%k!<%W$r@_Dj$9$k$3$H$r\e(B
+    \e$B$*4+$a$7$^$9!#4IM}<T$NCf$K$O\e(B <code>nobody</code> \e$B$r;H$&?M$b$$$^$9$,!"\e(B
+    \e$B$3$N%f!<%6$O>o$K;HMQ2DG=$H$$$&$o$1$G$O$J$/!"K>$^$7$$$o$1$G$b$"$j$^$;$s!#\e(B
+    \e$BNc$($P!"\e(Bmod_proxy \e$B$N%-%c%C%7%e$r;HMQ$7$F$$$k$H$-$O!"\e(B
+    \e$B$=$l$r$3$N%f!<%6$,%"%/%;%9$G$-$kI,MW$,$"$j$^$9\e(B
+    (<a href="mod_proxy.html#cacheroot"><code>CacheRoot</code>
+    \e$B%G%#%l%/%F%#%V\e(B</a> \e$B$r;2>H\e(B)\e$B!#\e(B
+
+    <p>\e$BCm0U\e(B: root \e$B$G$J$$%f!<%6$G%5!<%P$r<B9T$7$?>l9g$O!"$h$j>/$J$$8"8B$N\e(B
+    \e$B%f!<%6$X$NJQ99$K<:GT$7!"85!9$N%f!<%6$H$7$F<B9T$7B3$1$^$9!#\e(B
+    root \e$B$G%5!<%P$r<B9T$7$?$H$-$O!"?F%W%m%;%9$,\e(B root
+    \e$B$N$^$^<B9T$7B3$1$k$N$O@5>o$JF0:n$G$9!#\e(B</p>
+
+    <p>\e$BFCJL$JCm0U\e(B: \e$B$3$N%G%#%l%/%F%#%V$r\e(B &lt;VirtualHost&gt;
+    \e$BFb$G;H$&$K$OE,@Z$K@_Dj$5$l$?\e(B <a href="../suexec.html">suEXEC
+    \e$B%i%C%Q!<\e(B</a>\e$B$,I,MW$G$9!#$3$N$h$&$K\e(B &lt;VirtualHost&gt;
+    \e$B$NCf$G;H$o$l$?$H$-$O\e(B CGI \e$B$r<B9T$9$k%f!<%6$@$1$,1F6A$r<u$1$^$9!#\e(B
+    CGI \e$B0J30$N%j%/%(%9%H$O0MA3$H$7$F<g\e(B User
+    \e$B%G%#%l%/%F%#%V$G;XDj$5$l$?%f!<%6$G=hM}$5$l$^$9!#\e(B</p>
+
+    <p>\e$B%;%-%e%j%F%#\e(B: \e$B<+J,$,2?$r$d$C$F$$$k$+$r40A4$KM}2r$7$F$$$F\e(B
+    \e$B$I$N$h$&$J4m81@-$,$"$k$+$rM}2r$7$F$$$J$$>l9g$O!"\e(B
+    User (\e$B$b$7$/$O\e(B <a href="#group">Group</a>) \e$B$r\e(B root
+    \e$B$K$7$J$$$G$/$@$5$$!#\e(B</p>
+
+    <hr />
+
+    <h2><a id="virtualhost" name="virtualhost">&lt;VirtualHost&gt;
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> &lt;VirtualHost
+    <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]]
+    ...&gt; ... &lt;/VirtualHost&gt; <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Core.<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> IP \e$B%"%I%l%9%Y!<%9$G$J$$%P!<%A%c%k%[%9%H$O!"\e(B
+    Apache 1.1 \e$B0J9_$GMxMQ2DG=$G$9!#\e(B<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$BJ#?t$N%"%I%l%9$N;XDj$O\e(B Apache 1.2
+    \e$B0J9_$G$N$_2DG=$G$9!#\e(B
+
+    <p>&lt;VirtualHost&gt; \e$B5Z$S\e(B &lt;/VirtualHost&gt; \e$B$O!"\e(B
+    \e$B$"$k%P!<%A%c%k%[%9%H$KBP$7$F$N$_E,MQ$5$l$k%G%#%l%/%F%#%V72$r0O$`\e(B
+    \e$B$?$a$K;H$o$l$^$9!#\e(B
+    \e$B%P!<%A%c%k%[%9%H%3%s%F%-%9%H$G5v2D$5$l$k$9$Y$F$N%G%#%l%/%F%#%V$r;XDj2DG=$G$9!#\e(B
+    \e$B%5!<%P$,!";XDj$5$l$?%P!<%A%c%k%[%9%H$K$"$k%I%-%e%a%s%H$X$N%j%/%(%9%H$r<u$1IU$1$?>l9g!"\e(B
+    &lt;VirtualHost&gt; \e$B%;%/%7%g%s$NCf$K$"$k%G%#%l%/%F%#%V$,E,MQ$5$l$^$9!#\e(B
+
+     <em>Addr</em>\e$B!!$O!"<!$N$b$N$,MxMQ$G$-$^$9!#\e(B</p>
+
+    <ul>
+      <li>\e$B%P!<%A%c%k%[%9%H$N\e(B IP \e$B%"%I%l%9\e(B</li>
+
+      <li>\e$B%P!<%A%c%k%[%9%H$N\e(B IP \e$B$KBP1~$9$k40A4$J%I%a%$%sL>\e(B</li>
+    </ul>
+    \e$BNc\e(B: 
+
+    <blockquote>
+      <code>&lt;VirtualHost 10.1.2.3&gt;<br />
+       ServerAdmin webmaster@host.foo.com<br />
+       DocumentRoot /www/docs/host.foo.com<br />
+       ServerName host.foo.com<br />
+       ErrorLog logs/host.foo.com-error_log<br />
+       TransferLog logs/host.foo.com-access_log<br />
+       &lt;/VirtualHost&gt;</code>
+    </blockquote>
+    \e$B3F!9$N%P!<%A%c%k%[%9%H$K$O$=$l$>$l0c$&\e(B IP
+    \e$B%"%I%l%9!"%]!<%HHV9f<c$7$/$O%[%9%HL>$KBP1~$9$kI,MW$,$"$j!"\e(B
+    1 \e$BHVL\$N>l9g$K$OJ#?t$N%"%I%l%9$G\e(B IP
+    \e$B%Q%1%C%H$r<u?.$G$-$k$h$&$K%5!<%P%^%7%s$r@_Dj$7$J$1$l$P$J$j$^$;$s!#\e(B
+    (\e$B$b$7!"%^%7%s$,J#?t$N%M%C%H%o!<%/%$%s%?!<%U%'!<%9$r;}$?$J$$>l9g$O!"\e(B
+     (OS\e$B$,%5%]!<%H$7$F$$$l$P\e(B) <code>ifconfig alias</code> \e$B%3%^%s%I$d\e(B
+    <a href="../misc/vif-info.html">VIF</a> \e$B$N$h$&$J%+!<%M%k%Q%C%A\e(B
+     (SunOS(TM) 4.1.x \e$BMQ\e(B) \e$B$K$h$jC#@.$G$-$^$9\e(B)\e$B!#\e(B
+
+    <p>\e$BJ#?t$N\e(B IP \e$B%"%I%l%9$rDj5A$9$k$3$H$b$G$-$^$9!#\e(B
+    \e$BFs$D$N%$%s%?%U%'!<%9$KBP$7$FF1$8L>A0$G1~Ez$7$F$$$k$H$-$KM-MQ$G$7$g$&!#\e(B
+    \e$BNc$($P!"FbIt8~$1\e(B (\e$B%$%s%H%i%M%C%H\e(B) \e$B$H\e(B
+    \e$B30It8~$1\e(B (\e$B%$%s%?!<%M%C%H\e(B) \e$B$K%P!<%A%c%k%[%9%H$r$7$F$$$k>l9g$G$9!#\e(B<br />
+    \e$B@_DjNc\e(B:</p>
+
+    <blockquote>
+      <code>&lt;VirtualHost 192.168.1.2 204.255.176.199&gt;<br />
+       DocumentRoot /www/docs/host.foo.com<br />
+       ServerName host.foo.com<br />
+       ServerAlias host<br />
+       &lt;/VirtualHost&gt;</code>
+    </blockquote>
+
+    <code>_default_</code> \e$B$H$$$&FCJL$JL>A0$r;XDj$9$k$3$H$K$h$j!"\e(B
+    \e$BB>$N%P!<%A%c%k%[%9%H$G;XDj$5$l$F$$$J$$\e(B IP
+    \e$B%"%I%l%9$9$Y$F$KBP$7$F%^%C%A$5$;$k$3$H$,2DG=$G$9!#\e(B_default_
+    \e$B%P!<%A%c%k%[%9%H$,L5$$$H$-$O!"$b$7$I$3$K$b%^%C%A$7$J$$$H\e(B VirtualHost
+    \e$B%;%/%7%g%s$N30$NDj5A$+$i$J$k!V<g!W%5!<%P@_Dj$,;HMQ$5$l$^$9!#\e(B
+
+    <p><code>:port</code>
+    \e$B$H$$$C$?7A<0$G5-=R$9$k$3$H$K$h$j!"%^%C%A$5$;$k%]!<%H$rJQ992DG=$G$9!#\e(B
+    \e$B$3$N;XDj$r$7$J$$>l9g$K$O!"<g%5!<%P@_Dj$K$*$1$k0lHV:G8e$K\e(B
+    <code><a href="#port">Port</a></code>
+    \e$B$G;XDj$5$l$?%]!<%H$,%G%U%)%k%H$H$J$j$^$9!#\e(B
+    <code>:*</code> \e$B$r;XDj$9$k$3$H$K$h$j!"\e(B
+    \e$B%"%I%l%9>e$N$9$Y$F$N%]!<%H$K%^%C%A$7$^$9!#\e(B(<code>_default_</code>
+    \e$B$N$H$-$O$3$l$r;H$&$3$H$,?d>)$5$l$F$$$^$9!#\e(B)</p>
+
+    <p><strong>\e$B%;%-%e%j%F%#$K4X$7$F\e(B</strong>: 
+    \e$B%5!<%P!<$r5/F0$7$?0J30$N%f!<%6$,%m%0%U%!%$%k$,J]4I$5$l$k%G%#%l%/%H%j$K\e(B
+    \e$B=q$-9~$_2DG=$J$H$-$K$J$<%;%-%e%j%F%#$,GK$i$l$k2DG=@-$,$"$k$+$N>\:Y$O\e(B
+    <a href="../misc/security_tips.html">\e$B%;%-%e%j%F%#$K4X$9$k%3%D\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p><strong>\e$BCm0UE@\e(B</strong>: &lt;VirtualHost&gt; \e$B$O\e(B Apache \e$B$,\e(B
+    Listen \e$B$9$k\e(B IP \e$B%"%I%l%9$K$O1F6A$rM?$(\e(B<strong>\e$B$^$;$s\e(B</strong>\e$B!#\e(B
+    <a href="#bindaddress">BindAddress</a> \e$B$+\e(B
+    <a href="#listen">Listen</a> \e$B$r;H$C$F\e(B Apache \e$B$,@5$7$$%"%I%l%9$r\e(B
+    listen \e$B$9$k$h$&$K@_Dj$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B:</strong> <a href="../vhosts/">Apache \e$B%P!<%A%c%k%[%9%H@bL@=q\e(B</a><br />
+     <strong>\e$B;2>H\e(B:</strong> <a
+    href="../dns-caveats.html">DNS \e$B$K4X$9$kLdBj\e(B</a><br />
+     <strong>\e$B;2>H\e(B:</strong> <a href="../bind.html">Apache \e$B$,MxMQ$9$k%"%I%l%9$H%]!<%H$r@_Dj$9$k\e(B</a><br />
+     <strong>\e$B;2>H\e(B</strong>: 
+    \e$B%j%/%(%9%H$r<u$1$?:]$K!"0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$FAH$_9g$o$5$l$k$N$+$K$D$$$F$O\e(B
+    <a href="../sections.html">Directory, Location, Files \e$B%;%/%7%g%s$NF0:nK!\e(B</a>
+    </p>
+        <hr />
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
+
+
diff --git a/htdocs/manual/mod/directive-dict.html.en b/htdocs/manual/mod/directive-dict.html.en
new file mode 100644 (file)
index 0000000..33f21e5
--- /dev/null
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Definitions of terms used to describe Apache
+    directives</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Terms Used to Describe Apache
+    Directives</h1>
+
+    <p>Each Apache configuration directive is described using a
+    common format that looks like this:</p>
+
+    <dl>
+      <dd><a href="#Syntax" rel="Help"><strong>Syntax:</strong></a>
+      <em>directive-name</em> <em>some args</em><br />
+       <a href="#Default" rel="Help"><strong>Default:</strong></a>
+      <samp><em>directive-name default-value</em></samp><br />
+       <a href="#Context" rel="Help"><strong>Context:</strong></a>
+      <em>context-list</em><br />
+       <a href="#Override"
+      rel="Help"><strong>Override:</strong></a>
+      <em>override</em><br />
+       <a href="#Status" rel="Help"><strong>Status:</strong></a>
+      <em>status</em><br />
+       <a href="#Module" rel="Help"><strong>Module:</strong></a>
+      <em>module-name</em><br />
+       <a href="#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a>
+      <em>compatibility notes</em></dd>
+    </dl>
+
+    <p>Each of the directive's attributes, complete with possible
+    values where possible, are described in this document.</p>
+
+    <h2>Directive Terms</h2>
+
+    <ul>
+      <li><a href="#Syntax">Syntax</a></li>
+
+      <li><a href="#Default">Default</a></li>
+
+      <li><a href="#Context">Context</a></li>
+
+      <li><a href="#Override">Override</a></li>
+
+      <li><a href="#Status">Status</a></li>
+
+      <li><a href="#Module">Module</a></li>
+
+      <li><a href="#Compatibility">Compatibility</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="Syntax" name="Syntax">Syntax</a></h2>
+
+    <p>This indicates the format of the directive as it would
+    appear in a configuration file. This syntax is extremely
+    directive-specific, and is described in detail in the
+    directive's definition. Generally, the directive name is
+    followed by a series of one or more space-separated arguments.
+    If an argument contains a space, the argument must be enclosed
+    in double quotes. Optional arguments are enclosed in square
+    brackets. Where an argument can take on more than one possible
+    value, the possible values are separated by vertical bars "|".
+    Literal text is presented in the default font, while
+    argument-types for which substitution is necessary are
+    <em>emphasized</em>. Directives which can take a variable
+    number of arguments will end in "..." indicating that the last
+    argument is repeated.</p>
+
+    <p>Directives use a great number of different argument types. A
+    few common ones are defined below.</p>
+
+    <dl>
+      <dt><em>URL</em></dt>
+
+      <dd>A complete Uniform Resource Locator including a scheme,
+      hostname, and optional pathname as in
+      <code>http://www.example.com/path/to/file.html</code></dd>
+
+      <dt><em>URL-path</em></dt>
+
+      <dd>The part of a <em>url</em> which follows the scheme and
+      hostname as in <code>/path/to/file.html</code>. The
+      <em>url-path</em> represents a web-view of a resource, as
+      opposed to a file-system view.</dd>
+
+      <dt><em>file-path</em></dt>
+
+      <dd>The path to a file in the local file-system beginning
+      with the root directory as in
+      <code>/usr/local/apache/htdocs/path/to/file.html</code>.
+      Unless otherwise specified, a <em>file-path</em> which does
+      not begin with a slash will be treated as relative to the <a
+      href="core.html#serverroot">ServerRoot</a>.</dd>
+
+      <dt><em>directory-path</em></dt>
+
+      <dd>The path to a directory in the local file-system
+      beginning with the root directory as in
+      <code>/usr/local/apache/htdocs/path/to/</code>.</dd>
+
+      <dt><em>filename</em></dt>
+
+      <dd>The name of a file with no accompanying path information
+      as in <code>file.html</code>.</dd>
+
+      <dt><em>regex</em></dt>
+
+      <dd>A <a href="../misc/FAQ.html#regex">regular
+      expression</a>, which is a way of describing a pattern to
+      match in text. The directive definition will specify what the
+      <em>regex</em> is matching against.</dd>
+
+      <dt><em>extension</em></dt>
+
+      <dd>In general, this is the part of the <em>filename</em>
+      which follows the last dot. However, Apache recognizes
+      multiple filename extensions, so if a <em>filename</em>
+      contains more than one dot, each dot-separated part of the
+      filename following the first dot is an <em>extension</em>.
+      For example, the <em>filename</em> <code>file.html.en</code>
+      contains two extensions: <code>.html</code> and
+      <code>.en</code>. For Apache directives, you may specify
+      <em>extension</em>s with or without the leading dot. In
+      addition, <em>extension</em>s are not case sensitive.</dd>
+
+      <dt><em>MIME-type</em></dt>
+
+      <dd>A method of describing the format of a file which
+      consists of a major format type and a minor format type,
+      separated by a slash as in <code>text/html</code>.</dd>
+
+      <dt><em>env-variable</em></dt>
+
+      <dd>The name of an <a href="../env.html">environment
+      variable</a> defined in the Apache configuration process.
+      Note this is not necessarily the same as an operating system
+      environment variable. See the <a
+      href="../env.html">environment variable documentation</a> for
+      more details.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="Default" name="Default">Default</a></h2>
+
+    <p>If the directive has a default value (<em>i.e.</em>, if you
+    omit it from your configuration entirely, the Apache Web server
+    will behave as though you set it to a particular value), it is
+    described here. If there is no default value, this section
+    should say "<em>None</em>". Note that the default listed here
+    is not necessarily the same as the value the directive takes in
+    the default httpd.conf distributed with the server.</p>
+    <hr />
+
+    <h2><a id="Context" name="Context">Context</a></h2>
+
+    <p>This indicates where in the server's configuration files the
+    directive is legal. It's a comma-separated list of one or more
+    of the following values:</p>
+
+    <dl>
+      <dt><strong>server config</strong></dt>
+
+      <dd>This means that the directive may be used in the server
+      configuration files (<em>e.g.</em>, <samp>httpd.conf</samp>,
+      <samp>srm.conf</samp>, and <samp>access.conf</samp>), but
+      <strong>not</strong> within any
+      <samp>&lt;VirtualHost&gt;</samp> or &lt;Directory&gt;
+      containers. It is not allowed in <samp>.htaccess</samp> files
+      at all.</dd>
+
+      <dt><strong>virtual host</strong></dt>
+
+      <dd>This context means that the directive may appear inside
+      <samp>&lt;VirtualHost&gt;</samp> containers in the server
+      configuration files.</dd>
+
+      <dt><strong>directory</strong></dt>
+
+      <dd>A directive marked as being valid in this context may be
+      used inside <samp>&lt;Directory&gt;</samp>,
+      <samp>&lt;Location&gt;</samp>, and <samp>&lt;Files&gt;</samp>
+      containers in the server configuration files, subject to the
+      restrictions outlined in <a href="../sections.html">How
+      Directory, Location and Files sections work</a>.</dd>
+
+      <dt><strong>.htaccess</strong></dt>
+
+      <dd>If a directive is valid in this context, it means that it
+      can appear inside <em>per</em>-directory
+      <samp>.htaccess</samp> files. It may not be processed, though
+      depending upon the <a href="#Override"
+      rel="Help">overrides</a> currently active.</dd>
+    </dl>
+
+    <p>The directive is <em>only</em> allowed within the designated
+    context; if you try to use it elsewhere, you'll get a
+    configuration error that will either prevent the server from
+    handling requests in that context correctly, or will keep the
+    server from operating at all -- <em>i.e.</em>, the server won't
+    even start.</p>
+
+    <p>The valid locations for the directive are actually the
+    result of a Boolean OR of all of the listed contexts. In other
+    words, a directive that is marked as being valid in
+    "<samp>server config, .htaccess</samp>" can be used in the
+    <samp>httpd.conf</samp> file and in <samp>.htaccess</samp>
+    files, but not within any &lt;Directory&gt; or
+    &lt;VirtualHost&gt; containers.</p>
+    <hr />
+
+    <h2><a id="Override" name="Override">Override</a></h2>
+
+    <p>This directive attribute indicates which configuration
+    override must be active in order for the directive to be
+    processed when it appears in a <samp>.htaccess</samp> file. If
+    the directive's <a href="#Context" rel="Help">context</a>
+    doesn't permit it to appear in <samp>.htaccess</samp> files,
+    this attribute should say "<em>Not applicable</em>".</p>
+
+    <p>Overrides are activated by the <a
+    href="core.html#allowoverride"
+    rel="Help"><samp>AllowOverride</samp></a> directive, and apply
+    to a particular scope (such as a directory) and all
+    descendants, unless further modified by other
+    <samp>AllowOverride</samp> directives at lower levels. The
+    documentation for that directive also lists the possible
+    override names available.</p>
+    <hr />
+
+    <h2><a id="Status" name="Status">Status</a></h2>
+
+    <p>This indicates how tightly bound into the Apache Web server
+    the directive is; in other words, you may need to recompile the
+    server with an enhanced set of modules in order to gain access
+    to the directive and its functionality. Possible values for
+    this attribute are:</p>
+
+    <dl>
+      <dt><strong>Core</strong></dt>
+
+      <dd>If a directive is listed as having "Core" status, that
+      means it is part of the innermost portions of the Apache Web
+      server, and is always available.</dd>
+
+      <dt><strong>Base</strong></dt>
+
+      <dd>A directive labeled as having "Base" status is supported
+      by one of the standard Apache modules which is compiled into
+      the server by default, and is therefore normally available
+      unless you've taken steps to remove the module from your
+      configuration.</dd>
+
+      <dt><strong>Extension</strong></dt>
+
+      <dd>A directive with "Extension" status is provided by one of
+      the modules included with the Apache server kit, but the
+      module isn't normally compiled into the server. To enable the
+      directive and its functionality, you will need to change the
+      server build configuration files and re-compile Apache.</dd>
+
+      <dt><strong>Experimental</strong></dt>
+
+      <dd>"Experimental" status indicates that the directive is
+      available as part of the Apache kit, but you're on your own
+      if you try to use it. The directive is being documented for
+      completeness, and is not necessarily supported. The module
+      which provides the directive may or may not be compiled in by
+      default; check the top of the page which describes the
+      directive and its module to see if it remarks on the
+      availability.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="Module" name="Module">Module</a></h2>
+
+    <p>This quite simply lists the name of the source module which
+    defines the directive.</p>
+    <hr />
+
+    <h2><a id="Compatibility"
+    name="Compatibility">Compatibility</a></h2>
+
+    <p>If the directive wasn't part of the original Apache version
+    1 distribution, the version in which it was introduced should
+    be listed here. If the directive has the same name as one from
+    the NCSA HTTPd server, any inconsistencies in behavior between
+    the two should also be mentioned. Otherwise, this attribute
+    should say "<em>No compatibility issues.</em>"</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/directive-dict.html.fr b/htdocs/manual/mod/directive-dict.html.fr
new file mode 100644 (file)
index 0000000..5f6e3c8
--- /dev/null
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.4 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Termes utilis&eacute;s pour d&eacute;crire les
+    directives Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Termes utilis&eacute;s pour d&eacute;crire
+    les directives Apache</h1>
+
+    <p>Chaque directive de configuration d'Apache est
+    d&eacute;crite selon un format de pr&eacute;sentation commun
+    ressemblant &agrave; ceci :</p>
+
+    <dl>
+      <dd><a href="#Syntax"
+      rel="Help"><strong>Syntaxe:</strong></a>
+      <em>nomDirective</em> <em>arguments</em><br />
+       <a href="#Default"
+      rel="Help"><strong>D&eacute;faut:</strong></a>
+      <samp><em>nomDirective
+      valeursParD&eacute;faut</em></samp><br />
+       <a href="#Context" rel="Help"><strong>Contexte:</strong></a>
+      <em>listeDeContextes</em><br />
+       <a href="#Override"
+      rel="Help"><strong>Surcharge:</strong></a>
+      <em>DirectivesSurcharg&eacute;es</em><br />
+       <a href="#Status" rel="Help"><strong>Statut:</strong></a>
+      <em>statut</em><br />
+       <a href="#Module" rel="Help"><strong>Module:</strong></a>
+      <em>nomModule</em><br />
+       <a href="#Compatibility"
+      rel="Help"><strong>Compatibilit&eacute;:</strong></a>
+      <em>notes concernant la compatibilit&eacute;</em></dd>
+    </dl>
+
+    <p>Chacun des attributs possibles pour les directives, avec
+    toutes leurs valeurs possibles sont d&eacute;crites dans ce
+    document.</p>
+
+    <h2>Termes employ&eacute;s pour les directives</h2>
+
+    <ul>
+      <li><a href="#Syntax">Syntaxe</a></li>
+
+      <li><a href="#Default">D&eacute;faut</a></li>
+
+      <li><a href="#Context">Contexte</a></li>
+
+      <li><a href="#Override">Surcharge</a></li>
+
+      <li><a href="#Status">Statut</a></li>
+
+      <li><a href="#Module">Module</a></li>
+
+      <li><a href="#Compatibility">Compatibilit&eacute;</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="Syntax" name="Syntax">Syntaxe</a></h2>
+
+    <p>Indique le format dans laquelle la directive doit &ecirc;tre
+    inscrite dans les fichiers de configuration. Cette syntaxe est
+    tr&egrave;s sp&eacute;cifique pour chaque directive, et est
+    d&eacute;crite en d&eacute;tail dans la d&eacute;finition de la
+    directive. G&eacute;n&eacute;ralement, le nom de la directive
+    est suivi d'un ou de plusieurs arguments. Les arguments
+    optionnels sont entour&eacute;s de crochets Quand un argument
+    peut prendre plus d'une valeur possible, les valeurs possibles
+    sont s&eacute;par&eacute;es par une barre verticale. Les
+    valeurs litt&eacute;rales sont affich&eacute;e avec la fontes
+    par d&eacute;faut, tandis qur les type d'arguments pour
+    lesquels une substitution doit &ecirc;tre faite sont en
+    italique. Les diretrives pouvant avoir un nombre variable
+    d'arguments se terminent avec "..." indiquant que le dernier
+    argument se r&eacute;p&egrave;te.</p>
+    <hr />
+
+    <h2><a id="Default" name="Default">D&eacute;faut</a></h2>
+
+    <p>Si la directive a une valeur par d&eacute;faut
+    (<em>c-&agrave;-d.</em>, si elle n'apparait pas du tout dans le
+    fichier de configuration, le serveur Apache se comportera comme
+    si cette directive avait &eacute;t&eacute; &eacute;crite en
+    mentionnant cette valeur), elle est sp&eacute;cifi&eacute;e
+    ici. Si aucune valeur n'est d&eacute;finie par d&eacute;faut,
+    cette section pr&eacute;cisera "<em>Non
+    pr&eacute;cis&eacute;</em>".</p>
+    <hr />
+
+    <h2><a id="Context" name="Context">Contexte</a></h2>
+
+    <p>Indique l&agrave; ou l'implantation de la directive dans le
+    fichier de configuration est licite. Il est exprim&eacute;
+    comme une liste s&eacute;par&eacute;e par des virgules, et
+    pouvant contenir les &eacute;l&eacute;ments suivants :</p>
+
+    <dl>
+      <dt><strong>configuration serveur</strong></dt>
+
+      <dd>La directive peut &ecirc;tre utilis&eacute;e dans le
+      fichier de configuration du serveur (<em>ex.</em>,
+      <samp>httpd.conf</samp>, <samp>srm.conf</samp>, et
+      <samp>access.conf</samp>), mais dans <strong>aucune</strong>
+      des sections int&eacute;rieures des containers
+      <samp>&lt;VirtualHost&gt;</samp> ni &lt;Directory&gt;. Elle
+      n'est pas permise dans aucun des fichiers
+      <samp>.htaccess</samp>.</dd>
+
+      <dt><strong>h&ocirc;te virtuel</strong></dt>
+
+      <dd>Dans ce contexte, la directive peut appara&icirc;tre dans
+      les containers <samp>&lt;VirtualHost&gt;</samp> &eacute;crits
+      dans les fichiers de configuration du serveur.</dd>
+
+      <dt><strong>r&eacute;pertoire</strong></dt>
+
+      <dd>La directive peut appara&icirc;tre dans les containers
+      <samp>&lt;Directory&gt;</samp> &eacute;crits dans les
+      fichiers de configuration du serveur.</dd>
+
+      <dt><strong>.htaccess</strong></dt>
+
+      <dd>La directive peut appara&icirc;tre dans les fichiers
+      <samp>.htaccess</samp> situ&eacute; dans chacun des
+      r&eacute;pertoires. Elle peut ou ne pas &ecirc;tre
+      interpr&eacute;t&eacute;e, suivant la configuration des
+      directives <a href="#Override" rel="Help">de
+      surcharge</a>.</dd>
+    </dl>
+
+    <p>Les directives ne sont autoris&eacute;es <em>que</em> dans
+    les contextes cit&eacute;s ; si vous essayez de les
+    &eacute;crire ailleurs, vous provoquerez une erreur de
+    configuration qui soit conduira le serveur &agrave; ignorer les
+    requ&ecirc;tes dans le contexte sp&eacute;cifi&eacute;, soit
+    peut emp&ecirc;cher le serveur de fonctionner --
+    <em>c-&agrave;-d.</em>, le serveur refusera de
+    d&eacute;marrer.</p>
+
+    <p>Les emplacements valides pour les directives sont le
+    r&eacute;sultat d'un OU bool&eacute;en de tous les contextes
+    cit&eacute;s. En d'autres termes, une directive marqu&eacute;e
+    comma &eacute;tant valide dans le contexte "<samp>configuration
+    serveur, .htaccess</samp>" peut &ecirc;tre utilis&eacute;e dans
+    le fichier <samp>httpd.conf</samp> et dans les fichiers
+    <samp>.htaccess</samp>, mais pas dans le container
+    &lt;Directory&gt; ni &lt;VirtualHost&gt;.</p>
+    <hr />
+
+    <h2><a id="Override" name="Override">Surcharge</a></h2>
+
+    <p>Cet attribut de directive pr&eacute;cise quelle surcharge
+    doit &ecirc;tre permise pour que la directive puisse &ecirc;tre
+    interpr&eacute;t&eacute;e lorsqu'elle appara&icirc;t dans un
+    fichier <samp>.htaccess</samp>. Si le <a href="#Context"
+    rel="Help">contexte</a> de directive ne permet pas une
+    &eacute;criture dans les fichiers <samp>.htaccess</samp>, cet
+    attribut doit mentionner "<em>Non applicable</em>".</p>
+
+    <p>Les surcharges sont g&eacute;r&eacute;es par la directive <a
+    href="core.html#allowoverrides"
+    rel="Help"><samp>AllowOverrides</samp></a>, et ont une
+    port&eacute;e d&eacute;finie, par exemple un r&eacute;pertoire
+    donn&eacute; et tous ses descendants, sauf si la configuration
+    de surcharge est chang&eacute;e &agrave; un endroit de la
+    descendance par une directive <samp>AllowOverrides</samp> d'un
+    niveau inf&eacute;rieur. La documentation pour cette directive
+    liste aussi les noms possibles de surcharges disponibles.</p>
+    <hr />
+
+    <h2><a id="Status" name="Status">Statut</a></h2>
+
+    <p>Indique &agrave; quel module du serveur Apache Web la
+    directive est rattach&eacute;e ; en d'autres termes, vous
+    devrez peut &ecirc;tre recompiler le serveur en
+    pr&eacute;cisant un ensemble plus large de modules pour pouvoir
+    b&eacute;n&eacute;ficier de cette fonctionnalit&eacute;. Les
+    valeurs possibles pour cet attribut sont :</p>
+
+    <dl>
+      <dt><strong>Noyau</strong></dt>
+
+      <dd>Il s'agit d'une directive du noyau d'Apache et est de ce
+      fait toujours disponible.</dd>
+
+      <dt><strong>Base</strong></dt>
+
+      <dd>La directive est impl&eacute;ment&eacute;e dans un module
+      d'Apache faisant partie de l'ensemble de compilation de base,
+      et est normalement disponible sauf si vous avez explicitement
+      enlev&eacute; ce module &agrave; la compilation.</dd>
+
+      <dt><strong>Extension</strong></dt>
+
+      <dd>La directive est impl&eacute;ment&eacute;e par un module
+      faisant partie de l'Apache Server Kit, mais ce module n'est
+      pas compil&eacute; par d&eacute;faut. Pour activer cette
+      directive, et rendre op&eacute;rationnelle cette
+      fonctionnalit&eacute;, vous devrez modifier le fichier de
+      configuration de compilation et recompiler Apache.</dd>
+
+      <dt><strong>Exp&eacute;rimental</strong></dt>
+
+      <dd>Le statut "Experimental" indique que la directive est
+      disponible dans le Kit Apache, mais que vous ne pouvez
+      l'utiliser qu'&agrave; vos risques et p&eacute;rils. La
+      directive est document&eacute; dans un souci
+      d'exhaustivit&eacute; mais n'est pas forc&eacute;ment
+      support&eacute;e. Le module qui donne acc&egrave;s &agrave;
+      cette directive peut &ecirc;tre ou ne pas &ecirc;tre
+      compil&eacute; par d&eacute;faut ; reportez vous en
+      t&ecirc;te de la page qui d&eacute;crit la directive et le
+      module pour toute remarque concernant sa
+      disponibilit&eacute;.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="Module" name="Module">Module</a></h2>
+
+    <p>Donne simplement le nom du module ou est
+    impl&eacute;ment&eacute;e cette fonctionnalit&eacute;.</p>
+    <hr />
+
+    <h2><a id="Compatibility"
+    name="Compatibility">Compatibilit&eacute;</a></h2>
+
+    <p>Si la directive ne faisait pas partie de la version 1
+    d'Apache, le num&eacute;ro indique la version dans laquelle
+    elle a &eacute;t&eacute; introduite. Si la directive a le
+    m&ecirc;me nom qu'une ancienne directive du serveur HTTPd du
+    NCSA, toute diff&eacute;rence de comportement y sera
+    mentionn&eacute;e. Dans les autres cas, cette rubrique
+    affichera "<em>Pas de remarques sur
+    compatiblit&eacute;.</em>"</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/directive-dict.html.html b/htdocs/manual/mod/directive-dict.html.html
new file mode 100644 (file)
index 0000000..d5444a6
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="directive-dict.html.en" -->
+
diff --git a/htdocs/manual/mod/directive-dict.html.ja.jis b/htdocs/manual/mod/directive-dict.html.ja.jis
new file mode 100644 (file)
index 0000000..cf4f5b6
--- /dev/null
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Apache \e$B$N%G%#%l%/%F%#%V$N2r@b$K;H$o$l$kMQ8l\e(B</title>
+</head>
+<!-- English revision: 1.7 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+alink="#FF0000">
+<!--#include virtual="header.html" -->
+<h1 align="center">Apache
+\e$B$N%G%#%l%/%F%#%V$N2r@b$K;H$o$l$kMQ8l\e(B</h1>
+
+<p>\e$B$=$l$>$l$N\e(B Apache
+\e$B%G%#%l%/%F%#%V$O!"<!$N$h$&$J6&DL$N=q<0$K$h$C$F5-=R$5$l$^$9\e(B:</p>
+
+<dl>
+<dd><a href="#Syntax" rel="Help"><strong>\e$B9=J8\e(B:</strong></a>
+<em>directive-name</em> <em>some args</em><br />
+ <a href="#Default" rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+<samp><em>directive-name default-value</em></samp><br />
+ <a href="#Context" rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+<em>context-list</em><br />
+ <a href="#Override" rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a>
+<em>override</em><br />
+ <a href="#Status" rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a>
+<em>status</em><br />
+ <a href="#Module" rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a>
+<em>module-name</em><br />
+ <a href="#Compatibility" rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+<em>compatibility notes</em></dd>
+</dl>
+
+<p>\e$B$3$N%I%-%e%a%s%H$G$O%G%#%l%/%F%#%V$N$=$l$>$l$NB0@-$,@bL@$5$l\e(B
+\e$B$F$$$^$9!#2DG=$J>l9g$O%G%#%l%/%F%#%V$,<h$jF@$k$9$Y$F$NCM$b=q$+$l$F$$$^$9!#\e(B</p>
+
+<h2>\e$B%G%#%l%/%F%#%V$NMQ8l\e(B</h2>
+
+<ul>
+<li><a href="#Syntax">\e$B9=J8\e(B</a></li>
+
+<li><a href="#Default">\e$B%G%U%)%k%H\e(B</a></li>
+
+<li><a href="#Context">\e$B%3%s%F%-%9%H\e(B</a></li>
+
+<li><a href="#Override">\e$B>e=q$-\e(B</a></li>
+
+<li><a href="#Status">\e$B%9%F!<%?%9\e(B</a></li>
+
+<li><a href="#Module">\e$B%b%8%e!<%k\e(B</a></li>
+
+<li><a href="#Compatibility">\e$B8_49@-\e(B</a></li>
+</ul>
+
+<hr />
+<h2><a id="Syntax" name="Syntax">\e$B9=J8\e(B</a></h2>
+
+<p>\e$B@_Dj%U%!%$%kCf$N%G%#%l%/%F%#%V$N=q<0$r<($7$^$9!#\e(B
+\e$B$3$N9=J8$O%G%#%l%/%F%#%VFCM-$J$N$G!">\:Y$O%G%#%l%/%F%#%V$N@bL@$r\e(B
+\e$B;2>H$7$F$/$@$5$$!#0lHLE*$K!"%G%#%l%/%F%#%VL>$N8e$K$O\e(B
+\e$B6uGr$K$h$jJ,3d$5$l$?$$$/$D$+$N0z?t$,B3$-$^$9!#\e(B
+\e$B0z?t$,6uGr$r4^$`$H$-$OFs=E0zMQId\e(B (\e$BLuCm\e(B: ")
+\e$B$G0O$^$l$F$$$^$9!#\e(B \e$B%*%W%7%g%J%k$J0z?t$O3g8L\e(B (\e$BLuCm\e(B:
+[]) \e$B$G0O$^$l$F$$$^$9!#\e(B
+\e$B0z?t$,J#?t$NCM$r<h$jF@$k>l9g$O!"$=$l$i$NCM$O?bD>$NK@\e(B "|" \e$B$G\e(B
+\e$BJ,3d$5$l$F$$$^$9!#\e(B
+\e$BJQ99$5$l$J$$%F%-%9%H$O%G%U%)%k%H$N%U%)%s%H$GI=<($5$l!"CV49$NI,MW$J\e(B
+\e$B0z?t$O\e(B<em>\e$B6/D4$5$l$F\e(B</em>\e$BI=<($5$l$^$9!#\e(B
+\e$B0z?t$N?t$,JQ$o$k%G%#%l%/%F%#%V$O:G8e$N\e(B
+\e$B0z?t$,7+$jJV$5$l$k$3$H$r<($9$?$a$K\e(B "..." \e$B$G=*$o$j$^$9!#\e(B</p>
+
+<p>\e$B%G%#%l%/%F%#%V$OB?$/$N0c$&7?$N0z?t$r$H$j$^$9!#$$$/$D$+!"NI$/\e(B
+\e$B;H$o$l$k$b$N$r0J2<$GDj5A$7$^$9!#\e(B</p>
+
+<dl>
+<dt><em>URL</em></dt>
+
+<dd><code>http://www.example.com/path/to/file.html</code>
+\e$B$N$h$&$K!"\e(B
+\e$B%9%-!<%`!"%[%9%HL>!"%Q%9L>\e(B(\e$B>JN,2DG=\e(B)\e$B$r4^$s$G$$$k40A4$J\e(B
+Uniform Resource Locator\e$B!#\e(B</dd>
+
+<dt><em>URL-path</em></dt>
+
+<dd><code>/path/to/file.html</code> \e$B$N$h$&$K!"%9%-!<%`$H\e(B
+\e$B%[%9%HL>$N8e$KB3$/\e(B <em>url</em> \e$B$N0lIt!#\e(B<em>url-path</em>
+\e$B$O\e(B \e$B%U%!%$%k%7%9%F%`$+$i$N;kE@$G$O$J$/!"\e(B
+\e$B%&%'%V$+$i$N;kE@$G%j%=!<%9$rI=8=$7$^$9!#\e(B</dd>
+
+<dt><em>file-path</em></dt>
+
+<dd><code>/usr/local/apache/htdocs/path/to/file.html</code>
+\e$B$N$h$&$K!"\e(B
+\e$B%k!<%H%G%#%l%/%H%j$+$i;O$^$k%m!<%+%k$N%U%!%$%k%7%9%F%`>e$N%U%!%$%k$X$N%Q%9!#\e(B
+\e$BDL>o!"%9%i%C%7%e$G;O$^$i$J$$\e(B <em>file-path</em> \e$B$O\e(B <a
+href="core.html#serverroot">ServerRoot</a> \e$B$+$i$NAjBP%Q%9$H$7$F\e(B
+\e$B07$o$l$^$9!#\e(B</dd>
+
+<dt><em>directory-path</em></dt>
+
+<dd><code>/usr/local/apache/htdocs/path/to/</code> \e$B$N$h$&$K!"\e(B
+\e$B%k!<%H%G%#%l%/%H%j$+$i;O$^$k%m!<%+%k$N%U%!%$%k%7%9%F%`$N%G%#%l%/%H%j$X$N\e(B
+\e$B%Q%9!#\e(B</dd>
+
+<dt><em>filename</em></dt>
+
+<dd><code>file.html</code> \e$B$N$h$&$K!"%Q%9>pJs$NIU$$$F$$$J$$\e(B
+\e$B%U%!%$%kL>!#\e(B</dd>
+
+<dt><em>regex</em></dt>
+
+<dd><a href="../misc/FAQ.html#regex">\e$B@55,I=8=\e(B</a>\e$B!#$3$l$O!"\e(B
+\e$B%F%-%9%H$N%^%C%A$N%Q%?!<%s$rI=$7$^$9!#%G%#%l%/%F%#%V$NDj5A$,\e(B
+<em>regex</em> \e$B$,2?$KBP$7$F%^%C%A$r9T$J$&$N$+$r;XDj$7$^$9!#\e(B</dd>
+
+<dt><em>extension</em></dt>
+
+<dd>\e$B0lHLE*$K$O\e(B <em>filename</em>
+\e$B$N:G8e$N%I%C%H$N8e$NItJ,$G$9!#\e(B \e$B$7$+$7!"\e(BApache
+\e$B$OJ#?t$N%U%!%$%k$N3HD%;R$rG'<1$7$^$9$N$G!"\e(B<em>filename</em>
+\e$B$KJ#?t$N%I%C%H$,$"$k$H!":G=i$N%I%C%H$N8e$N!"$=$l$>$l$N%I%C%H$GJ,N%$5$l$?ItJ,$,\e(B
+<em>extension</em> (\e$BLuCm\e(B: \e$B3HD%;R\e(B)
+\e$B$K$J$j$^$9!#Nc$($P!"\e(B<em>filename</em> <code>file.html.en</code>
+\e$B$K$OFs$D$N3HD%;R$,$"$j$^$9!#\e(B<code>.html</code> \e$B$H\e(B
+<code>.en</code> \e$B$G$9!#\e(BApache
+\e$B$N%G%#%l%/%F%#%V$G$O!"\e(B<em>extension</em>
+\e$B$O%I%C%HIU$-$G$bL5$7$G$b;XDj$G$-$^$9!#$5$i$K!"\e(B<em>extension</em>
+\e$B$O\e(B \e$BBgJ8;z>.J8;z$r6hJL$7$^$;$s!#\e(B</dd>
+
+<dt><em>MIME-type</em></dt>
+
+<dd><code>text/html</code> \e$B$N$h$&$K!"%9%i%C%7%e$GJ,N%$5$l$?\e(B
+\e$B<g%U%)!<%^%C%H$HI{%U%)!<%^%C%H$K$h$C$F%U%!%$%k$N7A<0$r\e(B
+\e$BI=$9J}K!$G$9!#\e(B</dd>
+
+<dt><em>env-variable</em></dt>
+
+<dd>Apache \e$B$N@_Dj$K$h$jDj5A$5$l$k\e(B <a
+href="../env.html">\e$B4D6-JQ?t\e(B</a>\e$B$NL>A0$G$9!#$3$l$O%*%Z%l!<%F%#%s%0%7%9%F%`$N\e(B
+\e$B4D6-JQ?t$HF1$8$H$O8B$i$J$$$3$H$KCm0U$7$F$/$@$5$$!#>\:Y$O\e(B <a
+href="../env.html">\e$B4D6-JQ?t$N@bL@\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B</dd>
+</dl>
+
+<hr />
+<h2><a id="Default" name="Default">\e$B%G%U%)%k%H\e(B</a></h2>
+
+<p>\e$B%G%#%l%/%F%#%V$K%G%U%)%k%HCM\e(B
+(<em>\e$B$9$J$o$A\e(B</em>\e$B!"@_Dj%U%!%$%k$+$i\e(B
+\e$B>JN,$5$l$F$$$F$b!"\e(BApache
+\e$B%&%'%V%5!<%P$OFCDj$NCM$K@_Dj$5$l$F$$$k$+$N$h$&$K\e(B
+\e$BF0:n$7$^$9\e(B) \e$B$,$"$k>l9g$O$3$3$K5-=R$5$l$^$9!#\e(B
+\e$B%G%U%)%k%HCM$NL5$$>l9g!"$3$3$O\e(B "<em>None</em>" \e$B$H\e(B
+\e$B=q$+$l$^$9!#$3$3$G=q$+$l$F$$$k%G%U%)%k%H$O%5!<%P$H6&$KG[I[$5$l$F$$$k\e(B
+\e$B%G%U%)%k%H$N\e(B httpd.conf
+\e$BFb$K=q$+$l$F$$$k%G%#%l%/%F%#%V$NCM$H\e(B
+\e$B0c$&2DG=@-$,$"$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+<hr />
+<h2><a id="Context" name="Context">\e$B%3%s%F%-%9%H\e(B</a></h2>
+
+<p>
+\e$B$3$l$O!"%5!<%P$N@_Dj%U%!%$%kCf$N$I$3$G%G%#%l%/%F%#%V$,M-8z$J$N$+$r<($7$^$9!#\e(B
+\e$B<!$K<($9CM$,0l$D0J>e%+%s%^6h@Z$j$GNs5s$5$l$F$$$^$9!#\e(B</p>
+
+<dl>
+<dt><strong>\e$B%5!<%P@_Dj%U%!%$%k\e(B</strong></dt>
+
+<dd>\e$B$3$l$O!"%5!<%P@_Dj%U%!%$%k\e(B
+(<em>\e$BNc$($P\e(B</em>\e$B!"\e(B<samp>httpd.conf</samp>,
+<samp>srm.conf</samp>, <samp>access.conf</samp>)
+\e$BFb$G$O;HMQ$G$-$^$9$,!"\e(B <samp>&lt;VirtualHost&gt;</samp>\e$B$d\e(B
+<samp>&lt;Directory&gt;</samp> \e$B$NCf$G$O\e(B
+<strong>\e$B;HMQ$G$-$J$$\e(B</strong>\e$B$3$H$r<($7$^$9!#\e(B
+<samp>.htaccess</samp>\e$B%U%!%$%k$G$N;HMQ$O5v2D$5$l$F$$$^$;$s!#\e(B</dd>
+
+<dt><strong>\e$B%P!<%A%c%k%[%9%H\e(B</strong></dt>
+
+<dd>\e$B$3$l$O!"%5!<%P@_Dj%U%!%$%k$N\e(B <samp>&lt;VirtualHost&gt;</samp>
+\e$B$NCf$G;HMQ$G$-$k$3$H$r<($7$^$9!#\e(B</dd>
+
+<dt><strong>\e$B%G%#%l%/%H%j\e(B</strong></dt>
+
+<dd>\e$B$3$l$O!"%5!<%P@_Dj%U%!%$%k$N\e(B
+<samp>&lt;Directory&gt;</samp>\e$B!"\e(B
+<samp>&lt;Location&gt;</samp>\e$B!"\e(B<samp>&lt;Files&gt;</samp>
+\e$B$NCf$G!"\e(B <a
+href="../sections.html">Directory\e$B!"\e(BLocation\e$B!"\e(BFiles
+\e$B%;%/%7%g%s$N5!G=\e(B</a>
+\e$B$G@bL@$5$l$F$$$k@)8B$N2<$G;HMQ$G$-$k$3$H$r<($7$^$9!#\e(B</dd>
+
+<dt><strong>.htaccess</strong></dt>
+
+<dd>\e$B$3$l$O!"%G%#%l%/%H%j\e(B<em>\e$BKh\e(B</em>\e$B$N\e(B
+<samp>.htaccess</samp> \e$B%U%!%$%kFb$G\e(B
+\e$B;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#\e(B \e$B$?$@!"\e(B<a href="#Override"
+rel="Help">\e$B>e=q$-\e(B</a>
+\e$B$N@_Dj$K$h$C$F$O!"=hM}$5$l$J$$$+$b$7$l$^$;$s!#\e(B</dd>
+</dl>
+
+<p>
+\e$B%G%#%l%/%F%#%V$O;X<($5$l$?%3%s%F%-%9%H$G\e(B<em>\e$B$N$_\e(B</em>\e$B5v2D$5$l$^$9!#\e(B
+\e$BB>$N>l=j$G;H$*$&$H$9$k$H!"%5!<%P$,$=$N%3%s%F%-%9%H$r@5$7$/07$($J$/\e(B
+\e$B$J$k$h$&$J@_Dj%(%i!<$,H/@8$9$k$+!"%5!<%P$,$^$C$?$/F0:n$7$J$/$J$k!"\e(B
+<em>\e$B$9$J$o$A\e(B</em>\e$B!"%5!<%P$,5/F0$7$J$/$J$k$H$$$&$3$H$K$J$j$^$9!#\e(B</p>
+
+<p>
+\e$B%G%#%l%/%F%#%V$NM-8z$J0LCV$O!"<B:]$O5s$2$i$l$F$$$k%3%s%F%-%9%H$N\e(B
+\e$BO@M}OB\e(B (\e$BLuCm\e(B: Boolen OR) \e$B$K$J$j$^$9!#8@$$49$($k$H!"\e(B
+"<samp>\e$B%5!<%P@_Dj%U%!%$%k!"\e(B.htaccess</samp>" \e$B$GM-8z$@$H\e(B
+\e$B5-$5$l$F$$$k%G%#%l%/%F%#%V$O\e(B <samp>httpd.conf</samp>
+\e$B%U%!%$%k$H\e(B <samp>.htaccess</samp> \e$B%U%!%$%k$H$GM-8z$G$9$,!"\e(B
+<samp>&lt;Directory&gt;</samp> \e$B$d\e(B
+<samp>&lt;VirtualHost&gt;</samp> \e$B$NCf$G$O;HMQ$G$-$^$;$s!#\e(B</p>
+
+<hr />
+<h2><a id="Override" name="Override">\e$B>e=q$-\e(B</a></h2>
+
+<p>\e$B$3$N%G%#%l%/%F%#%V$NB0@-$O!"\e(B<samp>.htaccess</samp>
+\e$B%U%!%$%kCf$K\e(B
+\e$B%G%#%l%/%F%#%V$,8=$l$?$H$-$K!"$=$l$N=hM}$rM-8z$K$9$k$?$a$K\e(B
+\e$B$I$N@_Dj$N>e=q$-$,I,MW$+$r<($7$^$9!#\e(B \e$B%G%#%l%/%F%#%V$N\e(B <a
+href="#Context" rel="Help">\e$B%3%s%F%-%9%H\e(B</a>
+\e$B$,!"\e(B<samp>.htaccess</samp>
+\e$B%U%!%$%kCf$G$O5v2D$7$F$$$J$$>l9g$O!"\e(B \e$B$3$NB0@-$O\e(B
+"<em>\e$BE,MQIT2D\e(B</em>" \e$B$H=q$+$l$^$9!#\e(B</p>
+
+<p>\e$B>e=q$-$O!"\e(B<a href="core.html#allowoverride"
+rel="Help"><samp>AllowOverride</samp></a>
+\e$B%G%#%l%/%F%#%V$K$h$C$FM-8z$K$5$l!"\e(B
+\e$BFCDj$N%9%3!<%W\e(B(\e$B%G%#%l%/%H%j$J$I\e(B)\e$B$H!"\e(B
+\e$B$5$i$K2<0L$N%l%Y%k$N\e(B <samp>AllowOverride</samp>
+\e$B$G=$@5$5$l$J$$8B$j!"\e(B \e$B$=$NG[2<$KBP$7$FE,MQ$5$l$^$9!#\e(B
+\e$B%G%#%l%/%F%#%V$N%I%-%e%a%s%H$O<h$jF@$k>e=q$-$NL>A0$b5s$2$^$9!#\e(B</p>
+
+<hr />
+<h2><a id="Status" name="Status">\e$B%9%F!<%?%9\e(B</a></h2>
+
+<p>\e$B$3$l$O%G%#%l%/%F%#%V$,\e(B Apache
+\e$B%&%'%V%5!<%P$K$I$l$/$i$$$-$D$/AH$_9~$^$l$F$$$k$+$r\e(B
+\e$B<($7$^$9!#8@$$49$($l$P!"%G%#%l%/%F%#%V$H$=$N5!G=$rMxMQ$9$k$?$a$K!"\e(B
+\e$B%b%8%e!<%k$N?t$rA}$d$7$F!"%5!<%P$r:F%3%s%Q%$%k$9$kI,MW$,$"$k$+$b$7$l$J$$\e(B
+\e$B$H$$$&$3$H$r<($7$^$9!#\e(B
+\e$B$3$NB0@-$,<h$jF@$kCM$O0J2<$N$b$N$G$9\e(B:</p>
+
+<dl>
+<dt><strong>Core</strong></dt>
+
+<dd>"Core" \e$B$N%G%#%l%/%F%#%V$O\e(B Apache
+\e$B%&%'%V%5!<%P$N4pK\$H$J$k$Y$-$b$N$G$"$j!"\e(B
+\e$B>o$K;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#\e(B</dd>
+
+<dt><strong>Base</strong></dt>
+
+<dd>"Base" \e$B$N%G%#%l%/%F%#%V$O\e(B
+\e$B%G%U%)%k%H$G%5!<%P$KAH$_9~$^$l$F$$$kI8=`%b%8%e!<%k$NCf$N0l$D$G%5\e(B
+\e$B%]!<%H$5$l$F$$$F!"$o$6$o$6@_Dj$+$i%b%8%e!<%k$r:o=|$7$?$H$-$r=|$$$F!"\e(B
+\e$BDL>o$G$O;HMQ2DG=$G$"$k$3$H$r<($7$^$9!#\e(B</dd>
+
+<dt><strong>Extension</strong></dt>
+
+<dd>"Extension" \e$B$N%G%#%l%/%F%#%V$O!"\e(B Apache
+\e$B%5!<%P$NG[I[J*$KF1:-$5$l$F$$$k%b%8%e!<%k$N0l$D$GDs6!$5$l$F$$$k$b$N$N!"\e(B
+\e$BDL>o$G$O%5!<%P$KAH$_9~$^$l$F$$$J$$$3$H$r<($7$^$9!#\e(B
+\e$B%G%#%l%/%F%#%V$H$=$N5!G=$rM-8z$K$9$k$K$O!"%5!<%P%S%k%IMQ$N@_Dj%U%!%$%k$r\e(B
+\e$BJQ99$7$F\e(B Apache \e$B$r:F%3%s%Q%$%k$9$kI,MW$,$"$j$^$9!#\e(B</dd>
+
+<dt><strong>Experimental</strong></dt>
+
+<dd>"Experimental" \e$B$N%G%#%l%/%F%#%V$O!"\e(BApache \e$BG[I[J*$K\e(B
+\e$BF1:-$5$l$F$$$k$b$N$N!";n$7$?$$>l9g$O<+8J@UG$$G9T$J$&\e(B
+\e$BI,MW$,$"$k$H$$$&$3$H$r<($7$^$9!#%G%#%l%/%F%#%V$O!"$9$Y$F$N%I%-%e%a%s%H$r\e(B
+\e$B40A4$K$=$m$o$;$k$?$a$K2r@b$5$l$F$$$^$9$,!"%5%]!<%H$5$l$F$$$k$H$O8B$j$^$;$s!#\e(B
+\e$B%G%#%l%/%F%#%V$rDs6!$9$k%b%8%e!<%k$O%G%U%)%k%H$GAH$_9~$^$l$F$$$k$+$b\e(B
+\e$B$7$l$^$;$s$7!"$=$&$G$J$$$+$b$7$l$^$;$s!#;HMQ2DG=$+$I$&$+$O!"\e(B
+\e$B%G%#%l%/%F%#%V$H%b%8%e!<%k$N@bL@$r$7$F$$$k%Z!<%8$N@hF,$rD4$Y$F$/$@$5$$!#\e(B</dd>
+</dl>
+
+<hr />
+<h2><a id="Module" name="Module">\e$B%b%8%e!<%k\e(B</a></h2>
+
+<p>
+\e$B$3$l$OC1=c$K%G%#%l%/%F%#%V$,Dj5A$5$l$F$$$k%b%8%e!<%k$NL>A0$r5-:\$7$^$9!#\e(B</p>
+
+<hr />
+<h2><a id="Compatibility" name="Compatibility">\e$B8_49@-\e(B</a></h2>
+
+<p>\e$B%G%#%l%/%F%#%V$,\e(B Apache 1
+\e$B$NG[I[$KAH$_9~$^$l$F$$$J$+$C$?>l9g!"\e(B
+\e$B%G%#%l%/%F%#%V$,F3F~$5$l$?%P!<%8%g%s$,$3$3$K=q$+$l$F$$$^$9!#\e(B
+\e$B%G%#%l%/%F%#%V$,\e(B NCSA HTTPd
+\e$B%5!<%P$N$b$N$HF1$8L>A0$G$"$k>l9g!"\e(B
+\e$B0[$J$k5sF0$,$"$k$H$3$3$K=q$+$l$^$9!#\e(B
+\e$B5sF0$,F1$8>l9g$O!"\e(B"<em>\e$B8_49@-$NLdBjL5$7\e(B</em>"
+\e$B$H=q$+$l$F$$$^$9!#\e(B</p>
+
+<!--#include virtual="footer.html" -->
+</body>
+</html>
diff --git a/htdocs/manual/mod/directives.html.de b/htdocs/manual/mod/directives.html.de
new file mode 100644 (file)
index 0000000..da94e51
--- /dev/null
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<TITLE>Apache Konfigurationsdirektiven</TITLE>
+</HEAD>
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+>
+<!--#include virtual="header.html" -->
+<H1 ALIGN="CENTER">Apache Konfigurationsdirektiven</H1>
+<P>
+Dieses Dokument enth&auml;lt eine vollst&auml;ndige Liste aller
+Konfigurationsdirektiven der Apache Standard-Distribution.
+Die Beschreibungen sind dabei in einem einheitlichen Format verfasst,
+wobei es zu den im Beschreibungsformat verwendeten Feldern eine eigene
+<A
+ HREF="directive-dict.html"
+ REL="Glossary"
+>Legende</A>
+gibt.
+</P>
+<UL>
+<li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+<li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+<LI><A HREF="core.html#accessconfig">AccessConfig</A>
+<LI><A HREF="core.html#accessfilename">AccessFileName</A>
+<LI><A HREF="mod_actions.html#action">Action</A>
+<LI><A HREF="mod_autoindex.html#addalt">AddAlt</A>
+<LI><A HREF="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</A>
+<LI><A HREF="mod_autoindex.html#addaltbytype">AddAltByType</A>
+<LI><A HREF="mod_mime.html#addcharset">AddCharset</A>
+<LI><A HREF="core.html#adddefaultcharset">AddDefaultCharset</A>
+<LI><A HREF="mod_autoindex.html#adddescription">AddDescription</A>
+<LI><A HREF="mod_mime.html#addencoding">AddEncoding</A>
+<LI><A HREF="mod_mime.html#addhandler">AddHandler</A>
+<LI><A HREF="mod_autoindex.html#addicon">AddIcon</A>
+<LI><A HREF="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</A>
+<LI><A HREF="mod_autoindex.html#addiconbytype">AddIconByType</A>
+<LI><A HREF="mod_mime.html#addlanguage">AddLanguage</A>
+<LI><A HREF="core.html#addmodule">AddModule</A>
+<LI><A HREF="mod_info.html#addmoduleinfo">AddModuleInfo</A>
+<LI><A HREF="mod_mime.html#addtype">AddType</A>
+<LI><A HREF="mod_log_agent.html#agentlog">AgentLog</A>
+<LI><A HREF="mod_alias.html#alias">Alias</A>
+<LI><A HREF="mod_alias.html#aliasmatch">AliasMatch</A>
+<LI><A HREF="mod_access.html#allow">Allow</A>
+<LI><A HREF="mod_proxy.html#allowconnect">AllowCONNECT</A>
+<LI><A HREF="core.html#allowoverride">AllowOverride</A>
+<LI><A HREF="mod_auth_anon.html#anonymous">Anonymous</A>
+<LI><A HREF="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</A>
+<LI><A HREF="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</A>
+<LI><A HREF="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</A>
+<LI><A HREF="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</A>
+<LI><A HREF="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</A>
+<LI><A HREF="mod_auth.html#authauthoritative">AuthAuthoritative</A>
+<LI><A HREF="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</A>
+<LI><A HREF="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</A>
+<LI><A HREF="mod_auth_db.html#authdbuserfile">AuthDBUserFile</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</A>
+<LI><A HREF="mod_digest.html#authdigestfile">AuthDigestFile</A>
+<LI><A HREF="mod_auth.html#authgroupfile">AuthGroupFile</A>
+<LI><A HREF="core.html#authname">AuthName</A>
+<LI><A HREF="core.html#authtype">AuthType</A>
+<LI><A HREF="mod_auth.html#authuserfile">AuthUserFile</A>
+<LI><A HREF="core.html#bindaddress">BindAddress</A>
+<LI><A HREF="mod_setenvif.html#browsermatch">BrowserMatch</A>
+<LI><A HREF="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</A>
+<LI><A HREF="core.html#bs2000account">BS2000Account</A>
+<LI><A HREF="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</A>
+<LI><A HREF="mod_proxy.html#cachedirlength">CacheDirLength</A>
+<LI><A HREF="mod_proxy.html#cachedirlevels">CacheDirLevels</A>
+<LI><A HREF="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</A>
+<LI><A HREF="mod_proxy.html#cachegcinterval">CacheGcInterval</A>
+<LI><A HREF="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</A>
+<LI><A HREF="mod_proxy.html#cachemaxexpire">CacheMaxExpire</A>
+<LI><A HREF="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</A>
+<LI><A HREF="mod_proxy.html#cacheroot">CacheRoot</A>
+<LI><A HREF="mod_proxy.html#cachesize">CacheSize</A>
+<LI><A HREF="mod_speling.html#checkspelling">CheckSpelling</A>
+<LI><A HREF="core.html#clearmodulelist">ClearModuleList</A>
+<LI><A HREF="core.html#contentdigest">ContentDigest</A>
+<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li>
+<LI><A HREF="mod_usertrack.html#cookieexpires">CookieExpires</A>
+<li><a href="mod_usertrack.html#cookieformat">CookieFormat</a></li>
+<LI><A HREF="mod_cookies.html#cookielog">CookieLog</A> (mod_cookies)
+<LI><A HREF="mod_log_config.html#cookielog">CookieLog</A> (mod_log_config)
+<li><a href="mod_usertrack.html#cookieprefix">CookiePrefix</a></li>
+<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li>
+<LI><A HREF="mod_usertrack.html#cookietracking">CookieTracking</A>
+<LI><A HREF="core.html#coredumpdirectory">CoreDumpDirectory</A>
+<LI><A HREF="mod_log_config.html#customlog">CustomLog</A>
+<LI><A HREF="mod_autoindex.html#defaulticon">DefaultIcon</A>
+<LI><A HREF="mod_mime.html#defaultlanguage">DefaultLanguage</A>
+<LI><A HREF="core.html#defaulttype">DefaultType</A>
+<LI><A HREF="mod_access.html#deny">Deny</A>
+<LI><A HREF="core.html#directory">&lt;Directory&gt;</A>
+<LI><A HREF="core.html#directorymatch">&lt;DirectoryMatch&gt;</A>
+<LI><A HREF="mod_dir.html#directoryindex">DirectoryIndex</A>
+<LI><A HREF="core.html#documentroot">DocumentRoot</A>
+<LI><A HREF="core.html#ebcdicconvert">EBCDICConvert</A>
+<LI><A HREF="core.html#ebcdicconvertbytype">EBCDICConvertByType</A>
+<LI><A HREF="core.html#ebcdickludge">EBCDICKludge</A>
+<LI><A HREF="core.html#errordocument">ErrorDocument</A>
+<li><a href="mod_headers.html#errorheader">ErrorHeader</a></li>
+<LI><A HREF="core.html#errorlog">ErrorLog</A>
+<LI><A HREF="mod_example.html#example">Example</A>
+<LI><A HREF="mod_expires.html#expiresactive">ExpiresActive</A>
+<LI><A HREF="mod_expires.html#expiresbytype">ExpiresByType</A>
+<LI><A HREF="mod_expires.html#expiresdefault">ExpiresDefault</A>
+<LI><A HREF="mod_status.html#extendedstatus">ExtendedStatus</A>
+<LI><A HREF="mod_autoindex.html#fancyindexing">FancyIndexing</A>
+<li><a href="core.html#fileetag">FileETag</a></li>
+<LI><A HREF="core.html#files">&lt;Files&gt;</A>
+<LI><A HREF="core.html#filesmatch">&lt;FilesMatch&gt;</A>
+<LI><A HREF="mod_mime.html#forcetype">ForceType</A>
+<LI><A HREF="mod_log_forensic.html#forensiclog">ForensicLog</A>
+<LI><A HREF="core.html#group">Group</A>
+<LI><A HREF="mod_headers.html#header">Header</A>
+<LI><A HREF="mod_autoindex.html#headername">HeaderName</A>
+<LI><A HREF="core.html#hostnamelookups">HostNameLookups</A>
+<LI><A HREF="core.html#identitycheck">IdentityCheck</A>
+<LI><A HREF="core.html#ifdefine">&lt;IfDefine&gt;</A>
+<LI><A HREF="core.html#ifmodule">&lt;IfModule&gt;</A>
+<LI><A HREF="mod_imap.html#imapbase">ImapBase</A>
+<LI><A HREF="mod_imap.html#imapdefault">ImapDefault</A>
+<LI><A HREF="mod_imap.html#imapmenu">ImapMenu</A>
+<LI><A HREF="core.html#include">Include</A>
+<LI><A HREF="mod_autoindex.html#indexignore">IndexIgnore</A>
+<LI><A HREF="mod_autoindex.html#indexoptions">IndexOptions</A>
+<LI><A HREF="mod_autoindex.html#indexorderdefault">IndexOrderDefault</A>
+<LI><A HREF="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</A>
+<LI><A HREF="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</A>
+<LI><A HREF="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A>
+<LI><A HREF="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</A>
+<LI><A HREF="core.html#keepalive">KeepAlive</A>
+<LI><A HREF="core.html#keepalivetimeout">KeepAliveTimeout</A>
+<LI><A HREF="mod_negotiation.html#languagepriority">LanguagePriority</A>
+<LI><A HREF="core.html#limit">&lt;Limit&gt;</A>
+<LI><A HREF="core.html#limitexcept">&lt;LimitExcept&gt;</A>
+<LI><A HREF="core.html#limitinternalrecursion">LimitInternalRecursion</A>
+<LI><A HREF="core.html#limitrequestbody">LimitRequestBody</A>
+<LI><A HREF="core.html#limitrequestfields">LimitRequestFields</A>
+<LI><A HREF="core.html#limitrequestfieldsize">LimitRequestFieldsize</A>
+<LI><A HREF="core.html#limitrequestline">LimitRequestLine</A>
+<LI><A HREF="core.html#listen">Listen</A>
+<LI><A HREF="core.html#listenbacklog">ListenBacklog</A>
+<LI><A HREF="mod_so.html#loadfile">LoadFile</A>
+<LI><A HREF="mod_so.html#loadmodule">LoadModule</A>
+<LI><A HREF="core.html#location">&lt;Location&gt;</A>
+<LI><A HREF="core.html#locationmatch">&lt;LocationMatch&gt;</A>
+<LI><A HREF="core.html#lockfile">LockFile</A>
+<LI><A HREF="mod_log_config.html#logformat">LogFormat</A>
+<LI><A HREF="core.html#loglevel">LogLevel</A>
+<LI><A HREF="core.html#maxclients">MaxClients</A>
+<LI><A HREF="core.html#maxkeepaliverequests">MaxKeepAliveRequests</A>
+<LI><A HREF="core.html#maxrequestsperchild">MaxRequestsPerChild</A>
+<LI><A HREF="core.html#maxspareservers">MaxSpareServers</A>
+<LI><A HREF="mod_cern_meta.html#metadir">MetaDir</A>
+<LI><A HREF="mod_cern_meta.html#metafiles">MetaFiles</A>
+<LI><A HREF="mod_cern_meta.html#metasuffix">MetaSuffix</A>
+<LI><A HREF="mod_mime_magic.html#mimemagicfile">MimeMagicFile</A>
+<LI><A HREF="core.html#minspareservers">MinSpareServers</A>
+<LI><A HREF="mod_mmap_static.html#mmapfile">MMapFile</A>
+<LI><A HREF="core.html#namevirtualhost">NameVirtualHost</A>
+<LI><A HREF="mod_proxy.html#nocache">NoCache</A>
+<LI><A HREF="core.html#options">Options</A>
+<LI><A HREF="mod_access.html#order">Order</A>
+<LI><A HREF="mod_env.html#passenv">PassEnv</A>
+<LI><A HREF="core.html#pidfile">PidFile</A>
+<LI><A HREF="core.html#port">Port</A>
+<li><a href="core.html#protocolreqcheck">ProtocolReqCheck</a></li>
+<LI><A HREF="mod_proxy.html#proxyblock">ProxyBlock</A>
+<LI><A HREF="mod_proxy.html#proxydomain">ProxyDomain</A>
+<LI><A HREF="mod_proxy.html#proxypass">ProxyPass</A>
+<LI><A HREF="mod_proxy.html#proxypassreverse">ProxyPassReverse</A>
+<LI><A HREF="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</A>
+<LI><A HREF="mod_proxy.html#proxyremote">ProxyRemote</A>
+<LI><A HREF="mod_proxy.html#proxyrequests">ProxyRequests</A>
+<LI><A HREF="mod_proxy.html#proxyvia">ProxyVia</A>
+<LI><A HREF="mod_autoindex.html#readmename">ReadmeName</A>
+<LI><A HREF="mod_alias.html#redirect">Redirect</A>
+<LI><A HREF="mod_alias.html#redirectmatch">RedirectMatch</A>
+<LI><A HREF="mod_alias.html#redirectperm">RedirectPermanent</A>
+<LI><A HREF="mod_alias.html#redirecttemp">RedirectTemp</A>
+<LI><A HREF="mod_log_referer.html#refererignore">RefererIgnore</A>
+<LI><A HREF="mod_log_referer.html#refererlog">RefererLog</A>
+<LI><A HREF="mod_mime.html#removeencoding">RemoveEncoding</A>
+<LI><A HREF="mod_mime.html#removehandler">RemoveHandler</A>
+<LI><A HREF="mod_mime.html#removetype">RemoveType</A>
+<LI><A HREF="core.html#require">Require</A>
+<LI><A HREF="core.html#resourceconfig">ResourceConfig</A>
+<LI><A HREF="mod_rewrite.html#RewriteBase">RewriteBase</A>
+<LI><A HREF="mod_rewrite.html#RewriteCond">RewriteCond</A>
+<LI><A HREF="mod_rewrite.html#RewriteEngine">RewriteEngine</A>
+<LI><A HREF="mod_rewrite.html#RewriteLock">RewriteLock</A>
+<LI><A HREF="mod_rewrite.html#RewriteLog">RewriteLog</A>
+<LI><A HREF="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</A>
+<LI><A HREF="mod_rewrite.html#RewriteMap">RewriteMap</A>
+<LI><A HREF="mod_rewrite.html#RewriteOptions">RewriteOptions</A>
+<LI><A HREF="mod_rewrite.html#RewriteRule">RewriteRule</A>
+<LI><A HREF="core.html#rlimitcpu">RLimitCPU</A>
+<LI><A HREF="core.html#rlimitmem">RLimitMEM</A>
+<LI><A HREF="core.html#rlimitnproc">RLimitNPROC</A>
+<LI><A HREF="core.html#satisfy">Satisfy</A>
+<LI><A HREF="core.html#scoreboardfile">ScoreBoardFile</A>
+<LI><A HREF="mod_actions.html#script">Script</A>
+<LI><A HREF="mod_alias.html#scriptalias">ScriptAlias</A>
+<LI><A HREF="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</A>
+<LI><A HREF="core.html#scriptinterpretersource">ScriptInterpreterSource</A>
+<LI><A HREF="mod_cgi.html#scriptlog">ScriptLog</A>
+<LI><A HREF="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</A>
+<LI><A HREF="mod_cgi.html#scriptloglength">ScriptLogLength</A>
+<LI><A HREF="core.html#sendbuffersize">SendBufferSize</A>
+<LI><A HREF="core.html#serveradmin">ServerAdmin</A>
+<LI><A HREF="core.html#serveralias">ServerAlias</A>
+<LI><A HREF="core.html#servername">ServerName</A>
+<LI><A HREF="core.html#serverpath">ServerPath</A>
+<LI><A HREF="core.html#serverroot">ServerRoot</A>
+<LI><A HREF="core.html#serversignature">ServerSignature</A>
+<LI><A HREF="core.html#servertokens">ServerTokens</A>
+<LI><A HREF="core.html#servertype">ServerType</A>
+<LI><A HREF="mod_env.html#setenv">SetEnv</A>
+<LI><A HREF="mod_setenvif.html#setenvif">SetEnvIf</A>
+<LI><A HREF="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</A>
+<LI><A HREF="mod_mime.html#sethandler">SetHandler</A>
+<li><a href="core.html#shmemuidisuser">ShmemUIDisUser</a></li>
+<LI><A HREF="core.html#startservers">StartServers</A>
+<LI><A HREF="core.html#threadsperchild">ThreadsPerChild</A>
+<LI><A HREF="core.html#timeout">TimeOut</A>
+<LI><A HREF="mod_log_config.html#transferlog">TransferLog</A>
+<LI><A HREF="mod_mime.html#typesconfig">TypesConfig</A>
+<LI><A HREF="mod_env.html#unsetenv">UnsetEnv</A>
+<LI><A HREF="core.html#usecanonicalname">UseCanonicalName</A>
+<LI><A HREF="core.html#user">User</A>
+<LI><A HREF="mod_userdir.html#userdir">UserDir</A>
+<LI><A HREF="core.html#virtualhost">&lt;VirtualHost&gt;</A>
+<LI><A HREF="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</A>
+<LI><A HREF="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</A>
+<LI><A HREF="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</A>
+<LI><A HREF="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</A>
+<LI><A HREF="mod_include.html#xbithack">XBitHack</A>
+</UL>
+
+<!--#include virtual="footer.html" -->
+</BODY>
+</HTML>
diff --git a/htdocs/manual/mod/directives.html.en b/htdocs/manual/mod/directives.html.en
new file mode 100644 (file)
index 0000000..7f75ba1
--- /dev/null
@@ -0,0 +1,595 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache directives</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Directives</h1>
+
+    <p>Each Apache directive available in the standard Apache
+    distribution is listed here. They are described using a
+    consistent format, and there is <a href="directive-dict.html"
+    rel="Glossary">a dictionary</a> of the terms used in their
+    descriptions available.</p>
+
+    <ul>
+      <li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+
+      <li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+
+      <li><a href="core.html#accessconfig">AccessConfig</a></li>
+
+      <li><a
+      href="core.html#accessfilename">AccessFileName</a></li>
+
+      <li><a href="mod_actions.html#action">Action</a></li>
+
+      <li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addaltbytype">AddAltByType</a></li>
+
+      <li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+
+      <li><a
+      href="core.html#adddefaultcharset">AddDefaultCharset</a></li>
+
+      <li><a
+      href="mod_autoindex.html#adddescription">AddDescription</a></li>
+
+      <li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+
+      <li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+
+      <li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addiconbytype">AddIconByType</a></li>
+
+      <li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+
+      <li><a href="core.html#addmodule">AddModule</a></li>
+
+      <li><a
+      href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li>
+
+      <li><a href="mod_mime.html#addtype">AddType</a></li>
+
+      <li><a href="mod_log_agent.html#agentlog">AgentLog</a></li>
+
+      <li><a href="mod_alias.html#alias">Alias</a></li>
+
+      <li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+
+      <li><a href="mod_access.html#allow">Allow</a></li>
+
+      <li><a
+      href="mod_proxy.html#allowconnect">AllowCONNECT</a></li>
+
+      <li><a href="core.html#allowoverride">AllowOverride</a></li>
+
+      <li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</a></li>
+
+      <li><a
+      href="mod_auth.html#authauthoritative">AuthAuthoritative</a></li>
+
+      <li><a
+      href="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</a></li>
+
+      <li><a
+      href="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+      <li><a
+      href="mod_auth_db.html#authdbuserfile">AuthDBUserFile</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li>
+
+      <li><a
+      href="mod_digest.html#authdigestfile">AuthDigestFile</a></li>
+
+      <li><a
+      href="mod_auth.html#authgroupfile">AuthGroupFile</a></li>
+
+      <li><a href="core.html#authname">AuthName</a></li>
+
+      <li><a href="core.html#authtype">AuthType</a></li>
+
+      <li><a
+      href="mod_auth.html#authuserfile">AuthUserFile</a></li>
+
+      <li><a href="core.html#bindaddress">BindAddress</a></li>
+
+      <li><a
+      href="mod_setenvif.html#browsermatch">BrowserMatch</a></li>
+
+      <li><a
+      href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li>
+
+      <li><a href="core.html#bs2000account">BS2000Account</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachedirlength">CacheDirLength</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachedirlevels">CacheDirLevels</a></li>
+
+      <li><a
+      href="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachegcinterval">CacheGcInterval</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachemaxexpire">CacheMaxExpire</a></li>
+
+      <li><a
+      href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+      <li><a href="mod_proxy.html#cacheroot">CacheRoot</a></li>
+
+      <li><a href="mod_proxy.html#cachesize">CacheSize</a></li>
+
+      <li><a href="core.html#cgicommandargs">CGICommandArgs</a></li>
+
+      <li><a
+      href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+
+      <li><a
+      href="core.html#clearmodulelist">ClearModuleList</a></li>
+
+      <li><a href="core.html#contentdigest">ContentDigest</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookiedomain">CookieDomain</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookieformat">CookieFormat</a></li>
+
+      <li><a href="mod_cookies.html#cookielog">CookieLog</a>
+      (mod_cookies)</li>
+
+      <li><a href="mod_log_config.html#cookielog">CookieLog</a>
+      (mod_log_config)</li>
+
+      <li><a
+      href="mod_usertrack.html#cookieprefix">CookiePrefix</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookiestyle">CookieStyle</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookietracking">CookieTracking</a></li>
+
+      <li><a
+      href="core.html#coredumpdirectory">CoreDumpDirectory</a></li>
+
+      <li><a
+      href="mod_log_config.html#customlog">CustomLog</a></li>
+
+      <li><a
+      href="mod_autoindex.html#defaulticon">DefaultIcon</a></li>
+
+      <li><a
+      href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li>
+
+      <li><a href="core.html#defaulttype">DefaultType</a></li>
+
+      <li><a href="mod_access.html#deny">Deny</a></li>
+
+      <li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+
+      <li><a
+      href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+      <li><a
+      href="mod_dir.html#directoryindex">DirectoryIndex</a></li>
+
+      <li><a href="core.html#documentroot">DocumentRoot</a></li>
+
+      <li><a href="core.html#ebcdicconvert">EBCDICConvert</a></li>
+
+      <li><a
+      href="core.html#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+      <li><a href="core.html#ebcdickludge">EBCDICKludge</a></li>
+
+      <li><a href="core.html#enableexceptionhook">EnableExceptionHook</a></li>
+
+      <li><a href="core.html#errordocument">ErrorDocument</a></li>
+
+      <li><a href="mod_headers.html#errorheader">ErrorHeader</a></li>
+      
+      <li><a href="core.html#errorlog">ErrorLog</a></li>
+
+      <li><a href="mod_example.html#example">Example</a></li>
+
+      <li><a
+      href="mod_expires.html#expiresactive">ExpiresActive</a></li>
+
+      <li><a
+      href="mod_expires.html#expiresbytype">ExpiresByType</a></li>
+
+      <li><a
+      href="mod_expires.html#expiresdefault">ExpiresDefault</a></li>
+
+      <li><a
+      href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
+
+      <li><a
+      href="mod_autoindex.html#fancyindexing">FancyIndexing</a></li>
+
+      <li><a href="core.html#fileetag">FileETag</a></li>
+
+      <li><a href="core.html#files">&lt;Files&gt;</a></li>
+
+      <li><a
+      href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+      <li><a href="mod_mime.html#forcetype">ForceType</a></li>
+
+      <li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
+
+      <li><a href="core.html#group">Group</a></li>
+
+      <li><a href="mod_headers.html#header">Header</a></li>
+
+      <li><a
+      href="mod_autoindex.html#headername">HeaderName</a></li>
+
+      <li><a
+      href="core.html#hostnamelookups">HostnameLookups</a></li>
+
+      <li><a href="core.html#identitycheck">IdentityCheck</a></li>
+
+      <li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+
+      <li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+
+      <li><a href="mod_imap.html#imapbase">ImapBase</a></li>
+
+      <li><a href="mod_imap.html#imapdefault">ImapDefault</a></li>
+
+      <li><a href="mod_imap.html#imapmenu">ImapMenu</a></li>
+
+      <li><a href="core.html#include">Include</a></li>
+
+      <li><a
+      href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
+
+      <li><a
+      href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
+
+      <li><a
+      href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+
+      <li><a href="core.html#keepalive">KeepAlive</a></li>
+
+      <li><a
+      href="core.html#keepalivetimeout">KeepAliveTimeout</a></li>
+
+      <li><a
+      href="mod_negotiation.html#languagepriority">LanguagePriority</a></li>
+
+      <li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+
+      <li><a
+      href="core.html#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+      <li><a
+      href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li>
+
+      <li><a
+      href="core.html#limitrequestbody">LimitRequestBody</a></li>
+
+      <li><a
+      href="core.html#limitrequestfields">LimitRequestFields</a></li>
+
+      <li><a
+      href="core.html#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+      <li><a
+      href="core.html#limitrequestline">LimitRequestLine</a></li>
+
+      <li><a href="core.html#listen">Listen</a></li>
+
+      <li><a href="core.html#listenbacklog">ListenBacklog</a></li>
+
+      <li><a href="mod_so.html#loadfile">LoadFile</a></li>
+
+      <li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+
+      <li><a href="core.html#location">&lt;Location&gt;</a></li>
+
+      <li><a
+      href="core.html#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+      <li><a href="core.html#lockfile">LockFile</a></li>
+
+      <li><a
+      href="mod_log_config.html#logformat">LogFormat</a></li>
+
+      <li><a href="core.html#loglevel">LogLevel</a></li>
+
+      <li><a href="core.html#maxclients">MaxClients</a></li>
+
+      <li><a
+      href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+      <li><a
+      href="core.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+      <li><a
+      href="core.html#maxspareservers">MaxSpareServers</a></li>
+
+      <li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+
+      <li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+
+      <li><a
+      href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li>
+
+      <li><a
+      href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li>
+
+      <li><a
+      href="core.html#minspareservers">MinSpareServers</a></li>
+
+      <li><a href="mod_mmap_static.html#mmapfile">MMapFile</a></li>
+
+      <li><a
+      href="core.html#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="mod_proxy.html#nocache">NoCache</a></li>
+
+      <li><a href="core.html#options">Options</a></li>
+
+      <li><a href="mod_access.html#order">Order</a></li>
+
+      <li><a href="mod_env.html#passenv">PassEnv</a></li>
+
+      <li><a href="core.html#pidfile">PidFile</a></li>
+
+      <li><a href="core.html#port">Port</a></li>
+
+      <li><a href="core.html#protocolreqcheck">ProtocolReqCheck</a></li>
+
+      <li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+
+      <li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+
+      <li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+
+      <li><a
+      href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
+
+      <li><a
+      href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+
+      <li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+
+      <li><a
+      href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
+
+      <li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+
+      <li><a
+      href="mod_autoindex.html#readmename">ReadmeName</a></li>
+
+      <li><a href="mod_alias.html#redirect">Redirect</a></li>
+
+      <li><a
+      href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
+
+      <li><a
+      href="mod_alias.html#redirectperm">RedirectPermanent</a></li>
+
+      <li><a
+      href="mod_alias.html#redirecttemp">RedirectTemp</a></li>
+
+      <li><a
+      href="mod_log_referer.html#refererignore">RefererIgnore</a></li>
+
+      <li><a
+      href="mod_log_referer.html#refererlog">RefererLog</a></li>
+
+      <li><a
+      href="mod_mime.html#removeencoding">RemoveEncoding</a></li>
+
+      <li><a
+      href="mod_mime.html#removehandler">RemoveHandler</a></li>
+
+      <li><a href="mod_mime.html#removetype">RemoveType</a></li>
+
+      <li><a href="core.html#require">Require</a></li>
+
+      <li><a
+      href="core.html#resourceconfig">ResourceConfig</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteBase">RewriteBase</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteCond">RewriteCond</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteEngine">RewriteEngine</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteLock">RewriteLock</a></li>
+
+      <li><a href="mod_rewrite.html#RewriteLog">RewriteLog</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a></li>
+
+      <li><a href="mod_rewrite.html#RewriteMap">RewriteMap</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteOptions">RewriteOptions</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteRule">RewriteRule</a></li>
+
+      <li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+
+      <li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+
+      <li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+
+      <li><a href="core.html#satisfy">Satisfy</a></li>
+
+      <li><a
+      href="core.html#scoreboardfile">ScoreBoardFile</a></li>
+
+      <li><a href="mod_actions.html#script">Script</a></li>
+
+      <li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+
+      <li><a
+      href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li>
+
+      <li><a
+      href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+      <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+
+      <li><a
+      href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li>
+
+      <li><a
+      href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
+
+      <li><a
+      href="core.html#sendbuffersize">SendBufferSize</a></li>
+
+      <li><a href="core.html#serveradmin">ServerAdmin</a></li>
+
+      <li><a href="core.html#serveralias">ServerAlias</a></li>
+
+      <li><a href="core.html#servername">ServerName</a></li>
+
+      <li><a href="core.html#serverpath">ServerPath</a></li>
+
+      <li><a href="core.html#serverroot">ServerRoot</a></li>
+
+      <li><a
+      href="core.html#serversignature">ServerSignature</a></li>
+
+      <li><a href="core.html#servertokens">ServerTokens</a></li>
+
+      <li><a href="core.html#servertype">ServerType</a></li>
+
+      <li><a href="mod_env.html#setenv">SetEnv</a></li>
+
+      <li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+
+      <li><a
+      href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li>
+
+      <li><a href="mod_mime.html#sethandler">SetHandler</a></li>
+
+      <li><a href="core.html#shmemuidisuser">ShmemUIDisUser</a></li>
+
+      <li><a href="core.html#startservers">StartServers</a></li>
+
+      <li><a
+      href="core.html#threadsperchild">ThreadsPerChild</a></li>
+
+      <li><a href="core.html#timeout">TimeOut</a></li>
+
+      <li><a
+      href="mod_log_config.html#transferlog">TransferLog</a></li>
+
+      <li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+
+      <li><a href="mod_env.html#unsetenv">UnsetEnv</a></li>
+
+      <li><a
+      href="core.html#usecanonicalname">UseCanonicalName</a></li>
+
+      <li><a href="core.html#user">User</a></li>
+
+      <li><a href="mod_userdir.html#userdir">UserDir</a></li>
+
+      <li><a
+      href="core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+
+      <li><a href="mod_include.html#xbithack">XBitHack</a></li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/directives.html.fr b/htdocs/manual/mod/directives.html.fr
new file mode 100644 (file)
index 0000000..d0a53b3
--- /dev/null
@@ -0,0 +1,572 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.69 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Directives Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Directives Apache</h1>
+
+    <p>Chacune des directives Apache disponible dans la
+    distribution standard est list&eacute;e ici. Elles sont
+    d&eacute;crites selon un format pr&eacute;cis, et nous
+    fournissons un <a href="directive-dict.html"
+    rel="Glossary">dictionnaire</a> des termes utilis&eacute;s pour
+    leur description.</p>
+
+    <ul>
+      <li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+
+      <li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+
+      <li><a href="core.html#accessconfig">AccessConfig</a></li>
+
+      <li><a
+      href="core.html#accessfilename">AccessFileName</a></li>
+
+      <li><a href="mod_actions.html#action">Action</a></li>
+
+      <li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addaltbytype">AddAltByType</a></li>
+
+      <li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+
+      <li><a
+      href="core.html#adddefaultcharset">AddDefaultCharset</a></li>
+
+      <li><a
+      href="mod_autoindex.html#adddescription">AddDescription</a></li>
+
+      <li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+
+      <li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+
+      <li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li>
+
+      <li><a
+      href="mod_autoindex.html#addiconbytype">AddIconByType</a></li>
+
+      <li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+
+      <li><a href="core.html#addmodule">AddModule</a></li>
+
+      <li><a
+      href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li>
+
+      <li><a href="mod_mime.html#addtype">AddType</a></li>
+
+      <li><a href="mod_log_agent.html#agentlog">AgentLog</a></li>
+
+      <li><a href="mod_alias.html#alias">Alias</a></li>
+
+      <li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+
+      <li><a href="mod_access.html#allow">allow</a></li>
+
+      <li><a
+      href="mod_proxy.html#allowconnect">AllowCONNECT</a></li>
+
+      <li><a href="core.html#allowoverride">AllowOverride</a></li>
+
+      <li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</a></li>
+
+      <li><a
+      href="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</a></li>
+
+      <li><a
+      href="mod_auth.html#authauthoritative">AuthAuthoritative</a></li>
+
+      <li><a
+      href="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</a></li>
+
+      <li><a
+      href="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+      <li><a
+      href="mod_auth_db.html#authdbuserfile">AuthDBUserFile</a></li>
+
+      <li><a
+      href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li>
+
+      <li><a
+      href="mod_digest.html#authdigestfile">AuthDigestFile</a></li>
+
+      <li><a
+      href="mod_auth.html#authgroupfile">AuthGroupFile</a></li>
+
+      <li><a href="core.html#authname">AuthName</a></li>
+
+      <li><a href="core.html#authtype">AuthType</a></li>
+
+      <li><a
+      href="mod_auth.html#authuserfile">AuthUserFile</a></li>
+
+      <li><a href="core.html#bindaddress">BindAddress</a></li>
+
+      <li><a
+      href="mod_setenvif.html#browsermatch">BrowserMatch</a></li>
+
+      <li><a
+      href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li>
+
+      <li><a href="core.html#bs2000account">BS2000Account</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachedirlength">CacheDirLength</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachedirlevels">CacheDirLevels</a></li>
+
+      <li><a
+      href="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachegcinterval">CacheGcInterval</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+
+      <li><a
+      href="mod_proxy.html#cachemaxexpire">CacheMaxExpire</a></li>
+
+      <li><a
+      href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+      <li><a href="mod_proxy.html#cacheroot">CacheRoot</a></li>
+
+      <li><a href="mod_proxy.html#cachesize">CacheSize</a></li>
+
+      <li><a
+      href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+
+      <li><a
+      href="core.html#clearmodulelist">ClearModuleList</a></li>
+
+      <li><a href="core.html#contentdigest">ContentDigest</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
+
+      <li><a href="mod_cookies.html#cookielog">CookieLog</a>
+      (mod_cookies)</li>
+
+      <li><a href="mod_log_config.html#cookielog">CookieLog</a>
+      (mod_log_config)</li>
+
+      <li><a
+      href="mod_usertrack.html#cookietracking">CookieTracking</a></li>
+
+      <li><a
+      href="core.html#coredumpdirectory">CoreDumpDirectory</a></li>
+
+      <li><a
+      href="mod_log_config.html#customlog">CustomLog</a></li>
+
+      <li><a
+      href="mod_autoindex.html#defaulticon">DefaultIcon</a></li>
+
+      <li><a
+      href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li>
+
+      <li><a href="core.html#defaulttype">DefaultType</a></li>
+
+      <li><a href="mod_access.html#deny">deny</a></li>
+
+      <li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+
+      <li><a
+      href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+      <li><a
+      href="mod_dir.html#directoryindex">DirectoryIndex</a></li>
+
+      <li><a href="core.html#documentroot">DocumentRoot</a></li>
+
+      <li><a href="core.html#ebcdicconvert">EBCDICConvert</a></li>
+
+      <li><a
+      href="core.html#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+      <li><a href="core.html#ebcdickludge">EBCDICKludge</a></li>
+
+      <li><a href="core.html#errordocument">ErrorDocument</a></li>
+
+      <li><a href="core.html#errorlog">ErrorLog</a></li>
+
+      <li><a href="mod_example.html#example">Example</a></li>
+
+      <li><a
+      href="mod_expires.html#expiresactive">ExpiresActive</a></li>
+
+      <li><a
+      href="mod_expires.html#expiresbytype">ExpiresByType</a></li>
+
+      <li><a
+      href="mod_expires.html#expiresdefault">ExpiresDefault</a></li>
+
+      <li><a
+      href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
+
+      <li><a
+      href="mod_autoindex.html#fancyindexing">FancyIndexing</a></li>
+
+      <li><a href="core.html#files">&lt;Files&gt;</a></li>
+
+      <li><a
+      href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+      <li><a href="mod_mime.html#forcetype">ForceType</a></li>
+
+      <li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
+
+      <li><a href="core.html#group">Group</a></li>
+
+      <li><a href="mod_headers.html#header">Header</a></li>
+
+      <li><a
+      href="mod_autoindex.html#headername">HeaderName</a></li>
+
+      <li><a
+      href="core.html#hostnamelookups">HostNameLookups</a></li>
+
+      <li><a href="core.html#identitycheck">IdentityCheck</a></li>
+
+      <li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+
+      <li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+
+      <li><a href="mod_imap.html#imapbase">ImapBase</a></li>
+
+      <li><a href="mod_imap.html#imapdefault">ImapDefault</a></li>
+
+      <li><a href="mod_imap.html#imapmenu">ImapMenu</a></li>
+
+      <li><a href="core.html#include">Include</a></li>
+
+      <li><a
+      href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
+
+      <li><a
+      href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
+
+      <li><a
+      href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+      <li><a
+      href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+
+      <li><a href="core.html#keepalive">KeepAlive</a></li>
+
+      <li><a
+      href="core.html#keepalivetimeout">KeepAliveTimeout</a></li>
+
+      <li><a
+      href="mod_negotiation.html#languagepriority">LanguagePriority</a></li>
+
+      <li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+
+      <li><a
+      href="core.html#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+      <li><a
+      href="core.html#limitrequestbody">LimitRequestBody</a></li>
+
+      <li><a
+      href="core.html#limitrequestfields">LimitRequestFields</a></li>
+
+      <li><a
+      href="core.html#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+      <li><a
+      href="core.html#limitrequestline">LimitRequestLine</a></li>
+
+      <li><a href="core.html#listen">Listen</a></li>
+
+      <li><a href="core.html#listenbacklog">ListenBacklog</a></li>
+
+      <li><a href="mod_so.html#loadfile">LoadFile</a></li>
+
+      <li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+
+      <li><a href="core.html#location">&lt;Location&gt;</a></li>
+
+      <li><a
+      href="core.html#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+      <li><a href="core.html#lockfile">LockFile</a></li>
+
+      <li><a
+      href="mod_log_config.html#logformat">LogFormat</a></li>
+
+      <li><a href="core.html#loglevel">LogLevel</a></li>
+
+      <li><a href="core.html#maxclients">MaxClients</a></li>
+
+      <li><a
+      href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+      <li><a
+      href="core.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+      <li><a
+      href="core.html#maxspareservers">MaxSpareServers</a></li>
+
+      <li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+
+      <li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+
+      <li><a
+      href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li>
+
+      <li><a
+      href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li>
+
+      <li><a
+      href="core.html#minspareservers">MinSpareServers</a></li>
+
+      <li><a href="mod_mmap_static.html#mmapfile">MMapFile</a></li>
+
+      <li><a
+      href="core.html#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="mod_proxy.html#nocache">NoCache</a></li>
+
+      <li><a href="core.html#options">Options</a></li>
+
+      <li><a href="mod_access.html#order">order</a></li>
+
+      <li><a href="mod_env.html#passenv">PassEnv</a></li>
+
+      <li><a href="core.html#pidfile">PidFile</a></li>
+
+      <li><a href="core.html#port">Port</a></li>
+
+      <li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+
+      <li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+
+      <li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+
+      <li><a
+      href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
+
+      <li><a
+      href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+
+      <li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+
+      <li><a
+      href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
+
+      <li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+
+      <li><a
+      href="mod_autoindex.html#readmename">ReadmeName</a></li>
+
+      <li><a href="mod_alias.html#redirect">Redirect</a></li>
+
+      <li><a
+      href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
+
+      <li><a
+      href="mod_alias.html#redirectperm">RedirectPermanent</a></li>
+
+      <li><a
+      href="mod_alias.html#redirecttemp">RedirectTemp</a></li>
+
+      <li><a
+      href="mod_log_referer.html#refererignore">RefererIgnore</a></li>
+
+      <li><a
+      href="mod_log_referer.html#refererlog">RefererLog</a></li>
+
+      <li><a
+      href="mod_mime.html#removeencoding">RemoveEncoding</a></li>
+
+      <li><a
+      href="mod_mime.html#removehandler">RemoveHandler</a></li>
+
+      <li><a href="mod_mime.html#removetype">RemoveType</a></li>
+
+      <li><a href="core.html#require">require</a></li>
+
+      <li><a
+      href="core.html#resourceconfig">ResourceConfig</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteBase">RewriteBase</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteCond">RewriteCond</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteEngine">RewriteEngine</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteLock">RewriteLock</a></li>
+
+      <li><a href="mod_rewrite.html#RewriteLog">RewriteLog</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a></li>
+
+      <li><a href="mod_rewrite.html#RewriteMap">RewriteMap</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteOptions">RewriteOptions</a></li>
+
+      <li><a
+      href="mod_rewrite.html#RewriteRule">RewriteRule</a></li>
+
+      <li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+
+      <li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+
+      <li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+
+      <li><a href="core.html#satisfy">Satisfy</a></li>
+
+      <li><a
+      href="core.html#scoreboardfile">ScoreBoardFile</a></li>
+
+      <li><a href="mod_actions.html#script">Script</a></li>
+
+      <li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+
+      <li><a
+      href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li>
+
+      <li><a
+      href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+      <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+
+      <li><a
+      href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li>
+
+      <li><a
+      href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
+
+      <li><a
+      href="core.html#sendbuffersize">SendBufferSize</a></li>
+
+      <li><a href="core.html#serveradmin">ServerAdmin</a></li>
+
+      <li><a href="core.html#serveralias">ServerAlias</a></li>
+
+      <li><a href="core.html#servername">ServerName</a></li>
+
+      <li><a href="core.html#serverpath">ServerPath</a></li>
+
+      <li><a href="core.html#serverroot">ServerRoot</a></li>
+
+      <li><a
+      href="core.html#serversignature">ServerSignature</a></li>
+
+      <li><a href="core.html#servertokens">ServerTokens</a></li>
+
+      <li><a href="core.html#servertype">ServerType</a></li>
+
+      <li><a href="mod_env.html#setenv">SetEnv</a></li>
+
+      <li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+
+      <li><a
+      href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li>
+
+      <li><a href="mod_mime.html#sethandler">SetHandler</a></li>
+
+      <li><a href="core.html#startservers">StartServers</a></li>
+
+      <li><a
+      href="core.html#threadsperchild">ThreadsPerChild</a></li>
+
+      <li><a href="core.html#timeout">TimeOut</a></li>
+
+      <li><a
+      href="mod_log_config.html#transferlog">TransferLog</a></li>
+
+      <li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+
+      <li><a href="mod_env.html#unsetenv">UnsetEnv</a></li>
+
+      <li><a
+      href="core.html#usecanonicalname">UseCanonicalName</a></li>
+
+      <li><a href="core.html#user">User</a></li>
+
+      <li><a href="mod_userdir.html#userdir">UserDir</a></li>
+
+      <li><a
+      href="core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
+
+      <li><a
+      href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+
+      <li><a href="mod_include.html#xbithack">XBitHack</a></li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/directives.html.html b/htdocs/manual/mod/directives.html.html
new file mode 100644 (file)
index 0000000..ae7d722
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="directives.html.en" -->
+
diff --git a/htdocs/manual/mod/directives.html.ja.jis b/htdocs/manual/mod/directives.html.ja.jis
new file mode 100644 (file)
index 0000000..b043eab
--- /dev/null
@@ -0,0 +1,592 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B%G%#%l%/%F%#%V\e(B</title>
+
+  </head>
+  <!-- English revision: 1.84 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%G%#%l%/%F%#%V\e(B</h1>
+
+    <p>\e$BDL>o$N\e(B Apache \e$BG[I[$K4^$^$l$k\e(B Apache \e$B$N%G%#%l%/%F%#%V$O!"\e(B
+    \e$B<!$N$h$&$K$J$j$^$9!#5-=R$K4X$9$k4pK\=q<0$K$D$$$F$O!"\e(B
+    \e$B$=$l$i$NM-8z$JI=5-$K4X$9$k\e(B <a href="directive-dict.html"
+    rel="glossary">\e$B<-=q\e(B</a> \e$B$,MQ0U$5$l$F$$$^$9!#\e(B
+    </p>
+
+    <ul>
+      <li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+
+      <li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+
+      <li><a href="core.html#accessconfig">AccessConfig</a></li>
+
+      <li><a href="core.html#accessfilename"
+      >AccessFileName</a></li>
+
+      <li><a href="mod_actions.html#action">Action</a></li>
+
+      <li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+
+      <li><a href="mod_autoindex.html#addaltbyencoding"
+      >AddAltByEncoding</a></li>
+
+      <li><a href="mod_autoindex.html#addaltbytype"
+      >AddAltByType</a></li>
+
+      <li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+
+      <li><a href="core.html#adddefaultcharset"
+      >AddDefaultCharset</a></li>
+
+      <li><a href="mod_autoindex.html#adddescription"
+      >AddDescription</a></li>
+
+      <li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+
+      <li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+
+      <li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+
+      <li><a href="mod_autoindex.html#addiconbyencoding"
+      >AddIconByEncoding</a></li>
+
+      <li><a href="mod_autoindex.html#addiconbytype"
+      >AddIconByType</a></li>
+
+      <li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+
+      <li><a href="core.html#addmodule">AddModule</a></li>
+
+      <li><a href="mod_info.html#addmoduleinfo"
+      >AddModuleInfo</a></li>
+
+      <li><a href="mod_mime.html#addtype">AddType</a></li>
+
+      <li><a href="mod_log_agent.html#agentlog">AgentLog</a></li>
+
+      <li><a href="mod_alias.html#alias">Alias</a></li>
+
+      <li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+
+      <li><a href="mod_access.html#allow">Allow</a></li>
+
+      <li><a href="mod_proxy.html#allowconnect"
+      >AllowCONNECT</a></li>
+
+      <li><a href="core.html#allowoverride">AllowOverride</a></li>
+
+      <li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li>
+
+      <li><a href="mod_auth_anon.html#authoritative"
+      >Anonymous_Authoritative</a></li>
+
+      <li><a href="mod_auth_anon.html#logemail"
+      >Anonymous_LogEmail</a></li>
+
+      <li><a href="mod_auth_anon.html#mustgiveemail"
+      >Anonymous_MustGiveEmail</a></li>
+
+      <li><a href="mod_auth_anon.html#nouserid"
+      >Anonymous_NoUserID</a></li>
+
+      <li><a href="mod_auth_anon.html#verifyemail"
+      >Anonymous_VerifyEmail</a></li>
+
+      <li><a href="mod_auth.html#authauthoritative"
+      >AuthAuthoritative</a></li>
+
+      <li><a href="mod_auth_db.html#authdbauthoritative"
+      >AuthDBAuthoritative</a></li>
+
+      <li><a href="mod_auth_db.html#authdbgroupfile"
+      >AuthDBGroupFile</a></li>
+
+      <li><a href="mod_auth_dbm.html#authdbmauthoritative"
+      >AuthDBMAuthoritative</a></li>
+
+      <li><a href="mod_auth_dbm.html#authdbmgroupfile"
+      >AuthDBMGroupFile</a></li>
+
+      <li><a href="mod_auth_dbm.html#authdbmgroupfile"
+      >AuthDBMGroupFile</a></li>
+
+      <li><a href="mod_auth_db.html#authdbuserfile"
+      >AuthDBUserFile</a></li>
+
+      <li><a href="mod_auth_dbm.html#authdbmuserfile"
+      >AuthDBMUserFile</a></li>
+
+      <li><a href="mod_digest.html#authdigestfile"
+      >AuthDigestFile</a></li>
+
+      <li><a href="mod_auth.html#authgroupfile"
+      >AuthGroupFile</a></li>
+
+      <li><a href="core.html#authname">AuthName</a></li>
+
+      <li><a href="core.html#authtype">AuthType</a></li>
+
+      <li><a href="mod_auth.html#authuserfile"
+      >AuthUserFile</a></li>
+
+      <li><a href="core.html#bindaddress">BindAddress</a></li>
+
+      <li><a href="mod_setenvif.html#browsermatch"
+      >BrowserMatch</a></li>
+
+      <li><a href="mod_setenvif.html#browsermatchnocase"
+      >BrowserMatchNoCase</a></li>
+
+      <li><a href="core.html#bs2000account">BS2000Account</a></li>
+
+      <li><a href="mod_proxy.html#cachedefaultexpire"
+      >CacheDefaultExpire</a></li>
+
+      <li><a href="mod_proxy.html#cachedirlength"
+      >CacheDirLength</a></li>
+
+      <li><a href="mod_proxy.html#cachedirlevels"
+      >CacheDirLevels</a></li>
+
+      <li><a href="mod_proxy.html#cacheforcecompletion"
+      >CacheForceCompletion</a></li>
+
+      <li><a href="mod_proxy.html#cachegcinterval"
+      >CacheGcInterval</a></li>
+
+      <li><a href="mod_proxy.html#cachelastmodifiedfactor"
+      >CacheLastModifiedFactor</a></li>
+
+      <li><a href="mod_proxy.html#cachemaxexpire"
+      >CacheMaxExpire</a></li>
+
+      <li><a href="mod_negotiation.html#cachenegotiateddocs"
+      >CacheNegotiatedDocs</a></li>
+
+      <li><a href="mod_proxy.html#cacheroot">CacheRoot</a></li>
+
+      <li><a href="mod_proxy.html#cachesize">CacheSize</a></li>
+
+      <li><a href="core.html#cgicommandargs">CGICommandArgs</a></li>
+
+      <li><a href="mod_speling.html#checkspelling"
+      >CheckSpelling</a></li>
+
+      <li><a href="core.html#clearmodulelist"
+      >ClearModuleList</a></li>
+
+      <li><a href="core.html#contentdigest">ContentDigest</a></li>
+
+      <li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li>
+
+      <li><a href="mod_usertrack.html#cookieexpires"
+      >CookieExpires</a></li>
+
+      <li><a
+      href="mod_usertrack.html#cookieformat">CookieFormat</a></li>
+
+      <li><a href="mod_cookies.html#cookielog">CookieLog</a>
+      (mod_cookies)</li>
+
+      <li><a href="mod_log_config.html#cookielog">CookieLog</a>
+      (mod_log_config)</li>
+
+      <li><a
+      href="mod_usertrack.html#cookieprefix">CookiePrefix</a></li>
+
+      <li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li>
+
+      <li><a href="mod_usertrack.html#cookietracking"
+      >CookieTracking</a></li>
+
+      <li><a href="core.html#coredumpdirectory"
+      >CoreDumpDirectory</a></li>
+
+      <li><a href="mod_log_config.html#customlog"
+      >CustomLog</a></li>
+
+      <li><a href="mod_autoindex.html#defaulticon"
+      >DefaultIcon</a></li>
+
+      <li><a href="mod_mime.html#defaultlanguage"
+      >DefaultLanguage</a></li>
+
+      <li><a href="core.html#defaulttype">DefaultType</a></li>
+
+      <li><a href="mod_access.html#deny">Deny</a></li>
+
+      <li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+
+      <li><a href="core.html#directorymatch"
+      >&lt;DirectoryMatch&gt;</a></li>
+
+      <li><a href="mod_dir.html#directoryindex"
+      >DirectoryIndex</a></li>
+
+      <li><a href="core.html#documentroot">DocumentRoot</a></li>
+
+      <li><a href="core.html#ebcdicconvert">EBCDICConvert</a></li>
+
+      <li><a
+      href="core.html#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+      <li><a href="core.html#ebcdickludge">EBCDICKludge</a></li>
+
+      <li><a href="core.html#enableexceptionhook">EnableExceptionHook</a></li>
+
+      <li><a href="core.html#errordocument">ErrorDocument</a></li>
+
+      <li><a href="mod_headers.html#errorheader">ErrorHeader</a></li>
+
+      <li><a href="core.html#errorlog">ErrorLog</a></li>
+
+      <li><a href="mod_example.html#example">Example</a></li>
+
+      <li><a href="mod_expires.html#expiresactive"
+      >ExpiresActive</a></li>
+
+      <li><a href="mod_expires.html#expiresbytype"
+      >ExpiresByType</a></li>
+
+      <li><a href="mod_expires.html#expiresdefault"
+      >ExpiresDefault</a></li>
+
+      <li><a href="mod_status.html#extendedstatus"
+      >ExtendedStatus</a></li>
+
+      <li><a href="mod_autoindex.html#fancyindexing"
+      >FancyIndexing</a></li>
+
+      <li><a href="core.html#fileetag">FileETag</a></li>
+
+      <li><a href="core.html#files">&lt;Files&gt;</a></li>
+
+      <li><a href="core.html#filesmatch"
+      >&lt;FilesMatch&gt;</a></li>
+
+      <li><a href="mod_mime.html#forcetype">ForceType</a></li>
+
+      <li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
+
+      <li><a href="core.html#group">Group</a></li>
+
+      <li><a href="mod_headers.html#header">Header</a></li>
+
+      <li><a href="mod_autoindex.html#headername"
+      >HeaderName</a></li>
+
+      <li><a href="core.html#hostnamelookups"
+      >HostnameLookups</a></li>
+
+      <li><a href="core.html#identitycheck">IdentityCheck</a></li>
+
+      <li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+
+      <li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+
+      <li><a href="mod_imap.html#imapbase">ImapBase</a></li>
+
+      <li><a href="mod_imap.html#imapdefault">ImapDefault</a></li>
+
+      <li><a href="mod_imap.html#imapmenu">ImapMenu</a></li>
+
+      <li><a href="core.html#include">Include</a></li>
+
+      <li><a href="mod_autoindex.html#indexignore"
+      >IndexIgnore</a></li>
+
+      <li><a href="mod_autoindex.html#indexoptions"
+      >IndexOptions</a></li>
+
+      <li><a href="mod_autoindex.html#indexorderdefault"
+      >IndexOrderDefault</a></li>
+
+      <li><a href="mod_isapi.html#isapireadaheadbuffer"
+      >ISAPIReadAheadBuffer</a></li>
+
+      <li><a href="mod_isapi.html#isapilognotsupported"
+      >ISAPILogNotSupported</a></li>
+
+      <li><a href="mod_isapi.html#isapiappendlogtoerrors"
+      >ISAPIAppendLogToErrors</a></li>
+
+      <li><a href="mod_isapi.html#isapiappendlogtoquery"
+      >ISAPIAppendLogToQuery</a></li>
+
+      <li><a href="core.html#keepalive">KeepAlive</a></li>
+
+      <li><a href="core.html#keepalivetimeout"
+      >KeepAliveTimeout</a></li>
+
+      <li><a href="mod_negotiation.html#languagepriority"
+      >LanguagePriority</a></li>
+
+      <li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+
+      <li><a href="core.html#limitexcept"
+      >&lt;LimitExcept&gt;</a></li>
+
+      <li><a href="core.html#limitinternalrecursion"
+      >LimitInternalRecursion</a></li>
+
+      <li><a href="core.html#limitrequestbody"
+      >LimitRequestBody</a></li>
+
+      <li><a href="core.html#limitrequestfields"
+      >LimitRequestFields</a></li>
+
+      <li><a href="core.html#limitrequestfieldsize"
+      >LimitRequestFieldsize</a></li>
+
+      <li><a href="core.html#limitrequestline"
+      >LimitRequestLine</a></li>
+
+      <li><a href="core.html#listen">Listen</a></li>
+
+      <li><a href="core.html#listenbacklog">ListenBacklog</a></li>
+
+      <li><a href="mod_so.html#loadfile">LoadFile</a></li>
+
+      <li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+
+      <li><a href="core.html#location">&lt;Location&gt;</a></li>
+
+      <li><a href="core.html#locationmatch"
+      >&lt;LocationMatch&gt;</a></li>
+
+      <li><a href="core.html#lockfile">LockFile</a></li>
+
+      <li><a href="mod_log_config.html#logformat"
+      >LogFormat</a></li>
+
+      <li><a href="core.html#loglevel">LogLevel</a></li>
+
+      <li><a href="core.html#maxclients">MaxClients</a></li>
+
+      <li><a href="core.html#maxkeepaliverequests"
+      >MaxKeepAliveRequests</a></li>
+
+      <li><a href="core.html#maxrequestsperchild"
+      >MaxRequestsPerChild</a></li>
+
+      <li><a href="core.html#maxspareservers"
+      >MaxSpareServers</a></li>
+
+      <li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+
+      <li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+
+      <li><a href="mod_cern_meta.html#metasuffix"
+      >MetaSuffix</a></li>
+
+      <li><a href="mod_mime_magic.html#mimemagicfile"
+      >MimeMagicFile</a></li>
+
+      <li><a href="core.html#minspareservers"
+      >MinSpareServers</a></li>
+
+      <li><a href="mod_mmap_static.html#mmapfile">MMapFile</a></li>
+
+      <li><a href="core.html#namevirtualhost"
+      >NameVirtualHost</a></li>
+
+      <li><a href="mod_proxy.html#nocache">NoCache</a></li>
+
+      <li><a href="core.html#options">Options</a></li>
+
+      <li><a href="mod_access.html#order">Order</a></li>
+
+      <li><a href="mod_env.html#passenv">PassEnv</a></li>
+
+      <li><a href="core.html#pidfile">PidFile</a></li>
+
+      <li><a href="core.html#port">Port</a></li>
+
+      <li><a href="core.html#protocolreqcheck">ProtocolReqCheck</a></li>
+
+      <li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+
+      <li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+
+      <li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+
+      <li><a href="mod_proxy.html#proxypassreverse"
+      >ProxyPassReverse</a></li>
+
+      <li><a href="mod_proxy.html#proxyreceivebuffersize"
+      >ProxyReceiveBufferSize</a></li>
+
+      <li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+
+      <li><a href="mod_proxy.html#proxyrequests"
+      >ProxyRequests</a></li>
+
+      <li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+
+      <li><a href="mod_autoindex.html#readmename"
+      >ReadmeName</a></li>
+
+      <li><a href="mod_alias.html#redirect">Redirect</a></li>
+
+      <li><a href="mod_alias.html#redirectmatch"
+      >RedirectMatch</a></li>
+
+      <li><a href="mod_alias.html#redirectperm"
+      >RedirectPermanent</a></li>
+
+      <li><a href="mod_alias.html#redirecttemp"
+      >RedirectTemp</a></li>
+
+      <li><a href="mod_log_referer.html#refererignore"
+      >RefererIgnore</a></li>
+
+      <li><a href="mod_log_referer.html#refererlog"
+      >RefererLog</a></li>
+
+      <li><a href="mod_mime.html#removeencoding"
+      >RemoveEncoding</a></li>
+
+      <li><a href="mod_mime.html#removehandler"
+      >RemoveHandler</a></li>
+
+      <li><a href="mod_mime.html#removetype">RemoveType</a></li>
+
+      <li><a href="core.html#require">Require</a></li>
+
+      <li><a href="core.html#resourceconfig"
+      >ResourceConfig</a></li>
+
+      <li><a href="mod_rewrite.html#rewritebase"
+      >RewriteBase</a></li>
+
+      <li><a href="mod_rewrite.html#rewritecond"
+      >RewriteCond</a></li>
+
+      <li><a href="mod_rewrite.html#rewriteengine"
+      >RewriteEngine</a></li>
+
+      <li><a href="mod_rewrite.html#rewritelock"
+      >RewriteLock</a></li>
+
+      <li><a href="mod_rewrite.html#rewritelog">RewriteLog</a></li>
+
+      <li><a href="mod_rewrite.html#rewriteloglevel"
+      >RewriteLogLevel</a></li>
+
+      <li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li>
+
+      <li><a href="mod_rewrite.html#rewriteoptions"
+      >RewriteOptions</a></li>
+
+      <li><a href="mod_rewrite.html#rewriterule"
+      >RewriteRule</a></li>
+
+      <li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+
+      <li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+
+      <li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+
+      <li><a href="core.html#satisfy">Satisfy</a></li>
+
+      <li><a href="core.html#scoreboardfile"
+      >ScoreBoardFile</a></li>
+
+      <li><a href="mod_actions.html#script">Script</a></li>
+
+      <li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+
+      <li><a href="mod_alias.html#scriptaliasmatch"
+      >ScriptAliasMatch</a></li>
+
+      <li><a href="core.html#scriptinterpretersource"
+      >ScriptInterpreterSource</a></li>
+
+      <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+
+      <li><a href="mod_cgi.html#scriptlogbuffer"
+      >ScriptLogBuffer</a></li>
+
+      <li><a href="mod_cgi.html#scriptloglength"
+      >ScriptLogLength</a></li>
+
+      <li><a href="core.html#sendbuffersize"
+      >SendBufferSize</a></li>
+
+      <li><a href="core.html#serveradmin">ServerAdmin</a></li>
+
+      <li><a href="core.html#serveralias">ServerAlias</a></li>
+
+      <li><a href="core.html#servername">ServerName</a></li>
+
+      <li><a href="core.html#serverpath">ServerPath</a></li>
+
+      <li><a href="core.html#serverroot">ServerRoot</a></li>
+
+      <li><a href="core.html#serversignature"
+      >ServerSignature</a></li>
+
+      <li><a href="core.html#servertokens">ServerTokens</a></li>
+
+      <li><a href="core.html#servertype">ServerType</a></li>
+
+      <li><a href="mod_env.html#setenv">SetEnv</a></li>
+
+      <li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+
+      <li><a href="mod_setenvif.html#setenvifnocase"
+      >SetEnvIfNoCase</a></li>
+
+      <li><a href="mod_mime.html#sethandler">SetHandler</a></li>
+
+      <li><a href="core.html#shmemuidisuser">ShmemUIDisUser</a></li>
+
+      <li><a href="core.html#startservers">StartServers</a></li>
+
+      <li><a href="core.html#threadsperchild"
+      >ThreadsPerChild</a></li>
+
+      <li><a href="core.html#timeout">TimeOut</a></li>
+
+      <li><a href="mod_log_config.html#transferlog"
+      >TransferLog</a></li>
+
+      <li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+
+      <li><a href="mod_env.html#unsetenv">UnsetEnv</a></li>
+
+      <li><a href="core.html#usecanonicalname"
+      >UseCanonicalName</a></li>
+
+      <li><a href="core.html#user">User</a></li>
+
+      <li><a href="mod_userdir.html#userdir">UserDir</a></li>
+
+      <li><a href="core.html#virtualhost"
+      >&lt;VirtualHost&gt;</a></li>
+
+      <li><a href="mod_vhost_alias.html#virtualdocumentroot"
+      >VirtualDocumentRoot</a></li>
+
+      <li><a href="mod_vhost_alias.html#virtualdocumentrootip"
+      >VirtualDocumentRootIP</a></li>
+
+      <li><a href="mod_vhost_alias.html#virtualscriptalias"
+      >VirtualScriptAlias</a></li>
+
+      <li><a href="mod_vhost_alias.html#virtualscriptaliasip"
+      >VirtualScriptAliasIP</a></li>
+
+      <li><a href="mod_include.html#xbithack">XBitHack</a></li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/footer.html b/htdocs/manual/mod/footer.html
new file mode 100644 (file)
index 0000000..70ddfcc
--- /dev/null
@@ -0,0 +1,5 @@
+    <hr />
+
+    <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+    <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+    <a href="../"><img src="../images/home.gif" alt="Home" /></a>
diff --git a/htdocs/manual/mod/header.html b/htdocs/manual/mod/header.html
new file mode 100644 (file)
index 0000000..09a28d8
--- /dev/null
@@ -0,0 +1,5 @@
+    <div align="CENTER">
+      <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server Version 1.3</h3>
+    </div>
diff --git a/htdocs/manual/mod/index-bytype.html.en b/htdocs/manual/mod/index-bytype.html.en
new file mode 100644 (file)
index 0000000..4c05d03
--- /dev/null
@@ -0,0 +1,297 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache modules</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache modules</h1>
+
+    <p>Below is a list of all of the modules that come as part of
+    the Apache distribution. See also the list of modules <a
+    href="./">sorted alphabetically</a> and the complete
+    alphabetical list of <a href="directives.html">all Apache
+    directives</a>. For modules that are not part of the Apache
+    distribution, please see <a
+    href="http://modules.apache.org/">http://modules.apache.org</a>.</p>
+
+    <h2>Core</h2>
+
+    <dl>
+      <dt><a href="core.html">Core</a></dt>
+
+      <dd>Core Apache features</dd>
+    </dl>
+
+    <h2>Environment Creation</h2>
+
+    <dl>
+      <dt><a href="mod_env.html">mod_env</a></dt>
+
+      <dd>Passing of environments to CGI scripts</dd>
+
+      <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+      and up</dt>
+
+      <dd>Set environment variables based on client
+      information</dd>
+
+      <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+      and up</dt>
+
+      <dd>Generate unique request identifier for every request</dd>
+    </dl>
+
+    <h2>Content Type Decisions</h2>
+
+    <dl>
+      <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+      <dd>Determining document types using file extensions</dd>
+
+      <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+      <dd>Determining document types using "magic numbers"</dd>
+
+      <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+      <dd>Content negotiation</dd>
+    </dl>
+
+    <h2>URL Mapping</h2>
+
+    <dl>
+      <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+      <dd>Mapping different parts of the host filesystem in the
+      document tree, and URL redirection</dd>
+
+      <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Powerful URI-to-filename mapping using regular
+      expressions</dd>
+
+      <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+      <dd>User home directories</dd>
+
+      <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 and
+      up</dt>
+
+      <dd>Automatically correct minor typos in URLs</dd>
+
+      <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+      1.3.7 and up</dt>
+
+      <dd>Support for dynamically configured mass virtual
+      hosting</dd>
+    </dl>
+
+    <h2>Directory Handling</h2>
+
+    <dl>
+      <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+      <dd>Basic directory handling</dd>
+
+      <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+      <dd>Automatic directory listings</dd>
+    </dl>
+
+    <h2>Access Control</h2>
+
+    <dl>
+      <dt><a href="mod_access.html">mod_access</a></dt>
+
+      <dd>Access control based on client hostname or IP
+      address</dd>
+
+      <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+      <dd>User authentication using text files</dd>
+
+      <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+      <dd>User authentication using DBM files</dd>
+
+      <dt><a href="mod_auth_db.html">mod_auth_db</a></dt>
+
+      <dd>User authentication using Berkeley DB files</dd>
+
+      <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+      and up</dt>
+
+      <dd>Anonymous user access to authenticated areas</dd>
+
+      <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+      1.3.8 and up</dt>
+
+      <dd>Experimental MD5 authentication</dd>
+
+      <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 and
+      up</dt>
+
+      <dd>MD5 authentication</dd>
+    </dl>
+
+    <h2>HTTP Response</h2>
+
+    <dl>
+      <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Add arbitrary HTTP headers to resources</dd>
+
+      <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+      and up</dt>
+
+      <dd>Support for HTTP header metafiles</dd>
+
+      <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Apply Expires: headers to resources</dd>
+
+      <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+      <dd>Sending files which contain their own HTTP headers</dd>
+    </dl>
+
+    <h2>Dynamic Content</h2>
+
+    <dl>
+      <dt><a href="mod_include.html">mod_include</a></dt>
+
+      <dd>Server-parsed documents</dd>
+
+      <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+      <dd>Invoking CGI scripts</dd>
+
+      <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Executing CGI scripts based on media type or request
+      method</dd>
+
+      <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 only</dt>
+
+      <dd>Windows ISAPI Extension support</dd>
+    </dl>
+
+    <h2>Internal Content Handlers</h2>
+
+    <dl>
+      <dt><a href="mod_status.html">mod_status</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Server status display</dd>
+
+      <dt><a href="mod_info.html">mod_info</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Server configuration information</dd>
+    </dl>
+
+    <h2>Logging</h2>
+
+    <dl>
+      <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+      <dd>User-configurable logging replacement for
+      mod_log_common</dd>
+
+      <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt>
+
+      <dd>Forensic logging of requests made to the server</dd>
+
+      <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+      <dd>Logging of User Agents</dd>
+
+      <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+      <dd>Logging of document references</dd>
+
+      <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+      and up</dt>
+
+      <dd>User tracking using Cookies (replacement for
+      mod_cookies.c)</dd>
+    </dl>
+
+    <h2>Miscellaneous</h2>
+
+    <dl>
+      <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 and
+      up</dt>
+
+      <dd>The imagemap file handler</dd>
+
+      <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Caching proxy abilities</dd>
+
+      <dt><a href="mod_so.html">mod_so</a> Apache 1.3 and up</dt>
+
+      <dd>Support for loading modules (DLLs on Windows) at
+      runtime</dd>
+
+      <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+      1.3 and up</dt>
+
+      <dd>Experimental file caching, mapping files into memory to
+      improve performace</dd>
+    </dl>
+
+    <h2>Development</h2>
+
+    <dl>
+      <dt><a href="mod_example.html">mod_example</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Demonstrates Apache API</dd>
+    </dl>
+
+    <h2>Obsolete</h2>
+
+    <dl>
+      <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+      only</dt>
+
+      <dd>Set environment variables based on User-Agent strings.
+      Replaced by mod_setenvif in Apache 1.3 and up</dd>
+
+      <dt><a href="mod_cookies.html">mod_cookies</a> up to Apache
+      1.1.1</dt>
+
+      <dd>Support for Netscape-like cookies. Replaced in Apache 1.2
+      by mod_usertrack</dd>
+
+      <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* and
+      earlier</dt>
+
+      <dd>Start-time linking with the GNU libdld. Replaced in
+      Apache 1.3 by mod_so</dd>
+
+      <dt><a href="mod_log_common.html">mod_log_common</a> up to
+      Apache 1.1.1</dt>
+
+      <dd>Standard logging in the Common Logfile Format. Replaced
+      by the mod_log_config module in Apache 1.2 and up</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/index-bytype.html.fr b/htdocs/manual/mod/index-bytype.html.fr
new file mode 100644 (file)
index 0000000..401ed55
--- /dev/null
@@ -0,0 +1,323 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Traduction anglais 1.11 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Modules Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Modules Apache</h1>
+
+    <p>Ci dessous est donn&eacute;e une liste des modules faisant
+    partie de la distribution Apache. Voir aussi la liste des
+    modules <a href="./">tri&eacute;s alphab&eacute;tiquement</a>
+    et la liste compl&egrave;te alphab&eacute;tique de <a
+    href="directives.html">toutes les directives d'Apache</a>. Pour
+    les modules d'Apache qui ne font pas partie de la distribution,
+    vous pouvez consulter <a
+    href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+    <h2>Base</h2>
+
+    <dl>
+      <dt><a href="core.html">Base</a></dt>
+
+      <dd>Fonctionnalit&eacute;s de base d'Apache</dd>
+    </dl>
+
+    <h2>Cr&eacute;ation de l'environnement</h2>
+
+    <dl>
+      <dt><a href="mod_env.html">mod_env</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Passage d'environnement aux scripts CGI</dd>
+
+      <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+      et sup&eacute;rieur</dt>
+
+      <dd>D&eacute;finition de variables d'environnement en
+      fonction des informations client</dd>
+
+      <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+      et sup&eacute;rieur</dt>
+
+      <dd>G&eacute;n&eacute;ration d'identifiants uniques de
+      requ&ecirc;te</dd>
+    </dl>
+
+    <h2>Gestion du type de contenu</h2>
+
+    <dl>
+      <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+      <dd>D&eacute;termination du type des documents en fonction de
+      l'extension du fichier</dd>
+
+      <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+      <dd>D&eacute;termination du type des documents en fonction de
+      "nombres magiques"</dd>
+
+      <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+      <dd>N&eacute;gotiation de contenu</dd>
+    </dl>
+
+    <h2>Transformation d'URL</h2>
+
+    <dl>
+      <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+      <dd>Association de diff&eacute;rentes parties du
+      syst&egrave;me de fichier de l'h&ocirc;te dans l'arborescence
+      des documents, et redirection des URL.</dd>
+
+      <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>Association des URI &agrave; des fichiers en utilisant
+      des expressions r&eacute;guli&egrave;res</dd>
+
+      <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+      <dd>R&eacute;pertoires personnels d'utilisateurs</dd>
+
+      <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 et
+      sup&eacute;rieur</dt>
+
+      <dd>Correction automatique d'erreurs de frappe mineures dans
+      les URL</dd>
+
+      <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+      1.3.7 et sup&eacute;rieur</dt>
+
+      <dd>Support d'h&ocirc;tes virtuels dynamiquement
+      configurables</dd>
+    </dl>
+
+    <h2>Gestion des r&eacute;pertoires</h2>
+
+    <dl>
+      <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+      <dd>Gestion de base des r&eacute;pertoires</dd>
+
+      <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+      <dd>Cr&eacute;ation automatique des listes des
+      r&eacute;pertoires</dd>
+    </dl>
+
+    <h2>Contr&ocirc;le d'acc&egrave;s</h2>
+
+    <dl>
+      <dt><a href="mod_access.html">mod_access</a></dt>
+
+      <dd>Contr&ocirc;le d'acc&egrave;s bas&eacute; sur le nom du
+      client ou son adresse IP</dd>
+
+      <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+      <dd>Authentification des utilisateurs &agrave; partir d'un
+      fichier texte</dd>
+
+      <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+      <dd>Authentification des utilisateurs &agrave; partir d'un
+      fichier DBM</dd>
+
+      <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Authentification des utilisateurs &agrave; partir d'une
+      base Berkeley</dd>
+
+      <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+      et sup&eacute;rieur</dt>
+
+      <dd>Acc&egrave;s aux utilisateurs anonymes &agrave; des zones
+      authentifi&eacute;es</dd>
+
+      <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+      1.3.8 et sup&eacute;rieur</dt>
+
+      <dd>Authentication des utilisateurs &agrave; partir d'un
+      fichier MD5 (exp&eacute;rimental)</dd>
+
+      <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Authentication des utilisateurs &agrave; partir d'un
+      fichier MD5</dd>
+    </dl>
+
+    <h2>R&eacute;ponse HTTP</h2>
+
+    <dl>
+      <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>Ajout d'en-t&ecirc;tes HTTP aux ressources</dd>
+
+      <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+      et sup&eacute;rieur</dt>
+
+      <dd>Support des m&eacute;tafichiers d'en-t&ecirc;te HTTP</dd>
+
+      <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>Ajout de l'en-t&ecirc;te Expires: pour les ressources
+      demand&eacute;es</dd>
+
+      <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+      <dd>Envoi de fichiers contenant leurs propres en-t&ecirc;tes
+      HTTP</dd>
+    </dl>
+
+    <h2>Contenu dynamique</h2>
+
+    <dl>
+      <dt><a href="mod_include.html">mod_include</a></dt>
+
+      <dd>Documents analys&eacute;s par le serveur</dd>
+
+      <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+      <dd>Appel des scripts CGI</dd>
+
+      <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Ex&eacute;cution de scripts CGI en fonction du type de
+      m&eacute;dia ou de la requ&ecirc;te</dd>
+
+      <dt><a href="mod_isapi.html">mod_isapi</a> WIN32
+      seulement</dt>
+
+      <dd>Support des extensions Windows ISAPI</dd>
+    </dl>
+
+    <h2>Gestion du contenu interne</h2>
+
+    <dl>
+      <dt><a href="mod_status.html">mod_status</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Affichage de l'&eacute;tat du syst&egrave;me</dd>
+
+      <dt><a href="mod_info.html">mod_info</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Informations sur la configuration du serveur</dd>
+    </dl>
+
+    <h2>Trace</h2>
+
+    <dl>
+      <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+      <dd>Trace configurable des acc&egrave;s. Remplace
+      mod_log_common</dd>
+
+      <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt>
+
+      <dd>Forensic logging of requests made to the server</dd>
+
+      <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+      <dd>Trace des User Agents</dd>
+
+      <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+      <dd>Trace des r&eacute;f&eacute;rence d'un document</dd>
+
+      <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+      et sup&eacute;rieur</dt>
+
+      <dd>Suivi des utilisateurs &agrave; l'aide de cookies
+      (remplacement de mod_cookies)</dd>
+    </dl>
+
+    <h2>Divers</h2>
+
+    <dl>
+      <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Gestion des fichiers imagemap</dd>
+
+      <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Module de cache par proxy</dd>
+
+      <dt><a href="mod_so.html">mod_so</a> Apache 1.3 et
+      sup&eacute;rieur</dt>
+
+      <dd>Support des modules dynamiques (.so sur Unix, .dll sur
+      Win32)</dd>
+
+      <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+      1.3 et sup&eacute;rieur</dt>
+
+      <dd>Module exp&eacute;rimental de cache m&eacute;moire des
+      fichiers afin d'am&eacute;liorer les performances</dd>
+    </dl>
+
+    <h2>D&eacute;veloppement</h2>
+
+    <dl>
+      <dt><a href="mod_example.html">mod_example</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>D&eacute;monstration de l'API Apache</dd>
+    </dl>
+
+    <h2>Obsol&egrave;te</h2>
+
+    <dl>
+      <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+      seulement</dt>
+
+      <dd>D&eacute;finition de variables d'environnement en
+      fonction de la cha&icirc;ne User-Agent. Ce module est
+      remplac&eacute; par mod_setenvif &agrave; partir de la
+      version 1.3</dd>
+
+      <dt><a href="mod_cookies.html">mod_cookies</a> jusqu'&agrave;
+      Apache 1.1.1</dt>
+
+      <dd>Support des cookies Netscape. Ce module est
+      remplac&eacute; dans Apache 1.2 par le module
+      mod_usertrack</dd>
+
+      <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* et
+      pr&eacute;c&eacute;dents</dt>
+
+      <dd>Lien au lancement en utilisant la librairie GNU libdld.
+      Ce module est remplc&eacute; dans Apache 1.3 par mod_so</dd>
+
+      <dt><a href="mod_log_common.html">mod_log_common</a>
+      jusqu'&agrave; Apache 1.1.1</dt>
+
+      <dd>Trace des acc&egrave;s utilisant le "Common Logfile
+      Format". Ce module est remplac&eacute; par mod_log_config
+      &agrave; partir d'Apache 1.2</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/index-bytype.html.html b/htdocs/manual/mod/index-bytype.html.html
new file mode 100644 (file)
index 0000000..18aca3a
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="index-bytype.html.en" -->
+
diff --git a/htdocs/manual/mod/index-bytype.html.ja.jis b/htdocs/manual/mod/index-bytype.html.ja.jis
new file mode 100644 (file)
index 0000000..172a7ca
--- /dev/null
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+
+    <title>Apache \e$B%b%8%e!<%k\e(B</title>
+  </head>
+  <!-- English revision: 1.13 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>Apache \e$B$NG[I[$K4^$^$l$F$$$k%b%8%e!<%k$O!"0J2<$NDL$j$G$9!#\e(B
+    <a href="./">\e$B%"%k%U%!%Y%C%H=g\e(B</a> \e$B$d\e(B <a href="directives.html">Apache
+    \e$B$NA4%G%#%l%/%F%#%V\e(B</a> \e$B$N%"%k%U%!%Y%C%H=g%j%9%H$b;2>H$7$F$/$@$5$$!#\e(B
+    Apache \e$B$NG[I[$K4^$^$l$J$$\e(B Apache \e$B%b%8%e!<%k$K$D$$$F$O\e(B <a
+    href="http://modules.apache.org/">http://modules.apache.org</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <h2>\e$B%3%"\e(B</h2>
+
+    <dl>
+      <dt><a href="core.html">Core</a></dt>
+
+      <dd>Apache \e$B$N%3%"\e(B</dd>
+    </dl>
+
+    <h2>\e$B4D6-JQ?t$NA`:n\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_env.html">mod_env</a></dt>
+
+      <dd>CGI \e$B%9%/%j%W%H$KBP$7$F$5$^$6$^$J4D6-JQ?t$rEO$9\e(B</dd>
+
+      <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%/%i%$%"%s%H$N>pJs$r85$K4D6-JQ?t$r@_Dj$9$k\e(B</dd>
+
+      <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+      and up</dt>
+
+      <dd>\e$B%j%/%(%9%H$4$H$K!"0l0U$J%j%/%(%9%H\e(B ID \e$B$r@8@.$9$k\e(B</dd>
+    </dl>
+
+    <h2>\e$B%3%s%F%s%D$N<oN`$r7hDj$9$k\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+      <dd>\e$B%U%!%$%k$N3HD%;R$rMxMQ$7$F%I%-%e%a%s%H%?%$%W$NH=Dj$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+      <dd>"\e$B%^%8%C%/%J%s%P!<\e(B" \e$B$rMxMQ$7$F%I%-%e%a%s%H%?%$%W$NH=Dj$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+      <dd>\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s5!G=$rDs6!$9$k\e(B</dd>
+    </dl>
+
+    <h2>URL \e$B$N%^%C%T%s%0$r9T$&\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+      <dd>\e$B%[%9%H%U%!%$%k%7%9%F%`$N%I%-%e%a%s%H%D%j!<$X$N%^%C%T%s%05Z$S\e(B
+      URL \e$B$N%j%@%$%l%/%7%g%s$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B@55,I=8=$rMxMQ$7$?!"\e(BURI
+      \e$B$+$i%U%!%$%kL>$X$N6/NO$J%^%C%T%s%05!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+      <dd>\e$B%f!<%6$N%[!<%`%G%#%l%/%H%j$K%"%/%;%9$9$k5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>URL \e$B$N>.$5$J5-=R%_%9$r<+F0E*$K=$@5$9$k\e(B</dd>
+
+      <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache 1.3.7 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B$?$/$5$s$N%P!<%A%c%k%[%9%H@_Dj$rF0E*$K9=@.$9$k\e(B</dd>
+    </dl>
+
+    <h2>\e$B%G%#%l%/%H%j$r<h$j07$&\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+      <dd>\e$B%G%#%l%/%H%j$N<h$j07$$$K$D$$$F$N!"4pK\E*$J5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+      <dd>\e$B<+F0E*$K%G%#%l%/%H%j0lMw$r:n@.$9$k\e(B</dd>
+    </dl>
+
+    <h2>\e$B%"%/%;%9@)8f\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_access.html">mod_access</a></dt>
+
+      <dd>\e$B%/%i%$%"%s%H$N%[%9%HL>$d\e(B IP \e$B%"%I%l%9$K$h$C$F%"%/%;%9@)8f$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+      <dd>\e$B%F%-%9%H%U%!%$%k7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+      <dd>DBM \e$B7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_db.html">mod_auth_db</a></dt>
+
+      <dd>Berkeley DB \e$B7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$BG'>Z$,I,MW$H$J$k%(%j%"$X$NF?L>\e(B (anonymous) \e$B$G$N%"%/%;%95!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache 1.3.8 \e$B0J9_\e(B</dt>
+
+      <dd>MD5 \e$B$r;HMQ$7$?G'>Z5!G=\e(B (\e$BLuCm\e(B: Digest \e$BG'>Z\e(B) \e$B$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>MD5 \e$BG'>Z\e(B (\e$BLuCm\e(B: Digest \e$BG'>Z\e(B) \e$B5!G=$rDs6!$9$k\e(B
+      (mod_auth_digest \e$B$K$h$j!"\e(Bmod_digest \e$B$OHs?d>)$K$J$C$F$$$k\e(B)</dd>
+    </dl>
+
+    <h2>HTTP \e$B%l%9%]%s%9\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%j%=!<%9$KG$0U$N\e(B HTTP \e$B%X%C%@$r2C$($k\e(B</dd>
+
+      <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>HTTP \e$B%X%C%@%a%?%U%!%$%k$r%5%]!<%H$9$k\e(B</dd>
+
+      <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%j%=!<%9$K\e(B Expires: \e$B%X%C%@$rE,MQ$9$k\e(B</dd>
+
+      <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+      <dd>HTTP \e$B%X%C%@$r4^$`%U%!%$%k$rAw?.$9$k\e(B</dd>
+    </dl>
+
+    <h2>\e$BF0E*%3%s%F%s%D\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_include.html">mod_include</a></dt>
+
+      <dd>SSI \e$B%I%-%e%a%s%H$rM-8z$K$9$k\e(B</dd>
+
+      <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+      <dd>CGI \e$B%9%/%j%W%H$r<B9T$9$k\e(B</dd>
+
+      <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%a%G%#%"%?%$%W$d%j%/%(%9%H%a%=%C%I$K$h$C$F\e(B CGI
+      \e$B%9%/%j%W%H$r<B9T$9$k\e(B</dd>
+
+      <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 \e$B$N$_\e(B</dt>
+
+      <dd>Windows ISAPI \e$B%(%/%9%F%s%7%g%s$r%5%]!<%H$9$k\e(B</dd>
+    </dl>
+
+    <h2>\e$BFbIt%3%s%F%s%D%O%s%I%i\e(B-</h2>
+
+    <dl>
+      <dt><a href="mod_status.html">mod_status</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%5!<%P$N2TF0>u67$rI=<($9$k\e(B</dd>
+
+      <dt><a href="mod_info.html">mod_info</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%5!<%P$N@_Dj>pJs$r1\Mw$9$k\e(B</dd>
+    </dl>
+
+    <h2>\e$B%m%.%s%0\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+      <dd>mod_log_common \e$B$NBe$o$j$H$J$k$b$N$G!"%f!<%6$,=q<0$r@_Dj$G$-$k\e(B</dd>
+
+      <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt>
+
+      <dd>\e$B%5!<%P$X$N%j%/%(%9%H$N\e(B forensic \e$B%m%0<}=8\e(B</dd>
+
+      <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+      <dd>User Agent \e$B$N%m%0$r5-O?$9$k\e(B</dd>
+
+      <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+      <dd>\e$B%I%-%e%a%s%H$N;2>H85\e(B (REFERER) \e$B$N%m%0$r5-O?$9$k\e(B</dd>
+
+      <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>cookie \e$B$K$h$j%f!<%6$NDI@W$r9T$J$&\e(B (mod_cookies.c \e$B$rCV$-49$($?$b$N\e(B)</dd>
+    </dl>
+
+    <h2>\e$B$=$NB>\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%$%a!<%8%^%C%W%U%!%$%k$r<h$j07$&5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>proxy \e$B%-%c%C%7%e5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_so.html">mod_so</a> Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B<B9T;~$K%b%8%e!<%k\e(B (UNIX\e$B$G$O\e(B .so\e$B!"\e(BWin32 \e$B$G$O\e(B .dll)
+      \e$B$rF0E*FI$_9~$_$9$k5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%U%!%$%k$N%-%c%C%7%s%0$r9T$J$&<B83E*$J%b%8%e!<%k$G!"\e(B
+      \e$B%U%!%$%k$r%a%b%jFb$K%^%C%T%s%0$9$k$3$H$K$h$j%Q%U%)!<%^%s%9$r8~>e$5$;$k\e(B</dd>
+    </dl>
+
+    <h2>\e$B3+H/MQ\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_example.html">mod_example</a> Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>Apache API \e$B$N%G%b%s%9%H%l!<%7%g%sMQ\e(B</dd>
+    </dl>
+
+    <h2>\e$B8=:_$G$OMxMQ$5$l$F$$$J$$%b%8%e!<%k\e(B</h2>
+
+    <dl>
+      <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.* \e$B$N$_\e(B</dt>
+
+      <dd>User-Agent \e$BJ8;zNs$r85$K4D6-JQ?t$r@_Dj$9$k!#\e(BApache 1.3
+      \e$B0J9_$K$*$$$F!"\e(Bmod_setenvif \e$B$GCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_cookies.html">mod_cookies</a> Apache 1.1.1 \e$B0J9_\e(B</dt>
+
+      <dd>Netscape \e$B$N$h$&$J\e(B cookie \e$B$r%5%]!<%H$9$k!#\e(B Apache 1.2
+      \e$B$K$*$$$F!"\e(Bmod_usertrack \e$B$KCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* \e$B0JA0\e(B</dt>
+
+      <dd>GNU libdld \e$B$rMQ$$$F5/F0;~$K%b%8%e!<%k$N%j%s%/$r9T$J$&!#\e(BApache
+      1.3 \e$B$K$*$$$F!"\e(Bmod_so \e$B$KCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_log_common.html">mod_log_common</a> Apache 1.1.1 \e$B0J9_\e(B</dt>
+
+      <dd>Common Logfile Format
+      \e$B$G$NI8=`E*$J=q<0$K$h$j%m%0$r5-O?$9$k!#\e(BApache 1.2
+      \e$B0J9_$K$*$$$F!"\e(Bmod_log_config \e$B%b%8%e!<%k$KCV$-49$($i$l$?\e(B</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/index.html.en b/htdocs/manual/mod/index.html.en
new file mode 100644 (file)
index 0000000..719790a
--- /dev/null
@@ -0,0 +1,248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache modules</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache modules</h1>
+
+    <p>Below is a list of all of the modules that come as part of
+    the Apache distribution. See also the list of modules <a
+    href="index-bytype.html">sorted by type</a> and the complete
+    alphabetical list of <a href="directives.html">all Apache
+    directives</a>. For Apache modules that are not part of the
+    Apache distribution, please see <a
+    href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+    <dl>
+      <dt><a href="core.html">Core</a></dt>
+
+      <dd>Core Apache features</dd>
+
+      <dt><a href="mod_access.html">mod_access</a></dt>
+
+      <dd>Access control based on client hostname or IP
+      address</dd>
+
+      <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Executing CGI scripts based on media type or request
+      method</dd>
+
+      <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+      <dd>Mapping different parts of the host filesystem in the
+      document tree, and URL redirection</dd>
+
+      <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+      <dd>Sending files which contain their own HTTP headers</dd>
+
+      <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+      <dd>User authentication using text files</dd>
+
+      <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+      and up</dt>
+
+      <dd>Anonymous user access to authenticated areas</dd>
+
+      <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 and
+      up</dt>
+
+      <dd>User authentication using Berkeley DB files</dd>
+
+      <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+      <dd>User authentication using DBM files</dd>
+
+      <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+      1.3.8 and up</dt>
+
+      <dd>MD5 authentication</dd>
+
+      <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+      <dd>Automatic directory listings</dd>
+
+      <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+      only</dt>
+
+      <dd>Set environment variables based on User-Agent strings.
+      Replaced by mod_setenvif in Apache 1.3 and up</dd>
+
+      <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+      and up</dt>
+
+      <dd>Support for HTTP header metafiles</dd>
+
+      <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+      <dd>Invoking CGI scripts</dd>
+
+      <dt><a href="mod_cookies.html">mod_cookies</a> up to Apache
+      1.1.1</dt>
+
+      <dd>Support for Netscape-like cookies. Replaced in Apache 1.2
+      by mod_usertrack</dd>
+
+      <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 and
+      up</dt>
+
+      <dd>MD5 authentication (deprecated by mod_auth_digest)</dd>
+
+      <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+      <dd>Basic directory handling</dd>
+
+      <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* and
+      earlier</dt>
+
+      <dd>Start-time linking with the GNU libdld. Replaced in
+      Apache 1.3 by mod_so</dd>
+
+      <dt><a href="mod_env.html">mod_env</a> Apache 1.1 and up</dt>
+
+      <dd>Passing of environments to CGI scripts</dd>
+
+      <dt><a href="mod_example.html">mod_example</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Demonstrates Apache API</dd>
+
+      <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Apply Expires: headers to resources</dd>
+
+      <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Add arbitrary HTTP headers to resources</dd>
+
+      <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 and
+      up</dt>
+
+      <dd>The imagemap file handler</dd>
+
+      <dt><a href="mod_include.html">mod_include</a></dt>
+
+      <dd>Server-parsed documents</dd>
+
+      <dt><a href="mod_info.html">mod_info</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Server configuration information</dd>
+
+      <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 only</dt>
+
+      <dd>Windows ISAPI Extension support</dd>
+
+      <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+      <dd>Logging of User Agents</dd>
+
+      <dt><a href="mod_log_common.html">mod_log_common</a> up to
+      Apache 1.1.1</dt>
+
+      <dd>Standard logging in the Common Logfile Format. Replaced
+      by the mod_log_config module in Apache 1.2 and up</dd>
+
+      <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+      <dd>User-configurable logging replacement for
+      mod_log_common</dd>
+
+      <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt>
+
+      <dd>Forensic logging of requests made to the server</dd>
+
+      <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+      <dd>Logging of document references</dd>
+
+      <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+      <dd>Determining document types using file extensions</dd>
+
+      <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+      <dd>Determining document types using "magic numbers"</dd>
+
+      <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+      1.3 and up</dt>
+
+      <dd>Experimental file caching, mapping files into memory to
+      improve performance</dd>
+
+      <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+      <dd>Content negotiation</dd>
+
+      <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Caching proxy abilities</dd>
+
+      <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 and
+      up</dt>
+
+      <dd>Powerful URI-to-filename mapping using regular
+      expressions</dd>
+
+      <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+      and up</dt>
+
+      <dd>Set environment variables based on client
+      information</dd>
+
+      <dt><a href="mod_so.html">mod_so</a> Apache 1.3 and up</dt>
+
+      <dd>Support for loading modules (.so's on Unix, .dll's on
+      Win32) at runtime</dd>
+
+      <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 and
+      up</dt>
+
+      <dd>Automatically correct minor typos in URLs</dd>
+
+      <dt><a href="mod_status.html">mod_status</a> Apache 1.1 and
+      up</dt>
+
+      <dd>Server status display</dd>
+
+      <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+      and up</dt>
+
+      <dd>Generate unique request identifier for every request</dd>
+
+      <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+      <dd>User home directories</dd>
+
+      <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+      and up</dt>
+
+      <dd>User tracking using Cookies (replacement for
+      mod_cookies.c)</dd>
+
+      <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+      1.3.7 and up</dt>
+
+      <dd>Support for dynamically configured mass virtual
+      hosting</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/index.html.fr b/htdocs/manual/mod/index.html.fr
new file mode 100644 (file)
index 0000000..d399396
--- /dev/null
@@ -0,0 +1,272 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Traduction anglais 1.38 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Modules Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Modules Apache</h1>
+
+    <p>Ci dessous est donn&eacute;e une liste des modules faisant
+    partie de la distribution Apache. Voir aussi la liste des
+    modules <a href="index-bytype.html">tri&eacute;s par type</a>
+    et la liste compl&egrave;te alphab&eacute;tique de <a
+    href="directives.html">toutes les directives d'Apache</a>. Pour
+    les modules d'Apache qui ne font pas partie de la distribution,
+    vous pouvez consulter <a
+    href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+    <dl>
+      <dt><a href="core.html">Base</a></dt>
+
+      <dd>Fonctionnalit&eacute;s de base d'Apache</dd>
+
+      <dt><a href="mod_access.html">mod_access</a></dt>
+
+      <dd>Contr&ocirc;le d'acc&egrave;s bas&eacute; sur le nom du
+      client ou son adresse IP</dd>
+
+      <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Ex&eacute;cution de scripts CGI en fonction du type de
+      m&eacute;dia ou de la requ&ecirc;te</dd>
+
+      <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+      <dd>Association de diff&eacute;rentes parties du
+      syst&egrave;me de fichier de l'h&ocirc;te dans l'arborescence
+      des documents, et redirection des URL.</dd>
+
+      <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+      <dd>Envoi de fichiers contenant leurs propres en-t&ecirc;tes
+      HTTP</dd>
+
+      <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+      <dd>Authentification des utilisateurs &agrave; partir d'un
+      fichier texte</dd>
+
+      <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+      et sup&eacute;rieur</dt>
+
+      <dd>Acc&egrave;s aux utilisateurs anonymes &agrave; des zones
+      authentifi&eacute;es</dd>
+
+      <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Authentification des utilisateurs &agrave; partir d'une
+      base Berkeley</dd>
+
+      <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+      <dd>Authentification des utilisateurs &agrave; partir d'un
+      fichier DBM</dd>
+
+      <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+      1.3.8 et sup&eacute;rieur</dt>
+
+      <dd>Authentication des utilisateurs &agrave; partir d'un
+      fichier MD5 (exp&eacute;rimental)</dd>
+
+      <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+      <dd>Cr&eacute;ation automatique des listes des
+      r&eacute;pertoires</dd>
+
+      <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+      seulement</dt>
+
+      <dd>D&eacute;finition de variables d'environnement en
+      fonction de la cha&icirc;ne User-Agent. Ce module est
+      remplac&eacute; par mod_setenvif &agrave; partir de la
+      version 1.3</dd>
+
+      <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+      et sup&eacute;rieur</dt>
+
+      <dd>Support des m&eacute;tafichiers d'en-t&ecirc;te HTTP</dd>
+
+      <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+      <dd>Appel des scripts CGI</dd>
+
+      <dt><a href="mod_cookies.html">mod_cookies</a> jusqu'&agrave;
+      Apache 1.1.1</dt>
+
+      <dd>Support des cookies Netscape. Ce module est
+      remplac&eacute; dans Apache 1.2 par le module
+      mod_usertrack</dd>
+
+      <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Authentication MD5</dd>
+
+      <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+      <dd>Gestion de base des r&eacute;pertoires</dd>
+
+      <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* et
+      pr&eacute;c&eacute;dents</dt>
+
+      <dd>Lien au lancement en utilisant la librairie GNU libdld.
+      Ce module est remplc&eacute; dans Apache 1.3 par mod_so</dd>
+
+      <dt><a href="mod_env.html">mod_env</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Passage d'environnement aux scripts CGI</dd>
+
+      <dt><a href="mod_example.html">mod_example</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>D&eacute;monstration de l'API Apache</dd>
+
+      <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>Ajout de l'en-t&ecirc;te Expires: pour les ressources
+      sp&eacute;cifi&eacute;es</dd>
+
+      <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>Ajout d'en-t&ecirc;tes HTTP aux ressources</dd>
+
+      <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Gestion des fichiers imagemap</dd>
+
+      <dt><a href="mod_include.html">mod_include</a></dt>
+
+      <dd>Documents analys&eacute;s par le serveur</dd>
+
+      <dt><a href="mod_info.html">mod_info</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Informations sur la configuration du serveur</dd>
+
+      <dt><a href="mod_isapi.html">mod_isapi</a> WIN32
+      seulement</dt>
+
+      <dd>Support des extensions Windows ISAPI</dd>
+
+      <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+      <dd>Trace des User Agents</dd>
+
+      <dt><a href="mod_log_common.html">mod_log_common</a>
+      jusqu'&agrave; Apache 1.1.1</dt>
+
+      <dd>Trace des acc&egrave;s utilisant le "Common Logfile
+      Format". Ce module est remplac&eacute; par mod_log_config
+      &agrave; partir d'Apache 1.2</dd>
+
+      <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+      <dd>Trace configurable des acc&egrave;s. Remplace
+      mod_log_common</dd>
+
+      <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt>
+
+      <dd>Forensic logging of requests made to the server</dd>
+
+      <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+      <dd>Trace des r&eacute;f&eacute;rants d'un document</dd>
+
+      <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+      <dd>D&eacute;termination du type des documents en fonction de
+      l'extension du fichier</dd>
+
+      <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+      <dd>D&eacute;termination du type des documents en fonction de
+      "nombres magiques"</dd>
+
+      <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+      1.3 et sup&eacute;rieur</dt>
+
+      <dd>Module exp&eacute;rimental de cache m&eacute;moire des
+      fichiers afin d'am&eacute;liorer les performances</dd>
+
+      <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+      <dd>N&eacute;gotiation de contenu</dd>
+
+      <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Module de cache par proxy</dd>
+
+      <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 et
+      sup&eacute;rieur</dt>
+
+      <dd>Association des URI &agrave; des fichiers en utilisant
+      des expressions r&eacute;guli&egrave;res</dd>
+
+      <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+      et sup&eacute;rieur</dt>
+
+      <dd>D&eacute;finition de variables d'environnement en
+      fonction des informations client</dd>
+
+      <dt><a href="mod_so.html">mod_so</a> Apache 1.3 et
+      sup&eacute;rieur</dt>
+
+      <dd>Support des modules dynamiques (.so sur Unix, .dll sur
+      Win32)</dd>
+
+      <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 et
+      sup&eacute;rieur</dt>
+
+      <dd>Correction automatique d'erreurs de frappe mineures dans
+      les URL</dd>
+
+      <dt><a href="mod_status.html">mod_status</a> Apache 1.1 et
+      sup&eacute;rieur</dt>
+
+      <dd>Affichage de l'&eacute;tat du syst&egrave;me</dd>
+
+      <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+      <dd>R&eacute;pertoires personnels d'utilisateurs</dd>
+
+      <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+      et sup&eacute;rieur</dt>
+
+      <dd>G&eacute;n&eacute;ration d'identifiants uniques de
+      requ&ecirc;te</dd>
+
+      <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+      et sup&eacute;rieur</dt>
+
+      <dd>Suivi des utilisateurs &agrave; l'aide de cookies
+      (remplacement de mod_cookies)</dd>
+
+      <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+      1.3.7 et sup&eacute;rieur</dt>
+
+      <dd>Support d'h&ocirc;tes virtuels dynamiquement
+      configurables</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/index.html.html b/htdocs/manual/mod/index.html.html
new file mode 100644 (file)
index 0000000..f271091
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="index.html.en" -->
+
diff --git a/htdocs/manual/mod/index.html.ja.jis b/htdocs/manual/mod/index.html.ja.jis
new file mode 100644 (file)
index 0000000..2935b70
--- /dev/null
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B%b%8%e!<%k\e(B</title>
+
+  </head>
+  <!-- English revision: 1.43 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>Apache \e$B$NG[I[$K4^$^$l$F$$$k%b%8%e!<%k$O!"0J2<$NDL$j$G$9!#\e(B
+    <a href="index-bytype.html">\e$B<oN`=g$N%b%8%e!<%k%j%9%H\e(B</a> \e$B$d\e(B
+    <a href="directives.html">Apache \e$B$NA4%G%#%l%/%F%#%V\e(B</a>
+    \e$B$N%"%k%U%!%Y%C%H=g%j%9%H$b;2>H$7$F$/$@$5$$!#\e(B
+    Apache \e$B$NG[I[$K4^$^$l$J$$\e(B Apache \e$B%b%8%e!<%k$K$D$$$F$O\e(B
+    <a href="http://modules.apache.org/"
+    >http://modules.apache.org</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <dl>
+      <dt><a href="core.html">Core</a></dt>
+
+      <dd>Apache \e$B$N%3%"\e(B</dd>
+
+      <dt><a href="mod_access.html">mod_access</a></dt>
+
+      <dd>\e$B%/%i%$%"%s%H$N%[%9%HL>$d\e(B IP
+      \e$B%"%I%l%9$K$h$C$F%"%/%;%9@)8f$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_actions.html">mod_actions</a>
+      Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%a%G%#%"%?%$%W$d%j%/%(%9%H%a%=%C%I$K$h$C$F\e(B CGI
+      \e$B%9%/%j%W%H$r<B9T$9$k\e(B</dd>
+
+      <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+      <dd>\e$B%[%9%H%U%!%$%k%7%9%F%`$N%I%-%e%a%s%H%D%j!<$X$N%^%C%T%s%05Z$S\e(B
+      URL \e$B$N%j%@%$%l%/%7%g%s$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+      <dd>HTTP \e$B%X%C%@$r4^$`%U%!%$%k$rAw?.$9$k\e(B</dd>
+
+      <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+      <dd>\e$B%F%-%9%H%U%!%$%k7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?\e(B
+      \e$B%f!<%6G'>Z5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_anon.html">mod_auth_anon</a>
+      Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$BG'>Z$,I,MW$H$J$k%(%j%"$X$NF?L>\e(B (anonymous)
+      \e$B$G$N%"%/%;%95!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_db.html">mod_auth_db</a>
+      Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>Berkeley DB
+      \e$B7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+      <dd>DBM \e$B7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_auth_digest.html">mod_auth_digest</a>
+      Apache 1.3.8 \e$B0J9_\e(B</dt>
+
+      <dd>MD5 \e$B$r;HMQ$7$?G'>Z5!G=\e(B (\e$BLuCm\e(B: Digest \e$BG'>Z\e(B)
+      \e$B$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+      <dd>\e$B<+F0E*$K%G%#%l%/%H%j0lMw$r:n@.$9$k\e(B</dd>
+
+      <dt><a href="mod_browser.html">mod_browser</a>
+      Apache 1.2.* \e$B$G$N$_M-8z\e(B</dt>
+
+      <dd>User-Agent \e$BJ8;zNs$r85$K4D6-JQ?t$r@_Dj$9$k!#\e(B
+      Apache 1.3 \e$B0J9_$K$*$$$F!"\e(Bmod_setenvif \e$B$GCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_cern_meta.html">mod_cern_meta</a>
+      Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>HTTP \e$B%X%C%@%a%?%U%!%$%k$r%5%]!<%H$9$k\e(B</dd>
+
+      <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+      <dd>CGI \e$B%9%/%j%W%H$r<B9T$9$k\e(B</dd>
+
+      <dt><a href="mod_cookies.html">mod_cookies</a>
+      Apache 1.1.1 \e$B0J9_\e(B</dt>
+
+      <dd>Netscape \e$B$N$h$&$J\e(B cookie \e$B$r%5%]!<%H$9$k!#\e(B
+      Apache 1.2 \e$B$K$*$$$F!"\e(Bmod_usertrack \e$B$KCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>MD5 \e$BG'>Z\e(B (\e$BLuCm\e(B: Digest \e$BG'>Z\e(B) \e$B5!G=$rDs6!$9$k\e(B
+       (mod_auth_digest \e$B$K$h$j!"\e(Bmod_digest \e$B$OHs?d>)$K$J$C$F$$$k\e(B)</dd>
+
+      <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+      <dd>\e$B%G%#%l%/%H%j$N<h$j07$$$K$D$$$F$N!"4pK\E*$J5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_dld.html">mod_dld</a>
+      Apache 1.2.* \e$B5Z$S$=$l0JA0\e(B</dt>
+
+      <dd>GNU libdld \e$B$rMQ$$$F5/F0;~$K%b%8%e!<%k$N%j%s%/$r9T$J$&!#\e(B
+      Apache 1.3 \e$B$K$*$$$F!"\e(Bmod_so \e$B$KCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_env.html">mod_env</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>CGI \e$B%9%/%j%W%H$KEO$94D6-JQ?t$NA`:n$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_example.html">mod_example</a>
+      Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>Apache API \e$B$N%G%b%s%9%H%l!<%7%g%sMQ\e(B</dd>
+
+      <dt><a href="mod_expires.html">mod_expires</a>
+      Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%j%=!<%9$K\e(B Expires: \e$B%X%C%@$rE,MQ$9$k\e(B</dd>
+
+      <dt><a href="mod_headers.html">mod_headers</a>
+      Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%j%=!<%9$KG$0U$N\e(B HTTP \e$B%X%C%@$r2C$($k\e(B</dd>
+
+      <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%$%a!<%8%^%C%W%U%!%$%k$r<h$j07$&5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_include.html">mod_include</a></dt>
+
+      <dd>SSI \e$B%I%-%e%a%s%H$rM-8z$K$9$k\e(B</dd>
+
+      <dt><a href="mod_info.html">mod_info</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%5!<%P$N@_Dj>pJs$r1\Mw$9$k\e(B</dd>
+
+      <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 \e$B$N$_\e(B</dt>
+
+      <dd>Windows ISAPI \e$B%(%/%9%F%s%7%g%s$r%5%]!<%H$9$k\e(B</dd>
+
+      <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+      <dd>User Agent \e$B$N%m%0$r5-O?$9$k\e(B</dd>
+
+      <dt><a href="mod_log_common.html">mod_log_common</a>
+      Apache 1.1.1 \e$B0J9_\e(B</dt>
+
+      <dd>Common Logfile Format \e$B$G$NI8=`E*$J=q<0$K$h$j%m%0$r5-O?$9$k!#\e(B
+      Apache 1.2 \e$B0J9_$K$*$$$F!"\e(Bmod_log_config
+      \e$B%b%8%e!<%k$KCV$-49$($i$l$?\e(B</dd>
+
+      <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+      <dd>mod_log_common
+      \e$B$NBe$o$j$H$J$k$b$N$G!"%f!<%6$,=q<0$r@_Dj$G$-$k\e(B</dd>
+
+      <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt>
+
+      <dd>\e$B%5!<%P$X$N%j%/%(%9%H$N\e(B forensic \e$B%m%0<}=8\e(B</dd>
+
+      <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+      <dd>\e$B%I%-%e%a%s%H$N;2>H85\e(B (REFERER) \e$B$N%m%0$r5-O?$9$k\e(B</dd>
+
+      <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+      <dd>\e$B%U%!%$%k$N3HD%;R$rMxMQ$7$F%I%-%e%a%s%H%?%$%W$NH=Dj$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+      <dd>"\e$B%^%8%C%/%J%s%P!<\e(B"
+      \e$B$rMxMQ$7$F%I%-%e%a%s%H%?%$%W$NH=Dj$r9T$J$&\e(B</dd>
+
+      <dt><a href="mod_mmap_static.html">mod_mmap_static</a>
+      Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%U%!%$%k$N%-%c%C%7%s%0$r9T$J$&<B83E*$J%b%8%e!<%k$G!"\e(B
+      \e$B%U%!%$%k$r%a%b%jFb$K%^%C%T%s%0$9$k$3$H$K$h$j\e(B
+      \e$B%Q%U%)!<%^%s%9$r8~>e$5$;$k\e(B</dd>
+
+      <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+      <dd>\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>proxy \e$B%-%c%C%7%e5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_rewrite.html">mod_rewrite</a>
+      Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B@55,I=8=$rMxMQ$7$?!"\e(BURI
+      \e$B$+$i%U%!%$%kL>$X$N6/NO$J%^%C%T%s%05!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_setenvif.html">mod_setenvif</a>
+      Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%/%i%$%"%s%H$N>pJs$r85$K4D6-JQ?t$r%;%C%H$9$k\e(B</dd>
+
+      <dt><a href="mod_so.html">mod_so</a> Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B<B9T;~$K%b%8%e!<%k\e(B (UNIX\e$B$G$O\e(B .so\e$B!"\e(BWin32 \e$B$G$O\e(B .dll)
+      \e$B$rF0E*FI$_9~$_$9$k5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_speling.html">mod_speling</a>
+      Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>URL \e$B$N>.$5$J5-=R%_%9$r<+F0E*$K=$@5$9$k\e(B</dd>
+
+      <dt><a href="mod_status.html">mod_status</a> Apache 1.1 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%5!<%P$N2TF0>u67$rI=<($9$k\e(B</dd>
+
+      <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+      <dd>\e$B%f!<%6$N%[!<%`%G%#%l%/%H%j$K%"%/%;%9$9$k5!G=$rDs6!$9$k\e(B</dd>
+
+      <dt><a href="mod_unique_id.html">mod_unique_id</a>
+      Apache 1.3 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B%j%/%(%9%H$4$H$K!"0l0U$J%j%/%(%9%H\e(B ID \e$B$r@8@.$9$k\e(B</dd>
+
+      <dt><a href="mod_usertrack.html">mod_usertrack</a>
+      Apache 1.2 \e$B0J9_\e(B</dt>
+
+      <dd>cookie \e$B$K$h$j%f!<%6$NDI@W$r9T$J$&\e(B
+      (mod_cookies.c \e$B$rCV$-49$($?$b$N\e(B)</dd>
+
+      <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a>
+      Apache 1.3.7 \e$B0J9_\e(B</dt>
+
+      <dd>\e$B$?$/$5$s$N%P!<%A%c%k%[%9%H@_Dj$rF0E*$K9=@.$9$k\e(B</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_access.html.en b/htdocs/manual/mod/mod_access.html.en
new file mode 100644 (file)
index 0000000..6b47ed3
--- /dev/null
@@ -0,0 +1,340 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_access</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_access</h1>
+
+    <p>This module provides access control based on client
+    hostname, IP address, or other characteristics of the client
+    request.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_access.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    access_module</p>
+
+    <h2>Summary</h2>
+
+    <p>The directives provided by mod_access are used in <code><a
+    href="core.html#directory">&lt;Directory&gt;</a>, <a
+    href="core.html#files">&lt;Files&gt;</a>,</code> and <code><a
+    href="core.html#location">&lt;Location&gt;</a></code> sections
+    as well as <code><a
+    href="core.html#accessfilename">.htaccess</a></code> files to
+    control access to particular parts of the server. Access can be
+    controlled based on the client hostname, IP address, or other
+    characteristics of the client request, as captured in <a
+    href="../env.html">environment variables</a>. The
+    <code>Allow</code> and <code>Deny</code> directives are used to
+    specify which clients are or are not allowed access to the
+    server, while the <code>Order</code> directive sets the default
+    access state, and configures how the <code>Allow</code> and
+    <code>Deny</code> directives interact with each other.</p>
+
+    <p>Both host-based access restrictions and password-based
+    authentication may be implemented simultaneously. In that case,
+    the <a href="core.html#satisfy">Satisfy</a> directive is used
+    to determine how the two sets of restrictions interact.</p>
+
+    <p>In general, access restriction directives apply to all
+    access methods (<code>GET</code>, <code>PUT</code>,
+    <code>POST</code>, etc). This is the desired behavior in most
+    cases. However, it is possible to restrict some methods, while
+    leaving other methods unrestricted, by enclosing the directives
+    in a <a href="core.html#limit">&lt;Limit&gt;</a> section.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#allow">Allow</a></li>
+
+      <li><a href="#deny">Deny</a></li>
+
+      <li><a href="#order">Order</a></li>
+    </ul>
+
+    <p>See also <a href="core.html#satisfy">Satisfy</a> and <a
+    href="core.html#require">Require</a>.</p>
+    <hr />
+
+    <h2><a id="allow" name="allow">Allow</a> <a id="allowfromenv"
+    name="allowfromenv">directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Allow from
+    all|<em>host</em>|env=<em>env-variable</em>
+    [<em>host</em>|env=<em>env-variable</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Limit<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_access</p>
+
+    <p>The <code>Allow</code> directive affects which hosts can
+    access an area of the server. Access can be controlled by
+    hostname, IP Address, IP Address range, or by other
+    characteristics of the client request captured in environment
+    variables.</p>
+
+    <p>The first argument to this directive is always
+    <code>from</code>. The subsequent arguments can take three
+    different forms. If <code>Allow from all</code> is specified,
+    then all hosts are allowed access, subject to the configuration
+    of the <code>Deny</code> and <code>Order</code> directives as
+    discussed below. To allow only particular hosts or groups of
+    hosts to access the server, the <em>host</em> can be specified
+    in any of the following formats:</p>
+
+    <dl>
+      <dt>A (partial) domain-name</dt>
+
+      <dd>Example: <code>Allow from apache.org</code><br />
+       Hosts whose names match, or end in, this string are allowed
+      access. Only complete components are matched, so the above
+      example will match <code>foo.apache.org</code> but it will
+      not match <code>fooapache.org</code>. This configuration will
+      cause the server to perform a double reverse DNS lookup on the
+      client IP address, regardless of the setting of the <a
+      href="core.html#hostnamelookups">HostnameLookups</a>
+      directive.  It will do a reverse DNS lookup on the IP address to
+      find the associated hostname, and then do a forward lookup on
+      the hostname to assure that it matches the original IP address.
+      Only if the forward and reverse DNS are consistent and the
+      hostname matches will access be allowed.</dd>
+
+      <dt>A full IP address</dt>
+
+      <dd>Example: <code>Allow from 10.1.2.3</code><br />
+       An IP address of a host allowed access</dd>
+
+      <dt>A partial IP address</dt>
+
+      <dd>Example: <code>Allow from 10.1</code><br />
+       The first 1 to 3 bytes of an IP address, for subnet
+      restriction.</dd>
+
+      <dt>A network/netmask pair</dt>
+
+      <dd>Example: <code>Allow from
+      10.1.0.0/255.255.0.0</code><br />
+       A network a.b.c.d, and a netmask w.x.y.z. For more
+      fine-grained subnet restriction. (Apache 1.3 and later)</dd>
+
+      <dt>A network/nnn CIDR specification</dt>
+
+      <dd>Example: <code>Allow from 10.1.0.0/16</code><br />
+       Similar to the previous case, except the netmask consists of
+      nnn high-order 1 bits. (Apache 1.3 and later)</dd>
+    </dl>
+
+    <p>Note that the last three examples above match exactly the
+    same set of hosts.</p>
+
+    <p>The third format of the arguments to the <code>Allow</code>
+    directive allows access to the server to be controlled based on
+    the existence of an <a href="../env.html">environment
+    variable</a>. When <code>Allow from
+    env=</code><em>env-variable</em> is specified, then the request
+    is allowed access if the environment variable
+    <em>env-variable</em> exists. The server provides the ability
+    to set environment variables in a flexible way based on
+    characteristics of the client request using the directives
+    provided by <a href="mod_setenvif.html">mod_setenvif</a>.
+    Therefore, this directive can be used to allow access based on
+    such factors as the clients <code>User-Agent</code> (browser
+    type), <code>Referer</code>, or other HTTP request header
+    fields.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+<pre>
+SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
+&lt;Directory /docroot&gt;
+    Order Deny,Allow
+    Deny from all
+    Allow from env=let_me_in
+&lt;/Directory&gt;
+</pre>
+    </blockquote>
+
+    <p>In this case, browsers with a user-agent string beginning
+    with <tt>KnockKnock/2.0</tt> will be allowed access, and all
+    others will be denied.</p>
+
+    <p>See also <a href="#deny">Deny</a>, <a
+    href="#order">Order</a> and <a
+    href="mod_setenvif.html#setenvif">SetEnvIf</a>.</p>
+    <hr />
+
+    <h2><a id="deny" name="deny">Deny</a> <a id="denyfromenv"
+    name="denyfromenv">directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Deny from
+    all|<em>host</em>|env=<em>env-variable</em>
+    [<em>host</em>|env=<em>env-variable</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Limit<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_access</p>
+
+    <p>This directive allows access to the server to be restricted
+    based on hostname, IP address, or environment variables. The
+    arguments for the <code>Deny</code> directive are identical to
+    the arguments for the <a href="#allow">Allow</a> directive.</p>
+
+    <p>See also <a href="#allow">Allow</a>, <a
+    href="#order">Order</a> and <a
+    href="mod_setenvif.html#setenvif">SetEnvIf</a>.</p>
+    <hr />
+
+    <h2><a id="order" name="order">Order directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Order
+    <em>ordering</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>Order
+    Deny,Allow</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Limit<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_access</p>
+
+    <p>The <code>Order</code> directive controls the default access
+    state and the order in which <a href="#allow">Allow</a> and <a
+    href="#deny">Deny</a> directives are evaluated.
+    <em>Ordering</em> is one of</p>
+
+    <dl>
+      <dt>Deny,Allow</dt>
+
+      <dd>The <code>Deny</code> directives are evaluated before the
+      <code>Allow</code> directives. Access is allowed by default.
+      Any client which does not match a <code>Deny</code> directive
+      or does match an <code>Allow</code> directive will be allowed
+      access to the server.</dd>
+
+      <dt>Allow,Deny</dt>
+
+      <dd>The <code>Allow</code> directives are evaluated before
+      the <code>Deny</code> directives. Access is denied by
+      default. Any client which does not match an
+      <code>Allow</code> directive or does match a
+      <code>Deny</code> directive will be denied access to the
+      server.</dd>
+
+      <dt>Mutual-failure</dt>
+
+      <dd>Only those hosts which appear on the <code>Allow</code>
+      list and do not appear on the <code>Deny</code> list are
+      granted access. This ordering has the same effect as
+      <code>Order Allow,Deny</code> and is deprecated in favor of
+      that configuration.</dd>
+    </dl>
+
+    <p>Keywords may only be separated by a comma; no whitespace is
+    allowed between them. Note that in all cases every
+    <code>Allow</code> and <code>Deny</code> statement is
+    evaluated.</p>
+
+    <p>In the following example, all hosts in the apache.org domain
+    are allowed access; all other hosts are denied access.</p>
+
+    <blockquote>
+      <code>Order Deny,Allow<br />
+       Deny from all<br />
+       Allow from apache.org<br />
+      </code>
+    </blockquote>
+
+    <p>In the next example, all hosts in the apache.org domain are
+    allowed access, except for the hosts which are in the
+    foo.apache.org subdomain, who are denied access. All hosts not
+    in the apache.org domain are denied access because the default
+    state is to deny access to the server.</p>
+
+    <blockquote>
+      <code>Order Allow,Deny<br />
+       Allow from apache.org<br />
+       Deny from foo.apache.org<br />
+      </code>
+    </blockquote>
+
+    <p>On the other hand, if the <code>Order</code> in the last
+    example is changed to <code>Deny,Allow</code>, all hosts will
+    be allowed access. This happens because, regardless of the
+    actual ordering of the directives in the configuration file,
+    the <code>Allow from apache.org</code> will be evaluated last
+    and will override the <code>Deny from foo.apache.org</code>.
+    All hosts not in the <code>apache.org</code> domain will also
+    be allowed access because the default state will change to
+    <em>allow</em>.</p>
+
+    <p>The presence of an <code>Order</code> directive can affect
+    access to a part of the server even in the absence of
+    accompanying <code>Allow</code> and <code>Deny</code>
+    directives because of its effect on the default access state.
+    For example,</p>
+
+    <blockquote>
+      <code>&lt;Directory /www&gt;<br />
+       &nbsp;&nbsp;Order Allow,Deny<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p>will deny all access to the <code>/www</code> directory
+    because the default access state will be set to
+    <em>deny</em>.</p>
+
+    <p>The <code>Order</code> directive controls the order of
+    access directive processing only within each phase of the
+    server's configuration processing. This implies, for example,
+    that an <code>Allow</code> or <code>Deny</code> directive
+    occurring in a &lt;Location&gt; section will always be
+    evaluated after an <code>Allow</code> or <code>Deny</code>
+    directive occurring in a &lt;Directory&gt; section or
+    <code>.htaccess</code> file, regardless of the setting of the
+    <code>Order</code> directive. For details on the merging of
+    configuration sections, see the documentation on <a
+    href="../sections.html">How Directory, Location and Files
+    sections work</a>.</p>
+
+    <p>See also: <a href="#deny">Deny</a> and <a
+    href="#allow">Allow</a>. <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_access.html.html b/htdocs/manual/mod/mod_access.html.html
new file mode 100644 (file)
index 0000000..bf6d8c4
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_access.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_access.html.ja.jis b/htdocs/manual/mod/mod_access.html.ja.jis
new file mode 100644 (file)
index 0000000..4b9dca5
--- /dev/null
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_access</title>
+
+  </head>
+  <!-- English revision: 1.34 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_access \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O%/%i%$%"%s%H$N%[%9%HL>!"\e(BIP
+    \e$B%"%I%l%9!"$=$NB>$N%/%i%$%"%s%H$N%j%/%(%9%H$NFCD'$K4p$E$$$?\e(B
+    \e$B%"%/%;%9@)8f5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_access.c<br />
+     <a href="module-dict.html#moduleidentifier"
+     rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+     access_module</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>mod_access \e$B$K$h$jDs6!$5$l$k%G%#%l%/%F%#%V$O%5!<%P$NFCDj$NItJ,$X$N\e(B
+    \e$B%"%/%;%9$r@)8f$9$k$?$a$K\e(B <code><a href="core.html#directory"
+    >&lt;Directory&gt;</a>, <a href="core.html#files">&lt;Files&gt;</a
+    ></code>, <code><a href="core.html#location">&lt;Location&gt;</a
+    ></code> \e$B$H\e(B <code><a href="core.html#accessfilename">.htaccess</a
+    ></code> \e$B%U%!%$%k$G;HMQ$5$l$^$9!#%/%i%$%"%s%H$N%[%9%HL>!"\e(BIP
+    \e$B%"%I%l%9$d\e(B <a href="../env.html">\e$B4D6-JQ?t\e(B</a
+    >\e$B$H$7$F<hF@$5$l$?!"$=$NB>$N%j%/%(%9%H$NFCD'$K4p$E$$$F\e(B
+    \e$B%"%/%;%9@)8f$r9T$J$&$3$H$,$G$-$^$9!#\e(B<code>Allow</code> \e$B$H\e(B
+    <code>Deny</code> \e$B%G%#%l%/%F%#%V$O$I$N$h$&$J%/%i%$%"%s%H$K%"%/%;%9$r\e(B
+    \e$B5v2D$9$k!"$7$J$$$+$r;XDj$9$k$?$a$K;HMQ$5$l$^$9!#0lJ}!"\e(B
+    <code>Order</code> \e$B%G%#%l%/%F%#%V$O%G%U%)%k%H$N%"%/%;%9>uBV$H!"\e(B
+    <code>Allow</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>Deny</code>
+    \e$B%G%#%l%/%F%#%V$H$N$*8_$$$X$N1F6A$N;EJ}$r@_Dj$7$^$9!#\e(B
+    </p>
+
+    <p>\e$B%[%9%H$K$h$k%"%/%;%9@)8B$H%Q%9%o!<%I$K$h$kG'>Z$rF1;~$K\e(B
+    \e$B9T$J$&$3$H$,2DG=$G$9!#$=$N>l9g!"$=$NFs$D$N@)8B$N4X78$r;XDj$9$k$?$a$K\e(B
+    <a href="core.html#satisfy">Satisfy</a>
+    \e$B%G%#%l%/%F%#%V$r;HMQ$7$^$9!#\e(B</p>
+
+    <p>\e$B0lHLE*$K$O!"%"%/%;%9@)8B%G%#%l%/%F%#%V$O$9$Y$F$N%"%/%;%9%a%=%C%I\e(B
+    (<code>GET</code>, <code>PUT</code>, <code>POST</code> \e$B$J$I\e(B)
+    \e$B$KE,MQ$5$l$^$9!#$=$7$F!"$[$H$s$I$N>l9g$3$l$,K>$^$7$$F0:n$G$9!#\e(B
+    \e$B$7$+$7!"\e(B<a href="core.html#limit">&lt;Limit&gt;</a>
+    \e$B%;%/%7%g%s$NCf$K%G%#%l%/%F%#%V$r=q$/$3$H$G!"\e(B
+    \e$B0lIt$N%a%=%C%I$K$N$_@)8B$r$+$1$k$3$H$b$G$-$^$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#allow">Allow</a></li>
+
+      <li><a href="#deny">Deny</a></li>
+
+      <li><a href="#order">Order</a></li>
+    </ul>
+
+    <p><a href="core.html#satisfy">Satisfy</a> \e$B$H\e(B
+    <a href="core.html#require">Require</a> \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="allow" name="allow">Allow</a> <a id="allowfromenv"
+    name="allowfromenv">\e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a  href="directive-dict.html#syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Allow from 
+    all|<em>host</em>|env=<em>env-variablename</em> 
+    [<em>host</em>|env=<em>env-variablename</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B
+    .htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Limit<br />
+     <a href="directive-dict.html#status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_access</p>
+
+    <p><code>Allow</code> \e$B%G%#%l%/%F%#%V$O$I$N%[%9%H$,\e(B
+    \e$B%5!<%P$N$"$kNN0h$r%"%/%;%9$G$-$k$+$K1F6A$rM?$($^$9!#\e(B
+    \e$B%"%/%;%9$O%[%9%HL>!"\e(BIP \e$B%"%I%l%9!"\e(BIP \e$B%"%I%l%9$NHO0O$d!"\e(B
+    \e$B4D6-JQ?t$H$7$F<hF@$5$l$?!"$=$NB>$N%/%i%$%"%s%H$N%j%/%(%9%H$N\e(B
+    \e$BFCD'$K$h$C$F@)8f$9$k$3$H$,$G$-$^$9!#\e(B</p> 
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$N:G=i$N0z?t$O>o$K\e(B <code>from</code> \e$B$G$9!#\e(B
+    \e$B$=$l$KB3$/0z?t$O;0$D$N0c$C$?7A<0$,$"$j$^$9!#\e(B<code>Allow from
+    all</code> \e$B$,;XDj$5$l$F$$$l$P!"$9$Y$F$N%[%9%H$K%"%/%;%9$r5v2D$7!"\e(B
+    \e$B%"%/%;%9@)8B$O2<$G@bL@$5$l$F$$$k$h$&$K!"\e(B<code>Deny</code>
+    \e$B%G%#%l%/%F%#%V$H\e(B <code>Order</code>
+    \e$B%G%#%l%/%F%#%V$N@_Dj$G7h$^$j$^$9!#\e(B
+    \e$BFCDj$N%[%9%H$d%[%9%H72$K$N$_%5!<%P$X$N%"%/%;%9$r5v2D$9$k$?$a$K$O!"\e(B
+    \e$B0J2<$N$I$l$+$N7A<0$G\e(B <em>host</em> \e$B$r;XDj$9$k$3$H$,$G$-$^$9\e(B:</p>
+
+    <dl>
+      <dt>\e$B%I%a%$%sL>\e(B (\e$B$N0lIt\e(B)</dt>
+
+      <dd>\e$BNc\e(B: <code>Allow from apache.org</code><br />
+      \e$B$3$NJ8;zNs$K9g$&$+!"$3$l$G=*$o$kL>A0$N%[%9%H$N%"%/%;%9$,5v2D$5$l$^$9!#\e(B
+      \e$B3FItJ,$,40A4$K9g$&$b$N$@$1$KE,MQ$5$l$^$9$N$G!">e$NNc$O\e(B
+      <code>foo.apache.org</code> \e$B$K$O%^%C%A$7$^$9$,!"\e(B
+      <code>fooapache.org</code> \e$B$K$O%^%C%A$7$^$;$s!#\e(B
+      \e$B$3$N@_Dj$r$9$k$H!"%5!<%P$O\e(B
+      <a href="core.html#hostnamelookups">HostnameLookups</a>
+      \e$B$N@_Dj$K4X$o$i$:!"%/%i%$%"%s%H$N\e(B IP \e$B%"%I%l%9$KBP$7$F\e(B
+      DNS \e$B$NFs=E$N5U0z$-$r9T$J$$$^$9!#$3$l$O\e(B IP \e$B%"%I%l%9$G\e(B DNS
+      \e$B$N5U0z$-$r9T$J$C$F$=$l$K4XO"IU$1$i$l$?%[%9%HL>$r8+$D$1!"\e(B
+      \e$B$=$l$+$i%[%9%HL>$G@50z$-$r9T$J$C$F%*%j%8%J%k$N\e(B IP
+      \e$B%"%I%l%9$H0lCW$9$k$+3NG'$7$^$9!#%"%/%;%9$O@50z$-$H5U0z$-$KL7=b$,L5$/!"\e(B
+      \e$B%[%9%HL>$,0lCW$7$?>l9g$K8B$j5v2D$5$l$^$9!#\e(B</dd>
+
+      <dt>\e$B40A4$J\e(B IP \e$B%"%I%l%9\e(B</dt>
+
+      <dd>\e$BNc\e(B: <code>Allow from 10.1.2.3</code><br />
+      \e$B%"%/%;%9$r5v2D$9$k\e(B IP \e$B%"%I%l%9$G$9!#\e(B</dd>
+
+      <dt>IP \e$B%"%I%l%9$N0lIt\e(B</dt>
+
+      <dd>\e$BNc\e(B: <code>Allow from 10.1</code><br />
+      \e$B%5%V%M%C%H$N@)8BMQ$N!"\e(BIP
+      \e$B%"%I%l%9$N:G=i$N0l$D$+$i;0$D$^$G$N%P%$%H$G$9!#\e(B</dd>
+
+      <dt>\e$B%M%C%H%o!<%/\e(B/\e$B%M%C%H%^%9%/\e(B \e$B$NBP\e(B</dt>
+
+      <dd>\e$BNc\e(B: <code>Allow from 10.1.0.0/255.255.0.0</code><br />
+      \e$B%M%C%H%o!<%/\e(B a.b.c.d \e$B$H%M%C%H%^%9%/\e(B w.x.y.z \e$B$G$9!#\e(B
+      \e$B$h$j:YN3EY$N%5%V%M%C%H@)8BMQ$G$9!#\e(B(Apache 1.3 \e$B0J9_\e(B)</dd>
+
+      <dt>\e$B%M%C%H%o!<%/\e(B/nnn CIDR \e$B;XDj\e(B</dt>
+
+      <dd>\e$BNc\e(B: <code>Allow from 10.1.0.0/16</code><br />
+      \e$B%M%C%H%^%9%/$,\e(B nnn \e$B$N>e0L%S%C%H$,\e(B 1
+      \e$B$H$J$C$F$$$k$b$N$+$i$J$k$3$H0J30$OA0$N$b$N$HF1$8$G$9!#\e(B
+      (Apache 1.3 \e$B0J9_\e(B)</dd>
+    </dl>
+
+    <p>\e$BCm\e(B: \e$B:G8e$N;0$D$NNc$O$^$C$?$/F1$8%[%9%H$K9g$$$^$9!#\e(B</p>
+
+
+    <p><code>Allow</code> \e$B%G%#%l%/%F%#%V$N0z?t$N;0$DL\$N7A<0$O!"\e(B
+    <a href="../env.html">\e$B4D6-JQ?t\e(B</a>
+    \e$B$NB8:_$K$h$j%"%/%;%9$N@)8f$r9T$J$($k$h$&$K$9$k$b$N$G$9!#\e(B
+    <code>Allow from env=</code><em>variablename</em>
+    \e$B$,;XDj$5$l$F$$$k$H!"4D6-JQ?t\e(B <em>variablename</em>
+    \e$B$,B8:_$7$?>l9g$K%j%/%(%9%H$O%"%/%;%9$r5v2D$5$l$^$9!#%5!<%P$O\e(B
+    <a href="mod_setenvif.html">mod_setenvif</a>
+    \e$B$N%G%#%l%/%F%#%V$K$h$j!"%/%i%$%"%s%H$N%j%/%(%9%H\e(B
+    \e$B$NFCD'$K4p$E$$$F=@Fp$K4D6-JQ?t$r@_Dj$9$k5!G=$rDs6!$7$^$9!#\e(B
+    \e$B$G$9$+$i!"$3$N%G%#%l%/%F%#%V$O%/%i%$%"%s%H$N\e(B
+    <code>User-Agent</code> (\e$B%V%i%&%6$N<oN`\e(B)\e$B!"\e(B<code>Referer</code>
+    \e$B$dB>$N\e(B HTTP \e$B%j%/%(%9%H$N%X%C%@%U%#!<%k%I$J$I$K4p$E$$$F\e(B
+    \e$B%"%/%;%95v2D$r$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+<pre>
+SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
+&lt;Directory /docroot&gt;
+    Order Deny,Allow
+    Deny from all
+    Allow from env=let_me_in
+&lt;/Directory&gt;
+</pre>
+    </blockquote>
+
+    <p>\e$B$3$N>l9g!"\e(Buser-agent \e$B$NJ8;zNs$,\e(B <tt>KnockKnock/2.0</tt>
+    \e$B$G;O$^$k%V%i%&%6$N$_$,%"%/%;%9$r5v2D$5$l!"\e(B
+    \e$BB>$N$b$N$O%"%/%;%9$r5qH]$5$l$^$9!#\e(B</p>
+
+    <p><a href="#deny">Deny</a>, <a href="#order">Order</a>,
+    <a href="mod_setenvif.html#setenvif">SetEnvIf</a>
+    \e$B%G%#%l%/%F%#%V$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="deny" name="deny">Deny</a> <a id="denyfromenv"
+    name="denyfromenv">\e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> Deny from 
+    all|<em>host</em>|env=<em>variablename</em> 
+    [<em>host</em>|env=<em>variablename</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B
+    .htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> Limit<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_access</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O%[%9%HL>!"\e(BIP
+    \e$B%"%I%l%9!"4D6-JQ?t$K4p$E$$$F%5!<%P$X$N%"%/%;%9$r@)8B$7$^$9!#\e(B
+    <code>Deny</code> \e$B%G%#%l%/%F%#%V$N0z?t$O\e(B <a href="#allow">Allow</a>
+    \e$B%G%#%l%/%F%#%V$H$^$C$?$/F1$8$G$9!#\e(B</p>
+
+    <p><a href="#allow">Allow</a>, <a href="#order">Order</a>,
+    <a href="mod_setenvif.html#setenvif">SetEnvIf</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="order" name="order">Order \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> Order
+    <em>ordering</em><br />
+     <a href="directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>Order
+    Deny,Allow</code><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j!"\e(B
+    .htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> Limit<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_access</p>
+
+    <p><code>Order</code> \e$B%G%#%l%/%F%#%V$O%G%U%)%k%H$N%"%/%;%9$N>uBV$H\e(B
+    <a href="#allow">Allow</a> \e$B%G%#%l%/%F%#%V$H\e(B <a href="#deny">Deny</a>
+    \e$B%G%#%l%/%F%#%V$,I>2A$5$l$k=gHV$r@)8f$7$^$9!#\e(B
+    <em>Ordering</em> \e$B$O0J2<$N$I$l$+$G$9!#\e(B</p>
+
+    <dl>
+      <dt>Deny,Allow</dt>
+
+      <dd><code>Deny</code> \e$B%G%#%l%/%F%#%V$,\e(B <code>Allow</code>
+      \e$B%G%#%l%/%F%#%V$NA0$KI>2A$5$l$^$9!#\e(B
+      \e$B%"%/%;%9$O%G%U%)%k%H$G5v2D$5$l$^$9!#\e(B<code>Deny</code>
+      \e$B%G%#%l%/%F%#%V$K9g$o$J$$$+!"\e(B<code>Allow</code>
+      \e$B%G%#%l%/%F%#%V$K9g$&%/%i%$%"%s%H$O%"%/%;%9$r5v2D$5$l$^$9!#\e(B</dd>
+
+      <dt>Allow,Deny</dt>
+
+      <dd><code>Allow</code> \e$B%G%#%l%/%F%#%V$,\e(B <code>Deny</code>
+      \e$B%G%#%l%/%F%#%V$NA0$KI>2A$5$l$^$9!#\e(B
+      \e$B%"%/%;%9$O%G%U%)%k%H$G5qH]$5$l$^$9!#\e(B<code>Allow</code>
+      \e$B%G%#%l%/%F%#%V$K9g$o$J$$$+!"\e(B<code>Deny</code>
+      \e$B%G%#%l%/%F%#%V$K9g$&%/%i%$%"%s%H$O%"%/%;%9$r5qH]$5$l$^$9!#\e(B
+      </dd>
+
+      <dt>Mutual-failure</dt>
+
+      <dd><code>Allow</code> \e$B$N%j%9%H$K8=$l$F!"\e(B<code>Deny</code>
+      \e$B$N%j%9%H$K8=$l$J$$%[%9%H$N$_$,%"%/%;%9$r5v2D$5$l$^$9!#\e(B
+      \e$B$3$N=gHVIU$1$O\e(B <code>Order Allow,Deny</code> \e$B$HF1$88z2L$r;}$A!"\e(B
+      \e$B$=$N@_Dj$NJ}$,9%$^$7$$$?$a$KHs?d>)$H$J$C$F$$$^$9!#\e(B</dd>
+    </dl>
+
+    <p>\e$B%-!<%o!<%I$O%3%s%^$GJ,N%$9$k$3$H$@$1$,2DG=$G$9!#\e(B
+    \e$B4V$K6uGr$,$"$C$F$O$$$1$^$;$s!#$I$N>l9g$G$b!"\e(B<code>Allow</code> \e$B$H\e(B
+    <code>Deny</code> \e$BJ8$OA4$FI>2A$5$l$k$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p>\e$B0J2<$NNc$G$O!"\e(Bapache.org
+    \e$B%I%a%$%s$N$9$Y$F$N%[%9%H$O%"%/%;%9$r5v2D$5$l$^$9!#\e(B
+    \e$BB>$N$9$Y$F$N%[%9%H$O%"%/%;%9$r5qH]$5$l$^$9!#\e(B</p>
+
+    <blockquote>
+      <code>Order Deny,Allow<br />
+       Deny from all<br />
+       Allow from apache.org<br />
+      </code>
+    </blockquote>
+
+    <p>\e$B<!$NNc$G$O!"\e(Bfoo.apache.org \e$B%5%V%I%a%$%s$K$"$k%[%9%H0J30$N!"\e(B
+    apache.org \e$B%I%a%$%s$N$9$Y$F$N%[%9%H$,%"%/%;%9$r5v2D$5$l$^$9!#\e(B
+    apache.org
+    \e$B%I%a%$%s$G$J$$%[%9%H$O!"%G%U%)%k%H$N>uBV$,%"%/%;%95qH]$N$?$a!"\e(B
+    \e$B%5!<%P$X$N%"%/%;%9$r5qH]$5$l$^$9!#\e(B</p>
+
+    <blockquote>
+      <code>Order Allow,Deny<br />
+       Allow from apache.org<br />
+       Deny from foo.apache.org<br />
+      </code>
+    </blockquote>
+
+    <p>\e$B0lJ}!">e$NNc$N\e(B <code>Order</code> \e$B$,\e(B <code>Deny,Allow</code>
+    \e$B$KJQ$o$C$F$$$l$P!"$9$Y$N%[%9%H$K%"%/%;%9$,5v2D$5$l$^$9!#\e(B
+    \e$B$3$l$O!"@_Dj%U%!%$%kCf$N<B:]$N=gHV$K4X$o$i$:!"\e(B
+    <code>Allow from apache.org</code> \e$B$,:G8e$KI>2A$5$l$F!"\e(B
+    <code>Deny from foo.apache.org</code> \e$B$r>e=q$-$9$k$+$i$G$9!#\e(B
+    <code>apache.org</code>
+    \e$B%I%a%$%s$K$J$$%[%9%H$b!"%G%U%)%k%H$N>uBV$,\e(B <em>allow</em>
+    \e$B$KJQ2=$9$k$?$a$K!"%"%/%;%9$r5v2D$5$l$^$9!#\e(B
+    </p>
+
+    <p><code>Order</code>
+    \e$B%G%#%l%/%F%#%V$O%G%U%)%k%H$N%"%/%;%9$N>uBV$K1F6A$rM?$($k$N$G!"\e(B
+    <code>Allow</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>Deny</code>
+    \e$B%G%#%l%/%F%#%V$,L5$/$F$b!"%5!<%P$N%"%/%;%9$K1F6A$rM?$($k$3$H$,$G$-$^$9!#\e(B
+    \e$B$?$H$($P!"\e(B</p>
+
+    <blockquote>
+      <code>&lt;Directory /www&gt;<br />
+       &nbsp;&nbsp;Order Allow,Deny<br />
+       &lt;/Directory&gt;</code>
+    </blockquote>
+
+    <p>\e$B$O%G%U%)%k%H$N%"%/%;%9>uBV$,\e(B <em>deny</em> \e$B$K$J$k$?$a!"\e(B
+    <code>/www</code> \e$B%G%#%l%/%H%j$X$N$9$Y$F$N%"%/%;%9$r5qH]$7$^$9!#\e(B
+    </p>
+
+    <p><code>Order</code>
+    \e$B%G%#%l%/%F%#%V$O%5!<%P$N@_Dj=hM}$N3FCJ3,$G$@$1\e(B
+    \e$B%"%/%;%9%G%#%l%/%F%#%V$N=hM}$N=gHV$rJQ99$7$^$9!#$3$l$O!"$?$H$($P!"\e(B
+    <code>Order</code> \e$B%G%#%l%/%F%#%V$N@_Dj$K4X$o$i$:!"\e(B
+    &lt;Location&gt; \e$B%;%/%7%g%s$N\e(B <code>Allow</code> \e$B%G%#%l%/%F%#%V$d\e(B
+    <code>Deny</code> \e$B%G%#%l%/%F%#%V$O!"\e(B&lt;Directory&gt; \e$B%;%/%7%g%s$d\e(B
+    <code>.htaccess</code> \e$B%U%!%$%k$N\e(B <code>Allow</code>
+    \e$B%G%#%l%/%F%#%V$d\e(B <code>Deny</code>
+    \e$B%G%#%l%/%F%#%V$h$j$b>o$K8e$KI>2A$5$l$k$H$$$&$3$H$r0UL#$7$^$9!#\e(B
+    \e$B@_Dj%;%/%7%g%s$N%^!<%8$N>\:Y$K$D$$$F$O!"\e(B
+    <a href="../sections.html">Directory,Location, Files
+    \e$B%;%/%7%g%s$NF0:nJ}K!\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <p><a href="#deny">Deny</a> \e$B$H\e(B <a href="#allow">Allow</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_actions.html.en b/htdocs/manual/mod/mod_actions.html.en
new file mode 100644 (file)
index 0000000..bab6c63
--- /dev/null
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Module mod_actions</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_actions</h1>
+
+    <p>This module provides for executing CGI scripts based on
+    media type or request method.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_actions.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    action_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module has two directives. The Action directive lets
+    you run CGI scripts whenever a file of a certain type is
+    requested. The Script directive lets you run CGI scripts
+    whenever a particular method is used in a request. This makes
+    it much easier to execute scripts that process files.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#action">Action</a></li>
+
+      <li><a href="#script">Script</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="action" name="action">Action directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Action <em>action-type
+    cgi-script</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_actions<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Action is only
+    available in Apache 1.1 and later</p>
+
+    <p>This directive adds an action, which will activate
+    <em>cgi-script</em> when <em>action-type</em> is triggered by the
+    request.  The <i>cgi-script</i> is the URL-path to a resource that
+    has been configured as a CGI script using <code>ScriptAlias</code>
+    or <code>AddHandler</code>. The <em>action-type</em> can be either
+    a <a href="../handler.html">handler</a> or a MIME content type. It
+    sends the URL and file path of the requested document using the
+    standard CGI PATH_INFO and PATH_TRANSLATED environment
+    variables.</p>
+
+    <p>Examples:</p>
+    <pre>
+    # Requests for files of a particular type:
+    Action image/gif /cgi-bin/images.cgi
+
+    # Files of a particular file extension
+    AddHandler my-file-type .xyz
+    Action my-file-type /cgi-bin/program.cgi
+    </pre>
+
+    <p>In the first example, requests for files with a MIME content
+    type of <code>image/gif</code> will instead be handled by the
+    specified cgi script <code>/cgi-bin/images.cgi</code>.</p>
+
+    <p>In the second example, requests for files with a file extension of
+    <code>.xyz</code> are handled instead by the specified cgi script 
+    <code>/cgi-bin/program.cgi</code>.</p>
+
+    <p><strong>See also</strong>: <a 
+        href="mod_mime.html#addhandler">AddHandler</a></p>
+
+    <hr />
+
+    <h2><a id="script" name="script">Script directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Script <em>method
+    cgi-script</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_actions<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Script is only
+    available in Apache 1.1 and later; arbitrary method use is only
+    available with 1.3.10 and later</p>
+
+    <p>This directive adds an action, which will activate
+    <i>cgi-script</i> when a file is requested using the method of
+    <i>method</i>. The <i>cgi-script</i> is the URL-path to a resource
+    that has been configured as a CGI script using
+    <code>ScriptAlias</code> or <code>AddHandler</code>.  The URL and
+    file path of the requested document is sent using the standard CGI
+    PATH_INFO and PATH_TRANSLATED environment variables.</p>
+
+    <blockquote>
+      Prior to Apache 1.3.10, <i>method</i> can only be one of
+      <code>GET</code>, <code>POST</code>, <code>PUT</code>, or
+      <code>DELETE</code>. As of 1.3.10, any arbitrary method name
+      may be used. <b>Method names are case-sensitive</b>, so
+      <code>Script&nbsp;PUT</code> and <code>Script&nbsp;put</code>
+      have two entirely different effects.
+    </blockquote>
+
+    <p>Note that the Script command defines default actions only.
+    If a CGI script is called, or some other resource that is
+    capable of handling the requested method internally, it will do
+    so. Also note that Script with a method of <code>GET</code>
+    will only be called if there are query arguments present
+    (<em>e.g.</em>, foo.html?hi). Otherwise, the request will
+    proceed normally.</p>
+
+    <p>Examples:</p>
+<pre>
+    # For &lt;ISINDEX&gt;-style searching
+    Script GET /cgi-bin/search
+    # A CGI PUT handler
+    Script PUT /~bob/put.cgi
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_actions.html.html b/htdocs/manual/mod/mod_actions.html.html
new file mode 100644 (file)
index 0000000..f8c05b7
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_actions.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_actions.html.ja.jis b/htdocs/manual/mod/mod_actions.html.ja.jis
new file mode 100644 (file)
index 0000000..dcd0d1f
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Module mod_actions</title>
+
+  </head>
+  <!-- English revision: 1.19 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_actions \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O%a%G%#%"%?%$%W$d%j%/%(%9%H%a%=%C%I$K1~$8$F\e(B
+    CGI \e$B%9%/%j%W%H$r<B9T$9$k5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_actions.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    action_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    Apache 1.1 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$K$OFs$D$N%G%#%l%/%F%#%V$,$"$j$^$9!#\e(BAction
+    \e$B%G%#%l%/%F%#%V$OFCDj$N%?%$%W$N%U%!%$%k$r%j%/%(%9%H$5$l$?>l9g$K\e(B
+    CGI \e$B%9%/%j%W%H$,<B9T$5$l$k$h$&$K$7$^$9!#\e(BScript
+    \e$B%G%#%l%/%F%#%V$O%j%/%(%9%H$GFCDj$N%a%=%C%I$,;HMQ$5$l$?$H$-$K\e(B CGI
+    \e$B%9%/%j%W%H$,<B9T$5$l$k$h$&$K$7$^$9!#\e(B
+    \e$B$3$l$O%U%!%$%k$r=hM}$9$k%9%/%j%W%H$N<B9T$r$:$C$H4JC1$K$7$^$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#action">Action</a></li>
+      <li><a href="#script">Script</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="action" name="action">Action \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> Action <em>action-type
+    cgi-script</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_actions<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    Apache 1.1 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B <em>action-type</em>
+    \e$B$,%j%/%(%9%H$5$l$?$H$-$K\e(B <em>cgi-script</em>
+    \e$B$,<B9T$5$l$k$H$$$&F0:n$rDI2C$7$^$9!#\e(B<i>cgi-script</i> \e$B$O\e(B
+    <code>ScriptAlias</code> \e$B$d\e(B <code>AddHandler</code> \e$B$K$h$C$F\e(B
+    CGI \e$B%9%/%j%W%H$K@_Dj$5$l$?%j%=!<%9$X$N\e(B URL-path \e$B$G$9!#\e(B
+    <em>Action-type</em> \e$B$K$O\e(B
+    <a href="../handler.html">handler</a> \e$B$+\e(B MIME
+    \e$B%3%s%F%s%H%?%$%W$r;XDj$G$-$^$9!#%j%/%(%9%H$5$l$?%I%-%e%a%s%H$N\e(B URL
+    \e$B$H%U%!%$%k$N%Q%9$OI8=`\e(B CGI \e$B4D6-JQ?t\e(B PATH_INFO \e$B$H\e(B PATH_TRANSLATED
+    \e$B$r;H$C$FEA$($i$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+    <pre>
+    # Requests for files of a particular type:
+    Action image/gif /cgi-bin/images.cgi
+
+    # Files of a particular file extension
+    AddHandler my-file-type .xyz
+    Action my-file-type /cgi-bin/program.cgi
+    </pre>
+
+    <p>\e$B:G=i$NNc$G$O!"\e(BMIME \e$B%3%s%F%s%H%?%$%W$,\e(B <code>image/gif</code>
+    \e$B$N%U%!%$%k$X$N%j%/%(%9%H$O!"$=$N%U%!%$%k$NBe$o$j$K;XDj$5$l$?%9%/%j%W%H\e(B
+    <code>/cgi-bin/images.cgi</code> \e$B$,8F$P$l$^$9!#\e(B</p>
+
+    <p>2 \e$BHVL\$NNc$G$O!"3HD%;R$,\e(B <code>.xyz</code> \e$B$N%U%!%$%k$X$N%j%/%(%9%H$O!"\e(B
+    \e$B$=$N%U%!%$%k$NBe$o$j$K;XDj$5$l$?%9%/%j%W%H\e(B
+    <code>/cgi-bin/program.cgi</code> \e$B$,8F$P$l$^$9!#\e(B</p>
+
+    <p><a href="mod_mime.html#addhandler">AddHandler</a>
+    \e$B$b\e(B<strong>\e$B;2>H\e(B</strong>\e$B$7$F$/$@$5$$\e(B</p>
+
+    <hr />
+
+    <h2><a id="script" name="script">Script \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> Script <em>method
+    cgi-script</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B \e$B%G%#%l%/%H%j\e(B<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_actions<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Script \e$B$O\e(B Apache 1.1
+    \e$B0J9_$G$N$_;HMQ2DG=!#G$0U$N%a%=%C%I$N;HMQ$O\e(B 1.3.10
+    \e$B0J9_$G$N$_;HMQ2DG=!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B <i>method</i>
+    \e$B$H$$$&%a%=%C%I$r;H$C$F%j%/%(%9%H$,9T$J$o$l$?$H$-$K\e(B
+    <i>cgi-script</i> \e$B$r<B9T$9$k$H$$$&F0:n$rDI2C$7$^$9!#\e(B
+    <i>cgi-script</i> \e$B$O\e(B
+    <code>ScriptAlias</code> \e$B$d\e(B <code>AddHandler</code> \e$B$K$h$C$F\e(B
+    CGI \e$B%9%/%j%W%H$K@_Dj$5$l$?%j%=!<%9$X$N\e(B URL-path \e$B$G$9!#\e(B
+    \e$B%j%/%(%9%H$5$l$?%I%-%e%a%s%H$N\e(B URL \e$B$H%U%!%$%k$N%Q%9$OI8=`\e(B CGI
+    \e$B4D6-JQ?t\e(B PATH_INFO \e$B$H\e(B PATH_TRANSLATED \e$B$r;H$C$FEA$($i$l$^$9!#\e(B</p>
+
+    <blockquote>
+      Apache 1.3.10 \e$B$h$jA0$G$O!"\e(B<i>method</i> \e$B$O\e(B <code>GET</code>,
+      <code>POST</code>, <code>PUT</code>, <code>DELETE</code>
+      \e$B$@$1$,;XDj2DG=$G$7$?!#\e(B1.3.10
+      \e$B$G$O!"G$0U$N%a%=%C%IL>$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+      <b>\e$B%a%=%C%IL>$OBgJ8;z>.J8;z$r6hJL$7$^$9\e(B</b>\e$B!#$G$9$+$i!"\e(B
+      <code>Script&nbsp;PUT</code> \e$B$H\e(B <code>Script&nbsp;put</code>
+      \e$B$O$^$C$?$/0c$C$?8z2L$K$J$j$^$9!#\e(B
+    </blockquote>
+
+    <p>Script \e$B%3%^%s%I$O%G%U%)%k%H$NF0:n$rDI2C$9$k$@$1$G$"$k$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#$b$7\e(B CGI \e$B%9%/%j%W%H$,8F$P$l$?$j!"%j%/%(%9%H$5$l$?\e(B
+    \e$B%a%=%C%I$rFbIt$G07$&$3$H$N$G$-$kB>$N%j%=!<%9$,$"$l$P!"$=$l$,9T$J$o$l$^$9!#\e(B
+    <code>GET</code> \e$B%a%=%C%I$N\e(B Script \e$B$OLd9g$;0z?t$,$"$k>l9g$K$N$_\e(B
+    (<em>\e$B$?$H$($P\e(B</em>\e$B!"\e(Bfoo.html?hi) \e$B8F$P$l$k$H$$$&$3$H$K$bCm0U$7$F$/$@$5$$!#\e(B
+    \e$B$=$&$G$J$$>l9g$O!"%j%/%(%9%H$ODL>oDL$j=hM}$5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+<pre>
+    # For &lt;ISINDEX&gt;-style searching
+    Script GET /cgi-bin/search
+    # A CGI PUT handler
+    Script PUT /~bob/put.cgi
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_alias.html.en b/htdocs/manual/mod/mod_alias.html.en
new file mode 100644 (file)
index 0000000..f285c69
--- /dev/null
@@ -0,0 +1,385 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_alias</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_alias</h1>
+
+    <p>This module provides for mapping different parts of the host
+    filesystem in the document tree, and for URL redirection.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_alias.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    alias_module</p>
+
+    <h2>Summary</h2>
+
+    <p>The directives contained in this module allow for
+    manipulation and control of URLs as requests arrive at the
+    server. The <code>Alias</code> and <code>ScriptAlias</code>
+    directives are used to map between URLs and filesystem paths.
+    This allows for content which is not directly under the <a
+    href="core.html#documentroot"><code>DocumentRoot</code></a> to
+    be served as part of the web document tree. The
+    <code>ScriptAlias</code> directive has the additional effect of
+    marking the target directory as containing only CGI
+    scripts.</p>
+
+    <p>The <code>Redirect</code> directives are used to instruct
+    clients to make a new request with a different URL. They are
+    often used when a resource has moved to a new location.</p>
+
+    <p>A more powerful and flexible set of directives for
+    manipulating URLs is contained in the <a
+    href="mod_rewrite.html"><code>mod_rewrite</code></a>
+    module.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#alias">Alias</a></li>
+
+      <li><a href="#aliasmatch">AliasMatch</a></li>
+
+      <li><a href="#redirect">Redirect</a></li>
+
+      <li><a href="#redirectmatch">RedirectMatch</a></li>
+
+      <li><a href="#redirecttemp">RedirectTemp</a></li>
+
+      <li><a href="#redirectperm">RedirectPermanent</a></li>
+
+      <li><a href="#scriptalias">ScriptAlias</a></li>
+
+      <li><a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="alias" name="alias">Alias directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Alias <em>URL-path
+    file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias</p>
+
+    <p>The Alias directive allows documents to be stored in the
+    local filesystem other than under the <a
+    href="core.html#documentroot">DocumentRoot</a>. URLs with a
+    (%-decoded) path beginning with <em>url-path</em> will be
+    mapped to local files beginning with
+    <em>directory-filename</em>.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+      <code>Alias /image /ftp/pub/image</code>
+    </blockquote>
+
+    <p>A request for http://myserver/image/foo.gif would cause the
+    server to return the file /ftp/pub/image/foo.gif.</p>
+
+    <p>Note that if you include a trailing / on the
+    <em>url-path</em> then the server will require a trailing / in
+    order to expand the alias. That is, if you use <code>Alias
+    /icons/ /usr/local/apache/icons/</code> then the url
+    <code>/icons</code> will not be aliased.</p>
+
+    <p>Note that you may need to specify additional <a
+    href="core.html#directory"><code>&lt;Directory&gt;</code></a>
+    sections which cover the <em>destination</em> of aliases.
+    Aliasing occurs before <code>&lt;Directory&gt;</code> sections
+    are checked, so only the destination of aliases are affected.
+    (Note however <a
+    href="core.html#location"><code>&lt;Location&gt;</code></a>
+    sections are run through once before aliases are performed, so
+    they will apply.)</p>
+
+    <p>See also <a href="#scriptalias">ScriptAlias</a>.</p>
+    <hr />
+
+    <h2><a id="aliasmatch" name="aliasmatch">AliasMatch</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AliasMatch <em>regex
+    file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later</p>
+
+    <p>This directive is equivalent to <a href="#alias">Alias</a>,
+    but makes use of standard regular expressions, instead of
+    simple prefix matching. The supplied regular expression is
+    matched against the URL-path, and if it matches, the server
+    will substitute any parenthesized matches into the given string
+    and use it as a filename. For example, to activate the
+    <code>/icons</code> directory, one might use:</p>
+<pre>
+    AliasMatch ^/icons(.*) /usr/local/apache/icons$1
+</pre>
+    <hr />
+
+    <h2><a id="redirect" name="redirect">Redirect
+    directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Redirect
+    [<em>status</em>] <em>URL-path URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> The directory
+    and .htaccess context's are only available in versions 1.1 and
+    later. The <em>status</em> argument is only available in Apache
+    1.2 or later.</p>
+
+    <p>The Redirect directive maps an old URL into a new one. The
+    new URL is returned to the client which attempts to fetch it
+    again with the new address. <em>URL-path</em> a (%-decoded)
+    path; any requests for documents beginning with this path will
+    be returned a redirect error to a new (%-encoded) URL beginning
+    with <em>URL</em>.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+      <code>Redirect /service http://foo2.bar.com/service</code>
+    </blockquote>
+
+    <p>If the client requests http://myserver/service/foo.txt, it
+    will be told to access http://foo2.bar.com/service/foo.txt
+    instead.</p>
+
+    <p><strong>Note:</strong> Redirect directives take precedence
+    over Alias and ScriptAlias directives, irrespective of their
+    ordering in the configuration file. Also, <em>URL-path</em>
+    must be a fully qualified URL, not a relative path, even when used
+    with .htaccess files or inside of &lt;Directory&gt;
+    sections.</p>
+
+    <p>If no <em>status</em> argument is given, the redirect will
+    be "temporary" (HTTP status 302). This indicates to the client
+    that the resource has moved temporarily. The <em>status</em>
+    argument can be used to return other HTTP status codes:</p>
+
+    <dl>
+      <dt>permanent</dt>
+
+      <dd>Returns a permanent redirect status (301) indicating that
+      the resource has moved permanently.</dd>
+
+      <dt>temp</dt>
+
+      <dd>Returns a temporary redirect status (302). This is the
+      default.</dd>
+
+      <dt>seeother</dt>
+
+      <dd>Returns a "See Other" status (303) indicating that the
+      resource has been replaced.</dd>
+
+      <dt>gone</dt>
+
+      <dd>Returns a "Gone" status (410) indicating that the
+      resource has been permanently removed. When this status is
+      used the <em>url</em> argument should be omitted.</dd>
+    </dl>
+
+    <p>Other status codes can be returned by giving the numeric
+    status code as the value of <em>status</em>. If the status is
+    between 300 and 399, the <em>url</em> argument must be present,
+    otherwise it must be omitted. Note that the status must be
+    known to the Apache code (see the function
+    <code>send_error_response</code> in http_protocol.c).</p>
+
+    <p>Example:</p>
+
+    <pre>
+    Redirect permanent /one http://example.com/two<br />
+    Redirect 303 /two http://example.com/other
+    </pre>
+    <hr />
+
+    <h2><a id="redirectmatch"
+    name="redirectmatch">RedirectMatch</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RedirectMatch
+    [<em>status</em>] <em>regex URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later</p>
+
+    <p>This directive is equivalent to <a
+    href="#redirect">Redirect</a>, but makes use of standard
+    regular expressions, instead of simple prefix matching. The
+    supplied regular expression is matched against the URL-path,
+    and if it matches, the server will substitute any parenthesized
+    matches into the given string and use it as a filename. For
+    example, to redirect all GIF files to like-named JPEG files on
+    another server, one might use:</p>
+<pre>
+    RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
+</pre>
+    <hr />
+
+    <h2><a id="redirecttemp" name="redirecttemp">RedirectTemp
+    directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RedirectTemp
+    <em>URL-path URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> This directive
+    is only available in Apache 1.2 and later</p>
+
+    <p>This directive makes the client know that the Redirect is
+    only temporary (status 302). Exactly equivalent to
+    <code>Redirect temp</code>.</p>
+    <hr />
+
+    <h2><a id="redirectperm" name="redirectperm">RedirectPermanent
+    directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RedirectPermanent
+    <em>URL-path URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> This directive
+    is only available in Apache 1.2 and later</p>
+
+    <p>This directive makes the client know that the Redirect is
+    permanent (status 301). Exactly equivalent to <code>Redirect
+    permanent</code>.</p>
+    <hr />
+
+    <h2><a id="scriptalias" name="scriptalias">ScriptAlias
+    directive</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScriptAlias
+    <em>URL-path file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias</p>
+
+    <p>The ScriptAlias directive has the same behavior as the <a
+    href="#alias">Alias</a> directive, except that in addition it
+    marks the target directory as containing CGI scripts that will be
+    processed by <a href="mod_cgi.html">mod_cgi</a>'s cgi-script
+    handler. URLs with a (%-decoded) path beginning with
+    <em>URL-path</em> will be mapped to scripts beginning with the
+    second argument which is a full pathname in the local
+    filesystem.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+      <code>ScriptAlias /cgi-bin/ /web/cgi-bin/</code>
+    </blockquote>
+
+    <p>A request for http://myserver/cgi-bin/foo would cause the
+    server to run the script /web/cgi-bin/foo.</p>
+    <hr />
+
+    <h2><a id="scriptaliasmatch"
+    name="scriptaliasmatch">ScriptAliasMatch</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScriptAliasMatch
+    <em>regex file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later</p>
+
+    <p>This directive is equivalent to <a
+    href="#scriptalias">ScriptAlias</a>, but makes use of standard
+    regular expressions, instead of simple prefix matching. The
+    supplied regular expression is matched against the URL-path,
+    and if it matches, the server will substitute any parenthesized
+    matches into the given string and use it as a filename. For
+    example, to activate the standard <code>/cgi-bin</code>, one
+    might use:</p>
+<pre>
+    ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_alias.html.html b/htdocs/manual/mod/mod_alias.html.html
new file mode 100644 (file)
index 0000000..ce0cc1e
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_alias.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_alias.html.ja.jis b/htdocs/manual/mod/mod_alias.html.ja.jis
new file mode 100644 (file)
index 0000000..1ceac6d
--- /dev/null
@@ -0,0 +1,387 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_alias</title>
+
+  </head>
+  <!-- English revision: 1.37 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_alias \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"%[%9%H%U%!%$%k%7%9%F%`>e$N$$$m$$$m$J0c$&>l=j$r\e(B
+    \e$B%I%-%e%a%s%H%D%j!<$K%^%C%W$9$k5!G=$H!"\e(B
+    URL \e$B$N%j%@%$%l%/%H$r9T$J$&5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_alias.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    alias_module</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$N%G%#%l%/%F%#%V$O%5!<%P$K%j%/%(%9%H$,E~Ce$7$?$H$-$K\e(B
+    URL \e$B$NA`:n$d@)8f$r$9$k$3$H$r2DG=$K$7$^$9!#\e(B<code>Alias</code>
+    \e$B%G%#%l%/%F%#%V$H\e(B <code>ScriptAlias</code> \e$B%G%#%l%/%F%#%V$O\e(B
+    URL \e$B$H%U%!%$%k%7%9%F%`$N%Q%9$r%^%C%W$9$k$?$a$K;HMQ$5$l$^$9!#$3$l$O\e(B
+     <a href="core.html#documentroot"><code>DocumentRoot</code></a>
+    \e$B$N2<$K$J$$%I%-%e%a%s%H$r%&%'%V$N%I%-%e%a%s%H%D%j!<$N0lIt$H$7$F\e(B
+    \e$BAw$i$l$k$h$&$K$7$^$9!#\e(B<code>ScriptAlias</code>
+    \e$B%G%#%l%/%F%#%V$K$O%^%C%W@h$N%G%#%l%/%H%j$,\e(B CGI
+    \e$B%9%/%j%W%H$N$_$G$"$k$3$H$r<($9$H$$$&DI2C$N8z2L$,$"$j$^$9!#\e(B
+    </p>
+
+    <p><code>Redirect</code> \e$B%G%#%l%/%F%#%V$O%/%i%$%"%s%H$K0c$C$?\e(B
+    URL \e$B$K?7$7$$%j%/%(%9%H$rAw$k$h$&$K;X<($7$^$9!#$3$l$O!"\e(B
+    \e$B%j%=!<%9$,?7$7$$>l=j$K0\F0$7$?$H$-$K$h$/;HMQ$5$l$^$9!#\e(B</p>
+
+    <p>URL \e$B$rA`:n$9$k$?$a$N$h$j6/NO$G=@Fp$J%G%#%l%/%F%#%V72$O\e(B <a
+    href="mod_rewrite.html"><code>mod_rewrite</code></a>
+    \e$B%b%8%e!<%k$K$"$j$^$9!#\e(B
+    </p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#alias">Alias</a></li>
+
+      <li><a href="#aliasmatch">AliasMatch</a></li>
+
+      <li><a href="#redirect">Redirect</a></li>
+
+      <li><a href="#redirectmatch">RedirectMatch</a></li>
+
+      <li><a href="#redirecttemp">RedirectTemp</a></li>
+
+      <li><a href="#redirectperm">RedirectPermanent</a></li>
+
+      <li><a href="#scriptalias">ScriptAlias</a></li>
+
+      <li><a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="alias" name="alias">Alias \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Alias <em>URL-path
+    file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias</p>
+
+    <p>Alias \e$B%G%#%l%/%F%#%V$O%I%-%e%a%s%H$r%m!<%+%k%U%!%$%k%7%9%F%`$N\e(B
+    <a href="core.html#documentroot">DocumentRoot</a>
+    \e$B0J30$N>l=j$KJ]4I$9$k$3$H$r2DG=$K$7$^$9!#\e(B<em>Url-path</em>
+    (% \e$B$,I|9f$5$l$?\e(B) \e$B$G;O$^$k%Q%9$N\e(B URL \e$B$O\e(B
+    <em>directory-filename</em>
+    \e$B$G;O$^$k%m!<%+%k%U%!%$%k$K%^%C%W$5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>Alias /image /ftp/pub/image</code>
+    </blockquote>
+
+    <p>http://myserver/image/foo.gif \e$B$X$N%j%/%(%9%H$KBP$7$F!"%5!<%P$O\e(B
+    \e$B%U%!%$%k\e(B /ftp/pub/image/foo.gif \e$B$rJV$7$^$9!#\e(B</p>
+
+    <p>\e$B$b$7\e(B <em>url-path</em> \e$B$N:G8e$K\e(B /
+    \e$B$r=q$$$?$J$i!"%5!<%P$O%(%$%j%"%9$rE83+$9$k$?$a$K:G8e$N\e(B /
+    \e$B$rMW5a$9$k$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#$9$J$o$A!"\e(B<code>Alias /icons/
+     /usr/local/apache/icons/</code> \e$B$H$$$&$b$N$r;HMQ$7$F$$$k$H!"\e(B
+    <code>/icons</code> \e$B$H$$$&\e(B url \e$B$O%(%$%j%"%9$5$l$^$;$s!#\e(B</p>
+
+    <p>\e$B%(%$%j%"%9$N\e(B<em>\e$B9T$-@h\e(B</em>\e$B$r4^$s$G$$$k\e(B <a
+    href="core.html#directory"><code>&lt;Directory&gt;</code></a>
+    \e$B%;%/%7%g%s$rDI2C$9$kI,MW$,$"$k$+$b$7$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    \e$B%(%$%j%"%9$NE83+$O\e(B <code>&lt;Directory&gt;</code>
+    \e$B%;%/%7%g%s$rD4$Y$kA0$K9T$J$o$l$^$9$N$G!"\e(B
+    \e$B%(%$%j%"%9$N9T$-@h$N\e(B <code>&lt;Directory&gt;</code> \e$B%;%/%7%g%s$N$_\e(B
+    \e$B8z2L$,$"$j$^$9!#\e(B
+    (\e$B$7$+$7!"\e(B<a
+    href="core.html#location"><code>&lt;Location&gt;</code></a>
+    \e$B%;%/%7%g%s$O%(%$%j%"%9$,=hM}$5$l$kA0$K<B9T$5$l$^$9$N$G!"\e(B
+    \e$B$3$A$i$OE,MQ$5$l$^$9!#\e(B)</p>
+
+    <p><a href="#scriptalias">ScriptAlias</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="aliasmatch" name="aliasmatch">AliasMatch</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AliasMatch <em>regex
+    file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3
+    \e$B0J9_$G;HMQ2DG=\e(B</p>
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B <a href="#alias">Alias</a>
+    \e$B$H$[$H$s$IF1$8$G$9$,!"4JC1$J@hF,$+$i$N%^%C%A$r9T$J$&$N$G$O$J$/!"\e(B
+    \e$BI8=`@55,I=8=$rMxMQ$7$^$9!#$3$3$G;XDj$5$l$?@55,I=8=$H\e(B URL-path
+    \e$B$,9g$&$+$I$&$+$rD4$Y!"9g$&>l9g$O3g8L$G0O$^$l$?%^%C%A$r\e(B
+    \e$BM?$($i$l$?J8;zNs$GCV$-49$(!"$=$l$r%U%!%$%kL>$H$7$F;HMQ$7$^$9!#Nc$($P!"\e(B
+    <code>/icons</code> \e$B%G%#%l%/%H%j$r;HMQ$9$k$h$&$K$9$k\e(B
+    \e$B$?$a$K$O0J2<$N$h$&$J$b$N$,;HMQ$G$-$^$9\e(B:</p>
+<pre>
+    AliasMatch ^/icons(.*) /usr/local/apache/icons$1
+</pre>
+    <hr />
+
+    <h2><a id="redirect" name="redirect">Redirect
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> Redirect [<em>status</em>]
+    <em>URL-path URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B
+    \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$B%G%#%l%/%H%j$H\e(B
+    .htaccess \e$B$N%3%s%F%-%9%H$O\e(B 1.1 \e$B0J9_$N$_!#\e(B<em>Status</em>
+    \e$B0z?t$O\e(B Apache 1.2 \e$B0J9_!#\e(B</p>
+
+    <p>Redirect \e$B%G%#%l%/%F%#%V$O8E$$\e(B URL \e$B$r?7$7$$$b$N$X%^%C%W$7$^$9!#\e(B
+    \e$B?7$7$$\e(B URL \e$B$,%/%i%$%"%s%H$KJV$5$l$^$9!#$=$7$F!"\e(B
+    \e$B%/%i%$%"%s%H$O?7$7$$%"%I%l%9$r$b$&0l2s<hF@$7$h$&$H$7$^$9!#\e(B
+    <em>URL-path</em> (% \e$B$,I|9f$5$l$?\e(B) \e$B%Q%9$G;O$^$k%I%-%e%a%s%H$X$N\e(B
+    \e$B$9$Y$F$N%j%/%(%9%H$O\e(B <em>URL</em> \e$B$G;O$^$k?7$7$$\e(B
+    (% \e$B$,Id9f2=$5$l$?\e(B) URL \e$B$X$N%j%@%$%l%/%H%(%i!<$,JV$5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>Redirect /service http://foo2.bar.com/service</code>
+    </blockquote>
+
+    <p>\e$B%/%i%$%"%s%H$O\e(B http://myserver/service/foo.txt
+    \e$B$X$N%j%/%(%9%H$r9T$J$&$H!"Be$o$j$K\e(B http://foo2.bar.com/service/foo.txt
+    \e$B$r%"%/%;%9$9$k$h$&$K9p$2$i$l$^$9!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B:</strong>
+    \e$B@_Dj%U%!%$%kCf$N=gHV$K4X$o$i$:!"\e(BRedirect \e$B%G%#%l%/%F%#%V$O\e(B Alias
+    \e$B%G%#%l%/%F%#%V$H\e(B ScriptAlias \e$B%G%#%l%/%F%#%V$h$j$bM%@h$5$l$^$9!#\e(B
+    \e$B$^$?!"\e(B.htaccess \e$B%U%!%$%k$d\e(B &lt;Directory&gt;
+    \e$B%;%/%7%g%s$NCf$G;H$o$l$F$$$?$H$7$F$b!"\e(B<em>URL-path</em>
+    \e$B$OAjBP%Q%9$G$O$J$/!"40A4$J\e(B URL \e$B$G$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>\e$B$b$7\e(B <em>status</em> \e$B0z?t$,M?$($i$l$F$$$J$1$l$P!"%j%@%$%l%/%H$O\e(B
+    "temporary" (HTTP \e$B%9%F!<%?%9\e(B 302) \e$B$K$J$j$^$9!#$3$l$O%/%i%$%"%s%H$K\e(B
+    \e$B%j%=!<%9$,0l;~E*$K0\F0$7$?$H$$$&$3$H$r<($7$^$9!#\e(B<em>Status</em>
+    \e$B0z?t$O\e(B \e$BB>$N\e(B HTTP \e$B$N%9%F!<%?%9%3!<%I$rJV$9$?$a$K;HMQ$9$k$3$H$,$G$-$^$9\e(B:</p>
+
+    <dl>
+      <dt>permanent</dt>
+
+      <dd>\e$B1J5W$K%j%@%$%l%/%H$r$9$k%9%F!<%?%9\e(B (301) \e$B$rJV$7$^$9!#\e(B
+      \e$B$3$l$O%j%=!<%9$,1J5W$K0\F0$7$?$H$$$&$3$H$r0UL#$7$^$9!#\e(B</dd>
+
+      <dt>temp</dt>
+
+      <dd>\e$B0l;~E*$J%j%@%$%l%/%H%9%F!<%?%9\e(B (302)
+      \e$B$rJV$7$^$9!#$3$l$,%G%U%)%k%H$G$9!#\e(B</dd>
+
+      <dt>seeother</dt>
+
+      <dd>"See Other" \e$B%9%F!<%?%9\e(B (303) \e$B$rJV$7$^$9!#\e(B
+      \e$B$3$l$O%j%=!<%9$,B>$N$b$N$GCV$-49$($i$l$?$3$H$r0UL#$7$^$9!#\e(B</dd>
+
+    <dt>gone</dt>
+
+      <dd>"Gone" \e$B%9%F!<%?%9\e(B (410) \e$B$rJV$7$^$9!#$3$l$O%j%=!<%9$,1J5W$K\e(B
+      \e$B:o=|$5$l$?$3$H$r0UL#$7$^$9!#$3$N%9%F!<%?%9$,;HMQ$5$l$?>l9g!"\e(B
+      <em>url</em> \e$B0z?t$O>JN,$5$l$J$1$l$P$J$j$^$;$s!#\e(B</dd>
+    </dl>
+
+    <p><em>Status</em> \e$B$NCM$K%9%F!<%?%9%3!<%I$r?tCM$GM?$($k$3$H$G\e(B
+    \e$BB>$N%9%F!<%?%9%3!<%I$bJV$9$3$H$,$G$-$^$9!#%9%F!<%?%9$,\e(B 300 \e$B$H\e(B 399
+    \e$B$N4V$K$"$k>l9g!"\e(B<em>url</em> \e$B0z?t$OB8:_$7$F$$$J$1$l$P$$$1$^$;$s!#\e(B
+    \e$B$=$NB>$N>l9g$O>JN,$5$l$F$$$J$1$l$P$J$j$^$;$s!#$?$@$7!"\e(B
+    \e$B%9%F!<%?%9$O\e(B Apache \e$B$N%3!<%I$,CN$C$F$$$k$b$N$G$"$kI,MW$,$"$j$^$9\e(B
+    (http_protocol.c \e$B$N4X?t\e(B <code>send_error_response</code>
+    \e$B$r8+$F$/$@$5$$\e(B)\e$B!#\e(B</p>
+    <p>\e$BNc\e(B:</p>
+
+    <pre>
+    Redirect permanent /one http://example.com/two<br />
+    Redirect 303 /two http://example.com/other
+    </pre>
+    <hr />
+
+    <h2><a id="redirectmatch"
+    name="redirectmatch">RedirectMatch</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> RedirectMatch
+    [<em>status</em>] <em>regex URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3
+    \e$B0J9_$G;HMQ2DG=!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B <a href="#redirect">Redirect</a>
+    \e$B$H$[$H$s$IF1$8$G$9$,!"4JC1$J@hF,$+$i$N%^%C%A$r9T$J$&$N$G$O$J$/!"\e(B
+    \e$BI8=`@55,I=8=$rMxMQ$7$^$9!#$3$3$G;XDj$5$l$?@55,I=8=$H\e(B URL-path
+    \e$B$,9g$&$+$I$&$+$rD4$Y!"9g$&>l9g$O3g8L$G3g$i$l$?%^%C%A$r\e(B
+    \e$BM?$($i$l$?J8;zNs$GCV$-49$(!"$=$l$r%U%!%$%kL>$H$7$F;HMQ$7$^$9!#\e(B
+    \e$B$?$H$($P!"$9$Y$F$N\e(B GIF \e$B%U%!%$%k$rJL%5!<%P$NF1MM$JL>A0$N\e(B JPEG
+    \e$B%U%!%$%k$K%j%@%$%l%/%H$9$k$K$O!"0J2<$N$h$&$J$b$N$r;H$$$^$9\e(B:
+    </p>
+<pre>
+    RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
+</pre>
+    <hr />
+
+    <h2><a id="redirecttemp" name="redirecttemp">RedirectTemp
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> RedirectTemp <em>URL-path
+    URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    \e$B$3$N%G%#%l%/%F%#%V$O\e(B Apache 1.2 \e$B0J9_$G$N$_;HMQ2DG=\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O%/%i%$%"%s%H$K\e(B Redirect
+    \e$B$,0l;~E*$J$b$N$G$"$k\e(B (\e$B%9%F!<%?%9\e(B 302) \e$B$3$H$rCN$i$;$^$9!#\e(B
+    <code>Redirect temp</code> \e$B$H$^$C$?$/F1$8$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="redirectperm" name="redirectperm">RedirectPermanent
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> RedirectPermanent
+    <em>URL-path URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    \e$B$3$N%G%#%l%/%F%#%V$O\e(B Apache 1.2 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O%/%i%$%"%s%H$K\e(B Redirect \e$B$,1J5WE*$J$b$N\e(B
+    (\e$B%9%F!<%?%9\e(B 301) \e$B$G$"$k$3$H$rCN$i$;$^$9!#\e(B
+    <code>Redirect premanent</code> \e$B$HA4$/F1$8$G$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="scriptalias" name="scriptalias">ScriptAlias
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p>
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScriptAlias <em>URL-path
+    file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias</p>
+
+    <p>ScriptAlias \e$B%G%#%l%/%F%#%V$O!"BP>]%G%#%l%/%H%j$K\e(B
+     <a href="mod_cgi.html">mod_cgi</a> \e$B$N\e(B cgi-script
+    \e$B%O%s%I%i$G=hM}$5$l$k\e(B CGI
+    \e$B%9%/%j%W%H$,$"$k$3$H$r<($90J30$O\e(B
+    <a href="#alias">Alias</a>
+    \e$B%G%#%l%/%F%#%V$HF1$8?6$kIq$$$r$7$^$9!#\e(B<em>URL-path</em>
+    (% \e$B$,I|9f$5$l$?\e(B) \e$B%Q%9$G\e(B \e$B;O$^$k\e(B URL \e$B$O%m!<%+%k$N%U%!%$%k%7%9%F%`$N\e(B
+    \e$B%U%k%Q%9$G$"$kFsHVL\$N0z?t$K%^%C%W$5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>ScriptAlias /cgi-bin/ /web/cgi-bin/</code>
+    </blockquote>
+
+    <p>http://myserver/cgi-bin/foo \e$B$X$N%j%/%(%9%H$KBP$7$F%5!<%P$O%9%/%j%W%H\e(B
+    /web/cgi-bin/foo \e$B$r<B9T$7$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="scriptaliasmatch"
+    name="scriptaliasmatch">ScriptAliasMatch</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScriptAliasMatch <em>regex
+    file-path</em>|<em>directory-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3
+    \e$B0J9_$G;HMQ2DG=\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B <a href="#scriptalias">ScriptAlias</a>
+    \e$B$H$[$H$s$IF1$8$G$9$,!"4JC1$J@hF,$+$i$N%^%C%A$r9T$J$&$N$G$O$J$/!"\e(B
+    \e$BI8=`@55,I=8=$rMxMQ$7$^$9!#$3$3$G;XDj$5$l$?@55,I=8=$H\e(B URL-path
+    \e$B$,9g$&$+$I$&$+$rD4$Y!"9g$&>l9g$O3g8L$G0O$^$l$?%^%C%A$r\e(B
+    \e$BM?$($i$l$?J8;zNs$GCV$-49$(!"$=$l$r%U%!%$%kL>$H$7$F;HMQ$7$^$9!#\e(B
+    \e$BNc$($P!"I8=`$N\e(B <code>/cgi-bin</code>
+    \e$B$r;HMQ$9$k$h$&$K$9$k$?$a$K$O!"0J2<$N$h$&$J$b$N$r;H$$$^$9\e(B:
+    </p>
+<pre>
+    ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_asis.html.en b/htdocs/manual/mod/mod_asis.html.en
new file mode 100644 (file)
index 0000000..c71ec72
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_asis</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_asis</h1>
+
+    <p>This module provides for sending files which contain their
+    own HTTP headers.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_asis.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    asis_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides the handler <code>send-as-is</code>
+    which causes Apache to send the document without adding most of
+    the usual HTTP headers.</p>
+
+    <p>This can be used to send any kind of data from the server,
+    including redirects and other special HTTP responses, without
+    requiring a cgi-script or an nph script.</p>
+
+    <p>For historical reasons, this module will also process any
+    file with the mime type <code>httpd/send-as-is</code>.</p>
+
+    <h2>Directives</h2>
+
+    <p>This module provides no directives.</p>
+
+    <h2>Usage</h2>
+
+    <p>In the server configuration file, associate files with the
+    <code>send-as-is</code> handler <em>e.g.</em></p>
+
+    <blockquote>
+      <code>AddHandler send-as-is asis</code>
+    </blockquote>
+    The contents of any file with a <code>.asis</code> extension
+    will then be sent by Apache to the client with almost no
+    changes. Clients will need HTTP headers to be attached, so do
+    not forget them. A Status: header is also required; the data
+    should be the 3-digit HTTP response code, followed by a textual
+    message. 
+
+    <p>Here's an example of a file whose contents are sent <em>as
+    is</em> so as to tell the client that a file has
+    redirected.</p>
+
+    <blockquote>
+      <code>Status: 301 Now where did I leave that URL<br />
+       Location: http://xyz.abc.com/foo/bar.html<br />
+       Content-type: text/html<br />
+      <br />
+       &lt;HTML&gt;<br />
+       &lt;HEAD&gt;<br />
+       &lt;TITLE&gt;Lame excuses'R'us&lt;/TITLE&gt;<br />
+       &lt;/HEAD&gt;<br />
+       &lt;BODY&gt;<br />
+       &lt;H1&gt;Fred's exceptionally wonderful page has moved
+      to<br />
+       &lt;A
+      HREF="http://xyz.abc.com/foo/bar.html"&gt;Joe's&lt;/A&gt;
+      site.<br />
+       &lt;/H1&gt;<br />
+       &lt;/BODY&gt;<br />
+       &lt;/HTML&gt;</code>
+    </blockquote>
+
+    <p>Notes: the server always adds a Date: and Server: header to
+    the data returned to the client, so these should not be
+    included in the file. The server does <em>not</em> add a
+    Last-Modified header; it probably should. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_asis.html.html b/htdocs/manual/mod/mod_asis.html.html
new file mode 100644 (file)
index 0000000..25aa303
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_asis.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_asis.html.ja.jis b/htdocs/manual/mod/mod_asis.html.ja.jis
new file mode 100644 (file)
index 0000000..62bb0ec
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_asis</title>
+
+  </head>
+  <!-- English Revision: 1.11 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_asis \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O<+J,MQ$N\e(B HTTP
+    \e$B%X%C%@$,$"$k%U%!%$%k$rAw?.$9$k5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_asis.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    asis_module</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$O%O%s%I%i\e(B <code>send-as-is</code>
+    \e$B$rDs6!$7$^$9!#$3$N%O%s%I%i$ODL>o$N\e(B HTTP
+    \e$B%X%C%@$r$[$H$s$IDI2C$9$k$3$H$J$/%I%-%e%a%s%H$rAw?.$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$l$O%5!<%P$+$i$I$s$J<oN`$N%G!<%?$rAw$k$H$-$K$b;HMQ$G$-$^$9!#\e(B
+    Cgi \e$B%9%/%j%W%H$d\e(B nph \e$B%9%/%j%W%H$,L5$/$F$b%j%@%$%l%/%H$dB>$NFCJL$J\e(B
+    HTTP \e$B1~Ez$rAw$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BNr;KE*$JM}M3$K$h$j!"$3$N%b%8%e!<%k$O\e(B mime \e$B%?%$%W\e(B
+    <code>httpd/send-as-is</code> \e$B$N%U%!%$%k$b=hM}$7$^$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$K$O%G%#%l%/%F%#%V$O$"$j$^$;$s!#\e(B</p>
+
+    <h2>\e$B;HMQK!\e(B</h2>
+
+    <p>\e$B%5!<%P@_Dj%U%!%$%k$G!"%U%!%$%k$H\e(B <code>send-as-is</code>
+    \e$B%O%s%I%i$rNc$($P0J2<$N$h$&$K4XO"IU$1$F$/$@$5$$!#\e(B</p>
+
+    <blockquote>
+      <code>AddHandler send-as-is .asis</code>
+    </blockquote>
+
+    <p>\e$B3HD%;R$,\e(B <code>.asis</code> \e$B$N$9$Y$F$N%U%!%$%k$NFbMF$O\e(B Apache
+    \e$B$+$i%/%i%$%"%s%H$X$[$H$s$IJQ99L5$/Aw$i$l$^$9!#%/%i%$%"%s%H$K$O\e(B
+    HTTP \e$B%X%C%@$,I,MW$G$9$N$G!"%U%!%$%k$K=q$/$3$H$rK:$l$J$$$G$/$@$5$$!#\e(B
+    Status: \e$B%X%C%@$bI,MW$G$9!#%G!<%?$O\e(B 3 \e$B7e$N\e(B HTTP
+    \e$B1~Ez%3!<%I$H!"$=$N8e$K%F%-%9%H%a%C%;!<%8$,B3$$$?$b$N$G$J$1$l$P$J$j$^$;$s!#\e(B
+
+    \e$B$3$l$O%/%i%$%"%s%H$K%U%!%$%k$,0\F0$7$?$3$H$rCN$i$;$k$?$a$K\e(B
+    <em>as is</em> (\e$B$=$N$^$^\e(B) \e$B$GAw$i$l$k%U%!%$%k$NFbMF$NNc$G$9!#\e(B
+    </p>
+
+    <blockquote>
+      <code>Status: 301 Now where did I leave that URL<br />
+       Location: http://xyz.abc.com/foo/bar.html<br />
+       Content-type: text/html<br />
+      <br />
+       &lt;HTML&gt;<br />
+       &lt;HEAD&gt;<br />
+       &lt;TITLE&gt;Lame excuses'R'us&lt;/TITLE&gt;<br />
+       &lt;/HEAD&gt;<br />
+       &lt;BODY&gt;<br />
+       &lt;H1&gt;Fred's exceptionally wonderful page has moved
+      to<br />
+       &lt;A
+      HREF="http://xyz.abc.com/foo/bar.html"&gt;Joe's&lt;/A&gt;
+      site.<br />
+       &lt;/H1&gt;<br />
+       &lt;/BODY&gt;<br />
+       &lt;/HTML&gt;</code>
+    </blockquote>
+
+    <p>\e$BCm0U\e(B: \e$B%5!<%P$O%/%i%$%"%s%H$KJV$5$l$k%G!<%?$K>o$K\e(B Date: \e$B$H\e(B Server:
+    \e$B%X%C%@$rDI2C$7$^$9$N$G!"$=$l$i$,%U%!%$%k$K=q$+$l$F$$$F$O$$$1$^$;$s!#\e(B
+    \e$B%5!<%P$O\e(B Last-Modified \e$B%X%C%@$rDI2C\e(B<em>\e$B$7$^$;$s\e(B</em>\e$B!#\e(B
+    \e$B$*$=$i$/$O$=$&$9$Y$-$G$7$g$&$1$l$I!#\e(B
+    </p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_auth.html.en b/htdocs/manual/mod/mod_auth.html.en
new file mode 100644 (file)
index 0000000..0cf1e66
--- /dev/null
@@ -0,0 +1,312 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_auth</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_auth</h1>
+
+    <p>This module provides for user authentication using text
+    files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_auth.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    auth_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module allows the use of HTTP Basic Authentication to
+    restrict access by looking up users in plain text password and
+    group files. Similar functionality and greater scalability is
+    provided by <a href="mod_auth_dbm.html">mod_auth_dbm</a> and <a
+    href="mod_auth_db.html">mod_auth_db</a>. HTTP Digest
+    Authentication is provided by <a
+    href="mod_auth_digest.html">mod_auth_digest</a>.</p>
+
+    <p><b>Note that these credential-based security mechanisms are
+    only as strong as your Web server's security. As a rule, they
+    are <i>not</i> as strong as the operating system's own security
+    system.</b></p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#authgroupfile">AuthGroupFile</a></li>
+
+      <li><a href="#authuserfile">AuthUserFile</a></li>
+
+      <li><a href="#authauthoritative">AuthAuthoritative</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#require">require</a>, <a
+    href="core.html#satisfy">satisfy</a>, and <a
+    href="#require">mod_auth require keywords</a>.</p>
+    <hr />
+
+    <h2><a id="require" name="require"><code>mod_auth</code>
+    Require Keywords</a></h2>
+
+    <p>The <code>mod_auth</code> module supports the following
+    keywords that can be given to the <a
+    href="core.html#require">Require</a> directive:</p>
+
+    <dl compact="compact">
+      <dt><code>user <i>username</i> [...]</code></dt>
+
+      <dd>The supplied username and password must be in the <a
+      href="#authuserfile">AuthUserFile</a> database, and the
+      username must also be one of those listed on the Require
+      directive.</dd>
+
+      <dt><code>group <i>groupname</i> [...]</code></dt>
+
+      <dd>The supplied username and password must be in the <a
+      href="#authuserfile">AuthUserFile</a> database, and the
+      username must also be a member of one of the named groups in
+      the <a href="#authgroupfile">AuthGroupFile</a> database.</dd>
+
+      <dt><code>valid-user</code></dt>
+
+      <dd>The supplied username and password must be in the <a
+      href="#authuserfile">AuthUserFile</a> database. Any valid
+      username from that file will be allowed.</dd>
+
+      <dt><code>file-owner</code></dt>
+
+      <dd>[Available after Apache 1.3.20] The supplied username and
+      password must be in the <a
+      href="#authuserfile">AuthUserFile</a> database, and the
+      username must also match the system's name for the owner of
+      the file being requested. That is, if the operating system
+      say the requested file is owned by <code>jones</code>, then
+      the username used to access it through the Web must be
+      <code>jones</code> as well.</dd>
+
+      <dt><code>file-group</code></dt>
+
+      <dd>[Available after Apache 1.3.20] The supplied username and
+      password must be in the <a
+      href="#authuserfile">AuthUserFile</a> database, the name of
+      the group that owns the file must be in the <a
+      href="#authgroupfile">AuthGroupFile</a> database, and the
+      username must be a member of that group. For example, if the
+      operating system says the requested file is owned by group
+      <code>accounts</code>, the group <code>accounts</code> must
+      be in the AuthGroupFile database and the username used in the
+      request must be a member of that group.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="example" name="example">Example of <code>Require
+    file-owner</code></a></h2>
+
+    <p>Consider a multi-user system running the Apache Web server,
+    with each user having his or her own files in
+    <code>~/public_html/private</code>. Assuming that there is a
+    single AuthUserFile database that lists all of their usernames,
+    and that their Web usernames match the ones that actually own
+    the files on the server, then the following stanza would allow
+    only the user himself access to his own files. User
+    <code>jones</code> would not be allowed to access files in
+    <code>/home/smith/public_html/private</code> unless they were
+    owned by <code>jones</code> instead of <code>smith</code>.</p>
+<pre>
+    &lt;Directory /home/*/public_html/private&gt;
+        AuthType Basic
+        AuthName MyPrivateFile
+        AuthUserFile /usr/local/apache/etc/.htpasswd-allusers
+        Satisfy All
+        Require file-owner
+    &lt;/Directory&gt;
+</pre>
+    <hr />
+
+    <h2><a id="authgroupfile"
+    name="authgroupfile">AuthGroupFile</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthGroupFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth 
+
+    <p>The AuthGroupFile directive sets the name of a textual file
+    containing the list of user groups for user authentication.
+    <em>File-path</em> is the path to the group file. If it is not
+    absolute (<em>i.e.</em>, if it doesn't begin with a slash), it
+    is treated as relative to the ServerRoot.</p>
+
+    <p>Each line of the group file contains a groupname followed by
+    a colon, followed by the member usernames separated by spaces.
+    Example:</p>
+
+    <blockquote>
+      <code>mygroup: bob joe anne</code>
+    </blockquote>
+    Note that searching large text files is <em>very</em>
+    inefficient; <a
+    href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>
+    should be used instead. 
+
+    <p>Security: make sure that the AuthGroupFile is stored outside
+    the document tree of the web-server; do <em>not</em> put it in
+    the directory that it protects. Otherwise, clients will be able
+    to download the AuthGroupFile.</p>
+
+    <p>See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authuserfile">AuthUserFile</a>.</p>
+    <hr />
+
+    <h2><a id="authuserfile" name="authuserfile">AuthUserFile</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthUserFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth 
+
+    <p>The AuthUserFile directive sets the name of a textual file
+    containing the list of users and passwords for user
+    authentication. <em>File-path</em> is the path to the user
+    file. If it is not absolute (<em>i.e.</em>, if it doesn't begin
+    with a slash), it is treated as relative to the ServerRoot.</p>
+
+    <p>Each line of the user file contains a username followed by a
+    colon, followed by the <code>crypt()</code> encrypted password.
+    The behavior of multiple occurrences of the same user is
+    undefined.</p>
+
+    <p>The utility <a href="../programs/htpasswd.html">htpasswd</a>
+    which is installed as part of the binary distribution, or which
+    can be found in <code>src/support</code>, is used to maintain
+    this password file. See the <code>man</code> page for more
+    details. In short</p>
+
+    <blockquote>
+      <code>htpasswd -c Filename username</code><br />
+       Create a password file 'Filename' with 'username' as the
+      initial ID. It will prompt for the password. <code>htpasswd
+      Filename username2</code><br />
+       Adds or modifies in password file 'Filename' the 'username'.
+    </blockquote>
+
+    <p>Note that searching large text files is <em>very</em>
+    inefficient; <a
+    href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>
+    should be used instead.</p>
+
+    <dl>
+      <dt><b>Security:</b></dt>
+
+      <dd>Make sure that the AuthUserFile is stored outside the
+      document tree of the web-server; do <em>not</em> put it in
+      the directory that it protects. Otherwise, clients may be
+      able to download the AuthUserFile.</dd>
+
+      <dd>Also be aware that null usernames are permitted, and null
+      passwords as well (through Apache 1.3.20). If your
+      AuthUserFile includes a line containing only a colon (':'), a
+      '<code>Require valid-user</code>' will allow access if both
+      the username and password in the credentials are
+      omitted.</dd>
+    </dl>
+    See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authgroupfile">AuthGroupFile</a>. 
+    <hr />
+
+    <h2><a id="authauthoritative"
+    name="authauthoritative">AuthAuthoritative</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthAuthoritative
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthAuthoritative on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth 
+
+    <p>Setting the AuthAuthoritative directive explicitly to
+    <strong>'off'</strong> allows for both authentication and
+    authorization to be passed on to lower level modules (as
+    defined in the <code>Configuration</code> and
+    <code>modules.c</code> files) if there is <strong>no
+    userID</strong> or <strong>rule</strong> matching the supplied
+    userID. If there is a userID and/or rule specified; the usual
+    password and access checks will be applied and a failure will
+    give an Authorization Required reply.</p>
+
+    <p>So if a userID appears in the database of more than one
+    module; or if a valid <code>Require</code> directive applies to
+    more than one module; then the first module will verify the
+    credentials; and no access is passed on; regardless of the
+    AuthAuthoritative setting.</p>
+
+    <p>A common use for this is in conjunction with one of the
+    database modules; such as <a
+    href="mod_auth_db.html"><code>mod_auth_db.c</code></a>, <a
+    href="mod_auth_dbm.html"><code>mod_auth_dbm.c</code></a>,
+    <code>mod_auth_msql.c</code>, and <a
+    href="mod_auth_anon.html"><code>mod_auth_anon.c</code></a>.
+    These modules supply the bulk of the user credential checking;
+    but a few (administrator) related accesses fall through to a
+    lower level with a well protected AuthUserFile.</p>
+
+    <p><a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> By default; control is
+    not passed on; and an unknown userID or rule will result in an
+    Authorization Required reply. Not setting it thus keeps the
+    system secure; and forces an NCSA compliant behavior.</p>
+
+    <p>Security: Do consider the implications of allowing a user to
+    allow fall-through in his .htaccess file; and verify that this
+    is really what you want; Generally it is easier to just secure
+    a single .htpasswd file, than it is to secure a database such
+    as mSQL. Make sure that the AuthUserFile is stored outside the
+    document tree of the web-server; do <em>not</em> put it in the
+    directory that it protects. Otherwise, clients will be able to
+    download the AuthUserFile.</p>
+
+    <p>See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authgroupfile">AuthGroupFile</a>.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_auth.html.html b/htdocs/manual/mod/mod_auth.html.html
new file mode 100644 (file)
index 0000000..a1bd808
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_auth.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_auth.html.ja.jis b/htdocs/manual/mod/mod_auth.html.ja.jis
new file mode 100644 (file)
index 0000000..bb5edf8
--- /dev/null
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+    <title>Apache module mod_auth</title>
+  </head>
+  <!-- English revision: 1.29 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+  alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_auth \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>
+    \e$B$3$N%b%8%e!<%k$O%F%-%9%H%U%!%$%k$r;H$C$F%f!<%6$NG'>Z$r9T$J$&5!G=$r\e(B
+    \e$BDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_auth.c<br />
+    <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    auth_module</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>
+    \e$B$3$N%b%8%e!<%k$O%f!<%6$r%W%l!<%s%F%-%9%H$N%Q%9%o!<%I$H%0%k!<%W\e(B
+    \e$B%U%!%$%k$GD4$Y$k$3$H$K$h$j!"\e(BHTTP
+    \e$B4pK\G'>Z$G%"%/%;%9$r@)8B$9$k$3$H$r\e(B
+    \e$B2DG=$K$7$^$9!#F1MM$N5!G=$G%9%1!<%i%S%j%F%#$N$"$k$b$N$O\e(B <a
+    href="mod_auth_dbm.html">mod_auth_dbm</a> \e$B$H\e(B <a
+    href="mod_auth_db.html">mod_auth_db</a> \e$B$K$h$jDs6!$5$l$^$9!#\e(B
+    HTTP \e$B%@%$%8%'%9%HG'>Z$O\e(B <a
+    href="mod_auth_digest.html">mod_auth_digest</a>
+    \e$B$K$h$jDs6!$5$l$F$$$^$9!#\e(B</p>
+
+    <p>
+    <b>\e$B$3$l$i$NG'>Z$K4p$E$$$?%;%-%e%j%F%#$N5!9=$O$;$$$<$$%&%'%V%5!<%P$N\e(B
+    \e$B%;%-%e%j%F%#$HF1DxEY$N6/EY$G$"$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    \e$B0lHL$K!"%*%Z%l!<%F%#%s%0%7%9%F%`$N%;%-%e%j%F%#%7%9%F%`$[$I$O\e(B
+    \e$B6/$/\e(B<i>\e$B$"$j$^$;$s\e(B</i>\e$B!#\e(B</b></p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#authgroupfile">AuthGroupFile</a></li>
+
+      <li><a href="#authuserfile">AuthUserFile</a></li>
+
+      <li><a href="#authauthoritative">AuthAuthoritative</a></li>
+    </ul>
+
+    <p>\e$B;2>H\e(B: <a href="core.html#require">require</a>, <a
+    href="core.html#satisfy">satisfy</a>, <a href="#require">mod_auth
+    require \e$B%-!<%o!<%I\e(B</a>\e$B!#\e(B</p>
+    <hr />
+
+    <h2><a id="require" name="require"><code>mod_auth</code> Require
+    \e$B%-!<%o!<%I\e(B</a></h2>
+
+    <p><code>mod_auth</code> \e$B%b%8%e!<%k$O\e(B <a
+    href="core.html#require">Require</a> \e$B%G%#%l%/%F%#%V$KBP$9$k\e(B
+    \e$B0J2<$N%-!<%o!<%I$r%5%]!<%H$7$^$9\e(B:</p>
+
+    <dl compact="compact">
+      <dt><code>user <i>username</i> [...]</code></dt>
+
+      <dd>\e$BM?$($i$l$?%f!<%6L>$H%Q%9%o!<%I$O\e(B <a
+      href="#authuserfile">AuthUserFile</a>
+      \e$B%G!<%?%Y!<%9$KB8:_$9$k\e(B \e$BI,MW$,$"$j!"$5$i$K%f!<%6L>$,\e(B
+      Require \e$B%G%#%l%/%F%#%V$K%j%9%H\e(B
+      \e$B$5$l$F$$$kI,MW$,$"$j$^$9!#\e(B</dd>
+
+      <dt><code>group <i>groupname</i> [...]</code></dt>
+
+      <dd>\e$BM?$($i$l$?%f!<%6L>$H%Q%9%o!<%I$O\e(B <a
+      href="#authuserfile">AuthUserFile</a>
+      \e$B%G!<%?%Y!<%9$KB8:_$9$k\e(B \e$BI,MW$,$"$j!"$5$i$K%f!<%6L>$,\e(B
+      <a href="#authgroupfile">AuthGroupFile</a>
+      \e$B%G!<%?%Y!<%9$K$"$k\e(B
+      \e$B;XDj$5$l$?%0%k!<%W$N%a%s%P$G$"$kI,MW$,$"$j$^$9!#\e(B</dd>
+
+      <dt><code>valid-user</code></dt>
+
+      <dd>\e$BM?$($i$l$?%f!<%6L>$H%Q%9%o!<%I$,\e(B <a
+      href="#authuserfile">AuthUserFile</a>
+      \e$B%G!<%?%Y!<%9$KB8:_$9$k\e(B
+      \e$BI,MW$,$"$j$^$9!#$=$N%U%!%$%k$K$"$kM-8z$J%f!<%6L>$O%"%/%;%9$,5v2D\e(B
+      \e$B$5$l$^$9!#\e(B</dd>
+
+      <dt><code>file-owner</code></dt>
+
+      <dd>[Apache 1.3.20 \e$B$+$i\e(B]
+      \e$BM?$($i$l$?%f!<%6L>$H%Q%9%o!<%I$O\e(B <a
+      href="#authuserfile">AuthUserFile</a>
+      \e$B%G!<%?%Y!<%9$KB8:_$9$k\e(B
+      \e$BI,MW$,$"$j!"$5$i$K%f!<%6L>$,%j%/%(%9%H$5$l$?%U%!%$%k$N\e(B
+      \e$B%7%9%F%`$N=jM-<T$NL>A0$H0lCW$9$kI,MW$,$"$j$^$9!#$D$^$j!"\e(B
+      \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$,%j%/%(%9%H$5$l$?%U%!%$%k$,\e(B
+      <code>jones</code> \e$B$G$"$k!"$H8@$C$?>l9g$O!"\e(BWeb
+      \e$B$rDL$7$F\e(B \e$B%"%/%;%9$9$k%f!<%6L>$b\e(B <code>jones</code>
+      \e$B$G$"$kI,MW$G$"$k!"\e(B \e$B$H$$$&$3$H$G$9!#\e(B</dd>
+
+      <dt><code>file-group</code></dt>
+
+      <dd>[Apache 1.3.20 \e$B$+$i\e(B]
+      \e$BM?$($i$l$?%f!<%6L>$H%Q%9%o!<%I$O\e(B <a
+      href="#authuserfile">AuthUserFile</a>
+      \e$B%G!<%?%Y!<%9$KB8:_$9$k\e(B
+      \e$BI,MW$,$"$j!"%U%!%$%k$r=jM-$9$k%0%k!<%WL>$,\e(B <a
+      href="#authgroupfile">AuthGroupFile</a> \e$B%G!<%?%Y!<%9$K\e(B
+      \e$B$"$kI,MW$,$"$j!"%f!<%6L>$,$=$N%0%k!<%W$N%a%s%P$G$"$kI,MW$,$"$j$^$9!#\e(B
+      \e$BNc$($P!"%*%Z%l!<%F%#%s%0%7%9%F%`$,%j%/%(%9%H$5$l$?%U%!%$%k$,\e(B
+      \e$B%0%k!<%W\e(B <code>accounts</code>
+      \e$B$K$h$j=jM-$5$l$F$$$k$H8@$C$?\e(B \e$B>l9g!"%0%k!<%W\e(B
+      <code>accounts</code> \e$B$,\e(B AuthGroupFile \e$B%G!<%?%Y!<%9$K\e(B
+      \e$BB0$7$F$$$kI,MW$,$"$j!"%j%/%(%9%H$K;HMQ$5$l$?%f!<%6L>$b\e(B
+      \e$B$=$N%0%k!<%W$N%a%s%P$G$"$kI,MW$,$"$j$^$9!#\e(B</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="authgroupfile" name="authgroupfile">AuthGroupFile</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AuthGroupFile
+    <em>filename</em><br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+    <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_auth 
+
+    <p>AuthGroupFile \e$B%G%#%l%/%F%#%V$O%f!<%6G'>Z$N$?$a$N\e(B
+    \e$B%f!<%6%0%k!<%W$N%j%9%H$,=q$+$l$?%F%-%9%H%U%!%$%k$NL>A0$r@_Dj$7$^$9!#\e(B
+    <em>Filename</em>
+    \e$B$O%0%k!<%W%U%!%$%k$N%Q%9$G$9!#@dBP%Q%9$G$J$$$H$-$O\e(B
+    (<em>\e$B$9$J$o$A\e(B</em>\e$B!"%9%i%C%7%e$G;O$^$i$J$$$H$-$O\e(B)\e$B!"\e(BServerRoot
+    \e$B$+$i$NAjBP%Q%9$H$7$F07$o$l$^$9!#\e(B</p>
+
+    <p>
+    \e$B%0%k!<%W%U%!%$%k$N$=$l$>$l$N9T$O!"%0%k!<%WL>!"%3%m%s!"6uGr$G\e(B
+    \e$B6h@Z$i$l$?%0%k!<%W$KB0$9$k%f!<%6L>!"$+$i$J$j$^$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>mygroup: bob joe anne</code>
+    </blockquote>
+
+    <p>
+    \e$BBg$-$J%F%-%9%H%U%!%$%k$rC5$9$N$O\e(B<em>\e$BHs>o\e(B</em>\e$B$K8zN($,0-$$$H$$$&$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#$=$N$h$&$J>l9g$O!"Be$o$j$K\e(B <a
+    href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>
+    \e$B$r\e(B \e$B;H$C$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%;%-%e%j%F%#\e(B: AuthGroupFile
+    \e$B$OI,$:%&%'%V%5!<%P$N%I%-%e%a%s%H%D%j!<$N30$K\e(B
+    \e$BJ]4I$7$F$/$@$5$$!#$=$l$,J]8n$7$F$$$k%G%#%l%/%H%j$K$OCV$+\e(B<em>\e$B$J$$\e(B</em>\e$B$G\e(B
+    \e$B$/$@$5$$!#$=$&$G$J$$$H!"%/%i%$%"%s%H$,\e(B AuthGroupFile
+    \e$B$r%@%&%s%m!<%I\e(B \e$B$G$-$F$7$^$$$^$9!#\e(B</p>
+
+    <p><a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a>, <a
+    href="#authuserfile">AuthUserFile</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="authuserfile" name="authuserfile">AuthUserFile</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AuthUserFile
+    <em>file-path</em><br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+    <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_auth<br />
+     
+
+    <p>AuthUserFile
+    \e$B%G%#%l%/%F%#%V$O%f!<%6G'>Z$N$?$a$N%f!<%6$H%Q%9%o!<%I$N\e(B
+    \e$B%j%9%H$,=q$+$l$?%F%-%9%H%U%!%$%k$rL>A0$r@_Dj$7$^$9!#\e(B<em>File-path</em>
+    \e$B$O\e(B \e$B%f!<%6%U%!%$%k$X$N%Q%9$G$9!#@dBP%Q%9$G$J$$$H$-$O\e(B
+    (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B
+    \e$B%9%i%C%7%e$G;O$^$i$J$$$H$-$O\e(B)\e$B!"\e(BServerRoot
+    \e$B$+$i$NAjBP%Q%9$H$7$F07$o$l$^$9!#\e(B</p>
+
+    <p>
+    \e$B%f!<%6%U%!%$%k$N$=$l$>$l$N9T$O!"%f!<%6L>!"%3%m%s!"\e(B<code>crypt()</code>
+    \e$B$K$h$j0E9f2=$5$l$?\e(B
+    \e$B%Q%9%o!<%I!"$+$i$J$j$^$9!#F1$8%f!<%6$,J#?t2s8=$l$?$H$-$NF0:n$O\e(B
+    \e$BITDj$G$9!#\e(B</p>
+
+    <p>
+    \e$B%P%$%J%jG[I[$N0lIt$H$7$F%$%s%9%H!<%k$5$l$F$$$k$+!"\e(B<code>src/support</code>
+    \e$B$K$"$k\e(B <a href="../programs/htpasswd.html">htpasswd</a>
+    \e$B%f!<%F%#%j%F%#$O!"\e(B
+    \e$B$3$N%Q%9%o!<%I%U%!%$%k$r0];}$9$k$?$a$K;HMQ$5$l$^$9!#>\:Y$O\e(B
+    <code>man</code>
+    \e$B%Z!<%8$r;2>H$7$F$/$@$5$$!#<jC;$+$K@bL@$9$k$H\e(B</p>
+
+    <blockquote>
+      <code>htpasswd -c Filename username</code><br />
+       \e$B$O\e(B 'username' \e$B$r=i4|\e(B ID \e$B$H$7$F%Q%9%o!<%I%U%!%$%k\e(B
+      'Filename' \e$B$r\e(B
+      \e$B:n@.$7$^$9!#$3$l$O%Q%9%o!<%I$NF~NO$rB%$7$^$9!#\e(B <code>htpasswd
+      Filename username2</code><br />
+      \e$B$O%Q%9%o!<%I%U%!%$%k\e(B 'Filename' \e$B$K\e(B 'username' \e$B$r\e(B
+      \e$BDI2C$9$k$+!"4{$K$"$k\e(B 'username' \e$B$r=$@5$7$^$9!#\e(B
+    </blockquote>
+
+    <p>
+    \e$BBg$-$J%F%-%9%H%U%!%$%k$rC5$9$N$O\e(B<em>\e$BHs>o\e(B</em>\e$B$K8zN($,0-$$$H$$$&$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#$=$N$h$&$J>l9g$O!"Be$o$j$K\e(B <a
+    href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>
+    \e$B$r\e(B \e$B;H$C$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%;%-%e%j%F%#\e(B: AuthUserFile
+    \e$B$OI,$:%&%'%V%5!<%P$N%I%-%e%a%s%H%D%j!<$N30$K\e(B
+    \e$BJ]4I$7$F$/$@$5$$!#$=$l$,J]8n$7$F$$$k\e(B
+    \e$B%G%#%l%/%H%j$K$OCV$+$J$$$G$/$@$5$$!#\e(B
+    \e$B$=$&$G$J$$$H!"%/%i%$%"%s%H$,\e(B AuthUserFile
+    \e$B$r%@%&%s%m!<%I$G$-$F$7$^$$$^$9!#\e(B</p>
+
+    <p><a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a>, <a
+    href="#authgroupfile">AuthGroupFile</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="authauthoritative"
+    name="authauthoritative">AuthAuthoritative</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AuthAuthoritative
+    on|off<br />
+    <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    <code>AuthAuthoritative on</code><br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+    <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> AuthConfig<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_auth 
+
+    <p>AuthAuthoritative \e$B%G%#%l%/%F%#%V$rL@<(E*$K\e(B
+    <strong>'off'</strong> \e$B$K\e(B \e$B@_Dj$9$k$H!"\e(BuserID
+    \e$B$K9g$&\e(B <strong>userID \e$B$,L5$$\e(B</strong> \e$B$H$-$H!"\e(B
+    \e$B$=$l$K9g$&\e(B<strong>\e$B%k!<%k\e(B</strong>\e$B$,L5$$$H$-$K!"G'>Z$H8"8B$NIUM?$NN>J}$r\e(B
+    (<code>\e$B@_Dj\e(B</code> \e$B$d\e(B <code>modules.c</code>
+    \e$B$GDj5A$5$l$F$$$k\e(B \e$BJ}K!$G\e(B)
+    \e$B2<0L$N%b%8%e!<%k$KEO$9$3$H$r2DG=$K$7$^$9!#\e(B userID
+    \e$B$+%k!<%k$,;XDj$5$l$F$$$k$H$-$K$O!"DL>o$HF1$8%Q%9%o!<%I$H\e(B
+    \e$B%"%/%;%9$N%A%'%C%/$,9T$J$o$l!"@.8y$7$J$+$C$?>l9g$O\e(B
+    Authorization Required \e$B1~Ez$,JV$5$l$^$9!#\e(B</p>
+
+    <p>\e$B$G$9$+$i!"\e(BuserID
+    \e$B$,J#?t$N%b%8%e!<%k$N%G!<%?%Y!<%9$K8=$l$?$j!"\e(B \e$B@5$7$$\e(B
+    <code>Require</code>
+    \e$B%G%#%l%/%F%#%V$,J#?t$N%b%8%e!<%k$KE,MQ$5$l$?$j\e(B
+    \e$B$9$k$H$-$O!":G=i$N%b%8%e!<%k$,;q3J$rD4::$7$^$9!#\e(BAuthAuthoritative
+    \e$B$N\e(B
+    \e$B@_Dj$K4X$o$i$:!"%"%/%;%9$ND4::$OJL$N%b%8%e!<%k$K$OEO$5$l$^$;$s!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$NIaDL$NMxMQJ}K!$O!"\e(B<a
+    href="mod_auth_db.html"><code>mod_auth_db.c</code></a>, <a
+    href="mod_auth_dbm.html"><code>mod_auth_dbm.c</code></a>,
+    <code>mod_auth_msql.c</code>, <a
+    href="mod_auth_anon.html"><code>mod_auth_anon.c</code></a>
+    \e$B$N$h$&$J%G!<%?%Y!<%9%b%8%e!<%k$H0l=o$K;H$&$b$N$G$9!#\e(B
+    \e$B$3$l$i$N%b%8%e!<%k$OBgItJ,$N%f!<%6$N;q3JD4::$r9T$J$&5!G=$rDs6!$7$^$9!#\e(B
+    \e$B$7$+$7!">.?t$N\e(B (\e$B4IM}<T4XO"$N\e(B) \e$B%"%/%;%9$ONI$/J]8n$5$l$F$$$k\e(B AuthUserFile
+    \e$B$KEO$5$l$^$9!#\e(B</p>
+
+    <p><a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+    \e$B%G%U%)%k%H$G$O@)8f$OEO$5$l$^$;$s!#\e(B \e$BCN$i$J$$\e(B userID
+    \e$B$d%k!<%k$N7k2L$O\e(B Authorization Require \e$B1~Ez$K$J$j$^$9!#\e(B
+    \e$B$G$9$+$i!"$3$N%G%#%l%/%F%#%V$r@_Dj$7$J$$$H%7%9%F%`$r0BA4$KJ]$D$3$H$,$G$-!"\e(B
+    NCSA \e$B$HF1$8F0:n$r$9$k$h$&$K$G$-$^$9!#\e(B</p>
+
+    <dl>
+      <dt><b>\e$B%;%-%e%j%F%#\e(B:</b></dt>
+
+      <dd>AuthUserFile
+      \e$B$OI,$:%&%'%V%5!<%P$N%I%-%e%a%s%H%D%j!<$N30$KJ]4I$7$F$/$@$5$$!#\e(B
+      \e$B$=$l$,J]8n$7$F$$$k\e(B
+      \e$B%G%#%l%/%H%j$K$OCV$+\e(B<em>\e$B$J$$\e(B</em>\e$B$G$/$@$5$$!#\e(B
+      \e$B$=$&$G$J$$$H!"%/%i%$%"%s%H$,\e(B AuthUserFile
+      \e$B$r%@%&%s%m!<%I$G$-$F$7$^$$$^$9!#\e(B</dd>
+
+      <dd>
+      \e$B$^$?!"6u$N%f!<%6L>$d!"6u$N%Q%9%o!<%I$,5v2D$5$l$k$3$H$KCm0U$7$F$/$@$5$$\e(B
+      (Apache 1.3.20 \e$B$+$i\e(B)\e$B!#\e(B AuthUserFile \e$B$K%3%m%s\e(B
+      (':') \e$B$N$_$N9T$,$"$l$P!"\e(B
+      \e$BG'>Z;~$K%f!<%6L>$H%Q%9%o!<%I$,N>J}6&>JN,$5$l$?$H$-$K\e(B
+      '<code>Require valid-user</code>'
+      \e$B$O%"%/%;%9$r5v2D$7$^$9!#\e(B</dd>
+    </dl>
+
+    <p><a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a>, <a
+    href="#authgroupfile">AuthGroupFile</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_auth_anon.html b/htdocs/manual/mod/mod_auth_anon.html
new file mode 100644 (file)
index 0000000..55a206a
--- /dev/null
@@ -0,0 +1,286 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_auth_anon.c</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_auth_anon</h1>
+    This module allows "anonymous" user access to authenticated
+    areas. 
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_auth_anon.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    anon_auth_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module does access control in a manner similar to
+    anonymous-ftp sites; <em>i.e.</em> have a 'magic' user id
+    'anonymous' and the email address as a password. These email
+    addresses can be logged.</p>
+
+    <p>Combined with other (database) access control methods, this
+    allows for effective user tracking and customization according
+    to a user profile while still keeping the site open for
+    'unregistered' users. One advantage of using Auth-based user
+    tracking is that, unlike magic-cookies and funny URL
+    pre/postfixes, it is completely browser independent and it
+    allows users to share URLs.</p>
+
+    <h2><a id="Directives" name="Directives">Directives</a></h2>
+
+    <ul>
+      <li><a href="#anonymous">Anonymous</a></li>
+
+      <li><a href="#Authoritative">Anonymous_Authoritative</a></li>
+
+      <li><a href="#LogEmail">Anonymous_LogEmail</a></li>
+
+      <li><a href="#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
+
+      <li><a href="#NoUserID">Anonymous_NoUserID</a></li>
+
+      <li><a href="#VerifyEmail">Anonymous_VerifyEmail</a></li>
+    </ul>
+
+    <h2><a id="Example" name="Example">Example</a></h2>
+    The example below (when combined with the Auth directives of a
+    htpasswd-file based (or GDM, mSQL <em>etc.</em>) base access
+    control system allows users in as 'guests' with the following
+    properties: 
+
+    <ul>
+      <li>It insists that the user enters a userId.
+      (<code>Anonymous_NoUserId</code>)</li>
+
+      <li>It insists that the user enters a password.
+      (<code>Anonymous_MustGiveEmail</code>)</li>
+
+      <li>The password entered must be a valid email address, ie.
+      contain at least one '@' and a '.'.
+      (<code>Anonymous_VerifyEmail</code>)</li>
+
+      <li>The userID must be one of <code>anonymous guest www test
+      welcome</code> and comparison is <strong>not</strong> case
+      sensitive.</li>
+
+      <li>And the Email addresses entered in the passwd field are
+      logged to the error log file
+      (<code>Anonymous_LogEmail</code>)</li>
+    </ul>
+
+    <p>Excerpt of httpd.conf:</p>
+
+    <blockquote>
+<pre>
+Anonymous_NoUserId      off
+Anonymous_MustGiveEmail on
+Anonymous_VerifyEmail    on
+Anonymous_LogEmail      on
+Anonymous        anonymous guest www test welcome
+
+AuthName                "Use 'anonymous' &amp; Email address for guest entry"
+AuthType                basic
+
+# An AuthUserFile/AuthDBUserFile/AuthDBMUserFile
+# directive must be specified, or use
+# Anonymous_Authoritative for public access.
+# In the .htaccess for the public directory, add:
+&lt;Files *&gt;
+Order Deny,Allow          
+Allow from all            
+
+Require valid-user        
+&lt;/Files&gt;
+</pre>
+    </blockquote>
+    <hr />
+
+    <h2><a id="anonymous" name="anonymous">Anonymous
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Anonymous <em>user</em>
+    [<em>user</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> none<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_anon 
+
+    <p>A list of one or more 'magic' userIDs which are allowed
+    access without password verification. The userIDs are space
+    separated. It is possible to use the ' and " quotes to allow a
+    space in a userID as well as the \ escape character.</p>
+
+    <p>Please note that the comparison is
+    <strong>case-IN-sensitive</strong>.<br />
+     I strongly suggest that the magic username
+    '<code>anonymous</code>' is always one of the allowed
+    userIDs.</p>
+
+    <p>Example:<br />
+     <code>Anonymous anonymous "Not Registered" 'I don\'t
+    know'</code></p>
+
+    <p>This would allow the user to enter without password
+    verification by using the userId's 'anonymous',
+    'AnonyMous','Not Registered' and 'I Don't Know'.</p>
+    <hr />
+
+    <h2><a id="Authoritative"
+    name="Authoritative">Anonymous_Authoritative directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Anonymous_Authoritative
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>Anonymous_Authoritative off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_anon 
+
+    <p>When set 'on', there is no fall-through to other
+    authorization methods. So if a userID does not match the values
+    specified in the <code>Anonymous</code> directive, access is
+    denied.</p>
+
+    <p>Be sure you know what you are doing when you decide to
+    switch it on. And remember that it is the linking order of the
+    modules (in the Configuration / Make file) which details the
+    order in which the Authorization modules are queried.</p>
+    <hr />
+
+    <h2><a id="LogEmail" name="LogEmail">Anonymous_LogEmail
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Anonymous_LogEmail
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>Anonymous_LogEmail on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_anon 
+
+    <p>When set 'on', the default, the 'password' entered (which
+    hopefully contains a sensible email address) is logged in the
+    error log. The message is logged at a level of <code>info</code>,
+    and so you must have <a href="core.html#loglevel">LogLevel</a> set
+    to at least <code>info</code> in order to see this message.</p>
+
+    <p>Log entries will look like the following example:</p>
+
+    <pre>
+[Fri Apr 26 14:49:50 2002] [info] [client 192.168.1.105] Anonymous: Passwd <user@example.com> Accepted
+</pre>
+
+    <hr />
+
+    <h2><a id="MustGiveEmail"
+    name="MustGiveEmail">Anonymous_MustGiveEmail directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Anonymous_MustGiveEmail
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>Anonymous_MustGiveEmail on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_anon 
+
+    <p>Specifies whether the user must specify an email address as
+    the password. This prohibits blank passwords.</p>
+    <hr />
+
+    <h2><a id="NoUserID" name="NoUserID">Anonymous_NoUserID
+    directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Anonymous_NoUserID
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>Anonymous_NoUserID off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_anon 
+
+    <p>When set 'on', users can leave the userID (and perhaps the
+    password field) empty. This can be very convenient for
+    MS-Explorer users who can just hit return or click directly on
+    the OK button; which seems a natural reaction.</p>
+    <hr />
+
+    <h2><a id="VerifyEmail"
+    name="VerifyEmail">Anonymous_VerifyEmail directive</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Anonymous_VerifyEmail
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>Anonymous_VerifyEmail off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_anon 
+
+    <p>When set 'on' the 'password' entered is checked for at least
+    one '@' and a '.' to encourage users to enter valid email
+    addresses (see the above <code>Auth_LogEmail</code>). 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_auth_db.html b/htdocs/manual/mod/mod_auth_db.html
new file mode 100644 (file)
index 0000000..e5bac8d
--- /dev/null
@@ -0,0 +1,238 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_auth_db</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_auth_db</h1>
+
+    <p>This module provides for user authentication using Berkeley
+    DB files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_auth_db.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    db_auth_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides an alternative to <a
+    href="mod_auth_dbm.html">DBM</a> files for those systems which
+    support DB and not DBM. It is only available in Apache 1.1 and
+    later.</p>
+
+    <p>On some BSD systems (<em>e.g.</em>, FreeBSD and NetBSD) dbm
+    is automatically mapped to Berkeley DB. You can use either <a
+    href="mod_auth_dbm.html">mod_auth_dbm</a> or mod_auth_db. The
+    latter makes it more obvious that it's Berkeley DB. On other
+    platforms where you want to use the DB library you usually have
+    to install it first. See <a
+    href="http://www.sleepycat.com/">http://www.sleepycat.com/</a>
+    for the distribution. The interface this module uses is the one
+    from DB version 1.85 and 1.86, but DB version 2.x can also be
+    used when compatibility mode is enabled.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#authdbgroupfile">AuthDBGroupFile</a></li>
+
+      <li><a href="#authdbuserfile">AuthDBUserFile</a></li>
+
+      <li><a
+      href="#authdbauthoritative">AuthDBAuthoritative</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#satisfy">satisfy</a> and <a
+    href="core.html#require">require</a>.</p>
+    <hr />
+
+    <h2><a id="authdbgroupfile"
+    name="authdbgroupfile">AuthDBGroupFile directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDBGroupFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_db 
+
+    <p>The AuthDBGroupFile directive sets the name of a DB file
+    containing the list of user groups for user authentication.
+    <em>File-path</em> is the absolute path to the group file.</p>
+
+    <p>The group file is keyed on the username. The value for a
+    user is a comma-separated list of the groups to which the users
+    belongs. There must be no whitespace within the value, and it
+    must never contain any colons.</p>
+
+    <p>Security: make sure that the AuthDBGroupFile is stored
+    outside the document tree of the web-server; do <em>not</em>
+    put it in the directory that it protects. Otherwise, clients
+    will be able to download the AuthDBGroupFile unless otherwise
+    protected.</p>
+
+    <p>Combining Group and Password DB files: In some cases it is
+    easier to manage a single database which contains both the
+    password and group details for each user. This simplifies any
+    support programs that need to be written: they now only have to
+    deal with writing to and locking a single DBM file. This can be
+    accomplished by first setting the group and password files to
+    point to the same DB file:</p>
+
+    <blockquote>
+      <code>AuthDBGroupFile /www/userbase<br />
+       AuthDBUserFile /www/userbase</code>
+    </blockquote>
+    The key for the single DB record is the username. The value
+    consists of 
+
+    <blockquote>
+      <code>Unix Crypt-ed Password : List of Groups [ : (ignored)
+      ]</code>
+    </blockquote>
+    The password section contains the Unix crypt() password as
+    before. This is followed by a colon and the comma separated
+    list of groups. Other data may optionally be left in the DB
+    file after another colon; it is ignored by the authentication
+    module. 
+
+    <p>See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authdbuserfile">AuthDBUserFile</a>.</p>
+    <hr />
+
+    <h2><a id="authdbuserfile"
+    name="authdbuserfile">AuthDBUserFile</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDBUserFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_db 
+
+    <p>The AuthDBUserFile directive sets the name of a DB file
+    containing the list of users and passwords for user
+    authentication. <em>File-path</em> is the absolute path to the
+    user file.</p>
+
+    <p>The user file is keyed on the username. The value for a user
+    is the crypt() encrypted password, optionally followed by a
+    colon and arbitrary data. The colon and the data following it
+    will be ignored by the server.</p>
+
+    <p>Security: make sure that the AuthDBUserFile is stored
+    outside the document tree of the web-server; do <em>not</em>
+    put it in the directory that it protects. Otherwise, clients
+    will be able to download the AuthDBUserFile.</p>
+
+    <p>Important compatibility note: The implementation of
+    "dbmopen" in the apache modules reads the string length of the
+    hashed values from the DB data structures, rather than relying
+    upon the string being NULL-appended. Some applications, such as
+    the Netscape web server, rely upon the string being
+    NULL-appended, so if you are having trouble using DB files
+    interchangeably between applications this may be a part of the
+    problem.</p>
+
+    <p>A perl script called
+    href="../programs/dbmmanage.html"&gt;dbmmanage is included with
+    Apache. This program can be used to create and update DB format
+    password files for use with this module.</p>
+    See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authdbgroupfile">AuthDBGroupFile</a>. 
+    <hr />
+
+    <h2><a id="authdbauthoritative"
+    name="authdbauthoritative">AuthDBAuthoritative</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDBAuthoritative
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthDBAuthoritative on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth 
+
+    <p>Setting the AuthDBAuthoritative directive explicitly to
+    <strong>'off'</strong> allows for both authentication and
+    authorization to be passed on to lower level modules (as
+    defined in the <code>Configuration</code> and
+    <code>modules.c</code> file if there is <strong>no
+    userID</strong> or <strong>rule</strong> matching the supplied
+    userID. If there is a userID and/or rule specified; the usual
+    password and access checks will be applied and a failure will
+    give an Authorization Required reply.</p>
+
+    <p>So if a userID appears in the database of more than one
+    module; or if a valid <code>Require</code> directive applies to
+    more than one module; then the first module will verify the
+    credentials; and no access is passed on; regardless of the
+    AuthAuthoritative setting.</p>
+
+    <p>A common use for this is in conjunction with one of the
+    basic auth modules; such as <a
+    href="mod_auth.html"><code>mod_auth.c</code></a>. Whereas this
+    DB module supplies the bulk of the user credential checking; a
+    few (administrator) related accesses fall through to a lower
+    level with a well protected .htpasswd file.</p>
+
+    <p>By default, control is not passed on and an unknown userID
+    or rule will result in an Authorization Required reply. Not
+    setting it thus keeps the system secure and forces an NCSA
+    compliant behavior.</p>
+
+    <p>Security: Do consider the implications of allowing a user to
+    allow fall-through in his .htaccess file; and verify that this
+    is really what you want; Generally it is easier to just secure
+    a single .htpasswd file, than it is to secure a database which
+    might have more access interfaces.</p>
+
+    <p>See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authdbgroupfile">AuthDBGroupFile</a>.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_auth_dbm.html b/htdocs/manual/mod/mod_auth_dbm.html
new file mode 100644 (file)
index 0000000..2b8b5aa
--- /dev/null
@@ -0,0 +1,225 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_auth_dbm</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_auth_dbm</h1>
+
+    <p>This module provides for user authentication using DBM
+    files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_auth_dbm.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    dbm_auth_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides for HTTP Basic Authentication, where
+    the usernames and passwords are stored in DBM type database
+    files. It is an alternative to the plain text password files
+    provided by <a href="mod_auth.html">mod_auth</a> and the
+    Berkely DB password files provided by <a
+    href="mod_auth_db.html">mod_auth_db</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+      <li><a href="#authdbmuserfile">AuthDBMUserFile</a></li>
+
+      <li><a
+      href="#authdbmauthoritative">AuthDBMAuthoritative</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#satisfy">Satisfy</a> and <a
+    href="core.html#require">Require</a>.</p>
+    <hr />
+
+    <h2><a id="authdbmgroupfile"
+    name="authdbmgroupfile">AuthDBMGroupFile</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDBMGroupFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_dbm 
+
+    <p>The AuthDBMGroupFile directive sets the name of a DBM file
+    containing the list of user groups for user authentication.
+    <em>File-path</em> is the absolute path to the group file.</p>
+
+    <p>The group file is keyed on the username. The value for a
+    user is a comma-separated list of the groups to which the users
+    belongs. There must be no whitespace within the value, and it
+    must never contain any colons.</p>
+
+    <p>Security: make sure that the AuthDBMGroupFile is stored
+    outside the document tree of the web-server; do <em>not</em>
+    put it in the directory that it protects. Otherwise, clients
+    will be able to download the AuthDBMGroupFile unless otherwise
+    protected.</p>
+
+    <p>Combining Group and Password DBM files: In some cases it is
+    easier to manage a single database which contains both the
+    password and group details for each user. This simplifies any
+    support programs that need to be written: they now only have to
+    deal with writing to and locking a single DBM file. This can be
+    accomplished by first setting the group and password files to
+    point to the same DBM:</p>
+
+    <blockquote>
+      <code>AuthDBMGroupFile /www/userbase<br />
+       AuthDBMUserFile /www/userbase</code>
+    </blockquote>
+    The key for the single DBM is the username. The value consists
+    of 
+
+    <blockquote>
+      <code>Unix Crypt-ed Password : List of Groups [ : (ignored)
+      ]</code>
+    </blockquote>
+    The password section contains the Unix crypt() password as
+    before. This is followed by a colon and the comma separated
+    list of groups. Other data may optionally be left in the DBM
+    file after another colon; it is ignored by the authentication
+    module. This is what www.telescope.org uses for its combined
+    password and group database. 
+
+    <p>See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authdbmuserfile">AuthDBMUserFile</a>.</p>
+    <hr />
+
+    <h2><a id="authdbmuserfile"
+    name="authdbmuserfile">AuthDBMUserFile</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDBMUserFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_dbm 
+
+    <p>The AuthDBMUserFile directive sets the name of a DBM file
+    containing the list of users and passwords for user
+    authentication. <em>File-path</em> is the absolute path to the
+    user file.</p>
+
+    <p>The user file is keyed on the username. The value for a user
+    is the crypt() encrypted password, optionally followed by a
+    colon and arbitrary data. The colon and the data following it
+    will be ignored by the server.</p>
+
+    <p>Security: make sure that the AuthDBMUserFile is stored
+    outside the document tree of the web-server; do <em>not</em>
+    put it in the directory that it protects. Otherwise, clients
+    will be able to download the AuthDBMUserFile.</p>
+
+    <p>Important compatibility note: The implementation of
+    "dbmopen" in the apache modules reads the string length of the
+    hashed values from the DBM data structures, rather than relying
+    upon the string being NULL-appended. Some applications, such as
+    the Netscape web server, rely upon the string being
+    NULL-appended, so if you are having trouble using DBM files
+    interchangeably between applications this may be a part of the
+    problem.</p>
+
+    <p>A perl script called <a
+    href="../programs/dbmmanage.html">dbmmanage</a> is included
+    with Apache. This program can be used to create and update DBM
+    format password files for use with this module.</p>
+    See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authdbmgroupfile">AuthDBMGroupFile</a>. 
+    <hr />
+
+    <h2><a id="authdbmauthoritative"
+    name="authdbmauthoritative">AuthDBMAuthoritative</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDBMAuthoritative
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthDBMAuthoritative on</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_dbm 
+
+    <p>Setting the AuthDBMAuthoritative directive explicitly to
+    <strong>'off'</strong> allows for both authentication and
+    authorization to be passed on to lower level modules (as
+    defined in the <code>Configuration</code> and
+    <code>modules.c</code> file if there is <strong>no
+    userID</strong> or <strong>rule</strong> matching the supplied
+    userID. If there is a userID and/or rule specified; the usual
+    password and access checks will be applied and a failure will
+    give an Authorization Required reply.</p>
+
+    <p>So if a userID appears in the database of more than one
+    module; or if a valid <code>Require</code> directive applies to
+    more than one module; then the first module will verify the
+    credentials; and no access is passed on; regardless of the
+    AuthAuthoritative setting.</p>
+
+    <p>A common use for this is in conjunction with one of the
+    basic auth modules; such as <a
+    href="mod_auth.html"><code>mod_auth.c</code></a>. Whereas this
+    DBM module supplies the bulk of the user credential checking; a
+    few (administrator) related accesses fall through to a lower
+    level with a well protected .htpasswd file.</p>
+
+    <p>By default, control is not passed on and an unknown userID
+    or rule will result in an Authorization Required reply. Not
+    setting it thus keeps the system secure and forces an NCSA
+    compliant behavior.</p>
+
+    <p>Security: Do consider the implications of allowing a user to
+    allow fall-through in his .htaccess file; and verify that this
+    is really what you want; Generally it is easier to just secure
+    a single .htpasswd file, than it is to secure a database which
+    might have more access interfaces.</p>
+
+    <p>See also <a href="core.html#authname">AuthName</a>, <a
+    href="core.html#authtype">AuthType</a> and <a
+    href="#authdbmgroupfile">AuthDBMGroupFile</a>.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_auth_digest.html b/htdocs/manual/mod/mod_auth_digest.html
new file mode 100644 (file)
index 0000000..d59439a
--- /dev/null
@@ -0,0 +1,402 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_auth_digest</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_auth_digest</h1>
+
+    <p>This module provides for user authentication using MD5
+    Digest Authentication.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_auth_digest.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    digest_auth_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This is an updated version of <a
+    href="mod_digest.html">mod_digest</a>. However, it has not been
+    extensively tested and is therefore marked experimental. If you
+    use this module, you must make sure to <em>not</em> use
+    mod_digest (because they share some of the same configuration
+    directives).</p>
+
+    <p>Digest authentication is described in <a
+    href="http://ftp.ics.uci.edu/pub/ietf/http/rfc2617.txt">RFC 
+    2617.</p>
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#authdigestfile">AuthDigestFile</a></li>
+
+      <li><a
+      href="#authdigestgroupfile">AuthDigestGroupFile</a></li>
+
+      <li><a href="#authdigestqop">AuthDigestQop</a></li>
+
+      <li><a
+      href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li>
+
+      <li><a
+      href="#authdigestnonceformat">AuthDigestNonceFormat</a></li>
+
+      <li><a href="#authdigestnccheck">AuthDigestNcCheck</a></li>
+
+      <li><a
+      href="#authdigestalgorithm">AuthDigestAlgorithm</a></li>
+
+      <li><a href="#authdigestdomain">AuthDigestDomain</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#require">Require</a> and <a
+    href="core.html#satisfy">Satisfy</a>.</p>
+
+    <h3><a id="usingdigest" name="usingdigest">Using Digest
+    Authentication</a></h3>
+
+    <p>Using MD5 Digest authentication is very simple. Simply set
+    up authentication normally, using "AuthType Digest" and
+    "AuthDigestFile" instead of the normal "AuthType Basic" and
+    "AuthUserFile"; also, replace any "AuthGroupFile" with
+    "AuthDigestGroupFile". Then add a "AuthDigestDomain" directive
+    containing at least the root URI(s) for this protection space.
+    Example:</p>
+<pre>
+  &lt;Location /private/&gt;
+  AuthType Digest
+  AuthName "private area"
+  AuthDigestDomain /private/ http://mirror.my.dom/private2/
+  AuthDigestFile /web/auth/.digest_pw
+  Require valid-user
+  &lt;/Location&gt;
+</pre>
+
+    <p><strong>Note:</strong> Digest authentication is more secure than
+    Basic authentication, but only works with supporting browsers. As of
+    September 2004, major browsers that support digest authentication
+    include <a href="http://www.w3.org/Amaya/">Amaya</a>, <a
+    href="http://konqueror.kde.org/">Konqueror</a>, <a
+    href="http://www.microsoft.com/windows/ie/">MS Internet Explorer</a>
+    for Mac OS X and Windows (although the Windows version fails when
+    used with a query string -- see "<a href="#msie" >Working with MS
+    Internet Explorer</a>" below for a workaround), <a
+    href="http://www.mozilla.org">Mozilla</a>, <a
+    href="http://channels.netscape.com/ns/browsers/download.jsp">
+    Netscape</a> 7, <a href="http://www.opera.com/">Opera</a>, and <a
+    href="http://www.apple.com/safari/">Safari</a>. <a
+    href="http://lynx.isc.org/">lynx</a> does <strong>not</strong>
+    support digest authentication. Since digest authentication is not as
+    widely implemented as basic authentication, you should use it only
+    in environments where all users will have supporting browsers.</p>
+    <hr />
+
+    <h2><a id="authdigestfile"
+    name="authdigestfile">AuthDigestFile</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     
+
+    <p>The AuthDigestFile directive sets the name of a textual file
+    containing the list of users and encoded passwords for digest
+    authentication. <em>File-path</em> is the absolute path to the
+    user file.</p>
+
+    <p>The digest file uses a special format. Files in this format
+    can be created using the <a
+    href="../programs/htdigest.html">htdigest</a> utility found in
+    the support/ subdirectory of the Apache distribution.</p>
+    <hr />
+
+    <h2><a id="authdigestgroupfile"
+    name="authdigestgroupfile">AuthDigestGroupFile</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestGroupFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p>The AuthDigestGroupFile directive sets the name of a textual
+    file containing the list of groups and their members (user
+    names). <em>File-path</em> is the absolute path to the group
+    file.</p>
+
+    <p>Each line of the group file contains a groupname followed by
+    a colon, followed by the member usernames separated by spaces.
+    Example:</p>
+
+    <blockquote>
+      <code>mygroup: bob joe anne</code>
+    </blockquote>
+    Note that searching large text files is <em>very</em>
+    inefficient. 
+
+    <p>Security: make sure that the AuthGroupFile is stored outside
+    the document tree of the web-server; do <em>not</em> put it in
+    the directory that it protects. Otherwise, clients will be able
+    to download the AuthGroupFile.</p>
+    <hr />
+
+    <h2><a id="authdigestqop"
+    name="authdigestqop">AuthDigestQop</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestQop
+    none|auth|auth-int [auth|auth-int]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AuthDigestQop
+    auth</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p>The AuthDigestQop directive determines the
+    quality-of-protection to use. <em>auth</em> will only do
+    authentication (username/password); <em>auth-int</em> is
+    authentication plus integrity checking (an MD5 hash of the
+    entity is also computed and checked); <em>none</em> will cause
+    the module to use the old RFC-2069 digest algorithm (which does
+    not include integrity checking). Both <em>auth</em> and
+    <em>auth-int</em> may be specified, in which the case the
+    browser will choose which of these to use. <em>none</em> should
+    only be used if the browser for some reason does not like the
+    challenge it receives otherwise.</p>
+
+    <p><strong><em>auth-int</em> is not implemented
+    yet</strong>.</p>
+    <hr />
+
+    <h2><a id="authdigestnoncelifetime"
+    name="authdigestnoncelifetime">AuthDigestNonceLifetime</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestNonceLifetime
+    <em>seconds</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthDigestNonceLifetime 300</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p>The AuthDigestNonceLifetime directive controls how long the
+    server nonce is valid. When the client contacts the server
+    using an expired nonce the server will send back a 401 with
+    <code>stale=true</code>. If <em>seconds</em> is greater than 0
+    then it specifies the amount of time for which the nonce is
+    valid; this should probably never be set to less than 10
+    seconds. If <em>seconds</em> is less than 0 then the nonce
+    never expires. <!-- Not implemented yet
+            If <EM>seconds</EM> is 0 then the nonce may be used exactly once
+            by the client. Note that while one-time-nonces provide higher security
+            against replay attacks, they also have significant performance
+            implications, as the browser cannot pipeline or multiple connections
+            for the requests. Because browsers cannot easily detect that
+            one-time-nonces are being used, this may lead to browsers trying to
+            pipeline requests and receiving 401 responses for all but the first
+            request, requiring the browser to resend the requests. Note also that
+            the protection against reply attacks only makes sense for dynamically
+            generated content and things like POST requests; for static content
+            the attacker may already have the complete response, so one-time-nonces
+            do not make sense here.
+            -->
+    </p>
+    <hr />
+
+    <h2><a id="authdigestnonceformat"
+    name="authdigestnonceformat">AuthDigestNonceFormat</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestNonceFormat
+    <em>???</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthDigestNonceFormat ???</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p><strong>Not implemented yet.</strong> <!--
+            <P>The AuthDigestNonceFormat directive determines how the nonce is
+            generated.
+            -->
+    </p>
+    <hr />
+
+    <h2><a id="authdigestnccheck"
+    name="authdigestnccheck">AuthDigestNcCheck</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestNcCheck
+    On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthDigestNcCheck Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p><strong>Not implemented yet.</strong> <!--
+            <P>The AuthDigestNcCheck directive enables or disables the checking of the
+            nonce-count sent by the server.
+
+            <P>While recommended from a security standpoint, turning this directive
+            On has one important performance implication. To check the nonce-count
+            *all* requests (which have an Authorization header, irrespective of
+            whether they require digest authentication) must be serialized through
+            a critical section. If the server is handling a large number of
+            requests which contain the Authorization header then this may noticeably
+            impact performance.
+            -->
+    </p>
+    <hr />
+
+    <h2><a id="authdigestalgorithm"
+    name="authdigestalgorithm">AuthDigestAlgorithm</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestAlgorithm
+    MD5|MD5-sess<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>AuthDigestAlgorithm MD5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p>The AuthDigestAlgorithm directive selects the algorithm used
+    to calculate the challenge and response hashes.</p>
+
+    <p><strong><em>MD5-sess</em> is not correctly implemented
+    yet</strong>. <!--
+            <P>To use <EM>MD5-sess</EM> you must first code up the
+            <VAR>get_userpw_hash()</VAR> function in <VAR>mod_auth_digest.c</VAR> .
+            -->
+    </p>
+    <hr />
+
+    <h2><a id="authdigestdomain"
+    name="authdigestdomain">AuthDigestDomain</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestDomain
+    <em>URI</em> [<em>URI</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_auth_digest<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.8 and later 
+
+    <p>The AuthDigestDomain directive allows you to specify one or
+    more URIs which are in the same protection space (i.e. use the
+    same realm and username/password info). The specified URIs are
+    prefixes, i.e. the client will assume that all URIs "below"
+    these are also protected by the same username/password. The
+    URIs may be either absolute URIs (i.e. inluding a scheme, host,
+    port, etc) or relative URIs.</p>
+
+    <p>This directive <em>should</em> always be specified and
+    contain at least the (set of) root URI(s) for this space.
+    Omitting to do so will cause the client to send the
+    Authorization header for <em>every request</em> sent to this
+    server. Apart from increasing the size of the request, it may
+    also have a detrimental effect on performance if
+    "AuthDigestNcCheck" is on.</p>
+
+    <p>The URIs specified can also point to different servers, in
+    which case clients (which understand this) will then share
+    username/password info across multiple servers without
+    prompting the user each time. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_autoindex.html.en b/htdocs/manual/mod/mod_autoindex.html.en
new file mode 100644 (file)
index 0000000..baccdf6
--- /dev/null
@@ -0,0 +1,947 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_autoindex</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_autoindex</h1>
+    This module provides for automatic directory indexing. 
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_autoindex.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    autoindex_module</p>
+
+    <h2>Summary</h2>
+    The index of a directory can come from one of two sources: 
+
+    <ul>
+      <li>A file written by the user, typically called
+      <code>index.html</code>. The <a
+      href="mod_dir.html#directoryindex">DirectoryIndex</a>
+      directive sets the name of this file. This is controlled by
+      <a href="mod_dir.html"><code>mod_dir</code></a>.</li>
+
+      <li>Otherwise, a listing generated by the server. The other
+      directives control the format of this listing. The <a
+      href="#addicon">AddIcon</a>, <a
+      href="#addiconbyencoding">AddIconByEncoding</a> and <a
+      href="#addiconbytype">AddIconByType</a> are used to set a
+      list of icons to display for various file types; for each
+      file listed, the first icon listed that matches the file is
+      displayed. These are controlled by
+      <code>mod_autoindex</code>.</li>
+    </ul>
+    The two functions are separated so that you can completely
+    remove (or replace) automatic index generation should you want
+    to. 
+
+    <p>Automatic index generation is enabled with using
+    <code>Options +Indexes</code>. See the <a
+    href="core.html#options"><code>Options</code></a> directive for
+    more details.</p>
+
+    <p>If <a href="#fancyindexing"><samp>FancyIndexing</samp></a>
+    is enabled, or the <samp>FancyIndexing</samp> keyword is
+    present on the <a
+    href="#indexoptions"><samp>IndexOptions</samp></a> directive,
+    the column headers are links that control the order of the
+    display. If you select a header link, the listing will be
+    regenerated, sorted by the values in that column. Selecting the
+    same header repeatedly toggles between ascending and descending
+    order.</p>
+
+    <p>Note that when the display is sorted by "Size", it's the
+    <em>actual</em> size of the files that's used, not the
+    displayed value - so a 1010-byte file will always be displayed
+    before a 1011-byte file (if in ascending order) even though
+    they both are shown as "1K".</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#addalt">AddAlt</a></li>
+
+      <li><a href="#addaltbyencoding">AddAltByEncoding</a></li>
+
+      <li><a href="#addaltbytype">AddAltByType</a></li>
+
+      <li><a href="#adddescription">AddDescription</a></li>
+
+      <li><a href="#addicon">AddIcon</a></li>
+
+      <li><a href="#addiconbyencoding">AddIconByEncoding</a></li>
+
+      <li><a href="#addiconbytype">AddIconByType</a></li>
+
+      <li><a href="#defaulticon">DefaultIcon</a></li>
+
+      <li><a href="#fancyindexing">FancyIndexing</a></li>
+
+      <li><a href="#headername">HeaderName</a></li>
+
+      <li><a href="#indexignore">IndexIgnore</a></li>
+
+      <li><a href="#indexoptions">IndexOptions</a></li>
+
+      <li><a href="#indexorderdefault">IndexOrderDefault</a></li>
+
+      <li><a href="#readmename">ReadmeName</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#options">Options</a> and <a
+    href="mod_dir.html#directoryindex">DirectoryIndex</a>.</p>
+
+    <h2>Autoindex Request Query Arguments</h2>
+
+    <p>The column sorting headers themselves are self-referencing
+    hyperlinks that add the sort query options to reorder the
+    directory listing. The query options are of the form
+    <samp>X=Y</samp>, where <samp>X</samp> is one of <samp>N</samp>
+    (file <em>N</em>ame), <samp>M</samp> (file last
+    <em>M</em>odified date), <samp>S</samp> (file <em>S</em>ize), or
+    <samp>D</samp> (file <em>D</em>escription), and <samp>Y</samp>
+    is one of <samp>A</samp> (<em>A</em>scending) or <samp>D</samp>
+    (<em>D</em>escending).</p>
+
+    <p>When options other than the file name are used as the
+    sorting key, the secondary key is always the file name. (When
+    the file name is used to sort by, there is no need of a
+    secondary sort key, since file names are guaranteed to be
+    unique, and so the sort order is unambiguous.)</p>
+
+    <p>Example:</p>
+
+    <p>If the URL <samp>http://your.server.name/foo/</samp>
+    produces a directory index, then the following URLs will
+    produce different sort orders:</p>
+
+    <ul>
+      <li><samp>http://your.server.name/foo/?M=D</samp> sorts the
+      directory by last modified date, descending.</li>
+
+      <li><samp>http://your.server.name/foo/?D=A</samp> sorts the
+      directory by file description, ascending.</li>
+
+      <li><samp>http://your.server.name/foo/?S=A</samp> sorts the
+      directory by file size, ascending.</li>
+    </ul>
+
+    <p>See <a
+    href="#indexorderdefault"><samp>IndexOrderDefault</samp></a> to
+    set the default directory ordering.</p>
+
+    <p>Note also that when the directory listing is ordered in one
+    direction (ascending or descending) by a particular column, the
+    link at the top of that column then reverses, to allow sorting
+    in the opposite direction by that same column.</p>
+    <hr />
+
+    <h2><a id="addalt" name="addalt">AddAlt</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddAlt <em>string
+    file</em> [<em>file</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the alternate text to display for a file, instead
+    of an icon, for <a href="#fancyindexing">FancyIndexing</a>.
+    <em>File</em> is a file extension, partial filename, wild-card
+    expression or full filename for files to describe.
+    <em>String</em> is enclosed in double quotes (<code>"</code>).
+    This alternate text is displayed if the client is
+    image-incapable or has image loading disabled.</p>
+
+    <p>Examples:</p>
+    <pre>
+    AddAlt "PDF" *.pdf
+    AddAlt "Compressed" *.gz *.zip *.Z
+    </pre>
+
+    <hr />
+
+    <h2><a id="addaltbyencoding"
+    name="addaltbyencoding">AddAltByEncoding</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddAltByEncoding
+    <em>string MIME-encoding</em> [<em>MIME-encoding</em>]
+    ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the alternate text to display for a file, instead
+    of an icon, for <a href="#fancyindexing">FancyIndexing</a>.
+    <em>MIME-encoding</em> is a valid content-encoding, such as
+    <samp>x-compress</samp>. <em>String</em> is enclosed in double
+    quotes (<code>"</code>). This alternate text is displayed if
+    the client is image-incapable or has image loading
+    disabled.</p>
+
+    <p>Example:</p>
+    <pre>
+    AddAltByEncoding "gzip" x-gzip
+    </pre>
+
+    <hr />
+
+    <h2><a id="addaltbytype" name="addaltbytype">AddAltByType</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddAltByType <em>string
+    MIME-type</em> [<em>MIME-type</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the alternate text to display for a file, instead
+    of an icon, for <a href="#fancyindexing">FancyIndexing</a>.
+    <em>MIME-type</em> is a valid content-type, such as
+    <samp>text/html</samp>. <em>String</em> is enclosed in double
+    quotes (<code>"</code>). This alternate text is displayed if
+    the client is image-incapable or has image loading
+    disabled.</p>
+
+    <p>Example:</p>
+    <pre>
+    AddAltByType "TXT" text/plain
+    </pre>
+    <hr />
+
+    <h2><a id="adddescription"
+    name="adddescription">AddDescription</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddDescription
+    <em>"string" file|directory</em> [<em>file|directory</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the description to display for a file or directory, for <a
+    href="#indexoptions">IndexOptions FancyIndexing</a>. 
+    <em>file|directory</em> is a file extension, partial filename or 
+    directory name, wild-card expression or full filename or directory name, 
+    for files or directories to describe. <em>String</em> is enclosed in 
+    double quotes (<code>"</code>). Example:</p>
+
+    <blockquote>
+      <code>AddDescription "The planet Mars"
+      /web/pics/mars.gif</code>
+    </blockquote>
+
+    <p>The description field is 23 bytes wide. 7 more bytes may be
+    added if the directory is covered by an
+    <code>IndexOptions&nbsp;SuppressSize</code>, and 19 bytes may
+    be added if <code>IndexOptions&nbsp;SuppressLastModified</code>
+    is in effect. The widest this column can be is therefore 49
+    bytes.</p>
+
+    <blockquote>
+      As of Apache 1.3.10, the <a
+      href="#indexoptions:descriptionwidth">DescriptionWidth</a>
+      <samp>IndexOptions</samp> keyword allows you to adjust this
+      width to any arbitrary size.
+    </blockquote>
+    <b>Caution:</b> Descriptive text defined with
+    <samp>AddDescription</samp> may contain HTML markup, such as
+    tags and character entities. If the width of the description
+    column should happen to truncate a tagged element (such as
+    cutting off the end of a bolded phrase), the results may affect
+    the rest of the directory listing. 
+    <hr />
+
+    <h2><a id="addicon" name="addicon">AddIcon</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddIcon <em>icon
+    name</em> [<em>name</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the icon to display next to a file ending in
+    <em>name</em> for <a href="#fancyindexing">FancyIndexing</a>.
+    <em>Icon</em> is either a (%-escaped) relative URL to the icon,
+    or of the format (<em>alttext</em>,<em>url</em>) where
+    <em>alttext</em> is the text tag given for an icon for
+    non-graphical browsers.</p>
+
+    <p><em>Name</em> is either ^^DIRECTORY^^ for directories,
+    ^^BLANKICON^^ for blank lines (to format the list correctly), a
+    file extension, a wildcard expression, a partial filename or a
+    complete filename. Examples:</p>
+
+    <blockquote>
+      <code>AddIcon (IMG,/icons/image2.gif) .gif .jpg .png<br />
+       AddIcon /icons/dir.gif ^^DIRECTORY^^<br />
+       AddIcon /icons/backup.gif *~</code>
+    </blockquote>
+    <a href="#addiconbytype">AddIconByType</a> should be used in
+    preference to AddIcon, when possible. 
+    <hr />
+
+    <h2><a id="addiconbyencoding"
+    name="addiconbyencoding">AddIconByEncoding</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddIconByEncoding
+    <em>icon MIME-encoding</em> [<em>MIME-encoding</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the icon to display next to files with
+    <em>MIME-encoding</em> for <a
+    href="#fancyindexing">FancyIndexing</a>. <em>Icon</em> is
+    either a (%-escaped) relative URL to the icon, or of the format
+    (<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the
+    text tag given for an icon for non-graphical browsers.</p>
+
+    <p><em>Mime-encoding</em> is a wildcard expression matching
+    required the content-encoding. Examples:</p>
+
+    <blockquote>
+      <code>AddIconByEncoding /icons/compressed.gif
+      x-compress</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="addiconbytype"
+    name="addiconbytype">AddIconByType</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddIconByType <em>icon
+    MIME-type</em> [<em>MIME-type</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>This sets the icon to display next to files of type
+    <em>MIME-type</em> for <a
+    href="#fancyindexing">FancyIndexing</a>. <em>Icon</em> is
+    either a (%-escaped) relative URL to the icon, or of the format
+    (<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the
+    text tag given for an icon for non-graphical browsers.</p>
+
+    <p><em>Mime-type</em> is a wildcard expression matching
+    required the mime types. Examples:</p>
+
+    <blockquote>
+      <code>AddIconByType (IMG,/icons/image3.gif) image/*</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="defaulticon" name="defaulticon">DefaultIcon</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> DefaultIcon
+    <em>url</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>The DefaultIcon directive sets the icon to display for files
+    when no specific icon is known, for <a
+    href="#fancyindexing">FancyIndexing</a>. <em>Url</em> is a
+    (%-escaped) relative URL to the icon. Examples:</p>
+
+    <blockquote>
+      <code>DefaultIcon /icon/unknown.xbm</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="fancyindexing"
+    name="fancyindexing">FancyIndexing</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> FancyIndexing
+    on|off<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>The FancyIndexing directive sets the FancyIndexing option
+    for a directory. The <a href="#indexoptions">IndexOptions</a>
+    directive should be used in preference.</p>
+
+    <blockquote>
+      <strong>Note that in versions of Apache prior to 1.3.2, the
+      <samp>FancyIndexing</samp> and <samp>IndexOptions</samp>
+      directives will override each other. You should use
+      <samp>IndexOptions&nbsp;FancyIndexing</samp> in preference to
+      the standalone <samp>FancyIndexing</samp> directive. As of
+      Apache 1.3.2, a standalone <samp>FancyIndexing</samp>
+      directive is combined with any <samp>IndexOptions</samp>
+      directive already specified for the current scope.</strong>
+    </blockquote>
+    <hr />
+
+    <h2><a id="headername" name="headername">HeaderName</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> HeaderName
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> some features
+    only available after 1.3.6; see text 
+
+    <p>The HeaderName directive sets the name of the file that will
+    be inserted at the top of the index listing. <em>Filename</em>
+    is the name of the file to include.</p>
+
+      <p>
+      <em>Filename</em> is treated as a URI path relative to the
+      one used to access the directory being indexed. Note that this
+      means that if <em>Filename</em> starts with a slash, it will be
+      taken to be relative to the <a
+      href="core.html#documentroot">DocumentRoot</a>.</p>
+      
+      <p><em>Filename</em> must
+      resolve to a document with a major content type of
+      "<samp>text</samp>" (<em>e.g.</em>, <samp>text/html</samp>,
+      <samp>text/plain</samp>, <em>etc.</em>). This means that
+      <em>filename</em> may refer to a CGI script if the script's
+      actual file type (as opposed to its output) is marked as
+      <samp>text/html</samp> such as with a directive like: </p>
+
+<pre>
+    AddType text/html .cgi
+</pre>
+      <a href="../content-negotiation.html">Content negotiation</a>
+      will be performed if the <samp>MultiViews</samp> <a
+      href="core.html#options">option</a> is enabled. If
+      <em>filename</em> resolves to a static <samp>text/html</samp>
+      document (not a CGI script) and the <samp>Includes</samp> <a
+      href="core.html#options">option</a> is enabled, the file will
+      be processed for server-side includes (see the <a
+      href="mod_include.html"><samp>mod_include</samp></a>
+      documentation).
+
+    <p>If the file specified by <samp>HeaderName</samp> contains
+    the beginnings of an HTML document (&lt;HTML&gt;, &lt;HEAD&gt;,
+    etc) then you will probably want to set <a
+    href="#indexoptions:suppresshtmlpreamble"><samp>IndexOptions
+    +SuppressHTMLPreamble</samp></a>, so that these tags are not
+    repeated.</p>
+
+    <blockquote>
+      <strong>Apache 1.3.6 and earlier:</strong> The module first
+      attempts to include <em>filename</em><code>.html</code> as an
+      HTML document, otherwise it will try to include
+      <em>filename</em> as plain text. <em>Filename</em> is treated
+      as a filesystem path relative to the directory being indexed.
+      In no case is SSI processing done. Example: 
+
+      <blockquote>
+        <code>HeaderName HEADER</code>
+      </blockquote>
+      when indexing the directory <code>/web</code>, the server
+      will first look for the HTML file
+      <code>/web/HEADER.html</code> and include it if found,
+      otherwise it will include the plain text file
+      <code>/web/HEADER</code>, if it exists.
+    </blockquote>
+
+    <p>See also <a href="#readmename">ReadmeName</a>.</p>
+    <hr />
+
+    <h2><a id="indexignore" name="indexignore">IndexIgnore</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> IndexIgnore
+    <em>file</em> [<em>file</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex 
+
+    <p>The IndexIgnore directive adds to the list of files to hide
+    when listing a directory. <em>File</em> is a file extension,
+    partial filename, wildcard expression or full filename for
+    files to ignore. Multiple IndexIgnore directives add to the
+    list, rather than replacing the list of ignored files. By
+    default, the list contains `<code>.</code>'. Example:</p>
+
+    <blockquote>
+      <code>IndexIgnore README .htaccess *~</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="indexoptions" name="indexoptions">IndexOptions</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> IndexOptions
+    <em>option</em> [<em>option</em>] ... (Apache 1.3.2 and
+    earlier) <br />
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> IndexOptions
+    [+|-]<em>option</em> [[+|-]<em>option</em>] ... (Apache 1.3.3
+    and later) <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> '+/-' syntax and
+    merging of multiple <samp>IndexOptions</samp> directives is
+    only available with Apache 1.3.3 and later; the
+    <samp>FoldersFirst</samp> and <samp>DescriptionWidth</samp>
+    options are only available with Apache 1.3.10 and later; the
+    <samp>TrackModified</samp> option is only available with Apache
+    1.3.15 and later; the <samp>IgnoreCase</samp> option is only
+    available with Apache 1.3.24 and later
+
+    <p>The IndexOptions directive specifies the behavior of the
+    directory indexing. <em>Option</em> can be one of</p>
+
+    <dl>
+      <dt><a id="indexoptions:descriptionwidth"
+      name="indexoptions:descriptionwidth">DescriptionWidth=[<em>n</em>
+      | *] (<em>Apache 1.3.10 and later</em>)</a></dt>
+
+      <dd>The <samp>DescriptionWidth</samp> keyword allows you to
+      specify the width of the description column in characters. If
+      the keyword value is '<samp>*</samp>', then the column is
+      automatically sized to the length of the longest filename in
+      the display. <b>See the section on <a
+      href="#adddescription"><samp>AddDescription</samp></a> for
+      dangers inherent in truncating descriptions.</b></dd>
+
+      <dt><a id="indexoptions:fancyindexing"
+      name="indexoptions:fancyindexing">FancyIndexing</a></dt>
+
+      <dd>
+
+        This turns on fancy indexing of directories. 
+
+        <blockquote>
+          <strong>Note that in versions of Apache prior to 1.3.2,
+          the <samp>FancyIndexing</samp> and
+          <samp>IndexOptions</samp> directives will override each
+          other. You should use
+          <samp>IndexOptions&nbsp;FancyIndexing</samp> in
+          preference to the standalone <samp>FancyIndexing</samp>
+          directive. As of Apache 1.3.2, a standalone
+          <samp>FancyIndexing</samp> directive is combined with any
+          <samp>IndexOptions</samp> directive already specified for
+          the current scope.</strong>
+        </blockquote>
+      </dd>
+
+      <dt><a id="indexoptions:foldersfirst"
+      name="indexoptions:foldersfirst">FoldersFirst (<i>Apache
+      1.3.10 and later</i>)</a></dt>
+
+      <dd>If this option is enabled, subdirectories in a
+      FancyIndexed listing will <i>always</i> appear first,
+      followed by normal files in the directory. The listing is
+      basically broken into two components, the files and the
+      subdirectories, and each is sorted separately and then
+      displayed subdirectories-first. For instance, if the sort
+      order is descending by name, and <samp>FoldersFirst</samp> is
+      enabled, subdirectory <samp>Zed</samp> will be listed before
+      subdirectory <samp>Beta</samp>, which will be listed before
+      normal files <samp>Gamma</samp> and <samp>Alpha</samp>.
+      <b>This option only has an effect if <a
+      href="#indexoptions:fancyindexing"><samp>FancyIndexing</samp></a>
+      is also enabled.</b></dd>
+
+      <dt><a id="indexoptions:iconheight"
+      name="indexoptions:iconheight">IconHeight[=pixels]
+      (<em>Apache 1.3 and later</em>)</a></dt>
+
+      <dd>
+
+      Presence of this option, when used with IconWidth, will cause
+      the server to include <samp>HEIGHT</samp> and
+      <samp>WIDTH</samp> attributes in the <samp>IMG</samp> tag for
+      the file icon. This allows browser to precalculate the page
+      layout without having to wait until all the images have been
+      loaded. If no value is given for the option, it defaults to
+      the standard height of the icons supplied with the Apache
+      software.</dd>
+
+      <dt><a id="indexoptions:iconsarelinks"
+      name="indexoptions:iconsarelinks">IconsAreLinks</a></dt>
+
+      <dd>
+
+      This makes the icons part of the anchor for the filename, for
+      fancy indexing.</dd>
+
+      <dt><a id="indexoptions:iconwidth"
+      name="indexoptions:iconwidth">IconWidth[=pixels] (<em>Apache
+      1.3 and later</em>)</a></dt>
+
+      <dd>
+
+      Presence of this option, when used with IconHeight, will
+      cause the server to include <samp>HEIGHT</samp> and
+      <samp>WIDTH</samp> attributes in the <samp>IMG</samp> tag for
+      the file icon. This allows browser to precalculate the page
+      layout without having to wait until all the images have been
+      loaded. If no value is given for the option, it defaults to
+      the standard width of the icons supplied with the Apache
+      software.</dd>
+
+      <dt><a id="indexoptions:ignorecase"
+      name="indexoptions:ignorecase">IgnoreCase</a>
+      (<em>Apache 1.3.24 and later</em>)</dt>
+
+      <dd>
+      If this option is enabled, names are sorted in case-insensitive
+      manner.  For instance, if the sort order is ascending by name,
+      and <samp>IgnoreCase</samp> is enabled, file <samp>Zeta</samp>
+      will be listed after file <samp>alfa</samp> (Note: file
+      <samp>GAMMA</samp> will always be listed before file
+      <samp>gamma</samp>). <b>This option only has an effect if <a
+      href="#indexoptions:fancyindexing"><samp>FancyIndexing</samp></a>
+      is also enabled.</b></dd>
+
+      <dt><a id="indexoptions:namewidth"
+      name="indexoptions:namewidth">NameWidth=[<em>n</em> | *]
+      (<em>Apache 1.3.2 and later</em>)</a></dt>
+
+      <dd>The NameWidth keyword allows you to specify the width of
+      the filename column in bytes. If the keyword value is
+      '<samp>*</samp>', then the column is automatically sized to
+      the length of the longest filename in the display.</dd>
+
+      <dt><a id="indexoptions:scanhtmltitles"
+      name="indexoptions:scanhtmltitles">ScanHTMLTitles</a></dt>
+
+      <dd>
+
+      This enables the extraction of the title from HTML documents
+      for fancy indexing. If the file does not have a description
+      given by <a href="#adddescription">AddDescription</a> then
+      httpd will read the document for the value of the TITLE tag.
+      This is CPU and disk intensive.</dd>
+
+      <dt><a id="indexoptions:suppresscolumnsorting"
+      name="indexoptions:suppresscolumnsorting">SuppressColumnSorting</a></dt>
+
+      <dd>
+
+      If specified, Apache will not make the column headings in a
+      FancyIndexed directory listing into links for sorting. The
+      default behavior is for them to be links; selecting the
+      column heading will sort the directory listing by the values
+      in that column. <strong>Only available in Apache 1.3 and
+      later.</strong></dd>
+
+      <dt><a id="indexoptions:suppressdescription"
+      name="indexoptions:suppressdescription">SuppressDescription</a></dt>
+
+      <dd>
+
+      This will suppress the file description in fancy indexing
+      listings. By default, no file descriptions are defined, and
+      so the use of this option will regain 23 characters of screen
+      space to use for something else. See <a
+      href="#adddescription"><samp>AddDescription</samp></a> for
+      information about setting the file description. See also the
+      <a
+      href="#indexoptions:descriptionwidth"><samp>DescriptionWidth</samp></a>
+      index option to limit the size of the description
+      column.</dd>
+
+      <dt><a id="indexoptions:suppresshtmlpreamble"
+      name="indexoptions:suppresshtmlpreamble">SuppressHTMLPreamble</a>
+      (<em>Apache 1.3 and later</em>)</dt>
+
+      <dd>
+
+      If the directory actually contains a file specified by the <a
+      href="#headername">HeaderName</a> directive, the module
+      usually includes the contents of the file after a standard
+      HTML preamble (&lt;HTML&gt;, &lt;HEAD&gt;, <em>et
+      cetera</em>). The SuppressHTMLPreamble option disables this
+      behavior, causing the module to start the display with the
+      header file contents. The header file must contain
+      appropriate HTML instructions in this case. If there is no
+      header file, the preamble is generated as usual.</dd>
+
+      <dt><a id="indexoptions:suppresslastmodified"
+      name="indexoptions:suppresslastmodified">SuppressLastModified</a></dt>
+
+      <dd>
+
+      This will suppress the display of the last modification date,
+      in fancy indexing listings.</dd>
+
+      <dt><a id="indexoptions:suppresssize"
+      name="indexoptions:suppresssize">SuppressSize</a></dt>
+
+      <dd>
+
+      This will suppress the file size in fancy indexing
+      listings.</dd>
+
+      <dt><a id="indexoptions:trackmodified"
+      name="indexoptions:trackmodified">TrackModified (<em>Apache
+      1.3.15 and later</em>)</a></dt>
+
+      <dd>
+
+      This returns the Last-Modified and ETag values for the listed
+      directory in the HTTP header. It is only valid if the
+      operating system and file system return legitimate stat()
+      results. Most Unix systems do so, as do OS2's JFS and Win32's
+      NTFS volumes. OS2 and Win32 FAT volumes, for example, do not.
+      Once this feature is enabled, the client or proxy can track
+      changes to the list of files when they perform a HEAD
+      request. Note some operating systems correctly track new and
+      removed files, but do not track changes for sizes or dates of
+      the files within the directory.</dd>
+    </dl>
+
+    <p>There are some noticeable differences in the behavior of
+    this directive in recent (post-1.3.0) versions of Apache.</p>
+
+    <dl>
+      <dt>Apache 1.3.2 and earlier:</dt>
+
+      <dd>
+        <p>The default is that no options are enabled. If multiple
+        IndexOptions could apply to a directory, then the most
+        specific one is taken complete; the options are not merged.
+        For example:</p>
+
+        <blockquote>
+<pre>
+&lt;Directory /web/docs&gt;
+    IndexOptions FancyIndexing
+&lt;/Directory&gt;
+&lt;Directory /web/docs/spec&gt;
+    IndexOptions ScanHTMLTitles
+&lt;/Directory&gt;
+</pre>
+        </blockquote>
+        then only <code>ScanHTMLTitles</code> will be set for the
+        /web/docs/spec directory.
+      </dd>
+
+      <dt>Apache 1.3.3 and later:</dt>
+
+      <dd>
+        <p>Apache 1.3.3 introduced some significant changes in the
+        handling of <samp>IndexOptions</samp> directives. In
+        particular,</p>
+
+        <ul>
+          <li>Multiple <samp>IndexOptions</samp> directives for a
+          single directory are now merged together. The result of
+          the example above will now be the equivalent of
+          <code>IndexOptions&nbsp;FancyIndexing&nbsp;ScanHTMLTitles</code>.</li>
+
+          <li>The addition of the incremental syntax
+          (<em>i.e.</em>, prefixing keywords with '+' or '-').</li>
+        </ul>
+
+        <p>Whenever a '+' or '-' prefixed keyword is encountered,
+        it is applied to the current <samp>IndexOptions</samp>
+        settings (which may have been inherited from an upper-level
+        directory). However, whenever an unprefixed keyword is
+        processed, it clears all inherited options and any
+        incremental settings encountered so far. Consider the
+        following example:</p>
+
+        <blockquote>
+          <code>IndexOptions +ScanHTMLTitles -IconsAreLinks
+          FancyIndexing<br />
+           IndexOptions +SuppressSize<br />
+          </code>
+        </blockquote>
+
+        <p>The net effect is equivalent to
+        <code>IndexOptions&nbsp;FancyIndexing&nbsp;+SuppressSize</code>,
+        because the unprefixed <code>FancyIndexing</code> discarded
+        the incremental keywords before it, but allowed them to
+        start accumulating again afterward.</p>
+
+        <p>To unconditionally set the <code>IndexOptions</code> for
+        a particular directory, clearing the inherited settings,
+        specify keywords without either '+' or '-' prefixes.</p>
+      </dd>
+    </dl>
+    <hr />
+
+    <h2><a id="indexorderdefault"
+    name="indexorderdefault">IndexOrderDefault</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> IndexOrderDefault
+    Ascending|Descending Name|Date|Size|Description <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess <br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base <br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    IndexOrderDefault is only available in Apache 1.3.4 and later. 
+
+    <p>The <samp>IndexOrderDefault</samp> directive is used in
+    combination with the <a
+    href="#indexoptions:fancyindexing"><samp>FancyIndexing</samp></a>
+    index option. By default, fancyindexed directory listings are
+    displayed in ascending order by filename; the
+    <samp>IndexOrderDefault</samp> allows you to change this
+    initial display order.</p>
+
+    <p><samp>IndexOrderDefault</samp> takes two arguments. The
+    first must be either <samp>Ascending</samp> or
+    <samp>Descending</samp>, indicating the direction of the sort.
+    The second argument must be one of the keywords
+    <samp>Name</samp>, <samp>Date</samp>, <samp>Size</samp>, or
+    <samp>Description</samp>, and identifies the primary key. The
+    secondary key is <em>always</em> the ascending filename.</p>
+
+    <p>You can force a directory listing to only be displayed in a
+    particular order by combining this directive with the <a
+    href="#indexoptions:suppresscolumnsorting"><samp>SuppressColumnSorting</samp></a>
+    index option; this will prevent the client from requesting the
+    directory listing in a different order.</p>
+    <hr />
+
+    <h2><a id="readmename" name="readmename">ReadmeName</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ReadmeName
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> some features
+    only available after 1.3.6; see text 
+
+    <p>The ReadmeName directive sets the name of the file that will
+    be appended to the end of the index listing. <em>Filename</em>
+    is the name of the file to include, and is taken to be relative
+    to the location being indexed.</p>
+
+    <blockquote>
+      <strong>The <em>filename</em> argument is treated as a stub
+      filename in Apache 1.3.6 and earlier, and as a relative URI
+      in later versions. Details of how it is handled may be found
+      under the description of the <a
+      href="#headername">HeaderName</a> directive, which uses the
+      same mechanism and changed at the same time as
+      ReadmeName.</strong>
+    </blockquote>
+
+    <p>See also <a href="#headername">HeaderName</a>.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_autoindex.html.html b/htdocs/manual/mod/mod_autoindex.html.html
new file mode 100644 (file)
index 0000000..924cecd
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_autoindex.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_autoindex.html.ja.jis b/htdocs/manual/mod/mod_autoindex.html.ja.jis
new file mode 100644 (file)
index 0000000..6cd1d91
--- /dev/null
@@ -0,0 +1,946 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+
+    <title>Apache module mod_autoindex</title>
+  </head>
+  <!-- English revision: 1.55 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_autoindex</h1>
+    \e$B<+F0E*$K%G%#%l%/%H%j$N%$%s%G%C%/%9$r:n$k5!G=$rDs6!$9$k%b%8%e!<%k!#\e(B
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_autoindex.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    autoindex_module</p>
+
+      <h2>\e$B35MW\e(B</h2>
+      <p>\e$B%G%#%l%/%H%j$N%$%s%G%C%/%9$OFs$D$N>pJs8;$N$&$A$N\e(B
+      \e$B0l$D$+$i@8@.$G$-$^$9\e(B:</p>
+
+    <ul>
+      <li>\e$BIaDL$O\e(B <code>index.html</code> \e$B$H8F$P$l$k\e(B
+      \e$B%f!<%6$K$h$C$F=q$+$l$?%U%!%$%k!#\e(B
+      <a href="mod_dir.html#directoryindex">DirectoryIndex</a>
+      \e$B%G%#%l%/%F%#%V$G$3$N%U%!%$%kL>$r@_Dj$7$^$9!#\e(B
+      \e$B$3$l$O\e(B <a href="../mod/mod_dir.html"><code>mod_dir</code></a>\e$B$G\e(B
+      \e$B@)8f$5$l$^$9!#\e(B</li>
+
+      <li>\e$B$b$7$/$O!"%5!<%P$K$h$C$F@8@.$5$l$?0lMw!#\e(B
+      \e$B$=$NB>$N%G%#%l%/%F%#%V$G$3$N0lMw$N=q<0$r@)8f$7$^$9!#\e(B
+      <a href="#addicon">AddIcon</a>, <a href="#addiconbyencoding">AddIconByEncoding</a> \e$B$H\e(B
+      <a href="#addiconbytype">AddIconByType</a>
+      \e$B$r;H$&$3$H$G!"MM!9$J%U%!%$%k%?%$%W$KBP$7$F%"%$%3%s0lMw$r\e(B
+      \e$B%;%C%H$7$^$9!#$D$^$j!"%j%9%H$5$l$?%U%!%$%kKh$K!"\e(B
+      \e$B%U%!%$%k$K%^%C%A$7$?0lHV:G=i$N%"%$%3%s$,I=<($5$l$^$9!#\e(B
+      \e$B$3$l$i$O\e(B <a href="../mod/mod_autoindex.html">mod_autoindex</a> \e$B$G@)8f$5$l$^$9!#\e(B</li>
+    </ul>
+    <p>\e$BK>$`$J$i$P!"<+F0%$%s%G%C%/%9@8@.$r40A4$K=|5n\e(B (\e$B$"$k$$$OCV49\e(B)
+    \e$B$G$-$k$h$&$K!"$3$NFs$D$N5!G=$OJ,N%$5$l$F$$$^$9!#\e(B</p>
+
+    <p>\e$B<+F0%$%s%G%C%/%9@8@.$O\e(B <code>Options +Indexes</code>
+    \e$B$r;H$&$3$H$GM-8z$K$J$j$^$9!#>\:Y$K$D$$$F$O!"\e(B
+    <a href="../mod/core.html#options">Options</a>
+    \e$B%G%#%l%/%F%#%V$r$4Mw2<$5$$!#\e(B</p>
+
+    <p>\e$B$b$7\e(B <a href="fancyindexing"><samp>FancyIndexing</samp></a> \e$B%*%W%7%g%s$,\e(B
+    \e$BM-8z$K$J$C$F$$$k$+!"\e(B
+    <a href="../mod/autoindex.html#indexoptions"><samp>IndexOptions</samp></a>
+    \e$B%G%#%l%/%F%#%V$K\e(B <samp>FancyIndexing</samp> \e$B$,M?$($i$l$F$$$k$J$i$P!"\e(B
+    \e$BNs$N@hF,$OI=<($N=gHV$r@)8f$9$k%j%s%/$K$J$j$^$9!#\e(B
+    \e$B@hF,$N%j%s%/$rA*Br$9$k$H!"0lMw$O:F@8@.$5$l$F\e(B
+    \e$B$=$NNs$NCM$G%=!<%H$5$l$^$9!#\e(B
+    \e$BF1$8@hF,$rB3$1$FA*Br$9$k$H!"8r8_$K>:=g$H9_=g$H$K$J$j$^$9!#\e(B</p>
+
+    <p>"Size" \e$B$G%=!<%H$7$?>l9g$O!"MQ$$$i$l$k$N$O\e(B
+    <em>\e$B<B:]$N\e(B</em>\e$B%U%!%$%k$N%5%$%:$G$"$C$F!"\e(B
+    \e$BI=<($NCM$G$O$J$$$3$H$KCm0U$7$F$/$@$5$$\e(B -
+    \e$B$?$H$(N>J}$H$b$,\e(B "1K" \e$B$HI=<($5$l$F$$$?$H$7$F$b!"\e(B
+    1010 \e$B%P%$%H$N%U%!%$%k$OI,$:\e(B 1011
+    \e$B%P%$%H$N%U%!%$%k$h$j$bA0\e(B (\e$B>:=g$N>l9g\e(B) \e$B$KI=<($5$l$^$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#addalt">AddAlt</a></li>
+
+      <li><a href="#addaltbyencoding">AddAltByEncoding</a></li>
+
+      <li><a href="#addaltbytype">AddAltByType</a></li>
+
+      <li><a href="#adddescription">AddDescription</a></li>
+
+      <li><a href="#addicon">AddIcon</a></li>
+
+      <li><a href="#addiconbyencoding">AddIconByEncoding</a></li>
+
+      <li><a href="#addiconbytype">AddIconByType</a></li>
+
+      <li><a href="#defaulticon">DefaultIcon</a></li>
+
+      <li><a href="#fancyindexing">FancyIndexing</a></li>
+
+      <li><a href="#headername">HeaderName</a></li>
+
+      <li><a href="#indexignore">IndexIgnore</a></li>
+
+      <li><a href="#indexoptions">IndexOptions</a></li>
+
+      <li><a href="#indexorderdefault">IndexOrderDefault</a></li>
+
+      <li><a href="#readmename">ReadmeName</a></li>
+    </ul>
+
+    <p>\e$B;2>H\e(B: <a href="core.html#options">Options</a> \e$B$H\e(B <a
+    href="mod_dir.html#directoryindex">DirectoryIndex</a>\e$B!#\e(B</p>
+
+    <h2>Autoindex \e$B%j%/%(%9%H%/%(%j!<0z?t\e(B</h2>
+    
+    <p>\e$B%3%i%`%=!<%H$N%X%C%@<+BN$,!"%G%#%l%/%H%j$N%j%9%H$N=gHV$rJQ99$9$k\e(B
+    \e$B<+J,<+?H$r;2>H$9$k%j%s%/$G$9!#%/%(%j!<%*%W%7%g%s$O\e(B <samp>X=Y</samp>
+    \e$B$N7A<0$G!"\e(B<samp>X</samp> \e$B$K$O\e(B <samp>N</samp> (file <em>N</em>ame),
+    <samp>M</samp> (file last <em>M</em>odified date), <samp>S</samp>
+    (file <em>S</em>ize), <samp>D</samp> (file <em>D</em>escription)
+    \e$B$NCf$+$i0l$D!"\e(B<samp>Y</samp> \e$B$K$O\e(B <samp>A</samp> (<em>A</em>scending)
+    \e$B$^$?$O\e(B <samp>D</samp> (<em>D</em>escending) \e$B$N$I$A$i$+$,F~$j$^$9!#\e(B</p>
+
+    <p>\e$B%U%!%$%kL>0J30$,%=!<%H$N%-!<$H$7$F;H$o$l$?>l9g$O!"\e(B
+    \e$B%U%!%$%kL>$,>o$KFs$DL\$N%-!<$H$J$j$^$9!#\e(B
+    (\e$B%=!<%H$K%U%!%$%kL>$,;H$o$l$?>l9g$OFs$DL\$N%-!<$OI,MW$"$j$^$;$s!#\e(B
+    \e$B%U%!%$%kL>$O0l0U$G$"$k$3$H$,J]>Z$5$l$F$$$k$N$G!"%=!<%H=g$O\e(B
+    \e$B3NDj$9$k$+$i$G$9!#\e(B)</p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <p>URL <samp>http://your.server.name/foo/</samp>
+    \e$B$,%G%#%l%/%H%j%$%s%G%/%9$r@8@.$9$k>l9g!"0J2<$N\e(B URL
+    \e$B$G$O0[$J$k%=!<%H=g$,@8@.$5$l$^$9\e(B:</p>
+
+    <ul>
+      <li><samp>http://your.server.name/foo/?M=D</samp>
+      \e$B$O%G%#%l%/%H%j$r\e(B last modified date \e$B$N9_=g$G%=!<%H$7$^$9!#\e(B</li>
+
+      <li><samp>http://your.server.name/foo/?D=A</samp>
+      \e$B$O%G%#%l%/%H%j$r\e(B file description \e$B$N>:=g$G%=!<%H$7$^$9!#\e(B</li>
+
+      <li><samp>http://your.server.name/foo/?S=A</samp>
+      \e$B$O%G%#%l%/%H%j$r\e(B file size \e$B$N>:=g$G%=!<%H$7$^$9!#\e(B</li>
+    </ul>
+
+    <p>\e$B%G%#%l%/%H%j$N%G%U%)%k%H$N=g=x$N@_Dj$O\e(B <a
+    href="#indexorderdefault"><samp>IndexOrderDefault</samp></a>
+    \e$B$r8+$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%G%#%l%/%H%j$N%j%9%H$,!"$"$k%3%i%`$N$I$A$i$+$NJ}8~\e(B(\e$B>:=g$^$?$O9_=g\e(B)
+    \e$B$r;XDj$5$l$?>l9g!"$=$N%3%i%`$N>eIt$K$"$k%j%s%/$O5U=g$K$J$j!"\e(B
+    \e$BF1$8%3%i%`$N5UJ}8~$G$N%=!<%H$r2DG=$K$7$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="addalt" name="addalt">AddAlt</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddAlt <em>string
+    file</em> [<em>file</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p>\e$B$3$l$O\e(B <a href="#fancyindexing">FancyIndexing</a>
+    \e$B$K$*$$$F!"%"%$%3%s$NBe$o$j$KI=<($9$kBeBX%F%-%9%H$r@_Dj$7$^$9!#\e(B
+    <em>File</em> \e$B$O!"@bL@$9$k%U%!%$%k$N%U%!%$%k3HD%;R!"\e(B
+    \e$B%U%!%$%kL>$N0lIt!"%o%$%k%I%+!<%II=8=!"40A4$J%U%!%$%kL>$N\e(B
+    \e$B$I$l$+$K$J$j$^$9!#\e(B
+    <em>String</em> \e$B$OFs=E0zMQId\e(B (<code>"</code>)
+    \e$B$G0O$_$^$9!#\e(B
+    \e$B$3$NJ8;zNs$O!"%/%i%$%"%s%H$,2hA|$rI=<($G$-$J$$>l9g$d\e(B
+    \e$B2hA|$N%m!<%I$rL58z$K$7$F$$$k>l9g$KI=<($5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+    <pre>
+    AddAlt "PDF" *.pdf
+    AddAlt "Compressed" *.gz *.zip *.Z
+    </pre>
+
+    <hr />
+
+    <h2><a id="addaltbyencoding"
+    name="addaltbyencoding">AddAltByEncoding</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddAltByEncoding
+    <em>string MIME-encoding</em> [<em>MIME-encoding</em>]
+    ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p>\e$B$3$l$O!"\e(B
+    <a href="#fancyindexing">FancyIndexing</a>
+    \e$B$K$*$$$F!"%"%$%3%s$NBe$o$j$KI=<($9$kBeBXJ8;zNs$r@_Dj$7$^$9!#\e(B
+    <em>MIME-encoding</em> \e$B$OM-8z$JId9f2=!"Nc$($P\e(B
+    <samp>x-compress</samp>
+    \e$B$G$9!#\e(B 
+    <em>String</em> \e$B$O!"Fs=E0zMQId\e(B (<code>"</code>) \e$B$G0O$_$^$9!#\e(B
+    \e$B$3$NJ8;zNs$O!"%/%i%$%"%s%H$,2hA|$rI=<($G$-$J$$>l9g$d\e(B
+    \e$B2hA|$N%m!<%I$rL58z$K$7$F$$$k>l9g$KI=<($5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+    <pre>
+    AddAltByEncoding "gzip" x-gzip
+    </pre>
+
+    <hr />
+
+    <h2><a id="addaltbytype" name="addaltbytype">AddAltByType</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddAltByType <em>string
+    MIME-type</em> [<em>MIME-type</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+
+    <p>\e$B$3$l$O!"\e(B
+    <a href="#fancyindexing">FancyIndexing</a>
+    \e$B$K$*$$$F!"%"%$%3%s$NBe$o$j$KI=<($9$kBeBXJ8;zNs$r@_Dj$7$^$9!#\e(B
+    <em>MIME-type</em> \e$B$OM-8z$J%?%$%W!"Nc$($P\e(B
+    <samp>text/html</samp>
+    \e$B$G$9!#\e(B
+    <em>String</em> \e$B$O!"Fs=E0zMQId\e(B (<code>"</code>) \e$B$G0O$_$^$9!#\e(B
+    \e$B$3$NJ8;zNs$O!"%/%i%$%"%s%H$,2hA|$rI=<($G$-$J$$>l9g$d\e(B
+    \e$B2hA|$N%m!<%I$rL58z$K$7$F$$$k>l9g$KI=<($5$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+    <pre>
+    AddAltByType "TXT" text/plain
+    </pre>
+    <hr />
+
+    <h2><a id="adddescription"
+    name="adddescription">AddDescription</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddDescription
+    <em>"string" file|directory</em> [<em>file|directory</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p><a href="#indexoptions">Index OptionsFancyIndexing</a>
+    \e$B$K$*$$$F!"%U%!%$%k$H%G%#%l%/%H%j$KBP$7$FI=<($9$k@bL@$r@_Dj$7$^$9!#\e(B
+    <em>file|directory</em> \e$B$O@bL@$9$k%U%!%$%k$d%G%#%l%/%H%j$N%U%!%$%k3HD%;R!"\e(B
+    \e$B%U%!%$%kL>$N0lIt!"%G%#%l%/%H%jL>!"%o%$%k%I%+!<%II=8=!"40A4$J%U%!%$%kL>$+\e(B
+    \e$B%G%#%l%/%H%jL>$N$I$l$+$K$J$j$^$9!#\e(B
+    <em>String</em> \e$B$OFs=E0zMQId\e(B (<code>"</code>) \e$B$G0O$_$^$9!#\e(B</p>
+
+    <blockquote>
+      <code>AddDescription "The planet Mars"
+      /web/pics/mars.gif</code>
+    </blockquote>
+
+    <p>\e$B@bL@NN0h$O\e(B 23 \e$B%P%$%H$NI}$G$9!#%G%#%l%/%H%j$KBP$7$F\e(B
+    <code>IndexOptions&nbsp;SuppressSize</code>
+    \e$B%*%W%7%g%s$,M-8z$K$J$C$F$$$l$P\e(B 7 \e$B%P%$%HDI2C!"\e(B
+    <code>IndexOptions&nbsp;SuppressLastModified</code>
+    \e$B%*%W%7%g%s$,M-8z$K$J$C$F$$$l$P\e(B 19 \e$B%P%$%HDI2C$5$l$^$9!#\e(B
+    \e$B$G$9$+$i!"%G%U%)%k%H$N@bL@%3%i%`$N:GBgI}$O\e(B
+    49 \e$B%P%$%H$K$J$j$^$9!#\e(B</p>
+
+    <blockquote>
+      Apache 1.3.10 \e$B$+$i!"\e(B<a
+      href="#indexoptions:descriptionwidth">DescriptionWidth</a>
+      <samp>IndexOptions</samp> \e$B%-!<%o!<%I$r;H$&$3$H$G!"$3$NI}$r\e(B
+      \e$BG$0U$NBg$-$5$KD4@0$9$k$3$H$,$G$-$^$9!#\e(B
+    </blockquote>
+
+    <b>\e$B7Y9p\e(B:</b>
+      <p><samp>AddDescription</samp>
+      \e$B$GDj5A$5$l$?@bL@%F%-%9%H$O!"%?%0$dJ8;zNs$H$$$C$?\e(B
+      HTML \e$B%^!<%/%"%C%W$r4^$`$3$H$,$G$-$^$9!#\e(B
+      \e$B$b$7!"@bL@%3%i%`$NI}$K$h$C$F%?%0IU$1$5$l$?MWAG$,4]$a9~$^$l$?\e(B
+      (\e$BB@;z$N8l6g$N:G8e$,@Z$l$k$H$$$C$?\e(B) \e$B>l9g!"\e(B
+      \e$B=PNO7k2L$O!"%G%#%l%/%H%j0lMw$N;D$j$NItJ,$K1F6A$rM?$($k$G$7$g$&!#\e(B</p>
+    <hr />
+
+    <h2><a id="addicon" name="addicon">AddIcon</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddIcon <em>icon
+    name</em> [<em>name</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong> \e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p><a href="#fancyindexing">FancyIndexing</a>
+    \e$B$K$*$$$F!"\e(B
+    <em>name</em> \e$B$G=*$o$k%U%!%$%k$NNY$KI=<($9$k%"%$%3%s$r@_Dj$7$^$9!#\e(B
+    <em>icon</em> \e$B$O!"\e(B(% \e$B$G%(%9%1!<%W$5$l$?\e(B) \e$B%"%$%3%s$X$NAjBP\e(B URL
+    \e$B$+!"B>$N=q<0\e(B (<em>alttext</em>, <em>url</em>) \e$B$G$9!#\e(B
+    \e$B$3$3$G\e(B <em>alttext</em>
+    \e$B$O!"Hs%0%i%U%#%+%k%V%i%&%68~$1$K%"%$%3%s$KIU$1$i$l$?%F%-%9%H%?%0$G$9!#\e(B
+    </p>
+
+    <p><em>name</em> \e$B$O!"%G%#%l%/%H%j$KBP1~$9$k\e(B ^^DIRECTORY^^
+    \e$B$+!"6uGr9T$KBP1~$9$k\e(B ^^BLANKICON^^ (\e$B0lMw$,@5$7$/I=<($5$l$k$?$a$K\e(B) \e$B$+!"\e(B
+    \e$B%U%!%$%k3HD%;R$+!"%o%$%k%I%+!<%II=8=$+!"%U%!%$%kL>$N0lIt$+\e(B
+    \e$B40A4$J%U%!%$%kL>$G$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>AddIcon (IMG,/icons/image2.gif) .gif .jpg .png<br />
+       AddIcon /icons/dir.gif ^^DIRECTORY^^<br />
+       AddIcon /icons/backup.gif *~</code>
+    </blockquote>
+    
+    <p>\e$B$b$72DG=$J$i!"\e(BAddIcon \e$B$h$j\e(B
+    <a href="#addiconbytype">AddIconByType</a>
+    \e$B$rM%@hE*$K;H$&$Y$-$G$7$g$&!#\e(B</p>
+    <hr />
+
+    <h2><a id="addiconbyencoding"
+    name="addiconbyencoding">AddIconByEncoding</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddIconByEncoding
+    <em>icon MIME-encoding</em> [<em>MIME-encoding</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p><a href="#fancyindexing">FancyIndexing</a>
+    \e$B$K$*$$$F!"\e(B<em>MIME-encoding</em> \e$B$N%U%!%$%k$NNY$KI=<($9$k%"%$%3%s$r@_Dj$7$^$9!#\e(B
+    <em>icon</em> \e$B$O!"\e(B(% \e$B$G%(%9%1!<%W$5$l$?\e(B) \e$B%"%$%3%s$X$NAjBP\e(B URL
+    \e$B$+!"B>$N=q<0\e(B (<em>alttext</em>, <em>url</em>) \e$B$G$9!#\e(B
+    \e$B$3$3$G\e(B <em>alttext</em>
+    \e$B$O!"Hs%0%i%U%#%+%k%V%i%&%68~$1$K%"%$%3%s$KIU$1$i$l$?%F%-%9%H%?%0$G$9!#\e(B
+    </p>
+
+    <p><em>MIME-encoding</em> \e$B$O!"MW5a$5$l$?%(%s%3!<%I$K3:Ev$9$k\e(B
+    \e$B%o%$%k%I%+!<%II=8=$G$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>AddIconByEncoding /icons/compressed.gif
+      x-compress</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="addiconbytype"
+    name="addiconbytype">AddIconByType</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> AddIconByType <em>icon
+    MIME-type</em> [<em>MIME-type</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p><a href="#fancyindexing">FancyIndexing</a>
+    \e$B$K$*$$$F!"%U%!%$%k$NNY$KI=<($9$k%"%$%3%s$r@_Dj$7$^$9!#\e(B
+    <em>icon</em> \e$B$O!"\e(B(% \e$B$G%(%9%1!<%W$5$l$?\e(B) \e$B%"%$%3%s$X$NAjBP\e(B URL
+    \e$B$+!"B>$N=q<0\e(B (<em>alttext</em>, <em>url</em>) \e$B$G$9!#\e(B
+    \e$B$3$3$G\e(B <em>alttext</em>
+    \e$B$O!"Hs%0%i%U%#%+%k%V%i%&%68~$1$K%"%$%3%s$KIU$1$i$l$?%F%-%9%H%?%0$G$9!#\e(B
+    </p>
+
+    <p><em>MIME-type</em> \e$B$O!"MW5a$5$l$?%?%$%W$K3:Ev$9$k\e(B
+    \e$B%o%$%k%I%+!<%II=8=$G$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>AddIconByType (IMG,/icons/image3.gif) image/*</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="defaulticon" name="defaulticon">DefaultIcon</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> DefaultIcon
+    <em>url</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p>DefaultIcon \e$B%G%#%l%/%F%#%V$O\e(B <a
+     href="#fancyindexing">FancyIndexing</a> \e$B$K$*$$$F!"\e(B
+    \e$BFCDj$N%"%$%3%s$,$J$$>l9g$N%U%!%$%k$KI=<($9$k%"%$%3%s$r@_Dj$7$^$9!#\e(B
+    <em>url</em> \e$B$O!"\e(B(% \e$B$G%(%9%1!<%W$5$l$?\e(B) \e$B%"%$%3%s$X$NAjBP\e(B URL
+    \e$B$G$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>DefaultIcon /icon/unknown.xbm</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="fancyindexing"
+    name="fancyindexing">FancyIndexing</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> FancyIndexing
+    on|off<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p>FancyIndexing \e$B%G%#%l%/%F%#%V$O%G%#%l%/%H%j$N\e(B FancyIndexing
+    \e$B%*%W%7%g%s$r@_Dj$7$^$9!#\e(BThe <a href="#indexoptions">IndexOptions</a>
+    directive should be used in preference.</p>
+
+    <blockquote>
+      <strong>1.3.2 \e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$G$O!"\e(B
+      <samp>FancyIndexing</samp> \e$B5Z$S\e(B <samp>IndexOptions</samp>
+      \e$B%G%#%l%/%F%#%V$O8_$$$K>e=q$-$7$F$7$F$$$?$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+      \e$BC1FH$N\e(B <samp>FancyIndexing</samp> \e$B%G%#%l%/%F%#%V$h$j$b\e(B
+      <samp>IndexOptions&nbsp;FancyIndexing</samp> \e$B$r;H$&$Y$-$G$9!#\e(B
+      Apache 1.3.2 \e$B$G$OC1FH\e(B <samp>FancyIndexing</samp>
+      \e$B%G%#%l%/%F%#%V$O8=:_$NHO0O$KBP$7$F4{$K;XDj$5$l$?\e(B
+      <samp>IndexOptions</samp> \e$B%G%#%l%/%F%#%V$HAH$_9g$o$5$l$^$9!#\e(B</strong>
+    </blockquote>
+    <hr />
+
+    <h2><a id="headername" name="headername">HeaderName</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> HeaderName
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$B$$$/$D$+$N5!G=$O\e(B
+    1.3.6 \e$B0J9_$G$N$_;HMQ2DG=\e(B
+
+    <p>HeaderName \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%$%s%G%C%/%90lMw$N@hF,$KA^F~$9$k%U%!%$%k$NL>A0$r@_Dj$7$^$9!#\e(B
+    <em>Filename</em> \e$B$O<h$j9~$`%U%!%$%k$NL>A0$G$9!#\e(B</p>
+
+    <p>
+      <em>Filename</em> \e$B$O%$%s%G%C%/%9$5$l$F$$$k%G%#%l%/%H%j$KMQ$$$i$l$?\e(B URI
+      \e$B$KBP$9$kAjBP\e(B URI \e$B%Q%9$H$7$F07$o$l$^$9!#\e(B
+      \e$B$3$l$O!"\e(B<em>filename</em> \e$B$,%9%i%C%7%e$G;O$^$k>l9g$O!"\e(B
+      <a href="../mod/core.html#documentroot">DocumentRoot</a>
+      \e$B$+$i$NAjBP%Q%9$H$J$k$H$$$&$3$H$G$9!#\e(B</p>
+
+      <p><em>Filename</em> \e$B$O%a%8%c!<%3%s%F%s%H%?%$%W$,\e(B
+      "<samp>text</samp>" (<em>\e$BNc$($P\e(B</em>\e$B!"\e(B<samp>text/html</samp>, 
+      <samp>text/plain</samp> \e$BEy$G$9!#\e(B)
+      \e$B$N%I%-%e%a%s%H$H$7$F2r7h$5$l$J$1$l$P$J$j$^$;$s!#$3$l$O$D$^$j!"\e(B
+      \e$B$b$7\e(B CGI \e$B%9%/%j%W%H$N<B:]$N%U%!%$%k%?%$%W$,\e(B
+      \e$B<!$N%G%#%l%/%F%#%V$N$h$&$K$7$F<B:]$N=PNO$H$O0[$J$C$F\e(B
+      <samp>text/html</samp> \e$B$H$7$F%^!<%/$5$l$F$$$k>l9g!"\e(B
+      <em>filename</em>
+      \e$B$O\e(B CGI \e$B%9%/%j%W%H$r;2>H$9$k$+$bCN$l$J$$!"\e(B
+      \e$B$H$$$&$3$H$r0UL#$7$^$9\e(B:</p>
+
+<pre>
+    AddType text/html .cgi
+</pre>
+
+      <p><samp>MultiViews</samp> <a
+      href="core.html#options">option</a> \e$B$,M-8z$K$J$C$F$$$k>l9g$O!"\e(B
+      <a href="../content-negotiation.html">\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</a>
+      \e$B$,9T$J$o$l$^$9!#\e(B
+      \e$B$b$7\e(B <em>filename</em> \e$B$,\e(B (CGI \e$B%9%/%j%W%H$G$J$$\e(B) \e$B@EE*$J\e(B 
+      <samp>text/html</samp> \e$B%I%-%e%a%s%H$G2r7h$5$l!"\e(B
+      <samp>Includes</samp> <a href="../mod/core.html#options">option</a>
+      \e$B$,M-8z$K$J$C$F$$$k>l9g$O!"\e(B
+      \e$B%U%!%$%k$O%5!<%P%5%$%I%$%s%/%k!<%I$G=hM}$5$l$^$9\e(B
+      (<a href="../mod/mod_include.html"><samp>mod_include</samp></a>
+      \e$B%I%-%e%a%s%H$r;2>H$7$F2<$5$$\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B$b$7\e(B <samp>HeaderName</samp> \e$B$G;XDj$5$l$?%U%!%$%k$,\e(B
+    HTML \e$B%I%-%e%a%s%H$N3+;OItJ,\e(B (&lt;HTML&gt;, &lt;HEAD&gt;, 
+    \e$BEy\e(B) \e$B$r4^$s$G$$$?$i!"\e(B
+    <a href="#indexoptions:suppresshtmlpreamble"><samp>IndexOptions
+    +SuppressHTMLPreamble</samp></a>
+    \e$B$r@_Dj$7$F!"$3$l$i$N%?%0$,7+$jJV$5$l$J$$$h$&$K$7$?$$$H;W$&$G$7$g$&!#\e(B</p>
+
+    <blockquote>
+      <strong>Apache 1.3.6 \e$B0JA0\e(B:</strong> \e$B%b%8%e!<%k$O:G=i$K\e(B
+      <em>filename</em><code>.html</code> \e$B$r\e(B HTML \e$BJ8=q$H$7$F\e(B include
+      \e$B$r;n$_$^$9!#$=$l$+$i\e(B <em>filename</em> \e$B$r%W%l!<%s%F%-%9%H$H$7$F\e(B
+      include \e$B$7$h$&$H$7$^$9!#\e(B<em>Filename</em> \e$B$O%$%s%G%/%9$5$l$k\e(B
+      \e$B%G%#%l%/%H%j$+$i$N%U%!%$%k%7%9%F%`$NAjBP%Q%9$H$7$F07$o$l$^$9!#\e(B
+      SSI \e$B=hM}$O@dBP$K9T$J$o$l$^$;$s!#Nc\e(B: 
+
+      <blockquote>
+        <code>HeaderName HEADER</code>
+      </blockquote>
+      \e$B%G%#%l%/%H%j\e(B <code>/web</code> \e$B$,%$%s%G%/%9$5$l$k$H$-!"%5!<%P$O:G=i$K\e(B
+      <code>/web/HEADER.html</code> \e$B$H$$$&\e(B HTML
+      \e$B%U%!%$%k$rC5$78+$D$+$l$P$=$l$r\e(B include \e$B$7$^$9!#$=$l$+$i\e(B
+      <code>/web/HEADER</code> \e$B$H$$$&%W%l!<%s%F%-%9%H$N%U%!%$%k$r!"\e(B
+      \e$BB8:_$9$l$P\e(B include \e$B$7$^$9!#\e(B
+    </blockquote>
+
+    <p>\e$B;2>H\e(B <a href="#readmename">ReadmeName</a>\e$B!#\e(B</p>
+    <hr />
+
+    <h2><a id="indexignore" name="indexignore">IndexIgnore</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> IndexIgnore
+    <em>file</em> [<em>file</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex 
+
+    <p>IndexIgnore \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%G%#%l%/%H%j$N0lMw$r9T$J$&:]$KL5;k$9$Y$-%U%!%$%k%j%9%H$KDI2C$7$^$9!#\e(B
+    <em>file</em> \e$B$O!"L5;k$9$k%U%!%$%kL>$N%U%!%$%k3HD%;R$+!"%U%!%$%kL>$N0lIt$+!"\e(B
+    \e$B%o%$%k%I%+!<%II=8=$+40A4$J%U%!%$%kL>$G$9!#\e(B
+    IndexIgnore \e$B$,J#?t$"$k>l9g$O!"L5;k$9$k%j%9%H$KDI2C$,9T$J$o$l!"\e(B
+    \e$BCV49$O9T$J$o$l$^$;$s!#%G%U%)%k%H$G$O%j%9%H$K$O\e(B `<code>.</code>'
+    \e$B$,4^$^$l$F$$$^$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>IndexIgnore README .htaccess *~</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="indexoptions" name="indexoptions">IndexOptions</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> IndexOptions
+    <em>option</em> [<em>option</em>] ... (Apache 1.3.2 \e$B0JA0\e(B) <br />
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> IndexOptions
+    [+|-]<em>option</em> [[+|-]<em>option</em>] ... (Apache 1.3.3
+    \e$B0J9_\e(B) <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> '+/-' \e$B9=J8$H\e(B
+    \e$BJ#?t$N\e(B <samp>IndexOptions</samp> \e$B%G%#%l%/%F%#%V$N%^!<%8$O\e(B
+    Apache 1.3.3 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B<samp>FoldersFirst</samp> \e$B$H\e(B
+    <samp>DescriptionWidth</samp> \e$B%*%W%7%g%s$O\e(B Apache 1.3.10 \e$B0J9_$G$N$_\e(B
+    \e$B;HMQ2DG=!#\e(B<samp>TrackModified</samp> \e$B%*%W%7%g%s$O\e(B Apache 1.3.15 \e$B0J9_\e(B
+    \e$B$G$N$_;HMQ2DG=!#\e(B<samp>IgnoreCase</samp> \e$B%*%W%7%g%s$O\e(B Apache 1.3.24 
+    \e$B0J9_$G$N$_;HMQ2DG=\e(B
+
+    <p>IndexOptions \e$B$O!"%G%#%l%/%H%j%$%s%G%C%/%9$N5sF0$r;XDj$7$^$9!#\e(B
+    <em>option</em> \e$B$O<!$N$I$l$+$G$9\e(B:</p>
+
+    <dl>
+      <dt><a id="indexoptions:descriptionwidth"
+      name="indexoptions:descriptionwidth">DescriptionWidth=[<em>n</em>
+      | *] (<em>Apache 1.3.10 \e$B0J9_\e(B</em>)</a></dt>
+
+      <dd><samp>DescriptionWidth</samp>
+      \e$B%-!<%o!<%I$O@bL@%3%i%`$NI}$rJ8;z?t$G;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+      \e$B%-!<%o!<%I$NCM$,\e(B '<samp>*</samp>' \e$B$N>l9g$N%3%i%`$NI}$O!"\e(B
+      \e$BI=<($5$l$kCf$G:G$bD9$$%U%!%$%kL>$ND9$5$K<+F0E*$K9g$o$5$l$^$9!#\e(B
+      <b>\e$B@bL@$,4]$a9~$^$l$?>l9g$K5/$3$j$&$k4m81$K$D$$$F$O\e(B
+      <a href="#adddescription">AddDescription</a>
+      \e$B%;%/%7%g%s$r$*FI$_2<$5$$!#\e(B</b></dd>
+
+      <dt><a id="indexoptions:fancyindexing"
+      name="indexoptions:fancyindexing">FancyIndexing</a></dt>
+
+      <dd>\e$B>~$jIU$-%$%s%G%C%/%9$r%*%s$K$7$^$9!#\e(B
+        <blockquote>
+          <strong>1.3.2 \e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$G$O!"\e(B
+          <samp>FancyIndexing</samp> \e$B5Z$S\e(B <samp>IndexOptions</samp>
+          \e$B%G%#%l%/%F%#%V$O8_$$$K>e=q$-$7$F$7$F$$$?$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+          \e$BC1FH$N\e(B <samp>FancyIndexing</samp> \e$B%G%#%l%/%F%#%V$h$j$b\e(B
+          <samp>IndexOptions&nbsp;FancyIndexing</samp> \e$B$r;H$&$Y$-$G$9!#\e(B
+          Apache 1.3.2 \e$B$G$OC1FH\e(B <samp>FancyIndexing</samp>
+          \e$B%G%#%l%/%F%#%V$O8=:_$NHO0O$KBP$7$F4{$K;XDj$5$l$?\e(B
+          <samp>IndexOptions</samp> \e$B%G%#%l%/%F%#%V$HAH$_9g$o$5$l$^$9!#\e(B</strong>
+        </blockquote>
+      </dd>
+
+      <dt><a id="indexoptions:foldersfirst"
+      name="indexoptions:foldersfirst">FoldersFirst (<i>Apache
+      1.3.10 \e$B0J9_\e(B</i>)</a></dt>
+
+      <dd>\e$B$3$N%*%W%7%g%s$,M-8z$K$J$k$H\e(B FancyIndex
+      \e$B$5$l$?%j%9%H$O\e(B<i>\e$B>o$K\e(B</i>\e$B%5%V%G%#%l%/%H%j$,:G=i$K!"\e(B
+      \e$BB3$$$FDL>o$N%U%!%$%k$,I=<($5$l$^$9!#\e(B
+      \e$B%j%9%H$O4pK\E*$KFs$D$NItJ,!"%U%!%$%k$H%5%V%G%#%l%/%H%j$KJ,$1$i$l!"\e(B
+      \e$B$=$l$>$l$,JL!9$K%=!<%H$5$l$F$^$:%5%V%G%#%l%/%H%j$+$iI=<($5$l$^$9!#\e(B
+      \e$B$?$H$($P!"%=!<%H$,L>A0$N9_=g$G\e(B <samp>FoldersFirst</samp>
+      \e$B$,M-8z$G$"$l$P!"%5%V%G%#%l%/%H%j\e(B <samp>Zed</samp>
+      \e$B$,%5%V%G%#%l%/%H%j\e(B <samp>Beta</samp> \e$B$h$jA0$K!"$^$?$3$l$i$O\e(B
+      \e$BDL>o$N%U%!%$%k\e(B <samp>Gamma</samp> \e$B$d\e(B <samp>Alpha</samp>
+      \e$B$h$jA0$KI=<($5$l$^$9!#\e(B<b>\e$B$3$N%*%W%7%g%s$O\e(B <a
+      href="#indexoptions:fancyindexing"><samp>FancyIndexing</samp></a>
+      \e$B$bM-8z$G$"$k>l9g$K8B$j8z2L$,$"$j$^$9!#\e(B</b></dd>
+
+      <dt><a id="indexoptions:iconheight"
+      name="indexoptions:iconheight">IconHeight[=pixels]
+      (<em>Apache 1.3 \e$B0J9_\e(B</em>)</a></dt>
+
+      <dd>\e$B$3$N%*%W%7%g%s$,!"\e(BIconWidth \e$B$H$H$b$K;H$o$l$F$$$k>l9g$O!"\e(B
+      \e$B%5!<%P$O%U%!%$%k%"%$%3%s$N$?$a$N\e(B <code>img</code>
+      \e$B%?%0$K\e(B <code>height</code> \e$B$H\e(B <code>width</code>
+      \e$BB0@-$r<h$j9~$`$h$&$K$J$j$^$9!#\e(B
+      \e$B$3$l$K$h$C$F!"%$%a!<%8A4$F$r%m!<%I$7=*$o$k$^$GBT$?$J$/$F$b!"\e(B
+      \e$B%V%i%&%6$O%Z!<%8%l%$%"%&%H$r$"$i$+$8$a7W;;$9$k$3$H$,$G$-$^$9!#\e(B
+      \e$B$3$N%*%W%7%g%s$K2?$bCM$,M?$($i$l$J$1$l$P!"\e(BApache
+      \e$B%=%U%H%&%'%"$GDs6!$5$l$F$$$k%"%$%3%s$NI8=`$N9b$5$,\e(B
+      \e$B%G%U%)%k%H$H$J$j$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:iconsarelinks"
+      name="indexoptions:iconsarelinks">IconsAreLinks</a></dt>
+
+      <dd>\e$B$3$l$O!"\e(BFancyIndexing \e$B$K$*$$$F!"\e(B
+      \e$B%"%$%3%s$b%U%!%$%kL>$X$N%j%s%/$N0lIt$K$7$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:iconwidth"
+      name="indexoptions:iconwidth">IconWidth[=pixels] (<em>Apache
+      1.3 \e$B0J9_\e(B</em>)</a></dt>
+
+      <dd>\e$B$3$N%*%W%7%g%s$,!"\e(BIconHeight \e$B$H$H$b$K;H$o$l$F$$$k>l9g$O!"\e(B
+      \e$B%5!<%P$O%U%!%$%k%"%$%3%s$N$?$a$N\e(B <samp>IMG</samp>
+      \e$B%?%0$K\e(B <samp>HEIGHT</samp> \e$B$H\e(B <samp>WIDTH</samp>
+      \e$BB0@-$r<h$j9~$`$h$&$K$J$j$^$9!#\e(B
+      \e$B$3$l$K$h$C$F!"%$%a!<%8A4$F$r%m!<%I$7=*$o$k$^$GBT$?$J$/$F$b!"\e(B
+      \e$B%V%i%&%6$O%Z!<%8%l%$%"%&%H$r$"$i$+$8$a7W;;$9$k$3$H$,$G$-$^$9!#\e(B
+      \e$B$3$N%*%W%7%g%s$K2?$bCM$,M?$($i$l$J$1$l$P!"\e(BApache
+      \e$B%=%U%H%&%'%"$GDs6!$5$l$F$$$k%"%$%3%s$NI8=`$N9b$5$,\e(B
+      \e$B%G%U%)%k%H$H$J$j$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:ignorecase"
+      name="indexoptions:ignorecase">IgnoreCase</a>
+      (<em>Apache 1.3.24 \e$B0J9_\e(B</em>)</dt>
+
+      <dd>\e$B$3$N%*%W%7%g%s$,M-8z$G$"$k$H!"\e(B
+      \e$B%U%!%$%kL>$OBgJ8;z>.J8;z$r6hJL$;$:$K%=!<%H$5$l$^$9!#\e(B
+      \e$BNc$($P%U%!%$%kL>$,>:=g$G%=!<%H$5$l!"\e(B<samp>IgnoreCase</samp>
+      \e$B$,M-8z$G$"$l$P!"\e(B<samp>Zeta</samp> \e$B$O\e(B <samp>alfa</samp>
+      \e$B$N8e$K%j%9%H$5$l$^$9\e(B(\e$BCm0U\e(B: <samp>GAMMA</samp> \e$B$O>o$K\e(B
+      <samp>gamma</samp> \e$B$NA0$K$J$j$^$9\e(B)\e$B!#\e(B<b>\e$B$3$N%*%W%7%g%s$O\e(B <a
+      href="#indexoptions:fancyindexing"><samp>FancyIndexing</samp></a>
+      \e$B$bM-8z$G$"$k>l9g$K8B$j8z2L$,$"$j$^$9!#\e(B</b></dd>
+
+      <dt><a id="indexoptions:namewidth"
+      name="indexoptions:namewidth">NameWidth=[<em>n</em> | *]
+      (<em>Apache 1.3.2 \e$B0J9_\e(B</em>)</a></dt>
+
+      <dd><code>NameWidth</code> \e$B%-!<%o!<%I$G%U%!%$%kL>%3%i%`$NI}$r%P%$%H?t$G\e(B
+      \e$B;XDj$G$-$^$9!#%-!<%o!<%I$NCM$,\e(B '<samp>*</samp>' \e$B$N>l9g$N%3%i%`$NI}$O!"\e(B
+      \e$BI=<($5$l$kCf$G:G$bD9$$%U%!%$%kL>$ND9$5$K<+F0E*$K9g$o$5$l$^$9!#\e(B
+</dd>
+
+      <dt><a id="indexoptions:scanhtmltitles"
+      name="indexoptions:scanhtmltitles">ScanHTMLTitles</a></dt>
+
+      <dd>FancyIndexing \e$B$N$?$a$K!"\e(B
+       HTML \e$B%I%-%e%a%s%H$+$i%?%$%H%k$r<h$j=P$9$3$H$r2DG=$K$7$^$9!#\e(B
+      \e$B$b$7%U%!%$%k$K\e(B
+      <a href="#adddescription">AddDescription</a>
+      \e$B$G@bL@$,M?$($i$l$F$$$J$1$l$P!"\e(B
+      httpd \e$B$O\e(B TITLE \e$B%?%0$NCM$rFI$`$?$a$K%I%-%e%a%s%H$rFI$_;O$a$^$9!#\e(B
+      \e$B$3$l$O\e(B CPU \e$B$d\e(B disk \e$B$KIi2Y$r$+$1$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:suppresscolumnsorting"
+      name="indexoptions:suppresscolumnsorting">SuppressColumnSorting</a></dt>
+
+      <dd>\e$B$b$7;XDj$5$l$F$$$l$P!"\e(BApache \e$B$O\e(B FancyIndexing
+      \e$B$GI=<($5$l$F$$$k%G%#%l%/%H%j0lMw$G$N%3%i%`$N8+=P$7$r!"\e(B
+      \e$B%=!<%H$N$?$a$N%j%s%/$K$7$J$/$J$j$^$9!#\e(B
+      \e$B%G%U%)%k%H$N5sF0$O!"%j%s%/$H$7$^$9!#\e(B
+      \e$B%3%i%`$N8+=P$7$rA*$V$H%3%i%`$NCM$K=>$C$F%G%#%l%/%H%j%j%9%H$r\e(B
+      \e$B%=!<%H$7$^$9!#\e(B<strong>Apache 1.3 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B</strong></dd>
+
+      <dt><a id="indexoptions:suppressdescription"
+      name="indexoptions:suppressdescription">SuppressDescription</a></dt>
+
+      <dd>\e$B$3$l$O\e(B FancyIndexing \e$B$K$*$1$k%U%!%$%k$N@bL@$r>C5n$7$^$9!#\e(B
+      \e$B%G%U%)%k%H$G$O!"@bL@$ODj5A$5$l$F$*$i$:!"\e(B
+      \e$B$3$N%*%W%7%g%s$r;H$&$HB>$N$?$a$K\e(B 23
+      \e$BJ8;z$N6uGr$r2T$0$3$H$,$G$-$^$9!#\e(B \e$B%U%!%$%k$N@bL@$K4X$9$k>pJs$O!"\e(B
+      <a href="#adddescription"><samp>AddDescription</samp></a>
+      \e$B$r$4Mw2<$5$$!#$^$?!"@bL@$N%3%i%`%5%$%:$r@)8B$9$k\e(B
+      <a href="#indexoptions:descriptionwidth"><samp>DescriptionWidth</samp></a>
+      \e$B%$%s%G%C%/%9%*%W%7%g%s$b$4Mw2<$5$$!#\e(B</dd>
+
+      <dt><a id="indexoptions:suppresshtmlpreamble"
+      name="indexoptions:suppresshtmlpreamble">SuppressHTMLPreamble</a>
+      (<em>Apache 1.3 \e$B0J9_\e(B</em>)</dt>
+
+      <dd>\e$BDL>o!"\e(B
+      <a href="#headername">HeaderName</a>
+      \e$B%G%#%l%/%F%#%V$G;XDj$7$?%U%!%$%k$r\e(B
+      \e$B%G%#%l%/%H%j$,<B:]$K4^$s$G$$$l$P!"I8=`E*$J\e(B HTML \e$B%W%j%"%s%V%k\e(B
+      (&lt;HTML&gt;, &lt;HEAD&gt; <em>\e$BEy\e(B</em>) \e$B$N8e$K!"\e(B
+      \e$B%b%8%e!<%k$O%U%!%$%k$NCf?H$r%$%s%/%k!<%I$7$^$9!#\e(B
+      SuppressHTMLPreamble \e$B%*%W%7%g%s$O$3$N5sF0$rL58z$K$7!"\e(B
+      \e$B%b%8%e!<%k$,%X%C%@%U%!%$%k$NCf?H$+$iI=<($r;O$a$^$9!#\e(B
+      \e$B$3$N>l9g!"%X%C%@%U%!%$%k$O@5$7$$\e(B HTML
+      \e$BL?Na$r4^$s$G$$$J$1$l$P$J$j$^$;$s!#\e(B
+      \e$B%X%C%@%U%!%$%k$,B8:_$7$J$$>l9g$O!"%W%j%"%s%V%k$ODL>oDL$j\e(B
+      \e$B@8@.$5$l$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:suppresslastmodified"
+      name="indexoptions:suppresslastmodified">SuppressLastModified</a></dt>
+
+      <dd>FancyIndexing \e$B0lMw$K$*$$$F:G=*99?7F|;~$NI=<($r>C5n$7$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:suppresssize"
+      name="indexoptions:suppresssize">SuppressSize</a></dt>
+
+      <dd>FancyIndexing \e$B0lMw$K$*$$$F%U%!%$%k%5%$%:$NI=<($r>C5n$7$^$9!#\e(B</dd>
+
+      <dt><a id="indexoptions:trackmodified"
+      name="indexoptions:trackmodified">TrackModified (<em>Apache
+      1.3.15 \e$B0J9_\e(B</em>)</a></dt>
+
+      <dd>\e$B$3$l$O\e(B HTTP \e$B%X%C%@Cf$K!"\e(B
+      \e$B%j%9%H$5$l$?%G%#%l%/%H%j$N:G=*99?7F|$d\e(B ETag \e$BCM$r4^$a$^$9!#\e(B
+      \e$B$3$l$O!"%*%Z%l!<%F%#%s%0%7%9%F%`$d%U%!%$%k%7%9%F%`$,\e(B
+      \e$BE,@Z$J\e(B stat() \e$B$NJV$jCM$rJV$9>l9g$K$N$_M-8z$G$9!#\e(B
+      \e$B$?$$$F$$$N\e(B UNIX \e$B%7%9%F%`!"\e(BOS2 \e$B$N\e(B JFS \e$B$d\e(B Win32 \e$B$N\e(B NTFS
+      \e$B%\%j%e!<%`$O$=$&$J$C$F$$$^$9!#\e(B
+      \e$BNc$($P!"\e(BOS2 \e$B$H\e(B Win32 FAT \e$B%\%j%e!<%`$O$=$&$G$O$"$j$^$;$s!#\e(B
+      \e$B$3$N5!G=$,M-8z$K$J$k$H!"%/%i%$%"%s%H$d%W%m%-%7$O\e(B
+      HEAD \e$B%j%/%(%9%H$r9T$J$&$3$H$K$h$C$F!"\e(B
+      \e$B%U%!%$%k0lMw$NJQ2=$rDI@W$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B
+      \e$B$$$/$D$+$N%*%Z%l!<%F%#%s%0%7%9%F%`$O!"?75,%U%!%$%k$d\e(B
+      \e$B0\F0%U%!%$%k$O@5$7$/DI@W$9$k$1$l$I$b!"\e(B
+      \e$B%G%#%l%/%H%jCf$N%U%!%$%k$N%5%$%:$dF|IU$ODI@W$7$J$$$H$$$&$3$H$K\e(B
+      \e$BCm0U$7$F$/$@$5$$!#\e(B</dd>
+   </dl>
+
+    <p>\e$B:G6a$N\e(B (1.3.0 \e$B$h$j8e$N\e(B) \e$B%P!<%8%g%s$N\e(B Apache
+    \e$B$O$3$N%G%#%l%/%F%#%V$N5sF0$K=EMW$J0c$$$,$"$j$^$9!#\e(B</p>
+
+    <dl>
+      <dt>Apache 1.3.2 \e$B0JA0\e(B:</dt>
+
+      <dd>
+        <p>\e$B%G%U%)%k%H$G$O$I$N%*%W%7%g%s$bM-8z$G$O$"$j$^$;$s!#J#?t$N\e(B
+        IndexOptions \e$B$rE,MQ$9$k$3$H$,$G$-!"$b$C$H$b>\:Y$J$b$N$,:NMQ$5$l$^$9\e(B;
+        options \e$B$O%^!<%8$5$l$^$;$s!#\e(B
+        \e$BNc\e(B:</p>
+
+        <blockquote>
+<pre>
+&lt;Directory /web/docs&gt;
+    IndexOptions FancyIndexing
+&lt;/Directory&gt;
+&lt;Directory /web/docs/spec&gt;
+    IndexOptions ScanHTMLTitles
+&lt;/Directory&gt;
+</pre>
+        </blockquote>
+         /web/docs/spec \e$B$KBP$7$F\e(B <code>ScanHTMLTitles</code>
+         \e$B$@$1$,@_Dj$5$l$^$9!#\e(B
+      </dd>
+
+      <dt>Apache 1.3.3 \e$B0J9_\e(B:</dt>
+
+      <dd>
+        <p>Apache 1.3.3 introduced some significant changes in the
+        handling of <samp>IndexOptions</samp> directives. In
+        particular,</p>
+
+        <ul>
+          <li>\e$BC10l$N%G%#%l%/%H%j$KBP$9$kJ#?t$N\e(B <samp>IndexOptions</samp>
+          \e$B%G%#%l%/%F%#%V$O8=:_$G$O8_$$$K%^!<%8$5$l$^$9!#\e(B
+          \e$B>e$NNc$N7k2L$O8=:_$O\e(B
+          <code>IndexOptions&nbsp;FancyIndexing&nbsp;ScanHTMLTitles</code>
+          \e$B$HF1Ey$K$J$j$^$9!#\e(B</li>
+
+          <li>\e$BA}8:9=J8\e(B
+          (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B'+' \e$B$^$?$O\e(B '-' \e$B$,F,$K$D$/%-!<%o!<%I\e(B)</li>
+        </ul>
+
+        <p>'+' \e$B$^$?$O\e(B '-' \e$B$,F,$K$D$/%-!<%o!<%I$r8+$D$1$k$H!"8=:_$N\e(B
+        <samp>IndexOptions</samp>
+        \e$B$N@_Dj\e(B(\e$B>e0L%G%#%l%/%H%j$+$i0z$-7Q$$$G$$$k$3$H$b$"$j$^$9\e(B)
+        \e$B$KBP$7$FE,MQ$7$^$9!#$7$+$7!"F,$K$D$+$J$$%-!<%o!<%I$,=hM}$5$l$k$H\e(B
+        \e$B$=$l$^$G$K0z$-7Q$$$@\e(B options \e$B$dA}8:$N@_Dj$r%/%j%"$7$F$7$^$$$^$9!#\e(B
+        \e$B0J2<$NNc$r9M$($F$/$@$5$$\e(B:</p>
+
+        <blockquote>
+          <code>IndexOptions +ScanHTMLTitles -IconsAreLinks
+          FancyIndexing<br />
+           IndexOptions +SuppressSize<br />
+          </code>
+        </blockquote>
+
+        <p>\e$B@5L#$N7k2L$O\e(B
+        <code>IndexOptions&nbsp;FancyIndexing&nbsp;+SuppressSize</code>
+        \e$B$HF1Ey$K$J$j$^$9!#F,$KIU$+$J$$\e(B <code>FancyIndexing</code>
+        \e$B$O$=$l0JA0$NA}8:%-!<%o!<%I$rL58z$K$7$^$9$,!"\e(B
+        \e$B$=$N8e$+$i:F$S@_Dj$rDI2C$7$F$$$/$3$H$,$G$-$^$9!#\e(B</p>
+
+        <p>\e$B$"$k%G%#%l%/%H%j$KBP$7$F!"L5>r7o$K\e(B <code>IndexOptions</code>
+        \e$B$r@_Dj$9$k$K$O%-!<%o!<%I$NF,$K\e(B '+' \e$B5Z$S\e(B '-'
+        \e$B$N$I$A$i$b$D$1$J$$$3$H$K$h$j0z$-7Q$,$l$?@_Dj$r%/%j%"$7$^$9!#\e(B</p>
+      </dd>
+    </dl>
+    <hr />
+
+    <h2><a id="indexorderdefault"
+    name="indexorderdefault">IndexOrderDefault</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> IndexOrderDefault
+    Ascending|Descending Name|Date|Size|Description <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess <br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base <br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a>
+    IndexOrderDefault \e$B$O\e(B Apache 1.3.4 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p><samp>IndexOrderDefault</samp> \e$B%G%#%l%/%F%#%V$O\e(B
+    <a href="#indexoptions:fancyindexing"><samp>FancyIndexing</samp></a>
+    \e$B%$%s%G%C%/%9%*%W%7%g%s$HJ;$;$FMQ$$$l$^$9!#\e(B
+    \e$B%G%U%)%k%H$G$O!"\e(BFancyIndexing 
+    \e$B$N%G%#%l%/%H%j0lMw$O%U%!%$%kL>$N>:=g$GI=<($5$l$^$9!#\e(B
+    <samp>IndexOrderDefault</samp>
+    \e$B$G!"=i4|>uBV$NI=<(=gHV$rJQ$($k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><samp>IndexOrderDefault</samp>
+    \e$B$OFs$D$N0z?t$r$H$j$^$9!#0l$DL\$O%=!<%H$NJ}8~$r;X<($9$k\e(B
+    <samp>Ascending</samp> \e$B$+\e(B <samp>Descending</samp> \e$B$N$$$:$l$+$G$9!#\e(B
+    \e$BFs$DL\$N0z?t$O\e(B <samp>Name</samp>, <samp>Date</samp>,
+    <samp>Size</samp> \e$B$+\e(B <samp>Description</samp> 
+    \e$B$N$$$:$l$+0l$D$N%-!<%o!<%I$G$"$C$F!"%W%i%$%^%j%-!<$r;XDj$7$^$9!#\e(B
+    \e$BFs$DL\$N%-!<$O\e(B<em>\e$B>o$K\e(B</em>\e$B%U%!%$%kL>$N>:=g$K$J$j$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$H\e(B <a
+    href="#indexoptions:suppresscolumnsorting"><samp>SuppressColumnSorting</samp></a>
+    \e$B%$%s%G%C%/%9%*%W%7%g%s$H$rAH$_9g$o$;$k$3$H$G!"\e(B
+    \e$B%G%#%l%/%H%j0lMw$r$"$kFCDj$N=gHV$G$N$_I=<($9$k$h$&$K$G$-$^$9!#\e(B
+    \e$B$3$l$O!"\e(B
+    \e$B%/%i%$%"%s%H$,JL$N=gHV$G%G%#%l%/%H%j0lMw$r%j%/%(%9%H$9$k$3$H$rKI$.$^$9!#\e(B</p>
+
+    <h2><a id="readmename" name="readmename">ReadmeName</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ReadmeName
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_autoindex <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$B$$$/$D$+$N5!G=$O\e(B 1.3.6 \e$B0J9_$G$N$_\e(B
+    \e$B;HMQ2DG=\e(B
+
+    <p>ReadmeName \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%$%s%G%C%/%9$N=*$o$j$KIU$12C$($i$l$k%U%!%$%k$NL>A0$r@_Dj$7$^$9!#\e(B
+    <samp>filename</samp> \e$B$OA^F~$9$k%U%!%$%k$NL>A0$G!"\e(B
+    \e$B0lMw$N9T$J$o$l$F$$$k0LCV$+$iAjBPE*$J$b$N$H$7$F2r<a$5$l$^$9!#\e(B</p>
+
+    <blockquote>
+      <strong><em>filename</em> \e$B0z?t$O\e(B Apache 1.3.6 \e$B0JA0$G$O%U%!%$%kL>$N0lIt!"\e(B
+      \e$B8e$N%P!<%8%g%s$G$OAjBP\e(B URI \e$B$H$7$F07$o$l$^$9!#\e(B
+      \e$B$3$l$,$I$N$h$&$K=hM}$5$l$k$N$+$H$$$&$3$H$K$D$$$F$N>\:Y$O\e(B
+      <a href="#headername">HeaderName</a> \e$B%G%#%l%/%F%#%V$N@bL@$K8+$D$1$i$l$^$9!#\e(B
+      \e$B$3$l$OF1$85!9=$r;H$$!"\e(BReadmeName\e$B$HF1;~$KJQ99$9$k$3$H$,$G$-$^$9!#\e(B</strong>
+    </blockquote>
+
+    <p>\e$B;2>H\e(B <a href="#headername">HeaderName</a></p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_browser.html b/htdocs/manual/mod/mod_browser.html
new file mode 100644 (file)
index 0000000..b6fd820
--- /dev/null
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_browser</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_browser</h1>
+    This module is contained in the <code>mod_browser.c</code>
+    file, and is compiled in by default. It provides for setting
+    environment variables based on the browser. This module is part
+    of Apache 1.2.* only. From Apache 1.3 onwards <code><a
+    href="mod_setenvif.html">mod_setenvif</a></code> provides the
+    functionality of this module. 
+
+    <h2>Summary</h2>
+
+    <p>This module allows you to set environment variables based on
+    the name of the browser accessing your document, based on the
+    <code>User-Agent</code> header field. This is especially useful
+    when combined with a conditional HTML language such as <a
+    href="mod_include.html">XSSI</a> or PHP, and can provide for
+    simple browser-based negotiation of HTML features.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#browsermatch">BrowserMatch</a></li>
+
+      <li><a href="#browsermatchnocase">BrowserMatchNoCase</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="browsermatch"
+    name="browsermatch">BrowserMatch</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BrowserMatch <em>regex
+    attr1 attr2...</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_browser<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+    above 
+
+    <p>The BrowserMatch directive defines environment variables
+    based on the User-Agent header. The first argument should be a
+    POSIX.2 extended regular expression (similar to an egrep-style
+    regex). The rest of the arguments give names of variables to
+    set. These take the form of either "<code>varname</code>",
+    "<code>!varname</code>" or "<code>varname=value</code>". In the
+    first form, the value will be set to "1". The second will
+    remove the given variable if already defined, and the third
+    will set the variable to the value given by <code>value</code>.
+    If a User-Agent string matches more than one entry, they will
+    be merged. Entries are processed in the order they appear, and
+    later entries can override earlier ones.</p>
+
+    <p>For example:</p>
+<pre>
+    BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+    BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+    BrowserMatch MSIE !javascript
+</pre>
+
+    <h2><a id="browsermatchnocase"
+    name="browsermatchnocase">BrowserMatchNoCase</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BrowserMatchNoCase
+    <em>regex attr1 attr2...</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_browser<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+    above 
+
+    <p>The <code>BrowserMatchNoCase</code> directive is
+    semantically identical to the <a
+    href="#browsermatch"><code>BrowserMatch</code></a> directive.
+    However, it provides for case-insensitive matching. For
+    example:</p>
+<pre>
+    BrowserMatchNoCase mac platform=macintosh
+    BrowserMatchNoCase win platform=windows
+</pre>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_cern_meta.html b/htdocs/manual/mod/mod_cern_meta.html
new file mode 100644 (file)
index 0000000..dd1c13e
--- /dev/null
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Module mod_cern_meta</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache module mod_cern_meta</h1>
+
+    <p>This module provides for CERN httpd metafile semantics.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_cern_meta.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    cern_meta_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+    <!-- XXX: Should mention other possibilities in Apache: mod_header -->
+    Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP
+    headers that can be output in addition to the normal range of
+    headers for each file accessed. They appear rather like the
+    Apache .asis files, and are able to provide a crude way of
+    influencing the Expires: header, as well as providing other
+    curiosities. There are many ways to manage meta information,
+    this one was chosen because there is already a large number of
+    CERN users who can exploit this module. 
+
+    <p>More information on the <a
+    href="http://www.w3.org/Daemon/User/Config/General.html#MetaDir">
+    CERN metafile semantics</a> is available.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#metafiles">MetaFiles</a></li>
+
+      <li><a href="#metadir">MetaDir</a></li>
+
+      <li><a href="#metasuffix">MetaSuffix</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="metafiles" name="metafiles">MetaFiles</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MetaFiles on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>MetaFiles
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a>directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_cern_meta<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> MetaFiles is
+    only available in Apache 1.3 and later. 
+
+    <p>Turns on/off Meta file processing on a per-directory basis.
+    This option was introduced in Apache 1.3.</p>
+    <hr />
+
+    <h2><a id="metadir" name="metadir">MetaDir</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MetaDir
+    <em>directory</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>MetaDir
+    .web</code><br />
+     <strong>Context: (Apache prior to 1.3)</strong> server
+    config<br />
+     <strong>Context: (Apache 1.3)</strong> directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_cern_meta<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> MetaDir is only
+    available in Apache 1.1 and later. 
+
+    <p>Specifies the name of the directory in which Apache can find
+    meta information files. The directory is usually a 'hidden'
+    subdirectory of the directory that contains the file being
+    accessed. Set to "<code>.</code>" to look in the same directory
+    as the file.</p>
+    <hr />
+
+    <h2><a id="metasuffix" name="metasuffix">MetaSuffix</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MetaSuffix
+    <em>suffix</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>MetaSuffix
+    .meta</code><br />
+     <strong>Context: (Apache prior to 1.3)</strong> server
+    config<br />
+     <strong>Context: (Apache 1.3)</strong> directory<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_cern_meta<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> MetaSuffix is
+    only available in Apache 1.1 and later. 
+
+    <p>Specifies the file name suffix for the file containing the
+    meta information. For example, the default values for the two
+    directives will cause a request to
+    <code>DOCUMENT_ROOT/somedir/index.html</code> to look in
+    <code>DOCUMENT_ROOT/somedir/.web/index.html.meta</code> and
+    will use its contents to generate additional MIME header
+    information.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_cgi.html.en b/htdocs/manual/mod/mod_cgi.html.en
new file mode 100644 (file)
index 0000000..d87c367
--- /dev/null
@@ -0,0 +1,218 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_cgi</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_cgi</h1>
+
+    <p>This module provides for execution of CGI scripts.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_cgi.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    cgi_module</p>
+
+    <h2>Summary</h2>
+    <!-- XXX: Should have references to CGI definition/RFC -->
+    Any file that has the mime type
+    <code>application/x-httpd-cgi</code> or handler
+    <code>cgi-script</code> (Apache 1.1 or later) will be treated
+    as a CGI script, and run by the server, with its output being
+    returned to the client. Files acquire this type either by
+    having a name containing an extension defined by the <a
+    href="mod_mime.html#addtype">AddType</a> directive, or by being
+    in a <a href="mod_alias.html#scriptalias">ScriptAlias</a>
+    directory. Files that are not in a <a
+    href="mod_alias.html#scriptalias">ScriptAlias</a> directory,
+    but which are of type <code>application/x-httpd-cgi</code> by
+    virtue of an <code>AddType</code> directive, will still not be
+    executed by the server unless <code>Options ExecCGI</code> is
+    enabled. See the <a
+    href="core.html#options"><code>Options</code></a> directive for
+    more details. 
+
+    <p>When the server invokes a CGI script, it will add a variable
+    called <code>DOCUMENT_ROOT</code> to the environment. This
+    variable will contain the value of the <a
+    href="core.html#documentroot">DocumentRoot</a> configuration
+    variable.</p>
+
+    <p>For an introduction to using CGI scripts with Apache, see
+    our tutorial on <a href="../howto/cgi.html">Dynamic Content
+    with CGI</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#scriptlog">ScriptLog</a></li>
+
+      <li><a href="#scriptloglength">ScriptLogLength</a></li>
+
+      <li><a href="#scriptlogbuffer">ScriptLogBuffer</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#options">Options</a>, <a
+    href="mod_alias.html#scriptalias">ScriptAlias</a>, <a
+    href="mod_mime.html#addtype">AddType</a> and <a
+    href="mod_mime.html#addhandler">AddHandler</a>.</p>
+
+    <h2>CGI Environment variables</h2>
+    The server will set the CGI environment variables as described
+    in the <a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI
+    specification</a>, with the following provisions: 
+
+    <dl>
+      <dt>REMOTE_HOST</dt>
+
+      <dd>This will only be set if <a
+      href="core.html#hostnamelookups"><code>HostnameLookups</code></a>
+      is set to <code>on</code> (it is off by default), and if a
+      reverse DNS lookup of the accessing host's address indeed
+      finds a host name.</dd>
+
+      <dt>REMOTE_IDENT</dt>
+
+      <dd>This will only be set if <a
+      href="core.html#identitycheck">IdentityCheck</a> is set to
+      <code>on</code> and the accessing host supports the ident
+      protocol. Note that the contents of this variable cannot be
+      relied upon because it can easily be faked, and if there is a
+      proxy between the client and the server, it is usually
+      totally useless.</dd>
+
+      <dt>REMOTE_USER</dt>
+
+      <dd>This will only be set if the CGI script is subject to
+      authentication.</dd>
+    </dl>
+
+    <h2><a id="cgi_debug" name="cgi_debug">CGI Debugging</a></h2>
+    Debugging CGI scripts has traditionally been difficult, mainly
+    because it has not been possible to study the output (standard
+    output and error) for scripts which are failing to run
+    properly. These directives, included in Apache 1.2 and later,
+    provide more detailed logging of errors when they occur. 
+
+    <h2>CGI Logfile Format</h2>
+    When configured, the CGI error log logs any CGI which does not
+    execute properly. Each CGI script which fails to operate causes
+    several lines of information to be logged. The first two lines
+    are always of the format: 
+<pre>
+  %% [<em>time</em>] <em>request-line</em>
+  %% <em>HTTP-status</em> <em>CGI-script-filename</em>
+</pre>
+    If the error is that CGI script cannot be run, the log file
+    will contain an extra two lines: 
+<pre>
+  %%error
+  <em>error-message</em>
+</pre>
+    Alternatively, if the error is the result of the script
+    returning incorrect header information (often due to a bug in
+    the script), the following information is logged: 
+<pre>
+  %request
+  <em>All HTTP request headers received</em>
+  <em>POST or PUT entity (if any)</em>
+  %response
+  <em>All headers output by the CGI script</em>
+  %stdout
+  <em>CGI standard output</em>
+  %stderr
+  <em>CGI standard error</em>
+</pre>
+    (The %stdout and %stderr parts may be missing if the script did
+    not output anything on standard output or standard error). 
+    <hr />
+
+    <h3><a id="scriptlog" name="scriptlog">ScriptLog</a>
+    directive</h3>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScriptLog
+    <em>filename</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> none<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> mod_cgi 
+
+    <p>The <tt>ScriptLog</tt> directive sets the CGI script error
+    logfile. If no ScriptLog is given, no error log is created. If
+    given, any CGI errors are logged into the filename given as
+    argument. If this is a relative file or path it is taken
+    relative to the server root.</p>
+
+    <p>This log will be opened as the user the child processes run
+    as, ie. the user specified in the main <a
+    href="core.html#user">User</a> directive. This means that
+    either the directory the script log is in needs to be writable
+    by that user or the file needs to be manually created and set
+    to be writable by that user. If you place the script log in
+    your main logs directory, do <strong>NOT</strong> change the
+    directory permissions to make it writable by the user the child
+    processes run as.</p>
+
+    <p>Note that script logging is meant to be a debugging feature
+    when writing CGI scripts, and is not meant to be activated
+    continuously on running servers. It is not optimized for speed
+    or efficiency, and may have security problems if used in a
+    manner other than that for which it was designed.</p>
+    <hr />
+
+    <h3><a id="scriptloglength"
+    name="scriptloglength">ScriptLogLength</a> directive</h3>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScriptLogLength
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> 10385760<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> mod_cgi 
+
+    <p><tt>ScriptLogLength</tt> can be used to limit the size of
+    the CGI script logfile. Since the logfile logs a lot of
+    information per CGI error (all request headers, all script
+    output) it can grow to be a big file. To prevent problems due
+    to unbounded growth, this directive can be used to set an
+    maximum file-size for the CGI logfile. If the file exceeds this
+    size, no more information will be written to it.</p>
+    <hr />
+
+    <h3><a id="scriptlogbuffer"
+    name="scriptlogbuffer">ScriptLogBuffer</a></h3>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ScriptLogBuffer
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> 1024<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> mod_cgi 
+
+    <p>The size of any PUT or POST entity body that is logged to
+    the file is limited, to prevent the log file growing too big
+    too quickly if large bodies are being received. By default, up
+    to 1024 bytes are logged, but this can be changed with this
+    directive. <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_cgi.html.html b/htdocs/manual/mod/mod_cgi.html.html
new file mode 100644 (file)
index 0000000..38797fa
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_cgi.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_cgi.html.ja.jis b/htdocs/manual/mod/mod_cgi.html.ja.jis
new file mode 100644 (file)
index 0000000..e9b3de3
--- /dev/null
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_cgi</title>
+
+  </head>
+  <!-- English revision: 1.25 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_cgi \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O\e(B CGI \e$B%9%/%j%W%H$r<B9T$9$k5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_cgi.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a> cgi_module
+    </p>
+
+    <h2>\e$B35MW\e(B</h2>
+    <!-- XXX: Should have references to CGI definition/RFC -->
+    <p>Mime \e$B%?%$%W$,\e(B <code>application/x-httpd-cgi</code> 
+    \e$B$G$"$k$+!"%O%s%I%i\e(B <code>cgi-script</code> (Apache 1.1 \e$B0J9_\e(B)
+    \e$B$,;XDj$5$l$F$$$k%U%!%$%k$O\e(B CGI \e$B%9%/%j%W%H$H$7$F07$o$l!"\e(B
+    \e$B%5!<%P$K$h$j<B9T$5$l!"$=$N=PNO$,%/%i%$%"%s%H$KJV$5$l$^$9!#\e(B
+    \e$B%U%!%$%k$O!"\e(B<a href="mod_mime.html#addtype">AddType</a>
+    \e$B%G%#%l%/%F%#%V$K;XDj$5$l$?\e(B \e$B3HD%;R$rL>A0$K4^$`$+!"\e(B
+    <a href="mod_alias.html#scriptalias">ScriptAlias</a>
+    \e$B%G%#%l%/%H%j$KB8:_$9$k$3$H$K$h$j$3$N%?%$%W$K$J$j$^$9!#\e(B
+    <a href="mod_alias.html#scriptalias">ScriptAlias</a>
+    \e$B%G%#%l%/%H%j$K$J$/!"\e(B<code>AddType</code>
+    \e$B%G%#%l%/%F%#%V$K$h$j\e(B <code>application/x-httpd-cgi</code>
+    \e$B$N%?%$%W$r;}$D%U%!%$%k$O!"\e(B<code>Options ExecCGI</code>
+    \e$B$,;XDj$5$l$F$$$J$1$l$P%5!<%P$K$h$j<B9T$5$l$k$3$H$O$"$j$^$;$s!#\e(B
+    \e$B>\:Y$O\e(B <a href="core.html#options"><code>Options</code></a>
+    \e$B%G%#%l%/%F%#%V$r\e(B \e$B;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p>\e$B%5!<%P$,\e(B CGI \e$B%9%/%j%W%H$r<B9T$9$k$H$-$K$O!"\e(B
+    <code>DOCUMENT_ROOT</code>
+    \e$B$H8F$P$l$kJQ?t$r4D6-$KDI2C$7$^$9!#$3$NJQ?t$O\e(B
+    <a href="core.html#documentroot">DocumentRoot</a>
+    \e$B$NCM$rJ];}$7$^$9!#\e(B</p>
+
+    <p>Apache \e$B$G\e(B CGI \e$B%9%/%j%W%H$r;HMQ$9$k$?$a$N%$%s%H%m%@%/%7%g%s$O!"\e(B
+    <a href="../howto/cgi.html">CGI \e$B$K$h$kF0E*%3%s%F%s%D\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#scriptlog">ScriptLog</a></li>
+
+      <li><a href="#scriptloglength">ScriptLogLength</a></li>
+
+      <li><a href="#scriptlogbuffer">ScriptLogBuffer</a></li>
+    </ul>
+
+    <p><a href="core.html#options">Options</a>, <a
+    href="mod_alias.html#scriptalias">ScriptAlias</a>, <a
+    href="mod_mime.html#addtype">AddType</a>, <a
+    href="mod_mime.html#addhandler">AddHandler</a>
+    \e$B$b;2>H$7$F$/$@$5$$!#\e(B</p>
+    <h2>CGI \e$B4D6-JQ?t\e(B</h2>
+    <p>\e$B%5!<%P$O\e(B <a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI
+    \e$B5,3J\e(B</a> \e$B$G7h$a$i$l$F$$$k\e(B CGI
+    \e$B4D6-JQ?t$r@_Dj$7$^$9!#0J2<$N$b$N$O!">r7oIU$-$G@_Dj$5$l$^$9!#\e(B</p>
+
+    <dl>
+      <dt>REMOTE_HOST</dt>
+
+      <dd><a
+      href="core.html#hostnamelookups"><code>HostnameLookups</code></a>
+      \e$B$,\e(B <code>on</code> (\e$B%G%U%)%k%H$G$O\e(B off \e$B$G$9\e(B)
+      \e$B$G!"%"%/%;%9$7$F$$$k%[%9%H$N%"%I%l%9$N\e(B DNS
+      \e$B$N5U0z$-$,<B:]$K%[%9%HL>$r8+$D$1$?$H$-$K$N$_@_Dj$5$l$^$9!#\e(B</dd>
+
+      <dt>REMOTE_IDENT</dt>
+
+      <dd><a href="core.html#identitycheck">IdentityCheck</a>
+      \e$B$,\e(B <code>on</code> \e$B$K@_Dj$5$l$F$$$F!"%"%/%;%9$7$F$$$k%[%9%H$,\e(B
+      ident \e$B%W%m%H%3%k$r%5%]!<%H$7$F$$$k$H$-$K$N$_@_Dj$5$l$^$9!#\e(B
+      \e$B$3$l$O4JC1$K56$k$3$H$,$G$-!"%/%i%$%"%s%H$H%5!<%P$N4V$K\e(B
+      \e$B%W%m%-%7$,$"$l$P$^$C$?$/Lr$KN)$?$J$$$N$G!"\e(B
+      \e$B$3$NJQ?t$NCM$O?.MQ$G$-$J$$$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+      </dd>
+
+      <dt>REMOTE_USER</dt>
+
+      <dd>CGI
+      \e$B%9%/%j%W%H$KG'>Z$,I,MW$J$H$-$K$N$_@_Dj$5$l$^$9!#\e(B</dd>
+    </dl>
+
+    <h2><a id="cgi_debug" name="cgi_debug">CGI \e$B$N%G%P%C%0\e(B</a></h2>
+    <p>CGI \e$B%9%/%j%W%H$N%G%P%C%0$O!"@5$7$/F0:n$7$F$$$J$$%9%/%j%W%H$N=PNO\e(B
+    (\e$BI8=`=PNO$H%(%i!<\e(B)
+    \e$B$rD4$Y$k$3$H$,$G$-$J$$$?$a$K!"Fq$7$$>uBV$,B3$$$F$$$^$7$?!#\e(B
+    \e$B$3$l$i$N\e(B Apache 1.2 \e$B0J9_$K$"$k\e(B
+    \e$B%G%#%l%/%F%#%V$O$h$j>\:Y$J%(%i!<$N%m%0<}=8$rDs6!$7$^$9!#\e(B</p>
+
+    <h2>CGI \e$B%m%0%U%!%$%k$N=q<0\e(B</h2>
+    <p>\e$B@_Dj$5$l$F$$$k$H$-$K$O!"\e(BCGI \e$B%(%i!<%m%0$OE,@Z$KF0:n$7$J$$$9$Y$F$N\e(B
+    CGI \e$B$r%m%0<}=8$7$^$9!#$=$l$>$l$N@5$7$/F0:n$7$J$$\e(B CGI
+    \e$B%9%/%j%W%H$O\e(B \e$BJ#?t$N9T$K$o$?$k>pJs$,%m%0<}=8$5$l$^$9!#:G=i$N\e(B
+    2 \e$B9T$O>o$K0J2<$N=q<0$G$9\e(B:</p>
+<pre>
+  %% [<em>time</em>] <em>request-line</em>
+  %% <em>HTTP-status</em> <em>CGI-script-filename</em>
+</pre>
+    <p>\e$B%(%i!<$,!"\e(BCGI \e$B%9%/%j%W%H$,<B9T$G$-$J$$$H$$$&$b$N$G$"$k>l9g$O!"\e(B
+    \e$B%m%0%U%!%$%k$O$5$i$K$b$&\e(B 2 \e$B9T=q$+$l$^$9\e(B:</p>
+<pre>
+  %%error
+  <em>error-message</em>
+</pre>
+    <p>\e$B$=$&$G$O$J$/!"%(%i!<$,@5$7$/$J$$%X%C%@>pJs$rJV$97k2L$G$"$k>l9g\e(B
+    (\e$B%9%/%j%W%H$N%P%0$G$"$k$3$H$,$h$/$"$j$^$9\e(B)\e$B!"\e(B
+    \e$B0J2<$N>pJs$,%m%0<}=8$5$l$^$9\e(B:</p>
+<pre>
+  %request
+  <em>All HTTP request headers received</em>
+  <em>POST or PUT entity (if any)</em>
+  %response
+  <em>All headers output by the CGI script</em>
+  %stdout
+  <em>CGI standard output</em>
+  %stderr
+  <em>CGI standard error</em>
+</pre>
+    <p>(\e$B%9%/%j%W%H$,I8=`=PNO$dI8=`%(%i!<$K2?$b=PNO$7$J$+$C$?>l9g$O!"\e(B
+    %stdout \e$B$d\e(B %stderr \e$B$O$"$j$^$;$s\e(B)\e$B!#\e(B</p>
+    <hr />
+
+    <h3><a id="scriptlog" name="scriptlog">ScriptLog</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h3>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScriptLog
+    <em>filename</em><br />
+    <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> none<br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> mod_cgi 
+    <p><tt>ScriptLog</tt> \e$B%G%#%l%/%F%#%V$O\e(B CGI \e$B%9%/%j%W%H$N\e(B
+    \e$B%(%i!<%m%0%U%!%$%k$r@_Dj$7$^$9!#\e(BScriptLog \e$B$,@_Dj$5$l$F$$$J$$$H$-$O!"\e(B
+    \e$B%(%i!<%m%0$O:n@.$5$l$^$;$s!#@_Dj$5$l$F$$$k$H$-$O!"\e(BCGI
+    \e$B$N%(%i!<$O$9$Y$F0z?t$H$7$FM?$($i$l$F$$$k%U%!%$%kL>$K%m%0$5$l$^$9!#\e(B
+    \e$BAjBP%Q%9$G;XDj$5$l$F$$$k$H$-$O!"\e(B
+    \e$B%5!<%P%k!<%H$+$i$NAjBP%Q%9$H$7$F07$o$l$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%m%0$O;R%W%m%;%9$,<B9T$5$l$F$$$k%f!<%6$H$7$F%*!<%W%s$5$l$^$9!#\e(B
+    \e$B$9$J$o$A!"\e(B<a href="core.html#user">User</a> \e$B%G%#%l%/%F%#%V$G;XDj$5$l$?\e(B
+    \e$B%f!<%6$G$9!#$3$l$O!"%9%/%j%W%H%m%0$,=q$+$l$k%G%#%l%/%H%j$,$=$N%f!<%6$G\e(B
+    \e$B=q$-9~$_2DG=$+!"%9%/%j%W%H%U%!%$%k$,<jF0$G:n@.$5$l!"$=$N%f!<%6$G\e(B
+    \e$B=q$-9~$_2DG=$K$J$C$F$$$kI,MW$,$"$k$H$$$&$3$H$G$9!#%9%/%j%W%H%m%0$r\e(B
+    \e$B%"%/%;%9%m%0$J$I$N$?$a$N%m%0%G%#%l%/%H%j$K=q$+$l$k$h$&$K$7$?$H$-$O!"\e(B
+    \e$B$=$N%G%#%l%/%H%j$r;R%W%m%;%9$r<B9T$7$F$$$k%f!<%6$N8"8B$G\e(B
+    \e$B=q$-9~$_2DG=$K$O\e(B<strong>\e$B$7$J$$\e(B</strong>\e$B$h$&$K$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%9%/%j%W%H$N%m%0<}=8$O\e(B CGI \e$B%9%/%j%W%H$r=q$/$H$-$N\e(B
+    \e$B%G%P%C%0MQ$N5!G=$H$7$F0U?^$5$l$F$$$F!"DL>o$N%5!<%P$G\e(B
+    \e$B>o$K;HMQ$5$l$k$h$&$K$O0U?^$5$l$F$$$J$$$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    \e$BB.EY$d8zN($O:GE,2=$5$l$F$*$i$:!"@_7W$5$l$?0J30$NJ}K!$G;HMQ$5$l$k$H\e(B
+    \e$B%;%-%e%j%F%#$NLdBj$,$"$k$+$b$7$l$^$;$s!#\e(B</p>
+    <hr />
+
+    <h3><a id="scriptloglength" name="scriptloglength">ScriptLogLength</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h3>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScriptLogLength
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> 10385760<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> mod_cgi 
+    <p><tt>ScriptLogLength</tt> \e$B$O\e(B CGI \e$B%9%/%j%W%H$N%m%0%U%!%$%k\e(B
+    \e$B$NBg$-$5$r@)8B$9$k$?$a$K;HMQ$9$k$3$H$,$G$-$^$9!#%m%0%U%!%$%k$O\e(B
+    CGI \e$B$N%(%i!<Kh$KBgNL$N>pJs\e(B (\e$B%j%/%(%9%H$N$9$Y$F$N%X%C%@!"\e(B
+    \e$B$9$Y$F$N=PNO\e(B)\e$B$r%m%0$7$^$9$N$G!"$9$0$KBg$-$J%U%!%$%k$K$J$j$^$9!#\e(B
+    \e$B$3$NBg$-$5$N@)8B$,$J$$$3$H$K$h$kLdBj$rKI$0$?$a$K!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$r;H$C$F\e(B CGI \e$B$N%m%0%U%!%$%k$N\e(B
+    \e$B:GBg$N%U%!%$%k%5%$%:$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%U%!%$%k$,$3$NBg$-$5$rD6$($?>l9g$O!"$=$l0J>e$O=q$-9~$^$l$^$;$s!#\e(B</p>
+    <hr />
+    <h3><a id="scriptlogbuffer"
+    name="scriptlogbuffer">ScriptLogBuffer</a></h3>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> ScriptLogBuffer
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> 1024<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> mod_cgi 
+    <p>\e$BBg$-$JK\BN$r<u$1<h$C$?$H$-$K%m%0%U%!%$%k$,$9$0$KBg$-$/$J$j$9$.$k\e(B
+    \e$BLdBj$rHr$1$k$?$a$K!"%U%!%$%k$K%m%0<}=8$5$l$k\e(B PUT \e$B$H\e(B POST
+    \e$B$NK\BN$NBg$-$5$O@)8B$5$l$F$$$^$9!#%G%U%)%k%H$G$O!"\e(B1024
+    \e$B%P%$%H$^$G$,%m%0<}=8$5$l$^$9$,!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O$=$l$rJQ99$9$k$3$H$,$G$-$^$9!#\e(B 
+    </p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_cookies.html b/htdocs/manual/mod/mod_cookies.html
new file mode 100644 (file)
index 0000000..f5f23d5
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_cookies</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_cookies</h1>
+    <strong><font color="red">This module is obsolete. As of
+    version 1.2 of Apache, it has been replaced with <a
+    href="mod_usertrack.html">mod_usertrack</a>.</font></strong> 
+
+    <p>This module is contained in the <code>mod_cookies.c</code>
+    file, and is not compiled in by default. It provides for
+    Netscape(TM) cookies. There is no documentation available for
+    this module.</p>
+
+    <ul>
+      <li><a href="#cookielog">CookieLog</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="cookielog" name="cookielog">CookieLog</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookieLog
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_cookies 
+
+    <p>The CookieLog directive sets the filename for logging of
+    cookies. The filename is relative to the <a
+    href="core.html#serverroot">ServerRoot</a>.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_digest.html b/htdocs/manual/mod/mod_digest.html
new file mode 100644 (file)
index 0000000..67a4bbe
--- /dev/null
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_digest</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_digest</h1>
+
+    <p>This module provides for user authentication using MD5
+    Digest Authentication.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_digest.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    digest_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module implements an older version of the MD5 Digest
+    Authentication specification.  While suitable for most modern
+    browsers, mod_digest is known to not work with Microsoft
+    Internet Explorer. Please see <a
+    href="mod_auth_digest.html">mod_auth_digest</a> for a module
+    which implements the most recent version of the standard
+    and does not suffer from the same limitations as mod_digest.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#authdigestfile">AuthDigestFile</a></li>
+    </ul>
+
+    <h2>Using Digest Authentication</h2>
+
+    <p>Using MD5 Digest authentication is very simple. Simply set
+    up authentication normally. However, use "AuthType Digest" and
+    "AuthDigestFile" instead of the normal "AuthType Basic" and
+    "AuthUserFile".</p>
+
+    <p>As to make sure that replay is not possible across
+    sections of the site, or across sites (assuming a realm,
+    userid and password are valid in that wider context) a
+    secret nonce prefix can be configured with the
+    core directive <a href="core.html#AuthDigestRealmSeed">AuthDigestRealmSeed</a>.
+    </p>
+    <p>If none if configured a sensible, but not particular
+    secure, default is used. When used in load balancing
+    situations the prefix should be shared across servers.
+    </p>
+    <p>The experimental <a href="mod_auth_digest.html">mod_auth_digest</a>
+    module offers a number of additinal protections against replay.
+    </p>
+
+    <p>Everything else should remain the same.</p>
+
+    <p>MD5 authentication provides a more secure password system,
+    but only works with supporting browsers. As of this writing
+    (December 2003) most major browsers, including 
+    <a href="http://www.microsoft.com/windows/ie/">MS Internet Explorer</a>,
+    <a href="http://www.opera.com/">Opera</a>,
+    <a href="http://www.netscape.com/">Netscape</a>,
+    <a href="http://www.mozilla.org/">Mozilla</a>, and
+    <a href="http://www.w3.org/Amaya/">Amaya</a>,
+    support the Digest authentication scheme.  However, of this list
+    MS Internet Explorer is known to be incompatable with the
+    older digest authentication format supported by this module.
+    Therefore, we do not recommend using this module on a large
+    Internet site. However, for personal and intra-net use, where
+    browser users can be controlled, it is ideal.</p>
+
+    <p>See also <a href="mod_auth_digest.html">mod_auth_digest</a>,
+    which is an updated version of this module, in order to determine
+    whether you want to use that module instead. In either case, if
+    you are using one, you should not use the other, as they share
+    some of the same configuration directives.</p>
+    <hr />
+
+    <h2><a id="authdigestfile"
+    name="authdigestfile">AuthDigestFile</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AuthDigestFile
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_digest 
+
+    <p>The AuthDigestFile directive sets the name of a textual file
+    containing the list of users and encoded passwords for digest
+    authentication. <em>Filename</em> is the absolute path to the
+    user file.</p>
+
+    <p>Example</p>
+
+    <code>AuthDigestFile /usr/local/apache/passwords/passwords.digest</code>
+
+    <p>The digest file uses a special format. Files in this format
+    can be created using the "<a href="../programs/htdigest.html">htdigest</a>"
+    utility found in the support/ subdirectory of the Apache distribution.</p>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_dir.html.en b/htdocs/manual/mod/mod_dir.html.en
new file mode 100644 (file)
index 0000000..d1573a6
--- /dev/null
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_dir</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_dir</h1>
+
+    <p>This module provides for "trailing slash" redirects and
+    serving directory index files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_dir.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    dir_module</p>
+
+    <h2>Summary</h2>
+    The index of a directory can come from one of two sources: 
+
+    <ul>
+      <li>A file written by the user, typically called
+      <code>index.html</code>. The <a
+      href="#directoryindex">DirectoryIndex</a> directive sets the
+      name of this file. This is controlled by
+      <code>mod_dir</code>.</li>
+
+      <li>Otherwise, a listing generated by the server. This is
+      provided by <a
+      href="mod_autoindex.html"><code>mod_autoindex</code></a>.</li>
+    </ul>
+    The two functions are separated so that you can completely
+    remove (or replace) automatic index generation should you want
+    to. 
+
+    <p>A "trailing slash" redirect is issued when the server
+    receives a request for a URL
+    <samp>http://servername/foo/dirname</samp> where
+    <samp>dirname</samp> is a directory. Directories require a
+    trailing slash, so <code>mod_dir</code> issues a redirect to
+    <samp>http://servername/foo/dirname/</samp>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#directoryindex">DirectoryIndex</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="directoryindex"
+    name="directoryindex">DirectoryIndex</a> directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt DirectoryIndex} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> DirectoryIndex
+    <em>local-url</em> [<em>local-url</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>DirectoryIndex
+    index.html</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_dir 
+
+    <p>The DirectoryIndex directive sets the list of resources to
+    look for, when the client requests an index of the directory by
+    specifying a / at the end of the a directory name.
+    <em>Local-url</em> is the (%-encoded) URL of a document on the
+    server relative to the requested directory; it is usually the
+    name of a file in the directory. Several URLs may be given, in
+    which case the server will return the first one that it finds.
+    If none of the resources exist and the <code>Indexes</code>
+    option is set, the server will generate its own listing of the
+    directory.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+      <code>DirectoryIndex index.html</code>
+    </blockquote>
+    then a request for <code>http://myserver/docs/</code> would
+    return <code>http://myserver/docs/index.html</code> if it
+    exists, or would list the directory if it did not. 
+
+    <p>Note that the documents do not need to be relative to the
+    directory;</p>
+
+    <blockquote>
+      <code>DirectoryIndex index.html index.txt
+      /cgi-bin/index.pl</code>
+    </blockquote>
+    would cause the CGI script <code>/cgi-bin/index.pl</code> to be
+    executed if neither <code>index.html</code> or
+    <code>index.txt</code> existed in a directory. 
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_dir.html.html b/htdocs/manual/mod/mod_dir.html.html
new file mode 100644 (file)
index 0000000..51a9afa
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_dir.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_dir.html.ja.jis b/htdocs/manual/mod/mod_dir.html.ja.jis
new file mode 100644 (file)
index 0000000..2ccbeae
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_dir</title>
+
+  </head>
+  <!-- English revision: 1.16 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_dir \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"%9%i%C%7%e$G=*$o$k\e(B URL \e$B$X$N%j%/%(%9%H$,$"$C$?:]$K!"\e(B
+    \e$B%G%#%l%/%H%j%$%s%G%C%/%9%U%!%$%k$X%j%@%$%l%/%H$7$FDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_dir.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    dir_module</p>
+
+    <h2>\e$B35MW\e(B</h2>
+    <p>\e$B%G%#%l%/%H%j%$%s%G%C%/%9$O!"<!$NFs$D$N$&$A$I$A$i$+$,MxMQ$5$l$^$9!#\e(B</p>
+
+    <ul>
+      <li>\e$B0l$DL\$O!"%f!<%6$,:n@.$7$?%U%!%$%k$rMQ$$$k$b$N$G!"DL>o\e(B
+      <code>index.html</code> \e$B$H$$$&%U%!%$%kL>$r;H$$$^$9!#$3$N%U%!%$%kL>$O!"\e(B
+      <a href="#directoryindex">DirectoryIndex</a> \e$B%G%#%l%/%F%#%V$G\e(B
+      \e$B;XDj$9$k$3$H$,$G$-$^$9!#$3$N5!G=$O\e(B <code>mod_dir</code>
+      \e$B%b%8%e!<%k$GDs6!$5$l$^$9!#\e(B</li>
+
+      <li>\e$B$b$&0l$D$NJ}K!$O!"\e(B
+      \e$B%5!<%P$K$h$C$F<+F0E*$K@8@.$5$l$k%G%#%l%/%H%j%j%9%H$rMQ$$$k>l9g$G$9!#\e(B
+      \e$B$3$N5!G=$O!"\e(B<a href="mod_autoindex.html"><code>mod_autoindex</code></a>
+      \e$B%b%8%e!<%k$K$h$jDs6!$5$l$^$9!#\e(B</li>
+    </ul>
+    \e$B<+F0E*$J%$%s%G%C%/%9@8@.5!G=$r:o=|\e(B (\e$B$b$7$/$O8r49\e(B)
+    \e$B$G$-$k$h$&$K!"$3$NFs$D$N5!G=$OJ,N%$5$l$F$$$^$9!#\e(B
+
+    <p>\e$B$J$*\e(B <samp>http://servername/foo/dirname</samp> \e$B$H$$$&\e(B URL
+    \e$B$X$N%j%/%(%9%H$,$"$C$?:]$K!"\e(B<samp>dirname</samp>
+    \e$B$H$$$&%G%#%l%/%H%j$,$"$l$P!"!V:G8e$K%9%i%C%7%e$r$D$1$?7A!W$N\e(B URL
+    \e$B$X$N%j%@%$%l%/%H$rAw=P$7$^$9!#\e(B
+    \e$B%G%#%l%/%H%j$X$N%"%/%;%9$O%9%i%C%7%e$G=*$o$C$F$$$kI,MW$,$"$j!"\e(B
+    <code>mod_dir</code> \e$B$O!"\e(B<samp>http://servername/foo/dirname/</samp>
+    \e$B$X$N%j%@%$%l%/%H$rAw=P$9$k$3$H$K$J$j$^$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+    <ul>
+      <li><a href="#directoryindex">DirectoryIndex</a></li>
+    </ul>
+    <hr />
+
+    <h2><a name="directoryindex" id="directoryindex">DirectoryIndex</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt DirectoryIndex} directive&gt; -->
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> DirectoryIndex
+    <em>local-url</em> [<em>local-url</em>] ...<br />
+     <a href="directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>DirectoryIndex
+    index.html</code><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> Indexes<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_dir</p>
+
+    <p>
+    \e$B%/%i%$%"%s%H$,!"%G%#%l%/%H%jL>$N:G8e$K!V\e(B/\e$B!W\e(B
+    \e$B$r;XDj$7$F%G%#%l%/%H%j%$%s%G%C%/%9$rMW5a$9$k>l9g$KC5$9%j%=!<%9$N%j%9%H$r\e(B
+    DirectoryIndex \e$B%G%#%l%/%F%#%V$G@_Dj$7$^$9!#\e(B<em>Local-url</em>
+    \e$B$O!"%j%/%(%9%H$5$l$?%G%#%l%/%H%j$KBP1~$9$k!"%5!<%P>e$N%I%-%e%a%s%H$N\e(B
+    (% \e$B%(%s%3!<%I$5$l$?\e(B) URL \e$B$G!"IaDL$O%G%#%l%/%H%jCf$N%U%!%$%k$NL>A0$G$9!#\e(B
+    \e$BJ#?t$N\e(B URL \e$B$,@_Dj$5$l$?>l9g$K$O!":G=i$K8+$D$+$C$?$b$N$rJV$7$^$9!#\e(B
+    \e$B$=$l$i$,8+$D$+$i$:!"\e(B<code>Indexes</code>
+    \e$B%*%W%7%g%s$,%;%C%H$5$l$F$$$k>l9g!"%G%#%l%/%H%j$N%j%9%H$r@8@.$7$^$9!#\e(B
+    </p>
+
+    <p>\e$BNc\e(B:</p>
+    <blockquote>
+      <code>DirectoryIndex index.html</code>
+    </blockquote>
+    <code>http://myserver/docs/</code> \e$B$X$N%"%/%;%9$,$"$j!"\e(B
+    <code>http://myserver/docs/index.html</code>
+    \e$B$,B8:_$9$l$P!"$3$N\e(B URL \e$B$,JV$5$l$^$9!#\e(B
+    \e$B$b$7B8:_$7$J$1$l$P!"%G%#%l%/%H%j$N%j%9%H$,JV$5$l$^$9!#\e(B
+
+    <p>\e$BCm\e(B: \e$B%I%-%e%a%s%H$OF1$8%G%#%l%/%H%jFb$KB8:_$9$kI,MW$"$j$^$;$s!#\e(B
+    </p>
+
+    <blockquote>
+      <code>DirectoryIndex index.html index.txt
+      /cgi-bin/index.pl</code>
+    </blockquote>
+    \e$B$H$7$?>l9g!"\e(B<code>index.html</code> \e$B$H\e(B <code>index.txt</code>
+    \e$B$N$I$A$i$b%G%#%l%/%H%jFb$GB8:_$7$J$$>l9g!"\e(BCGI \e$B%9%/%j%W%H\e(B
+    <code>/cgi-bin/index.pl</code> \e$B$,<B9T$5$l$^$9!#\e(B
+
+    <!--#include virtual="footer.html" -->
+
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_dld.html b/htdocs/manual/mod/mod_dld.html
new file mode 100644 (file)
index 0000000..2d7f9c1
--- /dev/null
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_dld</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_dld</h1>
+    <strong><font color="red">This module is obsolete. As of
+    version 1.3 of Apache, it has been replaced with <a
+    href="mod_so.html">mod_so</a>.</font></strong> This module is
+    contained in the <code>mod_dld.c</code> file, and is not
+    compiled in by default. It provides for loading of executable
+    code and modules into the server at start-up time, using the
+    GNU dld library. 
+
+    <h2>Summary</h2>
+    The optional dld module is a proof-of-concept piece of code
+    which loads other modules into the server as it is configuring
+    itself (the first time only; for now, rereading the config
+    files cannot affect the state of loaded modules), using the GNU
+    dynamic linking library, DLD. It isn't compiled into the server
+    by default, since not everyone has DLD, but it works when I try
+    it. (Famous last words.) 
+
+    <p>Note that for some reason, <code>LoadFile /lib/libc.a</code>
+    seems to be required for just about everything.</p>
+
+    <p>Note: that DLD needs to read the symbol table out of the
+    server binary when starting up; these commands will fail if the
+    server can't find its own binary when it starts up, or if that
+    binary is stripped.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#loadfile">LoadFile</a></li>
+
+      <li><a href="#loadmodule">LoadModule</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="loadfile" name="loadfile">LoadFile</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LoadFile <em>filename
+    filename ...</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_dld 
+
+    <p>The LoadFile directive links in the named object files or
+    libraries when the server is started; this is used to load
+    additional code which may be required for some module to work.
+    <em>Filename</em> is relative to <a
+    href="core.html#serverroot">ServerRoot</a>.</p>
+    <hr />
+
+    <h2><a id="loadmodule" name="loadmodule">LoadModule</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LoadModule <em>module
+    filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_dld 
+
+    <p>The LoadModule directive links in the object file or library
+    <em>filename</em> and adds the module structure named
+    <em>module</em> to the list of active modules. <em>Module</em>
+    is the name of the external variable of type
+    <code>module</code> in the file. Example:</p>
+
+    <blockquote>
+      <code>LoadModule ai_backcompat_module
+      modules/mod_ai_backcompat.o<br />
+       LoadFile /lib/libc.a</code>
+    </blockquote>
+    loads the module in the modules subdirectory of the ServerRoot.
+    
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_env.html.en b/htdocs/manual/mod/mod_env.html.en
new file mode 100644 (file)
index 0000000..168c8f0
--- /dev/null
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_env</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache module mod_env</h1>
+
+    <p>This module provides for modifying the environment which is
+    passed to CGI scripts and SSI pages.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_env.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    env_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module allows for control of the environment that will
+    be provided to CGI scripts and SSI pages. Environment variables
+    may be passed from the shell which invoked the httpd process.
+    Alternatively, environment variables may be set or unset within
+    the configuration process.</p>
+
+    <p>For additional information, we provide a document on <a
+    href="../env.html">Environment Variables in Apache</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#passenv">PassEnv</a></li>
+
+      <li><a href="#setenv">SetEnv</a></li>
+
+      <li><a href="#unsetenv">UnsetEnv</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="passenv" name="passenv">PassEnv</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> PassEnv
+    <em>env-variable</em> [<em>env-variable</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_env<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> PassEnv is only
+    available in Apache 1.1 and later.  Directory and .htaccess context
+    is available in Apache 1.3.7 and later.
+
+    <p>Specifies one or more environment variables to pass to CGI
+    scripts and SSI pages from the environment of the shell which
+    invoked the httpd process. Example:</p>
+<pre>
+    PassEnv LD_LIBRARY_PATH
+</pre>
+    <hr />
+
+    <h2><a id="setenv" name="setenv">SetEnv</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> SetEnv <em>env-variable
+    value</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_env<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> SetEnv is only
+    available in Apache 1.1 and later.  Directory and .htaccess context
+    is available in Apache 1.3.7 and later.
+
+    <p>Sets an environment variable, which is then passed on to CGI
+    scripts and SSI pages. Example:</p>
+<pre>
+    SetEnv SPECIAL_PATH /foo/bin
+</pre>
+    <hr />
+
+    <h2><a id="unsetenv" name="unsetenv">UnsetEnv</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> UnsetEnv
+    <em>env-variable</em> [<em>env-variable</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_env<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> UnsetEnv is only
+    available in Apache 1.1 and later.  Directory and .htaccess context
+    is available in Apache 1.3.7 and later.
+
+    <p>Removes one or more environment variables from those passed
+    on to CGI scripts and SSI pages. Example:</p>
+<pre>
+    UnsetEnv LD_LIBRARY_PATH
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_env.html.html b/htdocs/manual/mod/mod_env.html.html
new file mode 100644 (file)
index 0000000..d459d62
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_env.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_env.html.ja.jis b/htdocs/manual/mod/mod_env.html.ja.jis
new file mode 100644 (file)
index 0000000..f2db07e
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_env</title>
+
+  </head>
+  <!-- English revision: 1.22 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_env \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O\e(B CGI \e$B%9%/%j%W%H5Z$S\e(B SSI
+    \e$B%Z!<%8$KEO$5$l$k4D6-JQ?t$rJQ99$9$k5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_env.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    env_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    Apache 1.1 \e$B0J9_$G;HMQ2DG=!#\e(B</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$K$h$j\e(B CGI \e$B%9%/%j%W%H$H\e(B SSI
+    \e$B%Z!<%8$KE,MQ$5$l$k4D6-JQ?t$r@)8f$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B
+    \e$B4D6-JQ?t$O\e(B httpd \e$B%W%m%;%9$r5/F0$7$?%7%'%k$+$iEO$5$l$^$9!#$^$?!"\e(B
+    \e$B@_Dj%U%!%$%k$G4D6-JQ?t$r@_Dj$7$?$j!":o=|$7$?$j$9$k$3$H$,$G$-$^$9!#\e(B
+    </p>
+
+    <p>\e$B>\:Y$O!"\e(B<a href="../env.html">Apache
+    \e$B$N4D6-JQ?t\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#passenv">PassEnv</a></li>
+
+      <li><a href="#setenv">SetEnv</a></li>
+
+      <li><a href="#unsetenv">UnsetEnv</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="passenv" name="passenv">PassEnv</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> PassEnv
+    <em>env-variable</em> [<em>env-variable</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>\e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_env<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> PassEnv \e$B$O\e(B Apache 1.1
+    \e$B0J9_$G$N$_;HMQ2DG=!#%G%#%l%/%H%j!"\e(B.htaccess \e$B$G$N;HMQ$O\e(B
+    Apache 1.3.7 \e$B0J9_$G;HMQ2DG=!#\e(B<br />
+
+    <p>httpd \e$B%W%m%;%9$r5/F0$7$?%7%'%k$N4D6-$+$i\e(B CGI \e$B%9%/%j%W%H$H\e(B
+    SSI \e$B%Z!<%8$KEO$94D6-JQ?t$r0l$D0J>e;XDj$7$^$9!#Nc\e(B:
+    </p>
+<pre>
+    PassEnv LD_LIBRARY_PATH
+</pre>
+    <hr />
+
+    <h2><a id="setenv" name="setenv">SetEnv</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> SetEnv <em>variable
+    value</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>\e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_env<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> SetEnv \e$B$O\e(B Apache 1.1
+    \e$B0J9_$G$N$_;HMQ2DG=!#%G%#%l%/%H%j!"\e(B.htaccess \e$B$G$N;HMQ$O\e(B
+    Apache 1.3.7 \e$B0J9_$G;HMQ2DG=!#\e(B<br />
+
+    <p>\e$B4D6-JQ?t$r@_Dj$7!"$=$l$r\e(B CGI \e$B%9%/%j%W%H$H\e(B SSI
+    \e$B%Z!<%8$KEO$9$h$&$K$7$^$9!#Nc\e(B:</p>
+<pre>
+    SetEnv SPECIAL_PATH /foo/bin
+</pre>
+    <hr />
+
+    <h2><a id="unsetenv" name="unsetenv">UnsetEnv</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> UnsetEnv
+    <em>env-variable</em> [<em>env-variable</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>\e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_env<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> UnsetEnv \e$B$O\e(B Apache 1.1
+    \e$B0J9_$G$N$_;HMQ2DG=!#%G%#%l%/%H%j!"\e(B.htaccess \e$B$G$N;HMQ$O\e(B
+    Apache 1.3.7 \e$B0J9_$G;HMQ2DG=!#\e(B<br />
+
+    <p>CGI \e$B%9%/%j%W%H$H\e(B SSI
+    \e$B%Z!<%8$KEO$5$l$k4D6-JQ?t$+$i;XDj$5$l$?4D6-JQ?t$r<h$j=|$-$^$9!#Nc\e(B:</p>
+<pre>
+    UnsetEnv LD_LIBRARY_PATH
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_example.html b/htdocs/manual/mod/mod_example.html
new file mode 100644 (file)
index 0000000..2a3322f
--- /dev/null
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_example</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_example</h1>
+
+    <p>This module illustrates many of the aspects of the <a
+    href="../misc/API.html" rel="Help">Apache 1.2 API</a> and, when
+    used, demonstrates the manner in which module callbacks are
+    triggered by the server.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_example.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    example_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.2 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>The files in the <code>src/modules/example directory</code>
+    under the Apache distribution directory tree are provided as an
+    example to those that wish to write modules that use the Apache
+    API.</p>
+
+    <p>The main file is <code>mod_example.c</code>, which
+    illustrates all the different callback mechanisms and call
+    syntaxes. By no means does an add-on module need to include
+    routines for all of the callbacks - quite the contrary!</p>
+
+    <p>The example module is an actual working module. If you link
+    it into your server, enable the "example-handler" handler for a
+    location, and then browse to that location, you will see a
+    display of some of the tracing the example module did as the
+    various callbacks were made.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#example">Example</a></li>
+    </ul>
+
+    <h2>Compiling the example module</h2>
+
+    <p>To include the example module in your server, follow the
+    steps below:</p>
+
+    <ol>
+      <li>
+        Uncomment the "AddModule modules/example/mod_example" line
+        near the bottom of the <code>src/Configuration</code> file.
+        If there isn't one, add it; it should look like this: 
+<pre>
+     AddModule modules/example/mod_example.o
+   
+</pre>
+      </li>
+
+      <li>Run the <code>src/Configure</code> script
+      ("<samp>cd&nbsp;src;&nbsp;./Configure</samp>"). This will
+      build the Makefile for the server itself, and update the
+      <code>src/modules/Makefile</code> for any additional modules
+      you have requested from beneath that subdirectory.</li>
+
+      <li>Make the server (run "<samp>make</samp>" in the
+      <code>src</code> directory).</li>
+    </ol>
+
+    <p>To add another module of your own:</p>
+
+    <ol type="A">
+      <li><samp>mkdir src/modules/<em>mymodule</em></samp></li>
+
+      <li><samp>cp src/modules/example/*
+      src/modules/<em>mymodule</em></samp></li>
+
+      <li>Modify the files in the new directory.</li>
+
+      <li>Follow steps [1] through [3] above, with appropriate
+      changes.</li>
+    </ol>
+
+    <h2>Using the <samp>mod_example</samp> Module</h2>
+
+    <p>To activate the example module, include a block similar to
+    the following in your <samp>srm.conf</samp> file:</p>
+<pre>
+   &lt;Location /example-info&gt;
+       SetHandler example-handler
+   &lt;/Location&gt;
+</pre>
+
+    <p>As an alternative, you can put the following into a <a
+    href="core.html#accessfilename"><samp>.htaccess</samp></a> file
+    and then request the file "test.example" from that
+    location:</p>
+<pre>
+   AddHandler example-handler .example
+</pre>
+
+    <p>After reloading/restarting your server, you should be able
+    to browse to this location and see the brief display mentioned
+    earlier.</p>
+    <hr />
+
+    <h2><a id="example" name="example">Example directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Example<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_example<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    <samp>Example</samp> is only available in Apache 1.2 and
+    later.</p>
+
+    <p>The <samp>Example</samp> directive just sets a demonstration
+    flag which the example module's content handler displays. It
+    takes no arguments. If you browse to an URL to which the
+    example content-handler applies, you will get a display of the
+    routines within the module and how and in what order they were
+    called to service the document request. The effect of this
+    directive one can observe under the point "<samp>Example
+    directive declared here: YES/NO</samp>".</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_expires.html b/htdocs/manual/mod/mod_expires.html
new file mode 100644 (file)
index 0000000..ce13154
--- /dev/null
@@ -0,0 +1,254 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_expires</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_expires</h1>
+
+    <p>This module provides for the generation of
+    <code>Expires</code> HTTP headers according to user-specified
+    criteria.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_expires.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    expires_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.2 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module controls the setting of the <code>Expires</code>
+    HTTP header in server responses. The expiration date can set to
+    be relative to either the time the source file was last
+    modified, or to the time of the client access.</p>
+
+    <p>The <code>Expires</code> HTTP header is an instruction to
+    the client about the document's validity and persistence. If
+    cached, the document may be fetched from the cache rather than
+    from the source until this time has passed. After that, the
+    cache copy is considered "expired" and invalid, and a new copy
+    must be obtained from the source.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#expiresactive">ExpiresActive</a></li>
+
+      <li><a href="#expiresbytype">ExpiresByType</a></li>
+
+      <li><a href="#expiresdefault">ExpiresDefault</a></li>
+    </ul>
+
+    <h2><a id="AltSyn" name="AltSyn">Alternate Interval
+    Syntax</a></h2>
+
+    <p>The <a
+    href="#expiresdefault"><samp>ExpiresDefault</samp></a> and <a
+    href="#expiresbytype"><samp>ExpiresByType</samp></a> directives
+    can also be defined in a more readable syntax of the form:</p>
+
+    <dl>
+      <dd><code>ExpiresDefault "&lt;base&gt; [plus] {&lt;num&gt;
+      &lt;type&gt;}*"<br />
+       ExpiresByType type/encoding "&lt;base&gt; [plus]
+      {&lt;num&gt; &lt;type&gt;}*"</code></dd>
+    </dl>
+
+    <p>where &lt;base&gt; is one of:</p>
+
+    <ul>
+      <li><samp>access</samp></li>
+
+      <li><samp>now</samp> (equivalent to
+      '<samp>access</samp>')</li>
+
+      <li><samp>modification</samp></li>
+    </ul>
+
+    <p>The '<samp>plus</samp>' keyword is optional. &lt;num&gt;
+    should be an integer value [acceptable to <samp>atoi()</samp>],
+    and &lt;type&gt; is one of:</p>
+
+    <ul>
+      <li><samp>years</samp></li>
+
+      <li><samp>months</samp></li>
+
+      <li><samp>weeks</samp></li>
+
+      <li><samp>days</samp></li>
+
+      <li><samp>hours</samp></li>
+
+      <li><samp>minutes</samp></li>
+
+      <li><samp>seconds</samp></li>
+    </ul>
+
+    <p>For example, any of the following directives can be used to
+    make documents expire 1 month after being accessed, by
+    default:</p>
+
+    <dl>
+      <dd><code>ExpiresDefault "access plus 1 month"<br />
+       ExpiresDefault "access plus 4 weeks"<br />
+       ExpiresDefault "access plus 30 days"</code></dd>
+    </dl>
+
+    <p>The expiry time can be fine-tuned by adding several
+    '&lt;num&gt; &lt;type&gt;' clauses:</p>
+
+    <dl>
+      <dd><code>ExpiresByType text/html "access plus 1 month 15
+      days 2 hours"<br />
+       ExpiresByType image/gif "modification plus 5 hours 3
+      minutes"</code></dd>
+    </dl>
+
+    <p>Note that if you use a modification date based setting, the
+    Expires header will <strong>not</strong> be added to content
+    that does not come from a file on disk. This is due to the fact
+    that there is no modification time for such content.</p>
+    <hr />
+
+    <h2><a id="expiresactive" name="expiresactive">ExpiresActive
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ExpiresActive
+    on|off<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_expires</p>
+
+    <p>This directive enables or disables the generation of the
+    <code>Expires</code> header for the document realm in question.
+    (That is, if found in an <code>.htaccess</code> file, for
+    instance, it applies only to documents generated from that
+    directory.) If set to <em><code>Off</code></em>, no
+    <code>Expires</code> header will be generated for any document
+    in the realm (unless overridden at a lower level, such as an
+    <code>.htaccess</code> file overriding a server config file).
+    If set to <em><code>On</code></em>, the header will be added to
+    served documents according to the criteria defined by the <a
+    href="#expiresbytype">ExpiresByType</a> and <a
+    href="#expiresdefault">ExpiresDefault</a> directives
+    (<em>q.v.</em>).</p>
+
+    <p>Note that this directive does not guarantee that an
+    <code>Expires</code> header will be generated. If the criteria
+    aren't met, no header will be sent, and the effect will be as
+    though this directive wasn't even specified.</p>
+    <hr />
+
+    <h2><a id="expiresbytype" name="expiresbytype">ExpiresByType
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ExpiresByType
+    <em>mime-type &lt;code&gt;seconds</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_expires</p>
+
+    <p>This directive defines the value of the <code>Expires</code>
+    header generated for documents of the specified type
+    (<em>e.g.</em>, <code>text/html</code>). The second argument
+    sets the number of seconds that will be added to a base time to
+    construct the expiration date.</p>
+
+    <p>The base time is either the last modification time of the
+    file, or the time of the client's access to the document. Which
+    should be used is specified by the
+    <code><em>&lt;code&gt;</em></code> field; <strong>M</strong>
+    means that the file's last modification time should be used as
+    the base time, and <strong>A</strong> means the client's access
+    time should be used.</p>
+
+    <p>The difference in effect is subtle. If <em>M</em> is used,
+    all current copies of the document in all caches will expire at
+    the same time, which can be good for something like a weekly
+    notice that's always found at the same URL. If <em>A</em> is
+    used, the date of expiration is different for each client; this
+    can be good for image files that don't change very often,
+    particularly for a set of related documents that all refer to
+    the same images (<em>i.e.</em>, the images will be accessed
+    repeatedly within a relatively short timespan).</p>
+
+    <p><strong>Example:</strong></p>
+<pre>
+   ExpiresActive On                  # enable expirations
+   ExpiresByType image/gif A2592000  # expire GIF images after a month
+                                     #  in the client's cache
+   ExpiresByType text/html M604800   # HTML documents are good for a
+                                     #  week from the time they were
+                                     #  changed, period
+</pre>
+
+    <p>Note that this directive only has effect if
+    <code>ExpiresActive On</code> has been specified. It overrides,
+    for the specified MIME type <em>only</em>, any expiration date
+    set by the <a href="#expiresdefault">ExpiresDefault</a>
+    directive.</p>
+
+    <p>You can also specify the expiration time calculation using
+    an <a href="#AltSyn">alternate syntax</a>, described later in
+    this document.</p>
+    <hr />
+
+    <h2><a id="expiresdefault" name="expiresdefault">ExpiresDefault
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ExpiresDefault
+    <em>&lt;code&gt;seconds</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_expires</p>
+
+    <p>This directive sets the default algorithm for calculating
+    the expiration time for all documents in the affected realm. It
+    can be overridden on a type-by-type basis by the <a
+    href="#expiresbytype">ExpiresByType</a> directive. See the
+    description of that directive for details about the syntax of
+    the argument, and the <a href="#AltSyn">alternate syntax</a>
+    description as well.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_headers.html b/htdocs/manual/mod/mod_headers.html
new file mode 100644 (file)
index 0000000..e8bfb9a
--- /dev/null
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_headers</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_headers</h1>
+
+    <p>This module provides for the customization of HTTP response
+    headers.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_headers.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    headers_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.2 and later.</p>
+
+    <h2>Summary</h2>
+    This module provides a directive to control the sending of HTTP
+    headers. Headers can be merged, replaced or removed. 
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#header">Header</a></li>
+      <li><a href="#errorheader">ErrorHeader</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="header" name="header">Header</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Header set|append|add
+    <em>header</em> <em>value</em><br />
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> Header unset
+    <em>header</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, access.conf, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_headers 
+
+    <p>This directive can replace, merge or remove HTTP response
+    headers during 1xx and 2xx series replies. For 3xx, 4xx and 5xx
+    use the ErrorHeader directive.
+    </p>
+     <p>
+     The action it performs is determined by the first
+    argument. This can be one of the following values:</p>
+
+    <ul>
+      <li><strong>set</strong><br />
+       The response header is set, replacing any previous header
+      with this name</li>
+
+      <li><strong>append</strong><br />
+       The response header is appended to any existing header of
+      the same name. When a new value is merged onto an existing
+      header it is separated from the existing header with a comma.
+      This is the HTTP standard way of giving a header multiple
+      values.</li>
+
+      <li><strong>add</strong><br />
+       The response header is added to the existing set of headers,
+      even if this header already exists. This can result in two
+      (or more) headers having the same name. This can lead to
+      unforeseen consequences, and in general "append" should be
+      used instead.</li>
+
+      <li><strong>unset</strong><br />
+       The response header of this name is removed, if it exists.
+      If there are multiple headers of the same name, all will be
+      removed.</li>
+    </ul>
+    This argument is followed by a header name, which can include
+    the final colon, but it is not required. Case is ignored. For
+    add, append and set a value is given as the third argument. If
+    this value contains spaces, it should be surrounded by double
+    quotes. For unset, no value should be given. 
+
+    <h3>Order of Processing</h3>
+    The Header directive can occur almost anywhere within the
+    server configuration. It is valid in the main server config and
+    virtual host sections, inside &lt;Directory&gt;,
+    &lt;Location&gt; and &lt;Files&gt; sections, and within
+    .htaccess files. 
+
+    <p>The Header directives are processed in the following
+    order:</p>
+
+    <ol>
+      <li>main server</li>
+
+      <li>virtual host</li>
+
+      <li>&lt;Directory&gt; sections and .htaccess</li>
+
+      <li>&lt;Location&gt;</li>
+
+      <li>&lt;Files&gt;</li>
+    </ol>
+    Order is important. These two headers have a different effect
+    if reversed: 
+<pre>
+Header append Author "John P. Doe"
+Header unset Author
+</pre>
+    This way round, the Author header is not set. If reversed, the
+    Author header is set to "John P. Doe". 
+
+    <p>The Header directives are processed just before the response
+    is sent by its handler. These means that some headers that are
+    added just before the response is sent cannot be unset or
+    overridden. This includes headers such as "Date" and
+    "Server".</p>
+
+    <h2><a id="errorheader" name="errorheader">ErrorHeader</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ErrorHeader set|append|add
+    <em>header</em> <em>value</em><br />
+     <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ErrorHeader unset
+    <em>header</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, access.conf, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_headers 
+
+    <p>This directive can replace, merge or remove HTTP response
+    headers during 3xx, 4xx and 5xx replies. For normal replies
+    use the Header directive.
+    </p>
+    <p>This directive is identical to the <a href="#header">Header</a> 
+    directive in all other respects. Consult this directive for
+    more information on the syntax.
+    </P>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_imap.html b/htdocs/manual/mod/mod_imap.html
new file mode 100644 (file)
index 0000000..31a63ed
--- /dev/null
@@ -0,0 +1,363 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_imap</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_imap</h1>
+
+    <p>This module provides for server-side imagemap
+    processing.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_imap.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    imap_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module processes <code>.map</code> files, thereby
+    replacing the functionality of the <code>imagemap</code> CGI
+    program. Any directory or document type configured to use the
+    handler <code>imap-file</code> (using either <code><a
+    href="mod_mime.html#addhandler">AddHandler</a></code> or
+    <code><a href="mod_mime.html#sethandler">SetHandler</a></code>)
+    will be processed by this module.</p>
+
+    <p>The following directive will activate files ending with
+    <code>.map</code> as imagemap files:</p>
+
+    <blockquote>
+      <code>AddHandler imap-file map</code>
+    </blockquote>
+    Note that the following is still supported: 
+
+    <blockquote>
+      <code>AddType application/x-httpd-imap map</code>
+    </blockquote>
+    However, we are trying to phase out "magic MIME types" so we
+    are deprecating this method. 
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#imapmenu">ImapMenu</a></li>
+
+      <li><a href="#imapdefault">ImapDefault</a></li>
+
+      <li><a href="#imapbase">ImapBase</a></li>
+    </ul>
+
+    <h2>New Features</h2>
+    The imagemap module adds some new features that were not
+    possible with previously distributed imagemap programs. 
+
+    <ul>
+      <li>URL references relative to the Referer: information.</li>
+
+      <li>Default &lt;BASE&gt; assignment through a new map
+      directive <code>base</code>.</li>
+
+      <li>No need for <code>imagemap.conf</code> file.</li>
+
+      <li>Point references.</li>
+
+      <li>Configurable generation of imagemap menus.</li>
+    </ul>
+
+    <h2>Imagemap File</h2>
+    The lines in the imagemap files can have one of several
+    formats: 
+
+    <blockquote>
+      <code>directive value [x,y ...]</code><br />
+       <code>directive value "Menu text" [x,y ...]</code><br />
+       <code>directive value x,y ... "Menu text"</code><br />
+    </blockquote>
+    The directive is one of <code>base</code>,
+    <code>default</code>, <code>poly</code>, <code>circle</code>,
+    <code>rect</code>, or <code>point</code>. The value is an
+    absolute or relative URL, or one of the special values listed
+    below. The coordinates are <code>x,y</code> pairs separated by
+    whitespace. The quoted text is used as the text of the link if
+    a imagemap menu is generated. Lines beginning with '#' are
+    comments. 
+
+    <h3>Imagemap File Directives</h3>
+    There are six directives allowed in the imagemap file. The
+    directives can come in any order, but are processed in the
+    order they are found in the imagemap file. 
+
+    <dl>
+      <dt><code>base</code> Directive</dt>
+
+      <dd>Has the effect of <code>&lt;BASE HREF="value"&gt;</code>.
+      The non-absolute URLs of the map-file are taken relative to
+      this value. The <code>base</code> directive overrides
+      ImapBase as set in a .htaccess file or in the server
+      configuration files. In the absence of an ImapBase
+      configuration directive, <code>base</code> defaults to
+      <code>http://server_name/</code>.<br />
+       <code>base_uri</code> is synonymous with <code>base</code>.
+      Note that a trailing slash on the URL is significant.</dd>
+
+      <dt><code>default</code> Directive</dt>
+
+      <dd>The action taken if the coordinates given do not fit any
+      of the <code>poly</code>, <code>circle</code> or
+      <code>rect</code> directives, and there are no
+      <code>point</code> directives. Defaults to
+      <code>nocontent</code> in the absence of an ImapDefault
+      configuration setting, causing a status code of <code>204 No
+      Content</code> to be returned. The client should keep the
+      same page displayed.</dd>
+
+      <dt><code>poly</code> Directive</dt>
+
+      <dd>Takes three to one-hundred points, and is obeyed if the
+      user selected coordinates fall within the polygon defined by
+      these points.</dd>
+
+      <dt><code>circle</code></dt>
+
+      <dd>Takes the center coordinates of a circle and a point on
+      the circle. Is obeyed if the user selected point is with the
+      circle.</dd>
+
+      <dt><code>rect</code> Directive</dt>
+
+      <dd>Takes the coordinates of two opposing corners of a
+      rectangle. Obeyed if the point selected is within this
+      rectangle.</dd>
+
+      <dt><code>point</code> Directive</dt>
+
+      <dd>Takes a single point. The point directive closest to the
+      user selected point is obeyed if no other directives are
+      satisfied. Note that <code>default</code> will not be
+      followed if a <code>point</code> directive is present and
+      valid coordinates are given.</dd>
+    </dl>
+
+    <h3>Values</h3>
+    The values for each of the directives can any of the following:
+    
+
+    <dl>
+      <dt>a URL</dt>
+
+      <dd>The URL can be relative or absolute URL. Relative URLs
+      can contain '..' syntax and will be resolved relative to the
+      <code>base</code> value.<br />
+       <code>base</code> itself will not resolved according to the
+      current value. A statement <code>base mailto:</code> will
+      work properly, though.</dd>
+
+      <dt><code>map</code></dt>
+
+      <dd>Equivalent to the URL of the imagemap file itself. No
+      coordinates are sent with this, so a menu will be generated
+      unless ImapMenu is set to 'none'.</dd>
+
+      <dt><code>menu</code></dt>
+
+      <dd>Synonymous with <code>map</code>.</dd>
+
+      <dt><code>referer</code></dt>
+
+      <dd>Equivalent to the URL of the referring document. Defaults
+      to <code>http://servername/</code> if no Referer: header was
+      present.</dd>
+
+      <dt><code>nocontent</code></dt>
+
+      <dd>Sends a status code of <code>204 No Content</code>,
+      telling the client to keep the same page displayed. Valid for
+      all but <code>base</code>.</dd>
+
+      <dt><code>error</code></dt>
+
+      <dd>Fails with a <code>500 Server Error</code>. Valid for all
+      but <code>base</code>, but sort of silly for anything but
+      <code>default</code>.</dd>
+    </dl>
+
+    <h3>Coordinates</h3>
+
+    <dl>
+      <dt><code>0,0 200,200</code></dt>
+
+      <dd>A coordinate consists of an <tt>x</tt> and a <tt>y</tt>
+      value separated by a comma. The coordinates are separated
+      from each other by whitespace. To accommodate the way Lynx
+      handles imagemaps, should a user select the coordinate
+      <code>0,0</code>, it is as if no coordinate had been
+      selected.</dd>
+    </dl>
+
+    <h3>Quoted Text</h3>
+
+    <dl>
+      <dt><code>"Menu Text"</code></dt>
+
+      <dd>After the value or after the coordinates, the line
+      optionally may contain text within double quotes. This string
+      is used as the text for the link if a menu is
+      generated:<br />
+       <code>&lt;a HREF="http://foo.com/"&gt;Menu
+      text&lt;/a&gt;</code><br />
+       If no quoted text is present, the name of the link will be
+      used as the text:<br />
+       <code>&lt;a
+      HREF="http://foo.com/"&gt;http://foo.com&lt;/a&gt;</code><br />
+       If you want to use double quotes within this text, you have to
+       write them as <code>&amp;quot;</code>.</dd>
+    </dl>
+
+    <h2>Example Mapfile</h2>
+
+    <blockquote>
+      <code>#Comments are printed in a 'formatted' or
+      'semiformatted' menu.<br />
+       #And can contain html tags. &lt;hr&gt;<br />
+       base referer<br />
+       poly map "Could I have a menu, please?" 0,0 0,10 10,10
+      10,0<br />
+       rect .. 0,0 77,27 "the directory of the referer"<br />
+       circle http://www.inetnebr.com/lincoln/feedback/ 195,0
+      305,27<br />
+       rect another_file "in same directory as referer" 306,0
+      419,27<br />
+       point http://www.zyzzyva.com/ 100,100<br />
+       point http://www.tripod.com/ 200,200<br />
+       rect mailto:nate@tripod.com 100,150 200,0 "Bugs?"<br />
+      </code>
+    </blockquote>
+
+    <h2>Referencing your mapfile</h2>
+
+    <blockquote>
+      <code>&lt;A HREF="/maps/imagemap1.map"&gt;<br />
+       &lt;IMG ISMAP SRC="/images/imagemap1.gif"&gt;<br />
+       &lt;/A&gt;</code>
+    </blockquote>
+    <hr />
+
+    <h2><a id="imapmenu" name="imapmenu">ImapMenu</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ImapMenu
+    none|formatted|semiformatted|unformatted<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_imap<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ImapMenu is only
+    available in Apache 1.1 and later. 
+
+    <p>The ImapMenu directive determines the action taken if an
+    imagemap file is called without valid coordinates.</p>
+
+    <dl>
+      <dt><code>none</code></dt>
+
+      <dd>If ImapMenu is <code>none</code>, no menu is generated,
+      and the <code>default</code> action is performed.</dd>
+
+      <dt><code>formatted</code></dt>
+
+      <dd>A <code>formatted</code> menu is the simplest menu.
+      Comments in the imagemap file are ignored. A level one header
+      is printed, then an hrule, then the links each on a separate
+      line. The menu has a consistent, plain look close to that of
+      a directory listing.</dd>
+
+      <dt><code>semiformatted</code></dt>
+
+      <dd>In the <code>semiformatted</code> menu, comments are
+      printed where they occur in the imagemap file. Blank lines
+      are turned into HTML breaks. No header or hrule is printed,
+      but otherwise the menu is the same as a
+      <code>formatted</code> menu.</dd>
+
+      <dt><code>unformatted</code></dt>
+
+      <dd>Comments are printed, blank lines are ignored. Nothing is
+      printed that does not appear in the imagemap file. All breaks
+      and headers must be included as comments in the imagemap
+      file. This gives you the most flexibility over the appearance
+      of your menus, but requires you to treat your map files as
+      HTML instead of plaintext.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="imapdefault" name="imapdefault">ImapDefault</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ImapDefault
+    error|nocontent|map|referer|<em>URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_imap<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ImapDefault is
+    only available in Apache 1.1 and later. 
+
+    <p>The ImapDefault directive sets the default
+    <code>default</code> used in the imagemap files. Its value is
+    overridden by a <code>default</code> directive within the
+    imagemap file. If not present, the <code>default</code> action
+    is <code>nocontent</code>, which means that a <code>204 No
+    Content</code> is sent to the client. In this case, the client
+    should continue to display the original page.</p>
+    <hr />
+
+    <h2><a id="imapbase" name="imapbase">ImapBase</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ImapBase
+    map|referer|<em>URL</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Indexes<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_imap<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ImapBase is only
+    available in Apache 1.1 and later. 
+
+    <p>The ImapBase directive sets the default <code>base</code>
+    used in the imagemap files. Its value is overridden by a
+    <code>base</code> directive within the imagemap file. If not
+    present, the <code>base</code> defaults to
+    <code>http://servername/</code>. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_include.html b/htdocs/manual/mod/mod_include.html
new file mode 100644 (file)
index 0000000..f9b095d
--- /dev/null
@@ -0,0 +1,594 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_include</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_include</h1>
+
+    <p>This module provides for documents with Server Side Includes
+    (SSI).</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_include.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    includes_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides a handler which will process files
+    before they are sent to the client. The processing is
+    controlled by specially formated SGML comments, referred to as
+    <em>elements</em>. These elements allow conditional text, the
+    inclusion other files or programs, as well as the setting and
+    printing of environment variables.</p>
+
+    <p>For an introduction to this topic, we also provide a <a
+    href="../howto/ssi.html">tutorial on Server Side
+    Includes</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#xbithack">XBitHack</a></li>
+    </ul>
+
+    <p>See also: <a href="core.html#options">Options</a> and <a
+    href="mod_mime.html#addhandler">AddHandler</a>.</p>
+
+    <h2>Enabling Server-Side Includes</h2>
+    Any document with handler of "server-parsed" will be parsed by
+    this module, if the <code>Includes</code> option is set. If
+    documents containing server-side include directives are given
+    the extension .shtml, the following directives will make Apache
+    parse them and assign the resulting document the mime type of
+    <code>text/html</code>: 
+<pre>
+AddType text/html .shtml
+AddHandler server-parsed .shtml
+</pre>
+    The following directive must be given for the directories
+    containing the shtml files (typically in a
+    <code>&lt;Directory&gt;</code> section, but this directive is
+    also valid .htaccess files if <code>AllowOverride
+    Options</code> is set): 
+<pre>
+Options +Includes
+</pre>
+    Alternatively the <a href="#xbithack"><code>XBitHack</code></a>
+    directive can be used to parse normal (<code>text/html</code>)
+    files, based on file permissions. 
+
+    <p>For backwards compatibility, documents with mime type
+    <code>text/x-server-parsed-html</code> or
+    <code>text/x-server-parsed-html3</code> will also be parsed
+    (and the resulting output given the mime type
+    <code>text/html</code>).</p>
+
+    <h2>Basic Elements</h2>
+    The document is parsed as an HTML document, with special
+    commands embedded as SGML comments. A command has the syntax: 
+
+    <blockquote>
+      <code>&lt;!--#</code><em>element attribute=value
+      attribute=value ...</em> <code>--&gt;</code>
+    </blockquote>
+    The value will often be enclosed in double quotes; many
+    commands only allow a single attribute-value pair. Note that
+    the comment terminator (<samp>--&gt;</samp>) should be preceded
+    by whitespace to ensure that it isn't considered part of an SSI
+    token. Note that the leading <samp>&lt;!--#</samp> is <em>one</em>
+    token and may not contain any whitespaces.</p>
+
+    <p>The allowed elements are:</p>
+
+    <dl>
+      <dt><strong>config</strong></dt>
+
+      <dd>
+        This command controls various aspects of the parsing. The
+        valid attributes are: 
+
+        <dl>
+          <dt><strong>errmsg</strong></dt>
+
+          <dd>The value is a message that is sent back to the
+          client if an error occurs whilst parsing the
+          document.</dd>
+
+          <dt><strong>sizefmt</strong></dt>
+
+          <dd>The value sets the format to be used which displaying
+          the size of a file. Valid values are <code>bytes</code>
+          for a count in bytes, or <code>abbrev</code> for a count
+          in Kb or Mb as appropriate.</dd>
+
+          <dt><strong>timefmt</strong></dt>
+
+          <dd>The value is a string to be used by the
+          <code>strftime(3)</code> library routine when printing
+          dates.</dd>
+        </dl>
+      </dd>
+
+      <dt><strong><a id="echo" name="echo">echo</a></strong></dt>
+
+      <dd>
+        This command prints one of the <a href="#includevars">include
+        variables</a>, defined
+        below. If the variable is unset, it is printed as
+        <code>(none)</code>. Any dates printed are subject to the
+        currently configured <code>timefmt</code>. Attributes: 
+
+        <dl>
+          <dt><strong>var</strong></dt>
+
+          <dd>The value is the name of the variable to print.</dd>
+
+          <dt><strong>encoding</strong></dt>
+
+          <dd>Specifies how Apache should encode special characters
+          contained in the variable before outputting them. If set
+          to "none", no encoding will be done. If set to "url",
+          then URL encoding (also known as %-encoding; this is
+          appropriate for use within URLs in links, etc.) will be
+          performed. At the start of an <code>echo</code> element,
+          the default is set to "entity", resulting in entity
+          encoding (which is appropriate in the context of a
+          block-level HTML element, eg. a paragraph of text). This
+          can be changed by adding an <code>encoding</code>
+          attribute, which will remain in effect until the next
+          <code>encoding</code> attribute is encountered or the
+          element ends, whichever comes first. Note that the
+          <code>encoding</code> attribute must <em>precede</em> the
+          corresponding <code>var</code> attribute to be effective,
+          and that only special characters as defined in the
+          ISO-8859-1 character encoding will be encoded. This
+          encoding process may not have the desired result if a
+          different character encoding is in use. Apache 1.3.12 and
+          above; previous versions do no encoding.</dd>
+        </dl>
+      </dd>
+
+      <dt><strong>exec</strong></dt>
+
+      <dd>
+        The exec command executes a given shell command or CGI
+        script. The IncludesNOEXEC <a
+        href="core.html#options">Option</a> disables this command
+        completely. The valid attributes are: 
+
+        <dl>
+          <dt><strong>cgi</strong></dt>
+
+          <dd>
+            The value specifies a (%-encoded) URL relative path to
+            the CGI script. If the path does not begin with a (/),
+            then it is taken to be relative to the current
+            document. The document referenced by this path is
+            invoked as a CGI script, even if the server would not
+            normally recognize it as such. However, the directory
+            containing the script must be enabled for CGI scripts
+            (with <a
+            href="mod_alias.html#scriptalias">ScriptAlias</a> or
+            the ExecCGI <a href="core.html#options">Option</a>). 
+
+            <p>The CGI script is given the PATH_INFO and query
+            string (QUERY_STRING) of the original request from the
+            client; these cannot be specified in the URL path. The
+            include variables will be available to the script in
+            addition to the standard <a href="mod_cgi.html">CGI</a>
+            environment.</p>
+
+            <p>For example:</p>
+
+  <code>&lt;!--#exec cgi="/cgi-bin/example.cgi" --&gt;</code>
+
+            <p>If the script returns a Location: header instead of
+            output, then this will be translated into an HTML
+            anchor.</p>
+
+            <p>The <code><a href="#includevirtual">include
+            virtual</a></code> element should be
+            used in preference to <code>exec cgi</code>. In particular,
+            if you need to pass additional arguments to a CGI program,
+            using the query string, this cannot be done with <code>exec
+            cgi</code>, but can be done with <code>include
+            virtual</code>, as shown here:</p>
+
+  <code>&lt;!--#include virtual="/cgi-bin/example.cgi?argument=value" --&gt;</code>
+          </dd>
+
+          <dt><strong>cmd</strong></dt>
+
+          <dd>
+          <p>The server will execute the given string using
+          <code>/bin/sh</code>. The <a 
+          href="#includevars">include variables</a> are available
+          to the command, in addition to the usual set of CGI 
+          variables.</p>
+
+        <p>The use of <code><a href="#includevirtual">#include 
+        virtual</a></code> is almost always
+        prefered to using either <code>#exec cgi</code> or <code>#exec
+        cmd</code>. The former (<code>#include virtual</code>) used the
+        standard Apache sub-request mechanism to include files or
+        scripts. It is much better tested and maintained.</p>
+
+          <p>In addition, on some platforms, like Win32, and on unix
+          when using suexec, you cannot pass arguments to a command in 
+          an <code>exec</code> directive, or otherwise include spaces in
+          the command. Thus, while the following will work under a
+          non-suexec configuration on unix, it will not produce the
+          desired result under Win32, or when running suexec:</p>
+
+   <code>&lt;!--#exec cmd="perl /path/to/perlscript arg1 arg2" --&gt;</code>
+
+          </dd>
+        </dl>
+      </dd>
+
+      <dt><strong>fsize</strong></dt>
+
+      <dd>
+        This command prints the size of the specified file, subject
+        to the <code>sizefmt</code> format specification.
+        Attributes: 
+
+        <dl>
+          <dt><strong>file</strong></dt>
+
+          <dd>The value is a path relative to the directory
+          containing the current document being parsed.</dd>
+
+          <dt><strong>virtual</strong></dt>
+
+          <dd>The value is a (%-encoded) URL-path relative to the
+          current document being parsed. If it does not begin with
+          a slash (/) then it is taken to be relative to the
+          current document.</dd>
+        </dl>
+      </dd>
+
+      <dt><strong>flastmod</strong></dt>
+
+      <dd>This command prints the last modification date of the
+      specified file, subject to the <code>timefmt</code> format
+      specification. The attributes are the same as for the
+      <code>fsize</code> command.</dd>
+
+      <dt><strong>include</strong></dt>
+
+      <dd>
+        This command inserts the text of another document or file
+        into the parsed file. Any included file is subject to the
+        usual access control. If the directory containing the
+        parsed file has the <a href="core.html#options">Option</a>
+        IncludesNOEXEC set, and the including the document would
+        cause a program to be executed, then it will not be
+        included; this prevents the execution of CGI scripts.
+        Otherwise CGI scripts are invoked as normal using the
+        complete URL given in the command, including any query
+        string. 
+
+        <p>An attribute defines the location of the document; the
+        inclusion is done for each attribute given to the include
+        command. The valid attributes are:</p>
+
+        <dl>
+          <dt><strong>file</strong></dt>
+
+          <dd>The value is a path relative to the directory
+          containing the current document being parsed. It cannot
+          contain <code>../</code>, nor can it be an absolute path.
+          Therefore, you cannot include files that are outside of the
+          document root, or above the current document in the directory
+          structure.
+          The <code>virtual</code> attribute should always be used
+          in preference to this one.</dd>
+
+          <dt><strong><a name="includevirtual">virtual</a></strong></dt>
+
+         <dd>
+          <p>The value is a (%-encoded) URL relative to the
+          current document being parsed. The URL cannot contain a
+          scheme or hostname, only a path and an optional query
+          string. If it does not begin with a slash (/) then it is
+          taken to be relative to the current document.</p>
+
+          <p>A URL is constructed from the attribute, and the output the
+           server would return if the URL were accessed by the client
+           is included in the parsed output. Thus included files can
+           be nested.</p>
+
+           <p>If the specified URL is a CGI program, the program will
+           be executed and its output inserted in place of the directive
+           in the parsed file. You may include a query string in a CGI
+           url:</p>
+     
+     <code>&lt;!--#include virtual="/cgi-bin/example.cgi?argument=value" --&gt;</code>
+           
+           <p><code>include virtual</code> should be used in preference
+           to <code>exec cgi</code> to include the output of CGI
+           programs into an HTML document.
+          </dd>
+        </dl>
+      </dd>
+
+      <dt><strong>printenv</strong></dt>
+
+      <dd>
+      <p>This prints out a listing of all existing variables and
+      their values. Starting with Apache 1.3.12, special characters
+      are entity encoded (see the <a
+      href="#echo"><code>echo</code></a> element for details)
+      before being output. There are no attributes.</p>
+
+      <p>For example:</p>
+      
+      <p><code>&lt;!--#printenv --&gt;</code></p>
+
+      <p>The <strong>printenv</strong> element is available only in
+      Apache 1.2 and above.</p>
+    </dd>
+      <dt><strong>set</strong></dt>
+
+      <dd>
+        This sets the value of a variable. Attributes: 
+
+        <dl>
+          <dt><strong>var</strong></dt>
+
+          <dd>The name of the variable to set.</dd>
+
+          <dt><strong>value</strong></dt>
+
+          <dd>The value to give a variable.</dd>
+        </dl>
+        <p>
+        For example: <code>&lt;!--#set var="category" value="help"
+        --&gt;</code></p>
+
+      <p>The <strong>set</strong> element is available only in
+      Apache 1.2 and above.</p>
+      </dd>
+    </dl>
+
+    <h2><a name="includevars">Include Variables</a></h2>
+    In addition to the variables in the standard CGI environment,
+    these are available for the <code>echo</code> command, for
+    <code>if</code> and <code>elif</code>, and to any program
+    invoked by the document. 
+
+    <dl>
+      <dt>DATE_GMT</dt>
+
+      <dd>The current date in Greenwich Mean Time.</dd>
+
+      <dt>DATE_LOCAL</dt>
+
+      <dd>The current date in the local time zone.</dd>
+
+      <dt>DOCUMENT_NAME</dt>
+
+      <dd>The filename (excluding directories) of the document
+      requested by the user.</dd>
+
+      <dt>DOCUMENT_URI</dt>
+
+      <dd>The (%-decoded) URL path of the document requested by the
+      user. Note that in the case of nested include files, this is
+      <em>not</em> then URL for the current document.</dd>
+
+      <dt>LAST_MODIFIED</dt>
+
+      <dd>The last modification date of the document requested by
+      the user.</dd>
+
+      <dt>USER_NAME</dt>
+    
+      <dd>Contains the owner of the file which included it.</dd>
+
+    </dl>
+
+    <h2>Variable Substitution</h2>
+
+    <p>Variable substitution is done within quoted strings in most
+    cases where they may reasonably occur as an argument to an SSI
+    directive. This includes the <samp>config</samp>,
+    <samp>exec</samp>, <samp>flastmod</samp>, <samp>fsize</samp>,
+    <samp>include</samp>, and <samp>set</samp> directives, as well
+    as the arguments to conditional operators. You can insert a
+    literal dollar sign into the string using backslash
+    quoting:</p>
+<pre>
+    &lt;!--#if expr="$a = \$test" --&gt;
+</pre>
+
+    <p>If a variable reference needs to be substituted in the
+    middle of a character sequence that might otherwise be
+    considered a valid identifier in its own right, it can be
+    disambiguated by enclosing the reference in braces,
+    <em>&agrave; la</em> shell substitution:</p>
+<pre>
+    &lt;!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --&gt;
+</pre>
+
+    <p>This will result in the <samp>Zed</samp> variable being set
+    to "<samp>X_Y</samp>" if <samp>REMOTE_HOST</samp> is
+    "<samp>X</samp>" and <samp>REQUEST_METHOD</samp> is
+    "<samp>Y</samp>".</p>
+
+    <p>EXAMPLE: the below example will print "in foo" if the
+    DOCUMENT_URI is /foo/file.html, "in bar" if it is
+    /bar/file.html and "in neither" otherwise:</p>
+<pre>
+    &lt;!--#if expr="\"$DOCUMENT_URI\" = \"/foo/file.html\"" --&gt;
+    in foo
+    &lt;!--#elif expr="\"$DOCUMENT_URI\" = \"/bar/file.html\"" --&gt;
+    in bar
+    &lt;!--#else --&gt;
+    in neither
+    &lt;!--#endif --&gt;
+</pre>
+
+    <h2><a id="flowctrl" name="flowctrl">Flow Control
+    Elements</a></h2>
+    These are available in Apache 1.2 and above. The basic flow
+    control elements are: 
+<pre>
+    &lt;!--#if expr="<em>test_condition</em>" --&gt;
+    &lt;!--#elif expr="<em>test_condition</em>" --&gt;
+    &lt;!--#else --&gt;
+    &lt;!--#endif --&gt;
+</pre>
+
+    <p>The <strong><code>if</code></strong> element works like an
+    if statement in a programming language. The test condition is
+    evaluated and if the result is true, then the text until the
+    next <strong><code>elif</code></strong>,
+    <strong><code>else</code></strong>. or
+    <strong><code>endif</code></strong> element is included in the
+    output stream.</p>
+
+    <p>The <strong><code>elif</code></strong> or
+    <strong><code>else</code></strong> statements are be used the
+    put text into the output stream if the original test_condition
+    was false. These elements are optional.</p>
+
+    <p>The <strong><code>endif</code></strong> element ends the
+    <strong><code>if</code></strong> element and is required.</p>
+
+    <p><em>test_condition</em> is one of the following:</p>
+
+    <dl>
+      <dt><em>string</em></dt>
+
+      <dd>true if <em>string</em> is not empty</dd>
+
+      <dt><em>string1</em> = <em>string2</em><br />
+       <em>string1</em> != <em>string2</em><br />
+       <em>string1</em> &lt; <em>string2</em><br />
+       <em>string1</em> &lt;= <em>string2</em><br />
+       <em>string1</em> &gt; <em>string2</em><br />
+       <em>string1</em> &gt;= <em>string2</em></dt>
+
+      <dd>Compare string1 with string 2. If string2 has the form
+      <em>/string/</em> then it is compared as a regular
+      expression. Regular expressions have the same syntax as those
+      found in the Unix <samp>egrep</samp> command.</dd>
+
+      <dt>( <em>test_condition</em> )</dt>
+
+      <dd>true if <em>test_condition</em> is true</dd>
+
+      <dt>! <em>test_condition</em></dt>
+
+      <dd>true if <em>test_condition</em> is false</dd>
+
+      <dt><em>test_condition1</em> &amp;&amp;
+      <em>test_condition2</em></dt>
+
+      <dd>true if both <em>test_condition1</em> and
+      <em>test_condition2</em> are true</dd>
+
+      <dt><em>test_condition1</em> || <em>test_condition2</em></dt>
+
+      <dd>true if either <em>test_condition1</em> or
+      <em>test_condition2</em> is true</dd>
+    </dl>
+
+    <p>"<em>=</em>" and "<em>!=</em>" bind more tightly than
+    "<em>&amp;&amp;</em>" and "<em>||</em>". "<em>!</em>" binds
+    most tightly. Thus, the following are equivalent:</p>
+<pre>
+    &lt;!--#if expr="$a = test1 &amp;&amp; $b = test2" --&gt;
+    &lt;!--#if expr="($a = test1) &amp;&amp; ($b = test2)" --&gt;
+</pre>
+
+    <p>Anything that's not recognized as a variable or an operator
+    is treated as a string. Strings can also be quoted:
+    <em>'string'</em>. Unquoted strings can't contain whitespace
+    (blanks and tabs) because it is used to separate tokens such as
+    variables. If multiple strings are found in a row, they are
+    concatenated using blanks. So,</p>
+<pre>
+     <em>string1    string2</em>  results in <em>string1 string2</em>
+    <em>'string1    string2'</em> results in <em>string1    string2</em>
+</pre>
+
+    <h2>Using Server Side Includes for ErrorDocuments</h2>
+    There is <a href="../misc/custom_errordocs.html">a document</a>
+    which describes how to use the features of mod_include to offer
+    internationalized customized server error documents. 
+    <hr />
+
+    <h2><a id="xbithack" name="xbithack">XBitHack</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> XBitHack
+    on|off|full<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>XBitHack
+    off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_include 
+
+    <p>The XBitHack directives controls the parsing of ordinary
+    html documents. This directive only affects files associated
+    with the MIME type <code>text/html</code>. XBitHack can take on
+    the following values:</p>
+
+    <dl>
+      <dt>off</dt>
+
+      <dd>No special treatment of executable files.</dd>
+
+      <dt>on</dt>
+
+      <dd>Any file that has the user-execute bit set will be
+      treated as a server-parsed html document.</dd>
+
+      <dt>full</dt>
+
+      <dd>
+        As for <code>on</code> but also test the group-execute bit.
+        If it is set, then set the Last-modified date of the
+        returned file to be the last modified time of the file. If
+        it is not set, then no last-modified date is sent. Setting
+        this bit allows clients and proxies to cache the result of
+        the request. 
+
+        <p><strong>Note:</strong> you would not want to use this,
+        for example, when you <code>#include</code> a CGI that
+        produces different output on each hit (or potentially
+        depends on the hit).</p>
+      </dd>
+    </dl>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_info.html.en b/htdocs/manual/mod/mod_info.html.en
new file mode 100644 (file)
index 0000000..d903bdb
--- /dev/null
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_info</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_info</h1>
+
+    <p>This module provides a comprehensive overview of the server
+    configuration including all installed modules and directives in
+    the configuration files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_info.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    info_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#addmoduleinfo">AddModuleInfo</a></li>
+    </ul>
+
+    <h2>Using mod_info</h2>
+
+    <p>To configure it, add the following to your
+    <code>access.conf</code> file.</p>
+<pre>
+&lt;Location /server-info&gt;
+SetHandler server-info
+&lt;/Location&gt;
+</pre>
+    You may wish to add a <a
+    href="core.html#limit">&lt;Limit&gt;</a> clause inside the <a
+    href="core.html#location">location</a> directive to limit
+    access to your server configuration information. 
+
+    <p>Once configured, the server information is obtained by
+    accessing <tt>http://your.host.dom/server-info</tt></p>
+
+    <blockquote>
+      <p><strong>Note that the configuration files are read by the
+      module at run-time, and therefore the display may
+      <em>not</em> reflect the running server's active
+      configuration if the files have been changed since the server
+      was last reloaded. Also, the configuration files must be
+      readable by the user as which the server is running (see the
+      <a href="core.html#user"><samp>User</samp></a> directive), or
+      else the directive settings will not be listed.</strong></p>
+
+      <p><strong>It should also be noted that if
+      <samp>mod_info</samp> is compiled into the server, its
+      handler capability is available in <em>all</em> configuration
+      files, including <em>per</em>-directory files (<em>e.g.</em>,
+      <samp>.htaccess</samp>). This may have security-related
+      ramifications for your site.</strong></p>
+
+      <p>In particular, this module can leak sensitive information
+      from the configuration directives of other Apache modules such as
+      system paths, usernames/passwords, database names, etc.  Due to
+      the way this module works there is no way to block information
+      from it.  Therefore, this module should ONLY be used in a controlled
+      environment and always with caution.</p>
+
+    </blockquote>
+    <hr />
+
+    <h2><a id="addmoduleinfo"
+    name="addmoduleinfo">AddModuleInfo</a></h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddModuleInfo
+    <em>module-name string</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_info<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+    above 
+
+    <p>This allows the content of <em>string</em> to be shown as
+    HTML interpreted, <strong>Additional Information</strong> for
+    the module <em>module-name</em>. Example:</p>
+
+    <blockquote>
+<pre>
+AddModuleInfo mod_auth.c 'See &lt;A HREF="http://www.apache.org/docs/mod/mod_auth.html"&gt;http://www.apache.org/docs/mod/mod_auth.html&lt;/A&gt;'
+</pre>
+    </blockquote>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_info.html.html b/htdocs/manual/mod/mod_info.html.html
new file mode 100644 (file)
index 0000000..237ce65
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_info.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_info.html.ja.jis b/htdocs/manual/mod/mod_info.html.ja.jis
new file mode 100644 (file)
index 0000000..ee7b56d
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_info</title>
+
+  </head>
+  <!-- English revision: 1.14 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_info \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O%$%s%9%H!<%k$5$l$F$$$k$9$Y$F$N%b%8%e!<%k$d!"\e(B
+    \e$B@_Dj%U%!%$%k$N%G%#%l%/%F%#%V$J$I!"%5!<%P$N@_Dj$NA4BNE*$J35MW$r\e(B
+    \e$BDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_info.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    info_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    Apache 1.1 \e$B0J9_$G;HMQ2DG=!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#addmoduleinfo">AddModuleInfo</a></li>
+    </ul>
+
+    <h2>mod_info \e$B$N;HMQK!\e(B</h2>
+
+    <p>\e$B@_Dj$9$k$K$O!"0J2<$r\e(B <code>access.conf</code>
+    \e$B%U%!%$%k$K2C$($^$9!#\e(B</p>
+<pre>
+&lt;Location /server-info&gt;
+SetHandler server-info
+&lt;/Location&gt;
+</pre>
+    \e$B%5!<%P@_Dj$N>pJs$X$N%"%/%;%9$r@)8B$9$k$?$a$K!"\e(B
+    <a href="core.html#location">location</a>
+    \e$B%G%#%l%/%F%#%V$NCf$K\e(B <a href="core.html#limit">&lt;Limit&gt;</a>
+    \e$B@a$rF~$l$k$H$h$$$+$b$7$l$^$;$s!#\e(B
+
+    <p>\e$B$$$C$?$s@_Dj$9$k$H!"\e(B<tt>http://your.host.dom/server-info</tt>
+    \e$B$r%"%/%;%9$9$k$H%5!<%P$N>pJs$rF@$i$l$k$h$&$K$J$j$^$9!#\e(B</p>
+
+    <blockquote>
+      <p><strong>\e$B$3$N%b%8%e!<%k$O<B9T;~$K@_Dj%U%!%$%k$rFI$_9~$_$^$9!#\e(B
+      \e$B%5!<%P$N@_Dj%U%!%$%k$,:G8e$K%5!<%P$KFI$_9~$^$l$?8e$KJQ99$5$l$F$$$k\e(B
+      \e$B>l9g$K$O!"I=<($5$l$F$$$kFbMF$O<B9T$5$l$F$$$k%5!<%P$N@_Dj$rH?1G$7$F\e(B
+      <em>\e$B$$$J$$\e(B</em>\e$B$+$b$7$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+      \e$B$^$?!"@_Dj%U%!%$%k$O%5!<%P$,<B9T$5$l$F$$$k%f!<%6$N8"8B$G\e(B
+      \e$BFI$_9~$_5v2D$,M?$($i$l$F$$$kI,MW$,$"$j$^$9\e(B
+      (<a href="core.html#user"><samp>User</samp></a>
+      \e$B%G%#%l%/%F%#%V$r;2>H$7$F$/$@$5$$\e(B)\e$B!#\e(B
+      \e$B$G$J$1$l$P!"%G%#%l%/%F%#%V$N@_Dj$OI=<($5$l$^$;$s!#\e(B</strong></p>
+      <p><strong><samp>mod_info</samp>
+      \e$B$,%5!<%P$KAH$_9~$^$l$F$$$k>l9g$O!"%G%#%l%/%H%j\e(B<em>\e$B$4$H\e(B</em>\e$B$N%U%!%$%k\e(B
+      (\e$BNc$($P!"\e(B<samp>.htaccess</samp>) \e$B$r4^$`$9$Y$F$N@_Dj%U%!%$%k$G\e(B
+      \e$B%O%s%I%i$r;HMQ2DG=$G$"$k$H$$$&$3$H$K$bCm0U$7$F$/$@$5$$!#\e(B
+      \e$B$3$l$O!"$"$J$?$N%5%$%H$G$O%;%-%e%j%F%#$K4XO"$7$?LdBj$,$"$k$+$b$7$l$^$;$s!#\e(B
+      </strong></p>
+
+      <p>\e$BFC$K!"$3$N%b%8%e!<%k$O%7%9%F%`%Q%9!"%f!<%6L>\e(B/\e$B%Q%9%o!<%I!"\e(B
+      \e$B%G!<%?%Y!<%9L>$J$I!"B>$N\e(B Apache \e$B%b%8%e!<%k$N@_Dj%G%#%l%/%F%#%V$+$i\e(B
+      \e$B?5=E$K07$o$l$k$Y$->pJs$rO3$i$7$F$7$^$&2DG=@-$,$"$j$^$9!#\e(B
+      \e$B$3$N%b%8%e!<%k$,$=$N$h$&$KF0:n$9$k$?$a!">pJs$NN.=P$rKI$0J}K!$O$"$j$^$;$s!#\e(B
+      \e$B$G$9$+$i!"$3$N%b%8%e!<%k$O$-$A$s$H%"%/%;%9@)8f$5$l$?4D6-$G$N$_\e(B
+      \e$BCm0U$7$F;H$C$F$/$@$5$$!#\e(B</p>
+
+    </blockquote>
+    <hr />
+
+    <h2><a id="addmoduleinfo"
+    name="addmoduleinfo">AddModuleInfo</a></h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> AddModuleInfo
+    <em>module-name string</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_info<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3 \e$B0J9_!#\e(B
+
+
+    <p>\e$B$3$l$O!"\e(B<em>string</em> \e$B$NFbMF$,%b%8%e!<%k\e(B <em>module-name</em>
+    \e$B$N\e(B<strong>\e$BDI2C>pJs\e(B</strong> \e$B$H$7$F\e(B HTML
+    \e$B$H$7$F2r<a$5$l!"I=<($5$l$k$h$&$K$7$^$9!#Nc\e(B:</p>
+
+    <blockquote>
+<pre>
+AddModuleInfo mod_auth.c 'See &lt;A HREF="http://www.apache.org/docs/mod/mod_auth.html"&gt;http://www.apache.org/docs/mod/mod_auth.html&lt;/A&gt;'
+</pre>
+    </blockquote>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_isapi.html b/htdocs/manual/mod/mod_isapi.html
new file mode 100644 (file)
index 0000000..f29f6e3
--- /dev/null
@@ -0,0 +1,335 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_isapi</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_isapi</h1>
+
+    <p>This module supports ISAPI Extensions within Apache for
+    Windows.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_isapi.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    isapi_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> WIN32 only</p>
+
+    <h2>Summary</h2>
+
+    <p>This module implements the Internet Server extension API. It
+    allows Internet Server extensions (<em>e.g.</em> ISAPI .dll
+    modules) to be served by Apache for Windows, subject to the
+    noted restrictions.</p>
+
+    <p>ISAPI extension modules (.dll files) are written by third
+    parties. The Apache Group does not author these modules, so we
+    provide no support for them. Please contact the ISAPI's author
+    directly if you are experiencing problems running their ISAPI
+    extention. <strong>Please <em>do not</em> post such problems to
+    Apache's lists or bug reporting pages.</strong></p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a
+      href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+      <li><a
+      href="#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+      <li><a
+      href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+      <li><a
+      href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+    </ul>
+
+    <h2>Usage</h2>
+
+    <p>In the server configuration file, use the AddHandler
+    directive to associate ISAPI files with the
+    <code>isapi-isa</code> handler, and map it to the with their
+    file extensions. To enable any .dll file to be processed as an
+    ISAPI extention, edit the httpd.conf file and add the following
+    line:</p>
+<pre>
+    AddHandler isapi-isa .dll
+</pre>
+
+    <p>ISAPI extensions are governed by the same permissions and
+    restrictions as CGI scripts. That is, <code>Options
+    ExecCGI</code> must be set for the directory that contains the
+    ISAPI .dll file.</p>
+
+    <p>Review the <a href="#notes">Additional Notes</a> and the <a
+    href="#journal">Programmer's Journal</a> for additional details
+    and clarification of the specific ISAPI support offered by
+    mod_isapi.</p>
+
+    <h2><a id="notes" name="notes">Additional Notes</a></h2>
+
+    <p>Apache's ISAPI implementation conforms to all of the ISAPI
+    2.0 specification, except for the "Microsoft-specific"
+    extensions dealing with asynchronous I/O. Apache's I/O model
+    does not allow asynchronous reading and writing in a manner
+    that the ISAPI could access. If an ISA tries to access
+    unsupported features, including async I/O, a message is placed
+    in the error log to help with debugging. Since these messages
+    can become a flood, a new directive; <code>ISAPILogNotSupported
+    Off</code>, is introduced in Apache 1.3.13.</p>
+
+    <p>Some servers, like Microsoft IIS, load the ISA into the
+    server, and keep it loaded until memory usage is too high, or
+    specific configuration options are used. Apache currently loads
+    and unloads the ISA for each request. This is inefficient, but
+    Apache's request model makes this method the only method that
+    currently works. Apache 2.0 is expected to support more
+    effective loading and caching methods, with more precise
+    control over individual ISAPI modules and directories.</p>
+
+    <p>Also, remember that while Apache supports ISAPI Extensions,
+    it <strong>does not support ISAPI Filters.</strong> Support for
+    filters may be added at a later date, but no support is planned
+    at this time.</p>
+
+    <h2><a id="journal" name="journal">Programmer's
+    Journal</a></h2>
+
+    <p>If you are programming Apache 1.3 mod_isapi modules, you
+    must limit your calls to ServerSupportFunction to the following
+    directives:</p>
+
+    <dl>
+      <dt>HSE_REQ_SEND_URL_REDIRECT_RESP</dt>
+
+      <dd>Redirect the user to another location.<br />
+       This must be a fully qualified URL (e.g.
+      http://server/location).</dd>
+
+      <dt>HSE_REQ_SEND_URL</dt>
+
+      <dd>Redirect the user to another location.<br />
+       This cannot be a fully qualified URL, you are not allowed to
+      pass the protocol or a server name (e.g. simply
+      /location).<br />
+       This redirection is handled by the server, not the
+      browser.<br />
+       <strong>Warning:</strong> in their recent documentation,
+      Microsoft appears to have abandoned the distinction between
+      the two HSE_REQ_SEND_URL functions. Apache continues to treat
+      them as two distinct functions with different requirements
+      and behaviors.</dd>
+
+      <dt>HSE_REQ_SEND_RESPONSE_HEADER</dt>
+
+      <dd>Apache accepts a response body following the header if it
+      follows the blank line (two consecutive newlines) in the
+      headers string argument. This body cannot contain NULLs,
+      since the headers argument is NULL terminated.</dd>
+
+      <dt>HSE_REQ_DONE_WITH_SESSION</dt>
+
+      <dd>Apache considers this a no-op, since the session will be
+      finished when the ISAPI returns from processing.</dd>
+
+      <dt>HSE_REQ_MAP_URL_TO_PATH</dt>
+
+      <dd>Apache will translate a virtual name to a physical
+      name.</dd>
+
+      <dt>HSE_APPEND_LOG_PARAMETER <em>Apache 1.3.13 and
+      later</em></dt>
+
+      <dd>
+        This logged message may be captured in any of the following
+        logs: 
+
+        <ul>
+          <li>in the \"%{isapi-parameter}n\" component in a
+          CustomLog directive</li>
+
+          <li>in the %q log component with the
+          ISAPIAppendLogToQuery On directive</li>
+
+          <li>in the error log with the ISAPIAppendLogToErrors On
+          directive</li>
+        </ul>
+        The first option, the %{isapi-parameter}n component, is
+        always available and prefered.
+      </dd>
+
+      <dt>HSE_REQ_IS_KEEP_CONN <em>Apache 1.3.13 and
+      later</em></dt>
+
+      <dd>Will return the negotiated Keep-Alive status.</dd>
+
+      <dt>HSE_REQ_SEND_RESPONSE_HEADER_EX <em>Apache 1.3.13 and
+      later</em></dt>
+
+      <dd>Will behave as documented, although the fKeepConn flag is
+      ignored.</dd>
+
+      <dt>HSE_REQ_IS_CONNECTED <em>Apache 1.3.13 and
+      later</em></dt>
+
+      <dd>Will report false if the request has been aborted.</dd>
+    </dl>
+
+    <p>Apache returns FALSE to any unsupported call to
+    ServerSupportFunction, and sets the GetLastError value to
+    ERROR_INVALID_PARAMETER.</p>
+
+    <p>Prior to Apache 1.3.13, ReadClient was a noop, and any
+    request with a request body greater than 48kb was rejected by
+    mod_isapi. As of Apache 1.3.13, ReadClient now retrieves the
+    request body exceeding the initial buffer (defined by
+    ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer
+    setting (number of bytes to buffer prior to calling the ISAPI
+    handler) shorter requests are sent complete to the extension
+    when it is invoked. If the request is longer, the ISAPI
+    extension must use ReadClient to retrieve the remaining request
+    body.</p>
+
+    <p>WriteClient is supported, but only with the HSE_IO_SYNC flag
+    or no option flag (value of 0). Any other WriteClient request
+    will be rejected with a return value of FALSE, and a
+    GetLastError value of ERROR_INVALID_PARAMETER.</p>
+
+    <p>GetServerVariable is supported, although extended server
+    variables do not exist (as defined by other servers.) All the
+    usual Apache CGI environment variables are available from
+    GetServerVariable. As of Apache 1.3.13, the ALL_HTTP and
+    ALL_RAW and variables are now available.</p>
+
+    <p>Apache 2.0 mod_isapi may support additional features
+    introduced in later versions of the ISAPI specification, as
+    well as limited emulation of async I/O and the TransmitFile
+    semantics. Apache 2.0 may also support caching of ISAPI .dlls
+    for performance. No further enhancements to the Apache 1.3
+    mod_isapi features are anticipated.</p>
+    <hr />
+
+    <h2><a id="isapireadaheadbuffer"
+    name="isapireadaheadbuffer">ISAPIReadAheadBuffer
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ISAPIReadAheadBuffer
+    <em>size</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> 49152<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> None<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+    and later, Win32 only 
+
+    <p>Defines the maximum size of the Read Ahead Buffer sent to
+    ISAPI extentions when they are initally invoked. All remaining
+    data must be retrieved using the ReadClient callback; some
+    ISAPI extensions may not support the ReadClient function. Refer
+    questions to the ISAPI extention's author.</p>
+    <hr />
+
+    <h2><a id="isapilognotsupported"
+    name="isapilognotsupported">ISAPILogNotSupported
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ISAPILogNotSupported
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> on<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> None<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+    and later, Win32 only 
+
+    <p>Logs all requests for unsupported features from ISAPI
+    extentions in the server error log. While this should be turned
+    off once all desired ISAPI modules are functioning, it defaults
+    to on to help administrators track down problems.</p>
+    <hr />
+
+    <h2><a id="isapiappendlogtoerrors"
+    name="isapiappendlogtoerrors">ISAPIAppendLogToErrors
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ISAPIAppendLogToErrors
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> off<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> None<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+    and later, Win32 only 
+
+    <p>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
+    extentions to the server error log.</p>
+    <hr />
+
+    <h2><a id="isapiappendlogtoquery"
+    name="isapiappendlogtoquery">ISAPIAppendLogToQuery
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ISAPIAppendLogToQuery
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> off<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> None<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+    and later, Win32 only 
+
+    <p>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
+    extentions to the query field (appended to the CustomLog %q
+    component).</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_log_agent.html b/htdocs/manual/mod/mod_log_agent.html
new file mode 100644 (file)
index 0000000..2e51851
--- /dev/null
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Module mod_log_agent</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_log_agent</h1>
+
+    <p>This module provides for logging of the client user
+    agents.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_log_agent.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    agent_log_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module is provided strictly for compatibility with NCSA
+    httpd, and is deprecated. We recommend you use <a
+    href="mod_log_config.html">mod_log_config</a> instead.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#agentlog">AgentLog</a></li>
+    </ul>
+
+    <p>See also: <a
+    href="mod_log_config.html#customlog">CustomLog</a> and <a
+    href="mod_log_config.html#logformat">LogFormat</a>.</p>
+    <hr />
+
+    <h2><a id="agentlog" name="agentlog">AgentLog</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AgentLog
+    <em>file-pipe</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>AgentLog
+    logs/agent_log</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_agent 
+
+    <p>The AgentLog directive sets the name of the file to which
+    the server will log the UserAgent header of incoming requests.
+    <em>File-pipe</em> is one of</p>
+
+    <dl>
+      <dt>A filename</dt>
+
+      <dd>A filename relative to the <a
+      href="core.html#serverroot">ServerRoot</a>.</dd>
+
+      <dt>`|' followed by a command</dt>
+
+      <dd>A program to receive the agent log information on its
+      standard input. Note the a new program will not be started
+      for a VirtualHost if it inherits the AgentLog from the main
+      server.</dd>
+    </dl>
+    <strong>Security:</strong> if a program is used, then it will
+    be run under the user who started httpd. This will be root if
+    the server was started by root; be sure that the program is
+    secure. 
+
+    <p><strong>Security:</strong> See the <a
+    href="../misc/security_tips.html">security tips</a> document
+    for details on why your security could be compromised if the
+    directory where logfiles are stored is writable by anyone other
+    than the user that starts the server.</p>
+
+    <p>This directive is provided for compatibility with NCSA
+    1.4. The same result can be obtained by using the <a
+    href="mod_log_config.html#logformat">LogFormat</a> and <a
+    href="mod_log_config.html#customlog">CustomLog</a> directives as
+    shown in the following example:</p>
+
+<pre>
+    LogFormat "%{User-agent}i" agent
+    CustomLog logs/agent_log agent
+</pre>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_log_common.html b/htdocs/manual/mod/mod_log_common.html
new file mode 100644 (file)
index 0000000..e91adf7
--- /dev/null
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_log_common</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_log_common</h1>
+    This module is contained in the <code>mod_log_common.c</code>
+    file, and is compiled in by default. It provides for logging of
+    the requests made to the server using the Common Logfile
+    Format. This module has been replaced by mod_log_config in
+    Apache 1.2 
+
+    <h2>Log file format</h2>
+    The log file contains a separate line for each request. A line
+    is composed of several tokens separated by spaces: 
+
+    <blockquote>
+      host ident authuser date request status bytes
+    </blockquote>
+    If a token does not have a value then it is represented by a
+    hyphen (-). The meanings and values of these tokens are as
+    follows: 
+
+    <dl>
+      <dt>host</dt>
+
+      <dd>The fully-qualified domain name of the client, or its IP
+      number if the name is not available.</dd>
+
+      <dt>ident</dt>
+
+      <dd>If <a href="core.html#identitycheck">IdentityCheck</a> is
+      enabled and the client machine runs identd, then this is the
+      identity information reported by the client.</dd>
+
+      <dt>authuser</dt>
+
+      <dd>If the request was for a password protected document,
+      then this is the userid used in the request.</dd>
+
+      <dt>date</dt>
+
+      <dd>
+        The date and time of the request, in the following format: 
+
+        <dl>
+          <dd>
+            <blockquote>
+              <code>date = [day/month/year:hour:minute:second
+              zone]<br />
+               day = 2*digit<br />
+               month = 3*letter<br />
+               year = 4*digit<br />
+               hour = 2*digit<br />
+               minute = 2*digit<br />
+               second = 2*digit<br />
+               zone = (`+' | `-') 4*digit</code>
+            </blockquote>
+          </dd>
+        </dl>
+      </dd>
+
+      <dt>request</dt>
+
+      <dd>The request line from the client, enclosed in double
+      quotes (<code>"</code>).</dd>
+
+      <dt>status</dt>
+
+      <dd>The three digit status code returned to the client.</dd>
+
+      <dt>bytes</dt>
+
+      <dd>The number of bytes in the object returned to the client,
+      not including any headers.</dd>
+    </dl>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#transferlog">TransferLog</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="transferlog" name="transferlog">TransferLog</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> TransferLog
+    <em>file-pipe</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>TransferLog
+    logs/transfer_log</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_common 
+
+    <p>The TransferLog directive sets the name of the file to which
+    the server will log the incoming requests. <em>File-pipe</em>
+    is one of</p>
+
+    <dl>
+      <dt>A filename</dt>
+
+      <dd>A filename relative to the <a
+      href="core.html#serverroot">ServerRoot</a>.</dd>
+
+      <dt>`|' followed by a command</dt>
+
+      <dd>A program to receive the agent log information on its
+      standard input. Note the a new program will not be started
+      for a VirtualHost if it inherits the TransferLog from the
+      main server. See, just as an example, <a
+      href="http://www.cronolog.org/">cronolog</a>.</dd>
+    </dl>
+    <strong>Security:</strong> if a program is used, then it will
+    be run under the user who started httpd. This will be root if
+    the server was started by root; be sure that the program is
+    secure. 
+
+    <p><strong>Security:</strong> See the <a
+    href="../misc/security_tips.html">security tips</a> document
+    for details on why your security could be compromised if the
+    directory where logfiles are stored is writable by anyone other
+    than the user that starts the server.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_log_config.html.en b/htdocs/manual/mod/mod_log_config.html.en
new file mode 100644 (file)
index 0000000..f9ad2fb
--- /dev/null
@@ -0,0 +1,407 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_log_config</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_log_config</h1>
+
+    <p>This module provides for logging of the requests made to the
+    server, using the Common Log Format or a user-specified
+    format.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_log_config.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    config_log_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Was an extension
+    module prior to Apache 1.2.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides for flexible logging of client
+    requests. Logs are written in a customizable format, and may be
+    written directly to a file, or to an external program.
+    Conditional logging is provided so that individual requests may
+    be included or excluded from the logs based on characteristics
+    of the request.</p>
+
+    <p>Three directives are provided by this module:
+    <code>TransferLog</code> to create a log file,
+    <code>LogFormat</code> to set a custom format, and
+    <code>CustomLog</code> to define a log file and format in one
+    step. The <code>TransferLog</code> and <code>CustomLog</code>
+    directives can be used multiple times in each server to cause
+    each request to be logged to multiple files.</p>
+
+    <p>See also: <a href="../logs.html">Apache Log Files</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#cookielog">CookieLog</a></li>
+
+      <li><a href="#customlog">CustomLog</a></li>
+
+      <li><a href="#logformat">LogFormat</a></li>
+
+      <li><a href="#transferlog">TransferLog</a></li>
+    </ul>
+
+    <h2><a id="formats" name="formats">Custom Log Formats</a></h2>
+
+    <p>The format argument to the <code>LogFormat</code> and
+    <code>CustomLog</code> directives is a string. This string is
+    used to log each request to the log file. It can contain literal
+    characters copied into the log files and the C-style control
+    characters "\n" and "\t" to represent new-lines and tabs.
+    Literal quotes and back-slashes should be escaped with
+    back-slashes.</p>
+
+    <p>The characteristics of the request itself are logged by
+    placing "<code>%</code>" directives in the format string, which are
+    replaced in the log entry by the values as follows:</p>
+<pre>
+%...a:          Remote IP-address
+%...A:          Local IP-address
+%...B:          Bytes sent, excluding HTTP headers.
+%...b:          Bytes sent, excluding HTTP headers. In CLF format
+        i.e. a '-' rather than a 0 when no bytes are sent.
+%...c:          Connection status when response was completed.
+                'X' = connection aborted before the response completed.
+                '+' = connection may be kept alive after the response is sent.
+                '-' = connection will be closed after the response is sent.
+%...{FOOBAR}e:  The contents of the environment variable FOOBAR
+%...f:          Filename
+%...h:          Remote host
+%...H       The request protocol
+%...{Foobar}i:  The contents of Foobar: header line(s) in the request
+                sent to the server.
+%...l:          Remote logname (from identd, if supplied)
+%...m       The request method
+%...{Foobar}n:  The contents of note "Foobar" from another module.
+%...{Foobar}o:  The contents of Foobar: header line(s) in the reply.
+%...p:          The canonical Port of the server serving the request
+%...P:          The process ID of the child that serviced the request.
+%...q       The query string (prepended with a ? if a query string exists,
+        otherwise an empty string)
+%...r:          First line of request
+%...s:          Status.  For requests that got internally redirected, this is
+                the status of the *original* request --- %...&gt;s for the last.
+%...t:          Time, in common log format time format (standard english format)
+%...{format}t:  The time, in the form given by format, which should
+                be in strftime(3) format. (potentially localized)
+%...T:          The time taken to serve the request, in seconds.
+%...u:          Remote user (from auth; may be bogus if return status (%s) is 401)
+%...U:          The URL path requested, not including any query string.
+%...v:          The canonical ServerName of the server serving the request.
+%...V:          The server name according to the UseCanonicalName setting.
+</pre>
+
+    <p>The "..." can be nothing at all (<em>e.g.</em>, <code>"%h %u
+    %r %s %b"</code>), or it can indicate conditions for inclusion
+    of the item (which will cause it to be replaced with "-" if the
+    condition is not met). The forms of condition are a list of
+    HTTP status codes, which may or may not be preceded by "!".
+    Thus, "%400,501{User-agent}i" logs User-agent: on 400 errors
+    and 501 errors (Bad Request, Not Implemented) only;
+    "%!200,304,302{Referer}i" logs Referer: on all requests which
+    did <strong>not</strong> return some sort of normal status.</p>
+
+    <p>Note that in versions previous to 1.3.25 no escaping was performed
+    on the strings from <code>%...r</code>, <code>%...i</code> and
+    <code>%...o</code>. This was mainly to comply with the requirements of
+    the Common Log Format. This implied that clients could insert control
+    characters into the log, so you had to be quite careful when dealing
+    with raw log files.</p>
+
+    <p>For security reasons starting with 1.3.25 non-printable and
+    other special characters are escaped mostly by using
+    <code>\x<var>hh</var></code> sequences, where <var>hh</var> stands for
+    the hexadecimal representation of the raw byte. Exceptions from this
+    rule are <code>"</code> and <code>\</code> which are escaped by prepending
+    a backslash, and all whitespace characters that are written in their
+    C-style notation (<code>\n</code>, <code>\t</code>, etc).</p>
+
+    <p>Some commonly used log format strings are:</p>
+
+    <dl>
+      <dt>Common Log Format (CLF)</dt>
+
+      <dd><code>"%h %l %u %t \"%r\" %&gt;s %b"</code></dd>
+
+      <dt>Common Log Format with Virtual Host</dt>
+
+      <dd><code>"%v %h %l %u %t \"%r\" %&gt;s %b"</code></dd>
+
+      <dt>NCSA extended/combined log format</dt>
+
+      <dd><code>"%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\"
+      \"%{User-agent}i\""</code></dd>
+
+      <dt>Referer log format</dt>
+
+      <dd><code>"%{Referer}i -&gt; %U"</code></dd>
+
+      <dt>Agent (Browser) log format</dt>
+
+      <dd><code>"%{User-agent}i"</code></dd>
+    </dl>
+
+    <p>Note that the canonical <a
+    href="core.html#servername">ServerName</a> and <a
+    href="core.html#port">Port</a> of the server serving the
+    request are used for <code>%v</code> and <code>%p</code>
+    respectively. This happens regardless of the <a
+    href="core.html#usecanonicalname">UseCanonicalName</a> setting
+    because otherwise log analysis programs would have to duplicate
+    the entire vhost matching algorithm in order to decide what
+    host really served the request.</p>
+
+    <h2>Security Considerations</h2>
+
+    <p>See the <a
+    href="../misc/security_tips.html#serverroot">security tips</a>
+    document for details on why your security could be compromised
+    if the directory where logfiles are stored is writable by
+    anyone other than the user that starts the server.</p>
+
+    <h2>Compatibility notes</h2>
+
+    <ul>
+      <li>This module is based on mod_log_config distributed with
+      previous Apache releases, now updated to handle multiple
+      logs. There is now no need to rebuild Apache to change
+      configuration log formats.</li>
+
+      <li>The module also implements the <code>CookieLog</code>
+      directive, used to log user-tracking information created by
+      <a href="mod_usertrack.html">mod_usertrack</a>. The use of
+      <code>CookieLog</code> is deprecated, and a
+      <code>CustomLog</code> should be defined to log user-tracking
+      information instead.</li>
+
+      <li>As of Apache 1.3.5, this module allows conditional
+      logging based upon the setting of <a
+      href="../env.html">environment variables</a>. That is, you
+      can control whether a request should be logged or not based
+      upon whether an arbitrary environment variable is defined or
+      not. This is configurable on a per-logfile
+      basis.</li>
+
+      <li>Beginning with Apache 1.3.5, the mod_log_config module
+      has also subsumed the <code>RefererIgnore</code>
+      functionality from <a
+      href="mod_log_referer.html">mod_log_referer</a>. The effect
+      of <code>RefererIgnore</code> can be achieved by combinations
+      of <a href="mod_setenvif.html"><code>SetEnvIf</code></a>
+      directives and conditional <code>CustomLog</code>
+      definitions.</li>
+    </ul>
+    <hr />
+
+    <h2><a id="cookielog" name="cookielog">CookieLog</a>
+    directive</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookieLog
+    <em>filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_cookies<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Only available
+    in Apache 1.2 and above</p>
+
+    <p>The CookieLog directive sets the filename for logging of
+    cookies. The filename is relative to the <a
+    href="core.html#serverroot">ServerRoot</a>. This directive is
+    included only for compatibility with <a
+    href="mod_cookies.html">mod_cookies</a>, and is deprecated.</p>
+    <hr />
+
+    <h2><a id="customlog" name="customlog">CustomLog</a> <a
+    id="customlog-conditional"
+    name="customlog-conditional">directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CustomLog
+    <em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em>
+    [env=[!]<em>environment-variable</em>]<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Nickname only
+    available in Apache 1.3 or later. Conditional logging available
+    in 1.3.5 or later.<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_config</p>
+
+    <p>The <code>CustomLog</code> directive is used to log requests
+    to the server. A log format is specified, and the logging can
+    optionally be made conditional on request characteristics using
+    environment variables.</p>
+
+    <p>The first argument, which specifies the location to which
+    the logs will be written, can take one of the following two
+    types of values:</p>
+
+    <dl>
+      <dt><em>file</em></dt>
+
+      <dd>A filename, relative to the <a
+      href="core.html#serverroot">ServerRoot</a>.</dd>
+
+      <dt><em>pipe</em></dt>
+
+      <dd>The pipe character "<code>|</code>", followed by the path
+      to a program to receive the log information on its standard
+      input. <strong>Security:</strong> if a program is used, then
+      it will be run as the user who started httpd. This will be
+      root if the server was started by root; be sure that the
+      program is secure.</dd>
+    </dl>
+
+    <p>The second argument specifies what will be written to the
+    log file. It can specify either a <em>nickname</em> defined by
+    a previous <a href="#logformat">LogFormat</a> directive, or it
+    can be an explicit <em>format</em> string as described in the
+    <a href="#formats">log formats</a> section.</p>
+
+    <p>For example, the following two sets of directives have
+    exactly the same effect:</p>
+<pre>
+     # CustomLog with format nickname
+     LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
+     CustomLog logs/access_log common
+
+     # CustomLog with explicit format string
+     CustomLog logs/access_log "%h %l %u %t \"%r\" %&gt;s %b"
+</pre>
+
+    <p>The third argument is optional and controls
+    whether or not to log a particular request based on the
+    presence or absence of a particular variable in the server
+    environment. If the specified <a href="../env.html">environment
+    variable</a> is set for the request (or is not set, in the case
+    of a '<code>env=!<em>name</em></code>' clause), then the
+    request will be logged.</p>
+
+    <p>Environment variables can be set on a per-request
+    basis using the <a href="mod_setenvif.html">mod_setenvif</a>
+    and/or <a href="mod_rewrite.html">mod_rewrite</a> modules. For
+    example, if you want to record requests for all GIF
+    images on your server in a separate logfile but not in your main
+    log, you can use:</p>
+<pre>
+    SetEnvIf Request_URI \.gif$ gif-image
+    CustomLog gif-requests.log common env=gif-image
+    CustomLog nongif-requests.log common env=!gif-image
+</pre>
+    <hr />
+
+    <h2><a id="logformat" name="logformat">LogFormat</a>
+    directive</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LogFormat
+    <em>format</em>|<em>nickname</em> [<em>nickname</em>]<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>LogFormat "%h %l
+    %u %t \"%r\" %&gt;s %b"</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Nickname only
+    available in Apache 1.3 or later<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_config</p>
+
+    <p>This directive specifies the format of the access log
+    file.</p>
+
+    <p>The <code>LogFormat</code> directive can take one of two
+    forms. In the first form, where only one argument is specified,
+    this directive sets the log format which will be used by logs
+    specified in subsequent <a href="#transferlog">TransferLog</a>
+    directives. The single argument can specify an explicit
+    <em>format</em> as discussed in the <a href="#formats">custom log
+    formats</a> section above. Alternatively, it can use a
+    <em>nickname</em> to refer to a log format defined in a
+    previous <code>LogFormat</code> directive as described
+    below.</p>
+
+    <p>The second form of the <code>LogFormat</code> directive
+    associates an explicit <em>format</em> with a
+    <em>nickname</em>. This <em>nickname</em> can then be used in
+    subsequent <code>LogFormat</code> or <a
+    href="#customlog">CustomLog</a> directives rather than
+    repeating the entire format string. A <samp>LogFormat</samp>
+    directive which defines a nickname <strong>does nothing
+    else</strong> -- that is, it <em>only</em> defines the
+    nickname, it doesn't actually apply the format and make it the
+    default. Therefore, it will not affect subsequent <a
+    href="#transferlog">TransferLog</a> directives.</p>
+
+    <p>For example:</p>
+
+    <code>LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost_common</code>
+
+    <hr />
+
+    <h2><a id="transferlog" name="transferlog">TransferLog</a>
+    directive</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> TransferLog
+    <em>file</em>|<em>pipe</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> none<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_config</p>
+
+    <p>This directive has exactly the same arguments and effect as
+    the <a href="#customlog">CustomLog</a> directive, with the
+    exception that it does not allow the log format to be specified
+    explicitly or for conditional logging of requests. Instead, the
+    log format is determined by the most recently specified <a
+    href="#logformat">LogFormat</a> directive that does not define
+    a nickname. Common Log Format is used if no other format has
+    been specified.</p>
+
+    <p>Example:</p>
+<pre>
+   LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-agent}i\""
+   TransferLog logs/access_log
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_log_config.html.html b/htdocs/manual/mod/mod_log_config.html.html
new file mode 100644 (file)
index 0000000..091b838
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_log_config.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_log_config.html.ja.jis b/htdocs/manual/mod/mod_log_config.html.ja.jis
new file mode 100644 (file)
index 0000000..ae4f698
--- /dev/null
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+    <title>Apache module mod_log_config</title>
+  </head>
+  <!-- English revision: 1.56 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+  alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_log_config \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O%5!<%P$X$N%j%/%(%9%H$r\e(B Common Log Format
+    \e$B$d%f!<%6$K;XDj$5$l$?=q<0$rMQ$$$F\e(B
+    \e$B%m%0<}=8$9$k5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_log_config.c<br />
+    <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    config_log_module<br />
+    <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2 \e$B$h$jA0$O\e(B
+    extension \e$B%b%8%e!<%k$G$7$?!#\e(B</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>
+    \e$B$3$N%b%8%e!<%k$O%/%i%$%"%s%H$N%j%/%(%9%H$r=@Fp$K%m%0<}=8$9$k5!G=$r\e(B
+    \e$BDs6!$7$^$9!#%m%0$O%+%9%?%^%$%:2DG=$J=q<0$G=q$+$l!"%U%!%$%k$KD>@\\e(B
+    \e$B=q$$$?$j!"30It%W%m%0%i%`$KEO$7$?$j$9$k$3$H$,$G$-$^$9!#8D!9$N%j%/%(%9%H$r\e(B
+    \e$BFCD'$K1~$8$F%m%0$K=q$$$?$j=q$+$J$+$C$?$j$G$-$k$h$&$K!">r7o$K$h$k\e(B
+    \e$B%m%0<}=8$bDs6!$5$l$F$$$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%b%8%e!<%k$O;0$D$N%G%#%l%/%F%#%VDs6!$7$^$9\e(B:
+    \e$B%m%0%U%!%$%k$r:n@.$9$k$?$a$N\e(B <code>TransferLog</code>,
+    \e$B?7$7$$=q<0$r\e(B \e$BDj5A$9$k\e(B <code>LogFormat</code>,
+    \e$B%m%0%U%!%$%k$H\e(B \e$B=q<0$r0lEY$KDj5A$9$k\e(B <code>CustomLog</code>
+    \e$B$G$9!#\e(B
+    \e$B3F%j%/%(%9%H$,J#?t2s%m%0<}=8$5$l$k$h$&$K$9$k$?$a$K\e(B
+    <code>TransferLog</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>CustomLog</code>
+    \e$B%G%#%l%/%F%#%V$OJ#?t2s;HMQ$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B;2>H\e(B: <a href="../logs.html">Apache
+    \e$B%m%0%U%!%$%k\e(B</a>\e$B!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+    <li><a href="#cookielog">CookieLog</a></li>
+
+    <li><a href="#customlog">CustomLog</a></li>
+
+    <li><a href="#logformat">LogFormat</a></li>
+
+    <li><a href="#transferlog">TransferLog</a></li>
+    </ul>
+
+    <h2><a id="formats" name="formats">\e$B%+%9%?%`%m%0=q<0\e(B</a></h2>
+
+    <p><code>LogFormat</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>CustomLog</code>
+    \e$B%G%#%l%/%F%#%V$N=q<0$r;XDj$9$k0z?t$OJ8;zNs$G$9!#$3$NJ8;zNs$r;H$C$F$=$l$>$l$N\e(B
+    \e$B%j%/%(%9%H$,%m%0%U%!%$%k$K%m%0<}=8$5$l$^$9!#$=$NJ8;zNs$K$O\e(B
+    \e$B%m%0%U%!%$%k$K$=$N$^$^\e(B
+    \e$B=q$+$l$kJ8;zNs$d!"$=$l$>$l2~9T$H%?%V$r8=$9\e(B C \e$B8@8l\e(B
+    \e$B7A<0$N@)8fJ8;z\e(B "\n" \e$B$H\e(B "\t"
+    \e$B$H$r4^$a$k$3$H$,$G$-$^$9!#$=$N$^$^=PNO$5$;$?$$0zMQId$H%P%C%/%9%i%C%7%e$O\e(B
+    \e$B%P%C%/%9%i%C%7%e$G%(%9%1!<%W$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B%j%/%(%9%H$NFCD'$=$N$b$N$O\e(B "<code>%</code>"
+    \e$B%G%#%l%/%F%#%V$r=q<0$NJ8;zNs$K=q$/$3$H$G\e(B
+    \e$B%m%0<}=8$5$l$^$9!#\e(B"%"
+    \e$B%G%#%l%/%F%#%V$O%m%0%(%s%H%jCf$G$O0J2<$N$h$&$J\e(B
+    \e$BCM$GCV49$5$l$^$9\e(B:</p>
+
+<pre>
+%...a:          \e$B%j%b!<%H\e(B IP \e$B%"%I%l%9\e(B
+%...A:          \e$B%m!<%+%k\e(B IP \e$B%"%I%l%9\e(B
+%...B:          HTTP \e$B%X%C%@0J30$NAw$i$l$?%P%$%H?t\e(B
+%...b:          HTTP \e$B%X%C%@0J30$NAw$i$l$?%P%$%H?t!#\e(BCLF \e$B=q<0!#\e(B
+                \e$B$9$J$o$A!"\e(B1 \e$B%P%$%H$bAw$i$l$J$+$C$?$H$-$O\e(B 0 \e$B$G$O$J$/!"\e(B'-' \e$B$K$J$k\e(B
+%...c:          \e$B1~Ez$,=*N;$7$?$H$-$N@\B3%9%F!<%?%9!#\e(B
+                'X' = \e$B1~Ez$,=*N;$9$kA0$K@\B3$,0[>o=*N;\e(B
+                '+' = \e$B1~Ez$,Aw$i$l$?8e$K@\B3$r;}B3$9$k$3$H$,2DG=\e(B
+                '-' = \e$B1~Ez$,Aw$i$l$?8e$K@\B3$O@Z$i$l$k\e(B
+%...{FOOBAR}e:  \e$B4D6-JQ?t\e(B FOOBAR \e$B$NFbMF\e(B
+%...f:          \e$B%U%!%$%kL>\e(B
+%...h:          \e$B%j%b!<%H%[%9%H\e(B
+%...H           \e$B%j%/%(%9%H%W%m%H%3%k\e(B
+%...{Foobar}i:  \e$B%5!<%P$KAw$i$l$?%j%/%(%9%H$N\e(B Foobar: \e$B%X%C%@$NFbMF\e(B
+%...l:          (\e$B$b$7$"$l$P!"\e(Bidentd \e$B$+$i$N\e(B) \e$B%j%b!<%H%m%0L>\e(B
+%...m           \e$B%j%/%(%9%H%a%=%C%I\e(B
+%...{Foobar}n:  \e$BB>$N%b%8%e!<%k$+$i$N%a%b\e(B "Foobar" \e$B$NFbMF\e(B
+%...{Foobar}o:  \e$B1~Ez$N\e(B Foobar: \e$B%X%C%@$NFbMF\e(B
+%...p:          \e$B%j%/%(%9%H$r07$C$F$$$k%5!<%P$N@5<0$J%]!<%H\e(B
+%...P:          \e$B%j%/%(%9%H$r07$C$?;R%W%m%;%9$N%W%m%;%9\e(B ID
+%...q           \e$BLd$$9g$;J8;zNs\e(B (\e$BB8:_$9$k>l9g$OA0$K\e(B ? \e$B$,DI2C$5$l$k!#$=$&$G$J$$\e(B
+                \e$B>l9g$O6uJ8;zNs\e(B)
+%...r:          \e$B%j%/%(%9%H$N:G=i$N9T\e(B
+%...s:          \e$B%9%F!<%?%9!#FbIt$G%j%@%$%l%/%H$5$l$?%j%/%(%9%H$O!"85!9$N\e(B
+                \e$B%j%/%(%9%H$N%9%F!<%?%9\e(B --- \e$B:G8e$N%9%F!<%?%9$O\e(B %...&gt;s
+%...t:          \e$B;~9o!#\e(BCLF \e$B$N;~9o$N=q<0\e(B (\e$BI8=`$N1Q8l$N=q<0\e(B)
+%...{format}t:  format \e$B$GM?$($i$l$?=q<0$K$h$k;~9o!#\e(Bformat \e$B$O\e(B strftime (3) \e$B$N\e(B
+                \e$B=q<0$G$"$kI,MW$,$"$k!#\e(B(\e$BCO0h2=$5$l$F$$$k2DG=@-$,$"$k\e(B)
+%...T:          \e$B%j%/%(%9%H$r07$&$N$K$+$+$C$?;~4V!"ICC10L\e(B
+%...u:          \e$B%j%b!<%H%f!<%6\e(B (auth \e$B$K$h$k$b$N!#%9%F!<%?%9\e(B (%s) \e$B$,\e(B 401 \e$B$N$H$-$O\e(B
+                \e$B0UL#$,$J$$2DG=@-$,$"$k\e(B)
+%...U:          \e$B%j%/%(%9%H$5$l$?\e(B URL \e$B%Q%9$G!"%/%(%jJ8;zNs$O4^$^$J$$\e(B
+%...v:          \e$B%j%/%(%9%H$r07$C$F$$$k%5!<%P$N@5<0$J\e(B ServerName
+%...V:          UseCanonicalName \e$B$N@_Dj$K$h$k%5!<%PL>\e(B
+</pre>
+
+    <p>"..." \e$B$O2?$b$J$$$+\e(B (<em>\e$BNc$($P\e(B</em>\e$B!"\e(B<code>"%h %u %r %s %b"</code> \e$B$N$h$&$K\e(B)\e$B!"\e(B
+    \e$B$=$N9`L\$r4^$a$k$+$I$&$+$N>r7o\e(B (\e$B$b$7>r7o$K9g$o$J$+$C$?$H$-$O\e(B
+    \e$B$=$N9`L\$O\e(B "-" \e$B$K$J$j$^$9\e(B) \e$B$K$9$k$3$H$,$G$-$^$9!#>r7o$N7A<0$O\e(B
+    HTTP \e$B%9%F!<%?%9%3!<%I$N%j%9%H$G!"A0$K\e(B "!" \e$B$rIU$1$k$3$H$b$G$-$^$9!#\e(B
+    \e$B$G$9$+$i!"\e(B"%400,501{User-agent}i" \e$B$O\e(B 400 \e$B%(%i!<$H\e(B 501 \e$B%(%i!<\e(B
+    (Bad Request \e$B$H\e(B Not Implemented) \e$B$N$H$-$N$_\e(B User-agent: \e$B$r%m%0<}=8$7$^$9!#\e(B
+    "%!200,304,302{Referer}i" \e$B$OIaDL$N%9%F!<%?%9$r\e(B<strong>\e$BJV$5$J$+$C$?\e(B</strong>
+    \e$B$9$Y$F$N%j%/%(%9%H$G\e(B Referer: \e$B$r%m%0<}=8$7$^$9!#\e(B</p>
+
+    <p>1.3.25 \e$B$h$jA0$N%P!<%8%g%s$G$O!"\e(B<code>%...r</code>, <code>%...i</code>,
+    <code>%...o</code> \e$B$NJ8;zNs$O\e(B
+    \e$B%(%9%1!<%W$5$l$F$$$J$+$C$?$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#$3$l$O<g$K\e(B Common Log Format \e$B$+$i$NMW5a$K$h$k$b$N$G$9!#\e(B
+    \e$B$3$l$O!"%/%i%$%"%s%H$,%m%0$K@)8fJ8;z$rA^F~$9$k$3$H$,$G$-$k$H$$$&$3$H$G!"\e(B
+    \e$B@8$N%m%0%U%!%$%k$r07$&$H$-$K$OHs>o$KCm0U$,I,MW$G$7$?!#\e(B</p>
+
+    <p>\e$B%;%-%e%j%F%#>e$NM}M3$K$h$j\e(B 1.3.25 \e$B$h$j0u;zIT2DG=$JJ8;z$H\e(B
+    \e$BB>$NFCJL$JJ8;z$O!"$[$H$s$I\e(B <code>\x<var>hh</var></code> \e$B$H$$$&\e(B
+    \e$BJ8;zNs$G%(%9%1!<%W$5$l$k$h$&$K$J$j$^$7$?!#$3$3$G!"\e(B<var>hh</var> \e$B$O\e(B
+    \e$B$=$N$^$^$N%P%$%H$NCM$N\e(B 16 \e$B?J$G$NCM$G$9!#$3$N5,B'$NNc30$K$O!"\e(B
+    \e$B%P%C%/%9%i%C%7%e$r;H$C$F%(%9%1!<%W$5$l$k\e(B <code>"</code> \e$B$H\e(B <code>\</code> \e$B$H!"\e(B
+    C \e$B7A<0$NI=5-K!$,;H$o$l$k6uGrJ8;z\e(B (<code>\n</code>, <code>\t</code> \e$B$J$I\e(B) \e$B$,\e(B
+    \e$B$"$j$^$9!#\e(B</p>
+
+    <p>\e$B$h$/;H$o$l$k%U%)!<%^%C%HJ8;zNs$O\e(B:</p>
+
+    <dl>
+    <dt>Common Log Format (CLF)</dt>
+
+    <dd><code>"%h %l %u %t \"%r\" %&gt;s %b"</code></dd>
+
+    <dt>\e$B%P!<%A%c%k%[%9%HIU$-\e(B Common Log Format</dt>
+
+    <dd><code>"%v %h %l %u %t \"%r\" %&gt;s %b"</code></dd>
+
+    <dt>NCSA extended/combined \e$B%m%0=q<0\e(B</dt>
+
+    <dd><code>"%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\"
+    \"%{User-agent}i\""</code></dd>
+
+    <dt>Referer \e$B%m%0=q<0\e(B</dt>
+
+    <dd><code>"%{Referer}i -&gt; %U"</code></dd>
+
+    <dt>Agent (\e$B%V%i%&%6\e(B) \e$B%m%0=q<0\e(B</dt>
+
+    <dd><code>"%{User-agent}i"</code></dd>
+    </dl>
+
+    <p><code>%v</code> \e$B$H\e(B <code>%p</code> \e$B$K$O$=$l$>$l!"\e(B
+    \e$B%j%/%(%9%H$r07$C$F$$$k%5!<%P$N@55,2=$5$l$?\e(B
+    <a href="core.html#servername">ServerName</a> \e$B$H\e(B <a
+    href="core.html#port">Port</a> \e$B$,;H$o$l$k$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$O\e(B <a href="core.html#usecanonicalname">UseCanonicalName</a> \e$B$N\e(B
+    \e$B@_Dj$K4X$o$i$:!">o$K$=$&$J$j$^$9!#$=$&$7$J$$$H$I$N\e(B
+    \e$B%[%9%H$,<B:]$K%j%/%(%9%H$r07$C$?$N$+$rCN$k$?$a$K!"\e(B
+    \e$B%m%02r@O%W%m%0%i%`$,%P!<%A%c%k%[%9%H$N%^%C%A%s%0$r$H$k%"%k%4%j%:%`A4BN$r\e(B
+    \e$B:F<BAu$7$J$1$l$P$J$i$J$/$J$k$+$i$G$9!#\e(B</p>
+
+    <h2>\e$B%;%-%e%j%F%#$K4X$7$F\e(B</h2>
+
+    <p>\e$B%m%0%U%!%$%k$,J]B8$5$l$F$$$k%G%#%l%/%H%j$,%5!<%P$r5/F0$7$?0J30$N%f!<%6$G\e(B
+    \e$B=q$-9~$_2DG=$J$H$-$K%;%-%e%j%F%#$NLdBj$,H/@8$9$kM}M3$N>\:Y$O\e(B<a
+    href="../misc/security_tips.html#serverroot">\e$B%;%-%e%j%F%#$N$3$D\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <h2>\e$B8_49@-$K4X$7$F\e(B</h2>
+
+    <ul>
+    <li>\e$B$3$N%b%8%e!<%k$O0JA0$N\e(B Apache
+    \e$B$N%j%j!<%9$GG[I[$5$l$F$$$?\e(B mod_log_config
+    \e$B$r4p$K$7$F!"J#?t$N%m%0$r07$($k$h$&$K99?7$5$l$?$b$N$G$9!#\e(B
+    \e$B@_Dj2DG=$J%m%0$N=q<0$r;H$&$?$a$K\e(B Apache \e$B$r%S%k%I\e(B
+    \e$B$7D>$9I,MW$O$J$/$J$j$^$7$?!#\e(B</li>
+
+    <li>\e$B$3$N%b%8%e!<%k$O\e(B <a
+    href="mod_usertrack.html">mod_usertrack</a> \e$B$K$h$j\e(B
+    \e$B:n$i$l$?%f!<%6DI@WMQ$N>pJs$N%m%0<}=8$r9T$J$&$?$a$K;H$o$l$F$$$?\e(B
+    <code>CookieLog</code>
+    \e$B%G%#%l%/%F%#%V$b<BAu$7$F$$$^$9!#\e(B<code>CookieLog</code>
+    \e$B%G%#%l%/%F%#%V$N;HMQ$OHs?d>)$G!"\e(B
+    \e$B%f!<%6DI@WMQ$N>pJs$b%m%0<}=8$9$k$h$&$K@_Dj$7$?\e(B
+    <code>CustomLog</code> \e$B$r;H$&$3$H$,?d>)$5$l$F$$$^$9!#\e(B</li>
+
+    <li>Apache 1.3.5 \e$B$N;~E@$G!"$3$N%b%8%e!<%k$O\e(B <a
+    href="../env.html">\e$B4D6-JQ?t\e(B</a>
+    \e$B$N@_Dj$K4p$E$$$F>r7oIU$-%m%.%s%0$,$G$-$k$h$&$K$J$j$^$7$?!#$9$J$o$A!"\e(B
+    \e$B%j%/%(%9%H$,%m%0<}=8$5$l$k$+$I$&$+$rG$0U$N4D6-JQ?t$,Dj5A$5$l$F$$$k$+\e(B
+    \e$B$I$&$+$K$h$jJQ99$9$k$3$H$,$G$-$k$H$$$&$3$H$G$9!#$3$l$O\e(B
+    \e$B%m%0%U%!%$%k$4$H$K@_Dj2DG=$G$9!#\e(B</li>
+
+    <li>Apache 1.3.5 \e$B$+$i!"\e(Bmod_log_config \e$B%b%8%e!<%k$O\e(B <a
+    href="mod_log_referer.html">mod_log_referer</a> \e$B$N\e(B
+    <code>RefererIgnore</code> \e$B5!G=$b4^$`$h$&$K$J$j$^$7$?!#\e(B
+    <code>RefererIgnore</code> \e$B$N8z2L$O\e(B <a
+    href="mod_setenvif.html"><code>SetEnvIf</code></a>
+    \e$B%G%#%l%/%F%#%V$H\e(B <code>CustomLog</code>
+    \e$B$N>r7oIU$-$N@_Dj$K$h$jC#@.$G$-$^$9!#\e(B</li>
+    </ul>
+
+    <hr />
+    <h2><a id="cookielog" name="cookielog">CookieLog</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> CookieLog
+    <em>filename</em><br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_cookies<br />
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2
+    \e$B0J9_$G$N$_;HMQ2DG=\e(B</p>
+
+    <p>CookieLog
+    \e$B%G%#%l%/%F%#%V$O%/%C%-!<$N%m%.%s%0$N$?$a$N%U%!%$%kL>$r\e(B
+    \e$B@_Dj$7$^$9!#\e(Bfilename \e$B$O\e(B <a
+    href="core.html#serverroot">ServerRoot</a>
+    \e$B$+$i$NAjBP%Q%9$G$9!#$3$N%G%#%l%/%F%#%V$O\e(B <a
+    href="mod_cookies.html">mod_cookies</a> \e$B$H$N8_49@-$N$?$a$@$1$K\e(B
+    \e$BB8:_$7!";HMQ$O?d>)$5$l$F$$$^$;$s!#\e(B</p>
+
+    <hr />
+    <h2><a id="customlog" name="customlog">CustomLog</a> <a
+    id="customlog-conditional"
+    name="customlog-conditional">\e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> CustomLog
+    <em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em>
+    [env=[!]<em>environment-variable</em>]<br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Nickname \e$B$O\e(B Apache
+    1.3 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B \e$B>r7oIU$-%m%.%s%0$O\e(B 1.3.5
+    \e$B0J9_$G;HMQ2DG=!#\e(B<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_log_config</p>
+
+    <p><code>CustomLog</code> \e$B%G%#%l%/%F%#%V$O%5!<%P$X$N%j%/%(%9%H$r\e(B
+    \e$B%m%0<}=8$9$k$?$a$K;H$o$l$^$9!#%m%0$N=q<0$,;XDj$5$l!"\e(B
+    \e$B4D6-JQ?t$r;H$C$F%m%.%s%0$,>r7o$K1~$8$F9T$J$o$l$k$h$&$K$9$k$3$H$b$G$-$^$9!#\e(B</p>
+
+    <p>\e$B%m%0$,=q$+$l$k>l=j$r;XDj$9$k:G=i$N0z?t$O0J2<$NFs$D$N7A<0$NCM$r\e(B
+    \e$B$H$k$3$H$,$G$-$^$9\e(B:</p>
+
+    <dl>
+    <dt><em>file</em></dt>
+
+    <dd><a href="core.html#serverroot">ServerRoot</a>
+    \e$B$+$i$NAjBP%Q%9$GI=$5$l$k%U%!%$%kL>!#\e(B</dd>
+
+    <dt><em>pipe</em></dt>
+
+    <dd>\e$B%Q%$%WJ8;z\e(B "<code>|</code>" \e$B$H!"$=$N8e$KI8=`F~NO$+$i%m%0$N\e(B
+    \e$B>pJs$r<u$1$H$k%W%m%0%i%`$X$N%Q%9$,B3$$$?$b$N!#\e(B
+    <strong>\e$B%;%-%e%j%F%#\e(B:</strong> \e$B$b$7%W%m%0%i%`$,;HMQ$5$l$?>l9g!"\e(B
+    httpd \e$B$,5/F0$5$l$?%f!<%6$H$7$F<B9T$5$l$^$9!#$3$l$O%5!<%P$,\e(B
+    root \e$B$K$h$C$F5/F0$5$l$?>l9g$O\e(B root \e$B$K$J$j$^$9!#%W%m%0%i%`$,\e(B
+    \e$B0BA4$G$"$k$h$&$KN10U$7$F$/$@$5$$!#\e(B</dd>
+    </dl>
+
+    <p>\e$BFs$D$a$N0z?t$O%m%0%U%!%$%k$K2?$,=q$+$l$k$+$r;XDj$7$^$9!#\e(B
+    \e$BA0$K$"$k\e(B <a href="#logformat">LogFormat</a> \e$B%G%#%l%/%F%#%V$K$h$j\e(B
+    \e$BDj5A$5$l$?\e(B <em>\e$B%K%C%/%M!<%`\e(B</em> \e$B$+!"\e(B<a href="#formats">\e$B%m%0$N=q<0\e(B</a>
+    \e$B$N$H$3$m$G@bL@$5$l$F$$$k!"L@<(E*$J\e(B<em>\e$B%U%)!<%^%C%H\e(B</em>\e$BJ8;zNs$N\e(B
+    \e$B$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$BNc$($P!"0J2<$NFs$D$N%G%#%l%/%F%#%V72$OA4$/F1$88z2L$r$b$?$i$7$^$9\e(B:</p>
+
+<pre>
+     # CustomLog with format nickname
+     LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
+     CustomLog logs/access_log common
+
+     # CustomLog with explicit format string
+     CustomLog logs/access_log "%h %l %u %t \"%r\" %&gt;s %b"
+</pre>
+
+    <p>\e$B;0$DL\$N0z?t$O>JN,2DG=$G!"%5!<%P$N4D6-$K$"$kJQ?t$,$"$k$+$J$$$+$K\e(B
+    \e$B1~$8$F%j%/%(%9%H$r%m%0<}=8$9$k$+$I$&$+$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#\e(B
+    \e$B;XDj$5$l$?\e(B<a href="../env.html">\e$B4D6-JQ?t\e(B</a>\e$B$,%j%/%(%9%H$KBP$7$F\e(B
+    \e$B@_Dj$5$l$F$$$?>l9g\e(B ('<code>env=!<em>name</em></code>' \e$BJ8$,;H$o$l$?$H$-$O\e(B
+    \e$B@_Dj$5$l$F$$$J$$>l9g\e(B)\e$B!"%j%/%(%9%H$,%m%0<}=8$5$l$^$9!#\e(B</p>
+
+    <p>\e$B4D6-JQ?t$O\e(B <a href="mod_setenvif.html">mod_setenvif</a> \e$B%b%8%e!<%k$H\e(B
+    <a href="mod_rewrite.html">mod_rewrite</a> \e$B%b%8%e!<%k$NN>J}$b$7$/$O\e(B
+    \e$BJRJ}$rMQ$$$F%j%/%(%9%H$4$H$K@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$BNc$($P!"%5!<%P$K$"$k$9$Y$F$N\e(B GIF \e$B2hA|$X$N%j%/%(%9%H$rJL$N%m%0%U%!%$%k\e(B
+    \e$B$K$O5-O?$7$?$$$1$l$I!"%a%$%s%m%0$K$O5-O?$7$?$/$J$$!"$H$$$&$H$-$O\e(B
+    \e$B0J2<$N$b$N$r;H$&$3$H$,$G$-$^$9\e(B:</p>
+
+<pre>
+    SetEnvIf Request_URI \.gif$ gif-image
+    CustomLog gif-requests.log common env=gif-image
+    CustomLog nongif-requests.log common env=!gif-image
+</pre>
+
+    <hr />
+    <h2><a id="logformat" name="logformat">LogFormat</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> LogFormat
+    <em>format</em>|<em>nickname</em> [<em>nickname</em>]<br />
+    <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>LogFormat "%h
+    %l %u %t \"%r\" %&gt;s %b"</code><br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> \e$B%K%C%/%M!<%`$O\e(B
+    Apache 1.3 \e$B0J9_$G$N$_;HMQ2DG=\e(B<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_log_config</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O%"%/%;%9%m%0%U%!%$%k$N=q<0$r;XDj$7$^$9!#\e(B</p>
+
+    <p><code>LogFormat</code> \e$B%G%#%l%/%F%#%V$OFs$D$N7A<0$N$I$A$i$+$r\e(B
+    \e$B$H$k$3$H$,$G$-$^$9!#:G=i$N7A<0$G$O0l$D$N0z?t$N$_$,;XDj$5$l!"\e(B
+    \e$BB3$/\e(B <a href="#transferlog">TransferLog</a>
+    \e$B$G;XDj$5$l$?%m%0$G;H$o$l$k%m%0$N=q<0$r@_Dj$7$^$9!#$3$NC1FH$N0z?t$G$O\e(B
+    \e$B>e$N\e(B<a href="#formats">\e$B%+%9%?%`%m%0=q<0\e(B</a>\e$B$G@bL@$5$l$F$$$k$h$&$K\e(B
+    <em>\e$B%U%)!<%^%C%H\e(B</em>\e$B$rL@<(E*$K;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$b$7$/$O!"2<$G@bL@$5$l$F$$$k$h$&$KA0$K\e(B <code>LogFormat</code>
+    \e$B%G%#%l%/%F%#%V$GDj5A$5$l$?%m%0$N=q<0$r\e(B<em>\e$B%K%C%/%M!<%`\e(B</em>\e$B$r;H$C$F\e(B
+    \e$B;2>H$9$k$3$H$b$G$-$^$9!#\e(B</p>
+
+    <p><code>LogFormat</code> \e$B%G%#%l%/%F%#%V$NFs$D$a$N7A<0$O\e(B
+    <em>\e$B%U%)!<%^%C%H\e(B</em>\e$B$K\e(B<em>\e$B%K%C%/%M!<%`\e(B</em>\e$B$rM?$($^$9!#\e(B
+    \e$B%U%)!<%^%C%HJ8;zNsA4BN$r:F$S=q$/$+$o$j$K!"\e(B
+    \e$B$3$N\e(B<em>\e$B%K%C%/%M!<%`\e(B</em>\e$B$rB3$-$N\e(B <code>LogFormat</code> \e$B%G%#%l%/%F%#%V$d\e(B
+    <a href="#customlog">CustomLog</a> \e$B%G%#%l%/%F%#%V$G;H$&$3$H$,$G$-$^$9!#\e(B
+    \e$B%K%C%/%M!<%`$rDj5A$9$k\e(B <samp>LogFormat</samp> \e$B%G%#%l%/%F%#%V$O\e(B
+    <strong>\e$BB>$K$O2?$b$7$^$;$s\e(B</strong> -- \e$B$9$J$o$A!"%K%C%/%M!<%`$rDj5A\e(B
+    \e$B$9$k$@$1$G!"<B:]$K=q<0$rE,MQ$7$F%G%U%)%k%H$K$9$k$H$$$&$3$H$O9T$J$$$^$;$s!#\e(B
+    \e$B$G$9$+$i!"$3$l$OB3$/\e(B <a href="#transferlog">TransferLog</a>
+    \e$B%G%#%l%/%F%#%V$K$O1F6A$rM?$($^$;$s!#\e(B</p>
+
+
+       <p>\e$BNc\e(B:</p>
+
+       <code>LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost_common</code>
+
+    <hr />
+    <h2><a id="transferlog"
+    name="transferlog">TransferLog</a>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>\e$B9=J8\e(B:</strong></a> TransferLog
+    <em>file</em>|<em>pipe</em><br />
+    <a href="directive-dict.html#Default"
+    rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> none<br />
+    <a href="directive-dict.html#Context"
+    rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H\e(B<br />
+    <a href="directive-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+    <a href="directive-dict.html#Module"
+    rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_log_config</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O!"%m%0=q<0$rD>@\;XDj$G$-$J$$$3$H$H!"\e(B
+    \e$B>r7oIU$-%m%.%s%0$,L5$$$3$H$r=|$/$H!"\e(B<a
+    href="#customlog">CustomLog</a> \e$B$HA4$/F1$80z?t$H8z2L$,$"$j$^$9!#\e(B
+    \e$BD>@\%m%0=q<0$r;XDj$9$kBe$o$j$K!"%m%0$N=q<0$O$=$3$^$G$G0lHV:G8e$K;XDj$5$l$?\e(B
+    \e$B%K%C%/%M!<%`$rDj5A$7$J$$\e(B
+    <a href="#logformat">LogFormat</a> \e$B%G%#%l%/%F%#%V\e(B
+    \e$B$GDj5A$5$l$?$b$N$r;H$$$^$9!#\e(B
+    \e$B$b$7B>$N=q<0$,A4$/;XDj$5$l$F$$$J$$$H$-$O\e(B Common Log Format
+    \e$B$,;H$o$l$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+
+<pre>
+   LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-agent}i\""
+   TransferLog logs/access_log
+</pre>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_log_forensic.html.en b/htdocs/manual/mod/mod_log_forensic.html.en
new file mode 100644 (file)
index 0000000..8885850
--- /dev/null
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+
+    <title>Apache module mod_log_forensic</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Module mod_log_forensic</h1>
+
+    <p>This module provides for forensic logging of the requests made to the
+    server</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_log_forensic.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    log_forensic_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Version 1.3.30 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides for forensic logging of client
+    requests. Logging is done before and after processing a request, so the
+    forensic log contains two log lines for each request.
+    The forensic logger is very strict, which means:</p>
+
+    <ul>
+    <li>The format is fixed. You cannot modify the logging format at
+    runtime.</li>
+    <li>If it cannot write its data, the child process exits immediately
+    and may dump core (depends on your
+    <code><a href="core.html#coredumpdirectory">CoreDumpDirectory</a></code>
+    configuration).</li>
+    </ul>
+
+    <p>The <code>check_forensic</code> script, which can be found in the
+    distribution's support directory, may be helpful in evaluating the
+    forensic log output.</p>
+
+    <p>See also: <a href="../logs.html">Apache Log Files</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#forensiclog">ForensicLog</a></li>
+    </ul>
+
+    <h2><a id="formats" name="formats">Forensic Log Format</a></h2>
+
+    <p>Each request is logged two times. The first time <em>before</em> it's
+    processed further (that is, after receiving the headers). The second log
+    entry is written <em>after</em> the request processing at the same time
+    where normal logging occurs.</p>
+
+    <p>In order to identify each request, a unique request ID is assigned.
+    This forensic ID can be cross logged in the normal transfer log using the
+    <code>%{forensic-id}n</code> format string. If you're using
+    <code><a href="mod_unique_id.html">mod_unique_id</a></code>, its generated
+    ID will be used.</p>
+
+    <p>The first line logs the forensic ID, the request line and all received
+    headers, separated by pipe characters (<code>|</code>). A sample line
+    looks like the following (all on one line):</p>
+
+    <p><code>
+        +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif
+        HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11;
+        U; Linux i686; en-US; rv%3a1.6) Gecko/20040216
+        Firefox/0.8|Accept:image/png, <var>etc...</var>
+    </code></p>
+
+    <p>The plus character at the beginning indicates that this is first log
+    line of this request. The second line just contains a minus character and
+    the id again:</p>
+
+    <p><code>
+      -yQtJf8CoAB4AAFNXBIEAAAAA
+    </code></p>
+
+    <p>The <code>check_forensic</code> script takes as its argument the name
+    of the logfile. It looks for those <code>+</code>/<code>-</code> ID pairs
+    and complains if a request was not completed.</p>
+
+    <h2>Security Considerations</h2>
+
+    <p>See the <a
+    href="../misc/security_tips.html#serverroot">security tips</a>
+    document for details on why your security could be compromised
+    if the directory where logfiles are stored is writable by
+    anyone other than the user that starts the server.</p>
+
+    <hr />
+
+    <h2><a id="forensiclog" name="forensiclog">ForensicLog</a>
+    directive</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ForensicLog
+    <var>filename</var>|<var>pipe</var><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_forensic<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available
+    in Version 1.3.30 and above</p>
+
+    <p>The <code>ForensicLog</code> directive is used to
+    log requests to the server for forensic analysis. Each log entry
+    is assigned unique ID which can be associated with the request
+    using the normal <code><a href="mod_log_config.html#customlog">CustomLog</a></code>
+    directive. <code>mod_log_forensic</code> creates a token called
+    <code>forensic-id</code>, which can be added to the transfer log
+    using the <code>%{forensic-id}n</code> format string.</p>
+
+    <p>The argument, which specifies the location to which
+    the logs will be written, can take one of the following two
+    types of values:</p>
+
+    <dl>
+      <dt><var>filename</var></dt>
+      <dd>A filename, relative to the <code><a href="core.html#serverroot">ServerRoot</a></code>.</dd>
+
+      <dt><var>pipe</var></dt>
+      <dd>The pipe character "<code>|</code>", followed by the path
+      to a program to receive the log information on its standard
+      input. <strong>Security:</strong> if a program is used, then
+      it will be run as the user who started httpd. This will be
+      root if the server was started by root; be sure that the
+      program is secure.</dd>
+    </dl>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_log_forensic.html.html b/htdocs/manual/mod/mod_log_forensic.html.html
new file mode 100644 (file)
index 0000000..00b1d88
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_log_forensic.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_log_referer.html b/htdocs/manual/mod/mod_log_referer.html
new file mode 100644 (file)
index 0000000..8045241
--- /dev/null
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_log_referer</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_log_referer</h1>
+
+    <p>This module provides for logging of the documents which
+    reference documents on the server.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_log_referer.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    referer_log_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module is provided strictly for compatibility with NCSA
+    httpd, and is deprecated. We recommend you use <a
+    href="mod_log_config.html">mod_log_config</a> instead.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#refererignore">RefererIgnore</a></li>
+
+      <li><a href="#refererlog">RefererLog</a></li>
+    </ul>
+
+    <p>See also: <a
+    href="mod_log_config.html#customlog">CustomLog</a> and <a
+    href="mod_log_config.html#logformat">LogFormat</a>.</p>
+
+    <h2>Log file format</h2>
+    The log file contains a separate line for each refer. Each line
+    has the format 
+
+    <blockquote>
+      <em>uri</em> <code>-&gt;</code> <em>document</em>
+    </blockquote>
+    where <em>uri</em> is the (%-escaped) URI for the document that
+    references the one requested by the client, and
+    <em>document</em> is the (%-decoded) local URL to the document
+    being referred to. 
+    <hr />
+
+    <h2><a id="refererignore"
+    name="refererignore">RefererIgnore</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RefererIgnore
+    <em>string</em> [<em>string</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_referer 
+
+    <p>The RefererIgnore directive adds to the list of strings to
+    ignore in Referer headers. If any of the strings in the list is
+    contained in the Referer header, then no referrer information
+    will be logged for the request. Example:</p>
+
+    <blockquote>
+      <code>RefererIgnore www.ncsa.uiuc.edu</code>
+    </blockquote>
+    This avoids logging references from www.ncsa.uiuc.edu. 
+    <hr />
+
+    <h2><a id="refererlog" name="refererlog">RefererLog</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RefererLog
+    <em>file-pipe</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>RefererLog
+    logs/referer_log</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_referer 
+
+    <p>The RefererLog directive sets the name of the file to which
+    the server will log the Referer header of incoming requests.
+    <em>File-pipe</em> is one of</p>
+
+    <dl>
+      <dt>A filename</dt>
+
+      <dd>A filename relative to the <a
+      href="core.html#serverroot">ServerRoot</a>.</dd>
+
+      <dt>`|' followed by a command</dt>
+
+      <dd>A program to receive the referrer log information on its
+      standard input. Note that a new program will not be started
+      for a VirtualHost if it inherits the RefererLog from the main
+      server.</dd>
+    </dl>
+    <strong>Security:</strong> if a program is used, then it will
+    be run under the user who started httpd. This will be root if
+    the server was started by root; be sure that the program is
+    secure. 
+
+    <p><strong>Security:</strong> See the <a
+    href="../misc/security_tips.html">security tips</a> document
+    for details on why your security could be compromised if the
+    directory where logfiles are stored is writable by anyone other
+    than the user that starts the server.</p>
+
+    <p>This directive is provided for compatibility with NCSA
+    1.4.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_mime.html.en b/htdocs/manual/mod/mod_mime.html.en
new file mode 100644 (file)
index 0000000..9f23278
--- /dev/null
@@ -0,0 +1,675 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_mime</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Module mod_mime</h1>
+
+    <p>This module provides for determining the types of files from
+    the filename and for association of handlers with files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_mime.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    mime_module</p>
+
+    <h2>Summary</h2>
+    This module is used to determine various bits of "meta
+    information" about documents. This information relates to the
+    content of the document and is returned to the browser or used
+    in content-negotiation within the server. In addition, a
+    "handler" can be set for a document, which determines how the
+    document will be processed within the server. 
+
+    <p>The directives <a href="#addcharset">AddCharset</a>, <a
+    href="#addencoding">AddEncoding</a>, <a
+    href="#addhandler">AddHandler</a>, <a
+    href="#addlanguage">AddLanguage</a> and <a
+    href="#addtype">AddType</a> are all used to map file extensions
+    onto the meta-information for that file. Respectively they set
+    the character set, content-encoding, handler, content-language,
+    and MIME-type (content-type) of documents. The directive <a
+    href="#typesconfig">TypesConfig</a> is used to specify a file
+    which also maps extensions onto MIME types. The directives <a
+    href="#forcetype">ForceType</a> and <a
+    href="#sethandler">SetHandler</a> are used to associated all
+    the files in a given location (<em>e.g.</em>, a particular
+    directory) onto a particular MIME type or handler.</p>
+
+    <p>Note that changing the type or encoding of a file does not
+    change the value of the <code>Last-Modified</code> header.
+    Thus, previously cached copies may still be used by a client or
+    proxy, with the previous headers.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#addcharset">AddCharset</a></li>
+
+      <li><a href="#addencoding">AddEncoding</a></li>
+
+      <li><a href="#addhandler">AddHandler</a></li>
+
+      <li><a href="#addlanguage">AddLanguage</a></li>
+
+      <li><a href="#addtype">AddType</a></li>
+
+      <li><a href="#defaultlanguage">DefaultLanguage</a></li>
+
+      <li><a href="#forcetype">ForceType</a></li>
+
+      <li><a href="#removeencoding">RemoveEncoding</a></li>
+
+      <li><a href="#removehandler">RemoveHandler</a></li>
+
+      <li><a href="#removetype">RemoveType</a></li>
+
+      <li><a href="#sethandler">SetHandler</a></li>
+
+      <li><a href="#typesconfig">TypesConfig</a></li>
+    </ul>
+
+    <p>See also: <a
+    href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a>.</p>
+
+    <h2><a id="multipleext" name="multipleext">Files with Multiple
+    Extensions</a></h2>
+    <p>Files can have more than one extension, and the order of the
+    extensions is <em>normally</em> irrelevant. For example, if the
+    file <code>welcome.html.fr</code> maps onto content type
+    <code>text/html</code> and language French then the file
+    <code>welcome.fr.html</code> will map onto exactly the same information.
+    If more than one extension is given which maps onto the same
+    type of meta-information, then the one to the right will be
+    used, except for languages and content encodings. For example, if
+    <code>.gif</code> maps to the MIME-type <code>image/gif</code> and
+    <code>.html</code> maps to the MIME-type <code>text/html</code>, then the
+    file <code>welcome.gif.html</code> will be associated with the MIME-type
+    <code>text/html</code>.</p>
+
+    <p>Languages and content encodings are treated accumulative, because one
+    can assign more than one language or encoding to a particular resource.
+    For example, the file <code>welcome.html.en.de</code> will be delivered
+    with <code>Content-Language: en, de</code> and <code>Content-Type:
+    text/html</code>.</p>
+
+    <p>Care should be taken when a file with multiple extensions
+    gets associated with both a MIME-type and a handler. This will
+    usually result in the request being by the module associated
+    with the handler. For example, if the <code>.imap</code>
+    extension is mapped to the handler "imap-file" (from mod_imap)
+    and the <code>.html</code> extension is mapped to the MIME-type
+    "text/html", then the file <code>world.imap.html</code> will be
+    associated with both the "imap-file" handler and "text/html"
+    MIME-type. When it is processed, the "imap-file" handler will
+    be used, and so it will be treated as a mod_imap imagemap
+    file.</p>
+    <hr />
+
+    <h2><a id="addcharset" name="addcharset">AddCharset</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddCharset <em>charset
+    extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> AddCharset is
+    only available in Apache 1.3.10 and later 
+
+    <p>The AddCharset directive maps the given filename extensions
+    to the specified content charset. <i>charset</i> is the MIME
+    charset parameter of filenames containing <i>extension</i>.
+    This mapping is added to any already in force, overriding any
+    mappings that already exist for the same <i>extension</i>.</p>
+
+    <p>Example:</p>
+<pre>
+    AddLanguage ja .ja
+    AddCharset EUC-JP .euc
+    AddCharset ISO-2022-JP .jis
+    AddCharset SHIFT_JIS .sjis
+</pre>
+
+    <p>Then the document <code>xxxx.ja.jis</code> will be treated
+    as being a Japanese document whose charset is ISO-2022-JP (as
+    will the document <code>xxxx.jis.ja</code>). The AddCharset
+    directive is useful for both to inform the client about the
+    character encoding of the document so that the document can be
+    interpreted and displayed appropriately, and for <a
+    href="../content-negotiation.html">content negotiation</a>,
+    where the server returns one from several documents based on
+    the client's charset preference.</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+
+    <p><strong>See also</strong>: <a
+    href="mod_negotiation.html">mod_negotiation</a></p>
+    <hr />
+
+    <h2><a id="addencoding" name="addencoding">AddEncoding</a>
+    directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt AddEncoding} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddEncoding
+    <em>MIME-enc extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime 
+
+    <p>The AddEncoding directive maps the given filename extensions
+    to the specified encoding type. <em>MIME-enc</em> is the MIME
+    encoding to use for documents containing the
+    <em>extension</em>. This mapping is added to any already in
+    force, overriding any mappings that already exist for the same
+    <em>extension</em>. Example:</p>
+
+    <blockquote>
+      <code>AddEncoding x-gzip .gz<br />
+       AddEncoding x-compress .Z</code>
+    </blockquote>
+    This will cause filenames containing the .gz extension to be
+    marked as encoded using the x-gzip encoding, and filenames
+    containing the .Z extension to be marked as encoded with
+    x-compress. 
+
+    <p>Old clients expect <code>x-gzip</code> and
+    <code>x-compress</code>, however the standard dictates that
+    they're equivalent to <code>gzip</code> and
+    <code>compress</code> respectively. Apache does content
+    encoding comparisons by ignoring any leading <code>x-</code>.
+    When responding with an encoding Apache will use whatever form
+    (<em>i.e.</em>, <code>x-foo</code> or <code>foo</code>) the
+    client requested. If the client didn't specifically request a
+    particular form Apache will use the form given by the
+    <code>AddEncoding</code> directive. To make this long story
+    short, you should always use <code>x-gzip</code> and
+    <code>x-compress</code> for these two specific encodings. More
+    recent encodings, such as <code>deflate</code> should be
+    specified without the <code>x-</code>.</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+
+    <p><strong>See also</strong>: <a href="#multipleext">Files with
+    multiple extensions</a></p>
+    <hr />
+
+    <h2><a id="addhandler" name="addhandler">AddHandler</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddHandler
+    <em>handler-name extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> AddHandler is
+    only available in Apache 1.1 and later 
+
+    <p>AddHandler maps the filename extensions <em>extension</em>
+    to the <a href="../handler.html">handler</a>
+    <em>handler-name</em>. This mapping is added to any already in
+    force, overriding any mappings that already exist for the same
+    <em>extension</em>. For example, to activate CGI scripts with
+    the file extension "<code>.cgi</code>", you might use:</p>
+<pre>
+    AddHandler cgi-script .cgi
+</pre>
+
+    <p>Once that has been put into your srm.conf or httpd.conf
+    file, any file containing the "<code>.cgi</code>" extension
+    will be treated as a CGI program.</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+
+    <p><strong>See also</strong>: <a href="#multipleext">Files with
+    multiple extensions</a>, <a href="#sethandler">SetHandler</a></p>
+    <hr />
+
+    <h2><a id="addlanguage" name="addlanguage">AddLanguage</a>
+    directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt AddLanguage} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddLanguage
+    <em>MIME-lang extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime 
+
+    <p>The AddLanguage directive maps the given filename extension
+    to the specified content language. <em>MIME-lang</em> is the
+    MIME language of filenames containing <em>extension</em>. This
+    mapping is added to any already in force, overriding any
+    mappings that already exist for the same
+    <em>extension</em>.</p>
+
+    <p>Example:</p>
+
+    <blockquote>
+      <code>AddEncoding x-compress .Z<br />
+       AddLanguage en .en<br />
+       AddLanguage fr .fr<br />
+      </code>
+    </blockquote>
+
+    <p>Then the document <code>xxxx.en.Z</code> will be treated as
+    being a compressed English document (as will the document
+    <code>xxxx.Z.en</code>). Although the content language is
+    reported to the client, the browser is unlikely to use this
+    information. The AddLanguage directive is more useful for <a
+    href="../content-negotiation.html">content negotiation</a>,
+    where the server returns one from several documents based on
+    the client's language preference.</p>
+
+    <p>If multiple language assignments are made for the same
+    extension, the last one encountered is the one that is used.
+    That is, for the case of:</p>
+<pre>
+    AddLanguage en .en
+    AddLanguage en-gb .en
+    AddLanguage en-us .en
+</pre>
+
+    <p>documents with the extension "<code>.en</code>" would be
+    treated as being "<code>en-us</code>".</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+
+    <p><strong>See also</strong>: <a href="#multipleext">Files with
+    multiple extensions</a>, <a
+    href="#defaultlanguage">DefaultLanguage</a><br />
+     <strong>See also</strong>: <a
+    href="./mod_negotiation.html">mod_negotiation</a></p>
+    <hr />
+
+    <h2><a id="addtype" name="addtype">AddType</a> directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt AddType} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AddType <em>MIME-type
+    extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime 
+
+    <p>The AddType directive maps the given filename extensions
+    onto the specified content type. <em>MIME-type</em> is the MIME
+    type to use for filenames containing <em>extension</em>. This
+    mapping is added to any already in force, overriding any
+    mappings that already exist for the same <em>extension</em>.
+    This directive can be used to add mappings not listed in the
+    MIME types file (see the <code><a
+    href="#typesconfig">TypesConfig</a></code> directive).
+    Example:</p>
+
+    <blockquote>
+      <code>AddType image/gif .gif</code>
+    </blockquote>
+    It is recommended that new MIME types be added using the
+    AddType directive rather than changing the <a
+    href="#typesconfig">TypesConfig</a> file. 
+
+    <p>Note that, unlike the NCSA httpd, this directive cannot be
+    used to set the type of particular files.</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+
+    <p><strong>See also</strong>: <a href="#multipleext">Files with
+    multiple extensions</a></p>
+    <hr />
+
+    <h2><a id="defaultlanguage"
+    name="defaultlanguage">DefaultLanguage</a> directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt DefaultLanguage} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> DefaultLanguage
+    <em>MIME-lang</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> DefaultLanguage
+    is only available in Apache 1.3.4 and later. 
+
+    <p>The DefaultLanguage directive tells Apache that all files in
+    the directive's scope (<em>e.g.</em>, all files covered by the
+    current <code>&lt;Directory&gt;</code> container) that don't
+    have an explicit language extension (such as <samp>.fr</samp>
+    or <samp>.de</samp> as configured by <samp>AddLanguage</samp>)
+    should be considered to be in the specified <em>MIME-lang</em>
+    language. This allows entire directories to be marked as
+    containing Dutch content, for instance, without having to
+    rename each file. Note that unlike using extensions to specify
+    languages, <samp>DefaultLanguage</samp> can only specify a
+    single language.</p>
+
+    <p>For example:</p>
+
+    <code>DefaultLanguage fr</code>
+
+    <p>If no <samp>DefaultLanguage</samp> directive is in force,
+    and a file does not have any language extensions as configured
+    by <samp>AddLanguage</samp>, then that file will be considered
+    to have no language attribute.</p>
+
+    <p><strong>See also</strong>: <a
+    href="./mod_negotiation.html">mod_negotiation</a><br />
+     <strong>See also</strong>: <a href="#multipleext">Files with
+    multiple extensions</a></p>
+    <hr />
+
+    <h2><a id="forcetype" name="forcetype">ForceType</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ForceType
+    <em>media-type</em>|None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ForceType is
+    only available in Apache 1.1 and later. 
+
+    <p>When placed into an <code>.htaccess</code> file or a
+    <code>&lt;Directory&gt;</code> or <code>&lt;Location&gt;</code>
+    section, this directive forces all matching files to be served
+    as the content type given by <em>media type</em>. For example,
+    if you had a directory full of GIF files, but did not want to
+    label them all with ".gif", you might want to use:</p>
+<pre>
+    ForceType image/gif
+</pre>
+
+    <p>Note that this will override any filename extensions that
+    might determine the media type.</p>
+
+    <p>You can override any <directive>ForceType</directive> setting
+    by using the value of <code>none</code>:</p>
+
+<pre>
+    # force all files to be image/gif:
+    &lt;Location /images&gt;
+      ForceType image/gif
+    &lt;/Location&gt;
+
+    # but normal mime-type associations here:
+    &lt;Location /images/mixed&gt;
+      ForceType none
+    &lt;/Location&gt;
+</pre>
+
+    <p><strong>See also</strong>: <a
+    href="#addtype">AddType</a></p>
+
+    <hr />
+
+    <h2><a id="removeencoding"
+    name="removeencoding">RemoveEncoding</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RemoveEncoding
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> virtual host, directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> RemoveEncoding
+    is only available in Apache 1.3.13 and later. 
+
+    <p>The <samp>RemoveEncoding</samp> directive removes any
+    encoding associations for files with the given extensions. This
+    allows <code>.htaccess</code> files in subdirectories to undo
+    any associations inherited from parent directories or the
+    server config files. An example of its use might be:</p>
+
+    <dl>
+      <dt><code>/foo/.htaccess:</code></dt>
+
+      <dd><code>AddEncoding x-gzip .gz</code><br />
+       <code>AddType text/plain .asc</code><br />
+       <code>&lt;Files *.gz.asc&gt;</code><br />
+       <code>&nbsp;&nbsp;&nbsp;&nbsp;RemoveEncoding
+      .gz</code><br />
+       <code>&lt;/Files&gt;</code></dd>
+    </dl>
+
+    <p>This will cause <code>foo.gz</code> to mark as being encoded
+    with the gzip method, but <code>foo.gz.asc</code> as an
+    unencoded plaintext file.</p>
+
+    <p><b>Note:</b>RemoveEncoding directives are processed
+    <i>after</i> any <a href="#addencoding">AddEncoding</a>
+    directives, so it is possible they
+    may undo the effects of the latter if both occur within the
+    same directory configuration.</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+    <hr />
+
+    <h2><a id="removehandler"
+    name="removehandler">RemoveHandler</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RemoveHandler
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> virtual host, directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> RemoveHandler is
+    only available in Apache 1.3.4 and later. 
+
+    <p>The <samp>RemoveHandler</samp> directive removes any handler
+    associations for files with the given extensions. This allows
+    <code>.htaccess</code> files in subdirectories to undo any
+    associations inherited from parent directories or the server
+    config files. An example of its use might be:</p>
+
+    <dl>
+      <dt><code>/foo/.htaccess:</code></dt>
+
+      <dd><code>AddHandler server-parsed .html</code></dd>
+
+      <dt><code>/foo/bar/.htaccess:</code></dt>
+
+      <dd><code>RemoveHandler .html</code></dd>
+    </dl>
+
+    <p>This has the effect of returning <samp>.html</samp> files in
+    the <samp>/foo/bar</samp> directory to being treated as normal
+    files, rather than as candidates for parsing (see the <a
+    href="mod_include.html"><samp>mod_include</samp></a>
+    module).</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+    <hr />
+
+    <h2><a id="removetype" name="removetype">RemoveType</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> RemoveType
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> virtual host, directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> RemoveType is
+    only available in Apache 1.3.13 and later. 
+
+    <p>The <samp>RemoveType</samp> directive removes any MIME type
+    associations for files with the given extensions. This allows
+    <code>.htaccess</code> files in subdirectories to undo any
+    associations inherited from parent directories or the server
+    config files. An example of its use might be:</p>
+
+    <dl>
+      <dt><code>/foo/.htaccess:</code></dt>
+
+      <dd><code>RemoveType .cgi</code></dd>
+    </dl>
+
+    <p>This will remove any special handling of <code>.cgi</code>
+    files in the <code>/foo/</code> directory and any beneath it,
+    causing the files to be treated as being of the <a
+    href="core.html#defaulttype">default type</a>.</p>
+
+    <p><b>Note:</b><code>RemoveType</code> directives are processed
+    <i>after</i> any <code>AddType</code> directives, so it is
+    possible they may undo the effects of the latter if both occur
+    within the same directory configuration.</p>
+
+    <p>The <em>extension</em> argument is case-insensitive, and can
+    be specified with or without a leading dot.</p>
+    <hr />
+
+    <h2><a id="sethandler" name="sethandler">SetHandler</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> SetHandler
+    <em>handler-name</em>|None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> SetHandler is
+    only available in Apache 1.1 and later. 
+
+    <p>When placed into an <code>.htaccess</code> file or a
+    <code>&lt;Directory&gt;</code> or <code>&lt;Location&gt;</code>
+    section, this directive forces all matching files to be parsed
+    through the <a href="../handler.html">handler</a> given by
+    <em>handler-name</em>. For example, if you had a directory you
+    wanted to be parsed entirely as imagemap rule files, regardless
+    of extension, you might put the following into an
+    <code>.htaccess</code> file in that directory:</p>
+<pre>
+    SetHandler imap-file
+</pre>
+
+    <p>Another example: if you wanted to have the server display a
+    status report whenever a URL of
+    <code>http://servername/status</code> was called, you might put
+    the following into access.conf: (See <a
+    href="mod_status.html">mod_status</a> for more details.)</p>
+<pre>
+    &lt;Location /status&gt;
+    SetHandler server-status
+    &lt;/Location&gt;
+</pre>
+
+    <p>You can override an earlier defined <code>SetHandler</code>
+    directive by using the value <code>None</code>.</p>
+
+    <p><strong>See also</strong>: <a href="#addhandler">AddHandler</a></p>
+    <hr />
+
+    <h2><a id="typesconfig" name="typesconfig">TypesConfig</a>
+    directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt TypesConfig} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> TypesConfig
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>TypesConfig
+    conf/mime.types</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime 
+
+    <p>The TypesConfig directive sets the location of the MIME
+    types configuration file. <em>Filename</em> is relative to the
+    <a href="core.html#serverroot">ServerRoot</a>. This file sets
+    the default list of mappings from filename extensions to
+    content types; changing this file is not recommended. Use the
+    <a href="#addtype">AddType</a> directive instead. The file
+    contains lines in the format of the arguments to an AddType
+    command:</p>
+
+    <blockquote>
+      <em>MIME-type extension extension ...</em>
+    </blockquote>
+    The extensions are lower-cased. Blank lines, and lines
+    beginning with a hash character (`#') are ignored. 
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_mime.html.html b/htdocs/manual/mod/mod_mime.html.html
new file mode 100644 (file)
index 0000000..86aebbf
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_mime.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_mime.html.ja.jis b/htdocs/manual/mod/mod_mime.html.ja.jis
new file mode 100644 (file)
index 0000000..0bcdf18
--- /dev/null
@@ -0,0 +1,677 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_mime</title>
+
+  </head>
+  <!-- English revision: 1.54 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_mime \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"%U%!%$%k$N%?%$%W$r%U%!%$%kL>$+$i7hDj$9$k5!G=$H!"\e(B
+    \e$B%U%!%$%k$K%O%s%I%i$r4XO"IU$1$k5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_mime.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a> mime_module
+    </p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    \e$B$3$N%b%8%e!<%k$O!"%I%-%e%a%s%H$N$$$m$$$m$J!V%a%?>pJs!W\e(B
+    \e$B$r7hDj$9$k$?$a$K;HMQ$5$l$^$9!#$3$N>pJs$O\e(B
+    \e$B%I%-%e%a%s%H$N%3%s%F%s%D$K4XO"$7$F$$$k$b$N$G!"%V%i%&%6$KJV$5$l$?$j!"\e(B
+    \e$B%5!<%PFb$G%3%s%F%s%H%M%4%7%(!<%7%g%s$K;H$o$l$?$j$7$^$9!#\e(B
+    \e$B$5$i$K!"!V%O%s%I%i!W$r%I%-%e%a%s%H$KBP$7$F@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%O%s%I%i$O%5!<%PFb$G%I%-%e%a%s%H$r$I$N$h$&$K=hM}$9$k$+$r7hDj$7$^$9!#\e(B
+
+    <p>\e$B%G%#%l%/%F%#%V\e(B <a href="#addcharset">AddCharset</a>,
+    <a href="#addencoding">AddEncoding</a>, <a href="#addhandler"
+    >AddHandler</a>, <a href="#addlanguage">AddLanguage</a>, <a
+    href="#addtype">AddType</a> \e$B$O$9$Y$F!"\e(B
+    \e$B%U%!%$%k$N3HD%;R$r%a%?>pJs$K%^%C%W$9$k$?$a$K;HMQ$5$l$^$9!#\e(B
+    \e$B$=$l$>$l!"%I%-%e%a%s%H$NJ8;z%;%C%H\e(B (\e$BLuCm\e(B: charset)\e$B!"\e(Bcontent-encoding,
+    \e$B%O%s%I%i!"\e(Bcontent-language, MIME \e$B%?%$%W\e(B (content-type) \e$B$r@_Dj$7$^$9!#\e(B
+    \e$B%G%#%l%/%F%#%V\e(B <a href="#typesconfig">TypesConfig</a> \e$B$O3HD%;R$r\e(B
+    MIME \e$B%?%$%W$K%^%C%W$9$k%U%!%$%k$r;XDj$9$k$?$a$K;HMQ$5$l$^$9!#\e(B
+    \e$B%G%#%l%/%F%#%V\e(B <a href="#forcetype">ForceType</a> \e$B$H\e(B <a
+    href="#sethandler">SetHandler</a> \e$B$O!"M?$($i$l$?>l=j\e(B
+    (<em>\e$BNc$($P\e(B</em>\e$B!"FCDj$N%G%#%l%/%H%j\e(B) \e$B$K$"$k$9$Y$F$N%U%!%$%k$rFCDj$N\e(B
+    MIME \e$B%?%$%W$d%O%s%I%i$K4XO"IU$1$k$?$a$K;HMQ$5$l$^$9!#\e(B</p>
+
+    <p>\e$B%U%!%$%k$N%?%$%W$d%(%s%3!<%G%#%s%0$rJQ$($F$b\e(B <code>Last-Modified</code>
+    \e$B%X%C%@$NCM$OJQ$o$i$J$$$3$H$KCm0U$7$F$/$@$5$$!#$G$9$+$i!"\e(B
+    \e$B$=$l$i$rJQ99$7$?>l9g$O!"%/%i%$%"%s%H$d%W%m%-%7$G0JA0$K%-%c%C%7%e$5$l$?\e(B
+    \e$B%3%T!<$,$=$N$H$-$N%X%C%@$H$H$b$K;H$o$l$k2DG=@-$,$"$j$^$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#addcharset">AddCharset</a></li>
+
+      <li><a href="#addencoding">AddEncoding</a></li>
+
+      <li><a href="#addhandler">AddHandler</a></li>
+
+      <li><a href="#addlanguage">AddLanguage</a></li>
+
+      <li><a href="#addtype">AddType</a></li>
+
+      <li><a href="#defaultlanguage">DefaultLanguage</a></li>
+
+      <li><a href="#forcetype">ForceType</a></li>
+
+      <li><a href="#removeencoding">RemoveEncoding</a></li>
+
+      <li><a href="#removehandler">RemoveHandler</a></li>
+
+      <li><a href="#removetype">RemoveType</a></li>
+
+      <li><a href="#sethandler">SetHandler</a></li>
+
+      <li><a href="#typesconfig">TypesConfig</a></li>
+    </ul>
+
+    <p>\e$B;2>H\e(B: <a
+    href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></p>
+
+    <h2><a id="multipleext"
+    name="multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a></h2>
+
+    <p>\e$B%U%!%$%k$OJ#?t$N3HD%;R$r;}$D$3$H$,$G$-!"3HD%;R$N=gHV$O\e(B<em
+    >\e$BDL>o$O\e(B</em>\e$B4X78$"$j$^$;$s!#$?$H$($P!"\e(B<code>welcome.html.fr</code>
+    \e$B%U%!%$%k$,%3%s%F%s%H%?%$%W$O\e(B <code>text/html</code>
+    \e$B$K!"8@8l$O%U%i%s%98l$K%^%C%W$5$l$k>l9g!"\e(B<code>welcome.fr.html</code>
+    \e$B$b$^$C$?$/F1$8>pJs$K%^%C%W$5$l$^$9!#\e(B
+    \e$BF1$8%a%?>pJs$K%^%C%W$5$l$k3HD%;R$,J#?t$"$k$H$-$K$O8@8l$H%3%s%F%s%H%(%s%3!<%G%#%s%0$r=|$$$F!"\e(B
+    \e$B1&B&$K$"$k$b$N$,;HMQ$5$l$^$9!#$?$H$($P!"\e(B".gif" \e$B$,\e(B MIME \e$B%?%$%W\e(B
+    image/gif \e$B$K%^%C%W$5$l!"\e(B".html" \e$B$,\e(B MIME \e$B%?%$%W\e(B text/html
+    \e$B$K%^%C%W$5$l$k>l9g$O!"%U%!%$%k\e(B <code>welcome.gif.html</code> \e$B$O\e(B
+    MIME \e$B%?%$%W\e(B "text/html" \e$B$K4XO"IU$1$i$l$^$9!#\e(B</p>
+
+    <p>\e$B8@8l$H%3%s%F%s%H%(%s%3!<%G%#%s%0$O$=$l$^$G$N$b$N$KDI2C$7$F07$o$l$^$9!#\e(B
+    \e$B$3$l$OFCDj$N%j%=!<%9$KBP$7$F0l$D0J>e$N8@8l$d%(%s%3!<%G%#%s%0$r\e(B
+    \e$B3d$jEv$F$k$3$H$,$G$-$k$+$i$G$9!#Nc$($P!"%U%!%$%k\e(B
+    <code>welcome.html.en.de</code> \e$B$,\e(B <code>Content-Language: en, de</code>
+    \e$B$G\e(B <code>Content-Type: text/html</code> \e$B$H$$$C$?6q9g$G$9!#\e(B</p>
+
+    <p>\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k$,\e(B MIME
+    \e$B%?%$%W$H%O%s%I%i$NN>J}$K4XO"IU$1$i$l$F$$$k$H$-$OCm0U$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$B$=$N>l9g!"IaDL$O%j%/%(%9%H$,%O%s%I%i$K4XO"IU$1$i$l$?\e(B
+    \e$B%b%8%e!<%k$K$h$C$F07$o$l$k$3$H$K$J$j$^$9!#$?$H$($P!"3HD%;R\e(B
+    <code>.imap</code> \e$B$,\e(B (mod_imap \e$B$N\e(B) "imap-file" \e$B$K%^%C%W$5$l$F$$$F!"\e(B
+    <code>.html</code> \e$B$,\e(B MIME \e$B%?%$%W\e(B "text/html"
+    \e$B$K%^%C%W$5$l$F$$$k$H$-$O!"%U%!%$%k\e(B <code>world.imap.html</code> \e$B$O\e(B
+    "imap-file" \e$B%O%s%I%i$H\e(B "text/html" MIME
+    \e$B%?%$%W$K4XO"IU$1$i$l$^$9!#%U%!%$%k$,=hM}$5$l$k$H$-$O\e(B "imap-file"
+    \e$B%O%s%I%i$,;HMQ$5$l$^$9$N$G!"$=$N%U%!%$%k$O\e(B mod_imap
+    \e$B$N%$%a!<%8%^%C%W%U%!%$%k$H$7$F07$o$l$k$3$H$K$J$j$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="addcharset" name="addcharset">AddCharset</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> AddCharset <em>charset
+    extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> AddCharset \e$B$O\e(B
+    Apache 1.3.10 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p>AddCharset \e$B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?\e(B
+    charset \e$B$K%^%C%W$7$^$9!#\e(B<em>charset</em> \e$B$O!"3HD%;R\e(B
+    <em>extension</em> \e$B$r4^$s$G$$$k%U%!%$%kL>$N\e(B MIME charset
+    \e$B%Q%i%a!<%?$G$9!#?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R\e(B
+    <em>extension</em> \e$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+<pre>
+    AddLanguage ja .ja
+    AddCharset EUC-JP .euc
+    AddCharset ISO-2022-JP .jis
+    AddCharset SHIFT_JIS .sjis
+</pre>
+
+    <p>\e$B$3$N>l9g!"%I%-%e%a%s%H\e(B <code>xxxx.ja.jis</code> \e$B$O\e(B charset \e$B$,\e(B
+    ISO-2022-JP \e$B$NF|K\8l$N%I%-%e%a%s%H$H$7$F07$o$l$^$9\e(B
+    (<code>xxxx.jis.ja</code> \e$B$bF1MM\e(B)\e$B!#\e(BAddCharset
+    \e$B%G%#%l%/%F%#%V$O!"%I%-%e%a%s%H$,E,@Z$K2r<a$5$lI=<($5$l$k$h$&$K!"\e(B
+    \e$B%I%-%e%a%s%H$N\e(B charset \e$B$N>pJs$r%/%i%$%"%s%H$K65$($k$?$a$KLr$KN)$A$^$9!#\e(B
+    \e$B$^$?!"%5!<%P$,%/%i%$%"%s%H$N\e(B charset
+    \e$B$NM%@hEY$K4p$E$$$FJ#?t$N%I%-%e%a%s%H$NCf$+$i%I%-%e%a%s%H$rA*$V\e(B<a
+    href="../content-negotiation.html"
+    >\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</a>\e$B$N$?$a$K$bLr$KN)$A$^$9!#\e(B</p>
+
+    <p>\e$B0z?t\e(B <em>extension</em>\e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="mod_negotiation.html">mod_negotiation</a></p>
+    <hr />
+
+    <h2><a id="addencoding"
+    name="addencoding">AddEncoding</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt AddEncoding} directive&gt; -->
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> AddEncoding
+    <em>MIME-enc extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"\e(B \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+
+    <p>AddEncoding \e$B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?\e(B
+    \e$B%(%s%3!<%G%#%s%0$K%^%C%W$7$^$9!#\e(B<em>MIME-enc</em> \e$B$O!"3HD%;R\e(B
+    <em>extension</em> \e$B$r4^$s$@%I%-%e%a%s%H$K;HMQ$9$k\e(B MIME
+    \e$B%(%s%3!<%G%#%s%0$G$9!#$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"\e(B
+    \e$BF1$83HD%;R\e(B <em>extension</em>
+    \e$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>AddEncoding x-gzip .gz<br />
+       AddEncoding x-compress .Z</code>
+    </blockquote>
+    \e$B$3$l$O!"3HD%;R\e(B .gz \e$B$r4^$`%U%!%$%kL>$,\e(B x-gzip
+    \e$B%(%s%3!<%G%#%s%0$r;H$C$F%(%s%3!<%I$5$l$F$$$k$3$H$H!"3HD%;R\e(B .Z
+    \e$B$r4^$`%U%!%$%kL>$,\e(B x-compress
+    \e$B$G%(%s%3!<%I$5$l$F$$$k$3$H$r<($7$^$9!#\e(B
+
+    <p>\e$B8E$$%/%i%$%"%s%H$O\e(B <code>x-zip</code> \e$B$H\e(B <code>x-compress</code>
+    \e$B$,JV$C$F$/$k$3$H$r4|BT$7$^$9$,!"I8=`5,3J$G$O$=$l$>$l\e(B
+    <code>gzip</code> \e$B$H\e(B <code>compress</code>
+    \e$B$HEy2A$G$"$k$3$H$K$J$C$F$$$^$9!#\e(BApache
+    \e$B$O!"%3%s%F%s%H%(%s%3!<%G%#%s%0$NHf3S$r$9$k$H$-$K$O!"@hF,$K$"$k\e(B
+    <code>x-</code> \e$B$rL5;k$7$^$9!#\e(BApache
+    \e$B$,%(%s%3!<%G%#%s%0IU$-$G1~Ez$rJV$9$H$-$O!"%/%i%$%"%s%H$,MW5a$7$?7A<0\e(B
+    (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<code>x-foo</code> \e$B$d\e(B <code>foo</code>)
+    \e$B$r;HMQ$7$^$9!#MW$9$k$K!"$3$NFs$D$N%(%s%3!<%G%#%s%0$N>l9g$O>o$K\e(B
+    <code>x-gzip</code> \e$B$H\e(B <code>x-compress</code>
+    \e$B$r;H$&$Y$-$G$"$k!"$H$$$&$3$H$G$9!#\e(B<code>deflate</code>
+    \e$B$N$h$&$J$h$j?7$7$$%(%s%3!<%G%#%s%0$G$O!"\e(B<code>x-</code>
+    \e$B$J$7$G;XDj$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a></p>
+    <hr />
+
+    <h2><a id="addhandler" name="addhandler">AddHandler</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> AddHandler
+    <em>handler-name extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> AddHandler \e$B$O\e(B
+    Apache 1.1 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B<br />
+    <p>AddHandler \e$B$O!"3HD%;R\e(B <em>extension</em> \e$B$r\e(B<a
+    href="../handler.html">\e$B%O%s%I%i\e(B</a> <em>handler-name</em>
+    \e$B$K%^%C%W$7$^$9!#$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"\e(B
+    \e$BF1$83HD%;R\e(B <em>extension</em>
+    \e$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#$?$H$($P!"3HD%;R\e(B
+    "<code>.cgi</code>" \e$B$G=*$o$k%U%!%$%k$r\e(B CGI
+    \e$B%9%/%j%W%H$H$7$F07$$$?$$$H$-$O!"0J2<$N@_Dj$r$7$^$9!#\e(B</p>
+<pre>
+    AddHandler cgi-script .cgi
+</pre>
+
+    <p>\e$B$3$l$r\e(B srm.conf \e$B$+\e(B httpd.conf \e$B%U%!%$%k$K5-=R$9$k$3$H$G!"3HD%;R\e(B
+    "<code>.cgi</code>" \e$B$r4^$`%U%!%$%k$O\e(B CGI \e$B%W%m%0%i%`$H$7$F07$o$l$^$9!#\e(B
+    </p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a>\e$B!"\e(B
+    <a href="#sethandler">SetHandler</a></p>
+    <hr />
+
+    <h2><a id="addlanguage" name="addlanguage">AddLanguage</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt AddLanguage} directive&gt; -->
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> AddLanguage <em>MIME-lang
+    extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+
+    <p>AddLanguage \e$B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?\e(B
+    content language \e$B$K%^%C%W$7$^$9!#\e(B<em>MIME-lang</em> \e$B$O!"3HD%;R\e(B
+    <em>extension</em> \e$B$r4^$s$G$$$k%U%!%$%kL>$N\e(B MIME \e$B$K$*$1$k8@8l$G$9!#\e(B
+    \e$B$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R\e(B
+    <em>extension</em> \e$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#\e(B
+    </p>
+
+    <p>\e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>AddEncoding x-compress .Z<br />
+       AddLanguage en .en<br />
+       AddLanguage fr .fr<br />
+      </code>
+    </blockquote>
+
+    <p>\e$B$3$N>l9g!"\e(B<code>xxxx.en.Z</code> \e$B%I%-%e%a%s%H$O\e(B compress
+    \e$B$5$l$?1Q8l$N%I%-%e%a%s%H$H$7$F07$o$l$^$9\e(B (<code>xxxx.Z.en</code>
+    \e$B$bF1MM\e(B)\e$B!#\e(Bcontent language \e$B$O%/%i%$%"%s%H$KDLCN$5$l$^$9$,!"\e(B
+    \e$B%V%i%&%6$,$3$N>pJs$r;H$&$3$H$O$*$=$i$/$"$j$^$;$s!#\e(BAddLanguage
+    \e$B%G%#%l%/%F%#%V$O!"%5!<%P$,%/%i%$%"%s%H$N8@8l$NM%@hEY$K4p$E$$$FJ#?t$N\e(B
+    \e$B%I%-%e%a%s%H$NCf$+$i%I%-%e%a%s%H$rA*$V\e(B<a
+    href="../content-negotiation.html"
+    >\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</a>\e$B$N$?$a$K$h$jLr$KN)$A$^$9!#\e(B</p>
+
+    <p>\e$BJ#?t$N8@8l$,F1$83HD%;R$K3d$jEv$F$i$l$F$$$k$H$-$O!"\e(B
+    \e$B:G8e$N$b$N$,;HMQ$5$l$^$9!#$9$J$o$A!"<!$N$h$&$J>l9g!"\e(B</p>
+
+<pre>
+    AddLanguage en .en
+    AddLanguage en-gb .en
+    AddLanguage en-us .en
+</pre>
+
+    <p>\e$B3HD%;R\e(B "<code>.en</code>" \e$B$N$"$k%I%-%e%a%s%H$O\e(B
+    "<code>en-us</code>" \e$B$H$7$F07$o$l$^$9!#\e(B</p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a>\e$B!"\e(B
+    <a href="#defaultlanguage">DefaultLanguage</a><br />
+    <strong>\e$B;2>H\e(B</strong>: <a
+    href="./mod_negotiation.html">mod_negotiation</a>
+    </p>
+    <hr />
+
+    <h2><a id="addtype" name="addtype">AddType</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt AddType} directive&gt; -->
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> AddType <em>MIME-type
+    extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime
+
+    <p>AddType \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$BM?$($i$l$?3HD%;R$r;XDj$5$l$?%3%s%F%s%H%?%$%W$K%^%C%W$7$^$9!#\e(B
+    <em>MIME-type</em> \e$B$O3HD%;R\e(B <em>extension</em>
+    \e$B$r4^$s$@%I%-%e%a%s%H$K;HMQ$9$k\e(B MIME \e$B%?%$%W$G$9!#\e(B
+    \e$B$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R\e(B
+    <em>extension</em> \e$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O\e(B MIME \e$B%?%$%W%U%!%$%k\e(B (<code><a
+    href="#typesconfig">TypesConfig</a></code> \e$B%G%#%l%/%F%#%V$r;2>H\e(B)
+    \e$B$K$J$$%^%C%T%s%0$rDI2C$9$k$?$a$K;HMQ$9$k$3$H$,$G$-$^$9!#Nc\e(B:</p>
+
+    <blockquote>
+      <code>AddType image/gif .gif</code>
+    </blockquote>
+    \e$B?7$7$$\e(B MIME \e$B%?%$%W$O!"\e(B<a href="#typesconfig">TypesConfig</a>
+    \e$B%U%!%$%k$rJQ99$9$k$N$G$O$J$/!"\e(BAddType
+    \e$B%G%#%l%/%F%#%V$r;H$C$FDI2C$9$k$3$H$,?d>)$5$l$F$$$^$9!#\e(B
+
+    <p>NCSA httpd \e$B$H$O0c$C$F!"$3$N%G%#%l%/%F%#%V$OFCDj$N%U%!%$%k$N\e(B
+    \e$B%?%$%W$r@_Dj$9$k$3$H$O$G$-$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a></p>
+    <hr />
+
+    <h2><a id="defaultlanguage"
+    name="defaultlanguage">DefaultLanguage</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt DefaultLanguage} directive&gt; -->
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> DefaultLanguage <em>MIME-lang</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> DefaultLanguage \e$B$O\e(B
+    Apache 1.3.4 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B<br />
+
+    <p>DefaultLanguage \e$B%G%#%l%/%F%#%V$O!"\e(BApache
+    \e$B$,%G%#%l%/%F%#%V$N%9%3!<%W\e(B (<em>\e$BNc$($P\e(B</em>\e$B!"$=$N;~E@$N\e(B
+    <code>&lt;Directory&gt;</code> \e$B$NHO0O\e(B) \e$B$K$"$k!"L@<(E*$J8@8l3HD%;R\e(B
+    (<samp>AddLanguage</samp> \e$B$G@_Dj$5$l$k\e(B <samp>.fr</samp> \e$B$d\e(B
+    <samp>.de</samp>) \e$B$N$J$$A4$F$N%U%!%$%k$r!";XDj$5$l$?\e(B
+    <em>MIME-lang</em> \e$B8@8l$G$"$k$H$_$J$9$h$&$K$7$^$9!#\e(B
+    \e$B$3$l$K$h$j!"$9$Y$F$N%U%!%$%kL>$rJQ$($k$3$H$J$/!"\e(B
+    \e$B%G%#%l%/%H%j$,%*%i%s%@8l$N%3%s%F%s%H$r4^$s$G$$$k!"\e(B
+    \e$B$H$$$&$h$&$J$3$H$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B3HD%;R$r;HMQ$7$F8@8l$r;XDj$9$kJ}K!$H0c$$!"\e(B
+    <samp>DefaultLanguage</samp>
+    \e$B$O0l$D$N8@8l$7$+;XDj$G$-$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$BNc$($P\e(B:</p>
+
+    <code>DefaultLanguage fr</code>
+
+    <p><samp>DefaultLanguage</samp>
+    \e$B%G%#%l%/%F%#%V$,M-8z$G$J$/!"%U%!%$%k$K\e(B <samp>AddLanguage</samp>
+    \e$B$G@_Dj$5$l$?8@8l$N3HD%;R$,$J$$$H$-$O!"\e(B
+    \e$B%U%!%$%k$K$O8@8lB0@-$,$J$$$H$_$J$5$l$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="./mod_negotiation.html">mod_negotiation</a><br />
+     <strong>\e$B;2>H\e(B</strong>: <a
+    href="#multipleext">\e$BJ#?t$N3HD%;R$N$"$k%U%!%$%k\e(B</a></p>
+    <hr />
+
+    <h2><a id="forcetype" name="forcetype">ForceType</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> ForceType
+    <em>media-type</em>|None<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> ForceType \e$B$O\e(B
+    Apache 1.1 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p><code>.htaccess</code> \e$B$d\e(B <code>&lt;Directory&gt;</code>
+    \e$B%;%/%7%g%s!"\e(B<code>&lt;Location&gt;</code> \e$B%;%/%7%g%s$K=q$+$l$?>l9g!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O$=$3$K$"$k$9$Y$F$N%U%!%$%k$,\e(B <em>media type</em>
+    \e$B$G;XDj$5$l$?%3%s%F%s%H%?%$%W$H$7$F07$o$l$k$3$H$r6/@)$7$^$9!#$?$H$($P!"\e(B
+    GIF \e$B%U%!%$%k$P$+$j$N%G%#%l%/%H%j$,$"$C$F!"$9$Y$F$N%U%!%$%k$r\e(B ".gif"
+    \e$B$G=*$o$i$;$?$/$O$J$$$H$-$K!"0J2<$N$b$N$r;HMQ$7$^$9\e(B:</p>
+<pre>
+    ForceType image/gif
+</pre>
+
+    <p>\e$B$3$l$O!"%a%G%#%"%?%$%W$r7hDj$9$k$+$b$7$l$J$$$9$Y$F$N3HD%;R$r\e(B
+    \e$B>e=q$-$9$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$BCM$r\e(B <code>none</code> \e$B$K@_Dj$9$k$3$H$G!"\e(B
+    \e$B0JA0$N\e(B <directive>ForceType</directive> \e$B$N$9$Y$F$N@_Dj$r>e=q$-$9$k$3$H$b\e(B
+    \e$B$G$-$^$9\e(B:</p>
+
+<pre>
+    # force all files to be image/gif:
+    &lt;Location /images&gt;
+      ForceType image/gif
+    &lt;/Location&gt;
+
+    # but normal mime-type associations here:
+    &lt;Location /images/mixed&gt;
+      ForceType none
+    &lt;/Location&gt;
+</pre>
+
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="#addtype">AddType</a></p>
+    <hr />
+
+    <h2><a id="removeencoding"
+    name="removeencoding">RemoveEncoding</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> RemoveEncoding
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> RemoveEncoding \e$B$O\e(B
+    Apache 1.3.13 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p><samp>RemoveEncoding</samp> \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$BM?$($i$l$?3HD%;R$K4XO"IU$1$i$l$?%(%s%3!<%G%#%s%0$r<h$j>C$7$^$9!#\e(B
+    \e$B$3$l$K$h$j!"%5%V%G%#%l%/%H%j$K$"$k\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$,?F%G%#%l%/%H%j$d%5!<%P$N@_Dj%U%!%$%k$+$i7Q>5$7$?4XO"IU$1$r\e(B
+    \e$B<h$j>C$9$3$H$,$G$-$^$9!#$?$H$($P\e(B:</p>
+
+    <dl>
+      <dt><code>/foo/.htaccess:</code></dt>
+
+      <dd><code>AddEncoding x-gzip .gz</code><br />
+       <code>AddType text/plain .asc</code><br />
+       <code>&lt;Files *.gz.asc&gt;</code><br />
+       <code>&nbsp;&nbsp;&nbsp;&nbsp;RemoveEncoding
+      .gz</code><br />
+       <code>&lt;/Files&gt;</code></dd>
+    </dl>
+    <p>\e$B$3$l$O!"\e(B<code>foo.gz</code> \e$B$O\e(B gzip
+    \e$B$G%(%s%3!<%I$5$l$F$$$k$3$H$r;XDj$7$^$9$,!"\e(B<code>foo.gz.asc</code>
+    \e$B$O%(%s%3!<%I$5$l$F$$$J$$%W%l!<%s%F%-%9%H$N\e(B
+    \e$B%U%!%$%k$G$"$k$H$$$&$3$H$r;XDj$7$^$9!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B:</strong> RemoveEncoding \e$B$O\e(B
+    <a href="#addencoding">AddEncoding</a>
+    \e$B%G%#%l%/%F%#%V$N\e(B<em>\e$B8e\e(B</em>\e$B$G=hM}$5$l$^$9$N$G!"\e(B
+    \e$BF1$8%G%#%l%/%H%j$N@_DjCf$KN>J}$,8=$l$k$H!"\e(B
+    \e$B8e<T$N8z2L$,BG$A>C$5$l$k2DG=@-$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="removehandler"
+    name="removehandler">RemoveHandler</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> RemoveHandler
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> RemoveHandler \e$B$O\e(B
+    Apache 1.3.4 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p><samp>RemoveHandler</samp> \e$B%G%#%l%/%F%#%V\e(B
+    \e$B$OM?$($i$l$?3HD%;R$K4XO"IU$1$i$l$?%O%s%I%i$r<h$j>C$7$^$9!#\e(B
+    \e$B$3$l$K$h$j!"%5%V%G%#%l%/%H%j$K$"$k\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$,?F%G%#%l%/%H%j$d%5!<%P$N@_Dj%U%!%$%k\e(B
+    \e$B$+$i7Q>5$7$?4XO"IU$1$r<h$j>C$9$3$H$,$G$-$^$9!#$?$H$($P\e(B:</p>
+
+    <dl>
+      <dt><code>/foo/.htaccess:</code></dt>
+
+      <dd><code>AddHandler server-parsed .html</code></dd>
+
+      <dt><code>/foo/bar/.htaccess:</code></dt>
+
+      <dd><code>RemoveHandler .html</code></dd>
+    </dl>
+
+    <p>\e$B$3$l$O!"\e(B<samp>/foo/bar</samp> \e$B%G%#%l%/%H%j$N\e(B <samp>.html</samp>
+    \e$B%U%!%$%k$O\e(B SSI \e$B$G$O$J$/\e(B (<a
+    href="mod_include.html"><samp>mod_include</samp></a> \e$B%b%8%e!<%k;2>H\e(B)\e$B!"\e(B
+    \e$BIaDL$N%U%!%$%k$H$7$F07$o$l$k$h$&$K$9$k8z2L$,$"$j$^$9!#\e(B
+    </p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="removetype"
+    name="removetype">RemoveType</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> RemoveType
+    <em>extension</em> [<em>extension</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> RemoveType \e$B$O\e(B
+    Apache 1.3.13 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p><samp>RemoveType</samp> \e$B%G%#%l%/%F%#%V$OM?$($i$l$?3HD%;R$N\e(B
+    MIME \e$B%?%$%W$N4XO"IU$1$r<h$j>C$7$^$9!#$3$l$K$h$j!"\e(B
+    \e$B%5%V%G%#%l%/%H%j$K$"$k\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$,?F%G%#%l%/%H%j$d%5!<%P$N@_Dj%U%!%$%k$+$i7Q>5$7$?\e(B
+    \e$B4XO"IU$1$r<h$j>C$9$3$H$,$G$-$^$9!#$?$H$($P\e(B:</p>
+
+    <dl>
+      <dt><code>/foo/.htaccess:</code></dt>
+
+      <dd><code>RemoveType .cgi</code></dd>
+    </dl>
+
+    <p>\e$B$3$l$O\e(B <code>/foo/</code> \e$B%G%#%l%/%H%j0J2<$N\e(B <code>.cgi</code>
+    \e$B%U%!%$%k$NFCJL$J07$$$r<h$j>C$7$^$9!#%U%!%$%k$O\e(B<a
+    href="core.html#defaulttype"
+    >\e$B%G%U%)%k%H%?%$%W\e(B</a>\e$B$H$7$F07$o$l$^$9!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B:</strong> <code>RemoveType</code> \e$B%G%#%l%/%F%#%V$O\e(B
+    <code>AddType</code> \e$B%G%#%l%/%F%#%V$N\e(B<em>\e$B8e\e(B</em>\e$B$K=hM}$5$l$^$9$N$G!"\e(B
+    \e$BN>J}$,F1$8%G%#%l%/%H%j$N@_DjCf$K8=$l$?>l9g!"\e(B
+    \e$B8e<T$N8z2L$,BG$A>C$5$l$k2DG=@-$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B0z?t\e(B <em>extension</em> \e$B$OBgJ8;z>.J8;z$r6hJL$;$:!"\e(B
+    \e$B:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="sethandler" name="sethandler">SetHandler</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> SetHandler
+    <em>handler-name</em>|None<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> SetHandler \e$B$O\e(B
+    Apache 1.1 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B
+
+    <p><code>.htaccess</code> \e$B$d\e(B <code>&lt;Directory&gt;</code>
+    \e$B%;%/%7%g%s!"\e(B<code>&lt;Location&gt;</code> \e$B%;%/%7%g%s$K=q$+$l$?>l9g!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O$=$3$K$"$k$9$Y$F$N%U%!%$%k$,\e(B
+    <em>handler-name</em> \e$B$G;XDj$5$l$?\e(B<a href="../handler.html"
+    >\e$B%O%s%I%i\e(B</a>\e$B$G07$o$l$k$3$H$r6/@)$7$^$9!#Nc$($P!"3HD%;R$K4X$o$i$:!"\e(B
+    \e$B%G%#%l%/%H%jA4BN$,%$%a!<%8%^%C%W%U%!%$%k$H$7$F2r@O$7$FM_$7$$>l9g$K$O!"\e(B
+    \e$B0J2<$r$=$N%G%#%l%/%H%j$N\e(B <code>.htaccess</code>
+    \e$B%U%!%$%k$K5-=R$7$^$9\e(B:</p>
+<pre>
+    SetHandler imap-file
+</pre>
+
+    <p>\e$BJL$NNc\e(B: URL <code>http://servername/status</code>
+    \e$B$,;XDj$5$l$?$H$-$K%5!<%P$,>uBVJs9p$r$9$k$h$&$K$7$?$$$H$-$O!"0J2<$r\e(B
+    httpd.conf \e$B$K5-=R$7$^$9\e(B: (\e$B>\:Y$O\e(B <a
+    href="mod_status.html">mod_status</a> \e$B$r;2>H!#\e(B)
+    </p>
+<pre>
+    &lt;Location /status&gt;
+    SetHandler server-status
+    &lt;/Location&gt;
+</pre>
+
+    <p>\e$BCM$r\e(B <code>None</code> \e$B$K$9$k$3$H$G!"\e(B
+    \e$B0JA0$N\e(B <code>SetHandler</code> \e$B%G%#%l%/%F%#%V$NDj5A$r>e=q$-$9$k$3$H$,\e(B
+    \e$B$G$-$^$9!#\e(B</p>
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a href="#addhandler">AddHandler</a></p>
+
+    <hr />
+
+    <h2><a id="typesconfig" name="typesconfig">TypesConfig</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt TypesConfig} directive&gt; -->
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> TypesConfig
+    <em>filename</em><br />
+     <a href="directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>TypesConfig
+    conf/mime.types</code><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_mime
+
+    <p>TypesConfig \e$B%G%#%l%/%F%#%V$O!"\e(BMIME
+    \e$B%?%$%W@_Dj%U%!%$%k$N0LCV$r@_Dj$7$^$9!#\e(B<em>filename</em> \e$B$O\e(B
+    <a href="core.html#serverroot">ServerRoot</a> \e$B$+$i$NAjBP%Q%9$G$9!#\e(B
+    \e$B$3$N%U%!%$%k$O%U%!%$%k$N3HD%;R$+$i%3%s%F%s%H%?%$%W$X$N\e(B
+    \e$B%G%U%)%k%H$N%^%C%T%s%0$r@_Dj$7$^$9!#\e(B
+    \e$B$3$N%U%!%$%k$rJQ99$9$k$3$H$O?d>)$5$l$F$$$^$;$s!#Be$o$j$K\e(B
+    <a href="#addtype">AddType</a> \e$B%G%#%l%/%F%#%V$r;HMQ$7$F$/$@$5$$!#\e(B
+    \e$B%U%!%$%k$O!"\e(BAddType \e$B%3%^%s%I$N0z?t$HF1$87A<0$N9T$G9=@.$5$l$^$9!#\e(B</p>
+
+    <blockquote>
+      <em>MIME-type extension extension ...</em>
+    </blockquote>
+    \e$B3HD%;R$O>.J8;z$KJQ49$5$l$^$9!#6u9T$H%O%C%7%eJ8;z\e(B ('#')
+    \e$B$G;O$^$k9T$OL5;k$5$l$^$9!#\e(B
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_mime_magic.html b/htdocs/manual/mod/mod_mime_magic.html
new file mode 100644 (file)
index 0000000..3a5a76b
--- /dev/null
@@ -0,0 +1,326 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_mime_magic</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <div align="CENTER">
+      <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+    </div>
+
+    <h1 align="CENTER">Module mod_mime_magic</h1>
+
+    <p>This module provides for determining the MIME type of a file
+    by looking at a few bytes of its contents.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_mime_magic.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    mime_magic_module</p>
+
+    <h2>Summary</h2>
+
+    <p>This module determines the MIME type of files in the same
+    way the Unix file(1) command works: it looks at the first few
+    bytes of the file. It is intended as a "second line of defense"
+    for cases that <a href="mod_mime.html">mod_mime</a> can't
+    resolve. To assure that mod_mime gets first try at determining
+    a file's MIME type, be sure to list mod_mime_magic
+    <strong>before</strong> mod_mime in the configuration.</p>
+
+    <p>This module is derived from a free version of the
+    <code>file(1)</code> command for Unix, which uses "magic
+    numbers" and other hints from a file's contents to figure out
+    what the contents are. This module is active only if the magic
+    file is specified by the <a
+    href="#mimemagicfile"><code>MimeMagicFile</code></a>
+    directive.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#mimemagicfile">MimeMagicFile</a></li>
+    </ul>
+
+    <h2>Format of the Magic File</h2>
+
+    <p>The contents of the file are plain ASCII text in 4-5
+    columns. Blank lines are allowed but ignored. Commented lines
+    use a hash mark "#". The remaining lines are parsed for the
+    following columns:</p>
+
+    <table border="1">
+      <tr valign="top">
+        <th>Column</th>
+
+        <th>Description</th>
+      </tr>
+
+      <tr valign="top">
+        <td>1</td>
+
+        <td>byte number to begin checking from<br />
+         "&gt;" indicates a dependency upon the previous non-"&gt;"
+        line</td>
+      </tr>
+
+      <tr valign="top">
+        <td>2</td>
+
+        <td>
+          type of data to match 
+
+          <table border="1">
+            <tr>
+              <td>byte</td>
+
+              <td>single character</td>
+            </tr>
+
+            <tr>
+              <td>short</td>
+
+              <td>machine-order 16-bit integer</td>
+            </tr>
+
+            <tr>
+              <td>long</td>
+
+              <td>machine-order 32-bit integer</td>
+            </tr>
+
+            <tr>
+              <td>string</td>
+
+              <td>arbitrary-length string</td>
+            </tr>
+
+            <tr>
+              <td>date</td>
+
+              <td>long integer date (seconds since Unix
+              epoch/1970)</td>
+            </tr>
+
+            <tr>
+              <td>beshort</td>
+
+              <td>big-endian 16-bit integer</td>
+            </tr>
+
+            <tr>
+              <td>belong</td>
+
+              <td>big-endian 32-bit integer</td>
+            </tr>
+
+            <tr>
+              <td>bedate</td>
+
+              <td>big-endian 32-bit integer date</td>
+            </tr>
+
+            <tr>
+              <td>leshort</td>
+
+              <td>little-endian 16-bit integer</td>
+            </tr>
+
+            <tr>
+              <td>lelong</td>
+
+              <td>little-endian 32-bit integer</td>
+            </tr>
+
+            <tr>
+              <td>ledate</td>
+
+              <td>little-endian 32-bit integer date</td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+
+      <tr valign="top">
+        <td>3</td>
+
+        <td>contents of data to match</td>
+      </tr>
+
+      <tr valign="top">
+        <td>4</td>
+
+        <td>MIME type if matched</td>
+      </tr>
+
+      <tr valign="top">
+        <td>5</td>
+
+        <td>MIME encoding if matched (optional)</td>
+      </tr>
+    </table>
+
+    <p>For example, the following magic file lines would recognize
+    some audio formats.</p>
+<pre>
+# Sun/NeXT audio data
+0       string          .snd
+&gt;12     belong          1               audio/basic
+&gt;12     belong          2               audio/basic
+&gt;12     belong          3               audio/basic
+&gt;12     belong          4               audio/basic
+&gt;12     belong          5               audio/basic
+&gt;12     belong          6               audio/basic
+&gt;12     belong          7               audio/basic
+&gt;12     belong          23              audio/x-adpcm
+</pre>
+    Or these would recognize the difference between "*.doc" files
+    containing Microsoft Word or FrameMaker documents. (These are
+    incompatible file formats which use the same file suffix.) 
+<pre>
+# Frame
+0       string          \&lt;MakerFile     application/x-frame
+0       string          \&lt;MIFFile       application/x-frame
+0       string          \&lt;MakerDictionary       application/x-frame
+0       string          \&lt;MakerScreenFon        application/x-frame
+0       string          \&lt;MML           application/x-frame
+0       string          \&lt;Book          application/x-frame
+0       string          \&lt;Maker         application/x-frame
+
+# MS-Word
+0       string          \376\067\0\043                  application/msword
+0       string          \320\317\021\340\241\261        application/msword
+0       string          \333\245-\0\0\0                 application/msword
+</pre>
+    An optional MIME encoding can be included as a fifth column.
+    For example, this can recognize gzipped files and set the
+    encoding for them. 
+<pre>
+# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
+0       string          \037\213        application/octet-stream        x-gzip
+</pre>
+
+    <h2>Performance Issues</h2>
+    This module is not for every system. If your system is barely
+    keeping up with its load or if you're performing a web server
+    benchmark, you may not want to enable this because the
+    processing is not free. 
+
+    <p>However, an effort was made to improve the performance of
+    the original file(1) code to make it fit in a busy web server.
+    It was designed for a server where there are thousands of users
+    who publish their own documents. This is probably very common
+    on intranets. Many times, it's helpful if the server can make
+    more intelligent decisions about a file's contents than the
+    file name allows ...even if just to reduce the "why doesn't my
+    page work" calls when users improperly name their own files.
+    You have to decide if the extra work suits your
+    environment.</p>
+
+    <p>When compiling an Apache server, this module should be at or
+    near the top of the list of modules in the Configuration file.
+    The modules are listed in increasing priority so that will mean
+    this one is used only as a last resort, just like it was
+    designed to.</p>
+
+    <h2><a id="notes" name="notes">Notes</a></h2>
+    The following notes apply to the mod_mime_magic module and are
+    included here for compliance with contributors' copyright
+    restrictions that require their acknowledgment. 
+<pre>
+/*
+ * mod_mime_magic: MIME type lookup via file magic numbers
+ * Copyright (c) 1996-1997 Cisco Systems, Inc.
+ *
+ * This software was submitted by Cisco Systems to the Apache Group in July
+ * 1997.  Future revisions and derivatives of this source code must
+ * acknowledge Cisco Systems as the original contributor of this module.
+ * All other licensing and usage conditions are those of the Apache Group.
+ *
+ * Some of this code is derived from the free version of the file command
+ * originally posted to comp.sources.unix.  Copyright info for that program
+ * is included below as required.
+ * ---------------------------------------------------------------------------
+ * - Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.
+ *
+ * This software is not subject to any license of the American Telephone and
+ * Telegraph Company or of the Regents of the University of California.
+ *
+ * Permission is granted to anyone to use this software for any purpose on any
+ * computer system, and to alter it and redistribute it freely, subject to
+ * the following restrictions:
+ *
+ * 1. The author is not responsible for the consequences of use of this
+ * software, no matter how awful, even if they arise from flaws in it.
+ *
+ * 2. The origin of this software must not be misrepresented, either by
+ * explicit claim or by omission.  Since few users ever read sources, credits
+ * must appear in the documentation.
+ *
+ * 3. Altered versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.  Since few users ever read
+ * sources, credits must appear in the documentation.
+ *
+ * 4. This notice may not be removed or altered.
+ * -------------------------------------------------------------------------
+ *
+ * For compliance with Mr Darwin's terms: this has been very significantly
+ * modified from the free "file" command.
+ * - all-in-one file for compilation convenience when moving from one
+ *   version of Apache to the next.
+ * - Memory allocation is done through the Apache API's pool structure.
+ * - All functions have had necessary Apache API request or server
+ *   structures passed to them where necessary to call other Apache API
+ *   routines.  (<em>i.e.</em>, usually for logging, files, or memory allocation in
+ *   itself or a called function.)
+ * - struct magic has been converted from an array to a single-ended linked
+ *   list because it only grows one record at a time, it's only accessed
+ *   sequentially, and the Apache API has no equivalent of realloc().
+ * - Functions have been changed to get their parameters from the server
+ *   configuration instead of globals.  (It should be reentrant now but has
+ *   not been tested in a threaded environment.)
+ * - Places where it used to print results to stdout now saves them in a
+ *   list where they're used to set the MIME type in the Apache request
+ *   record.
+ * - Command-line flags have been removed since they will never be used here.
+ *
+ */
+</pre>
+    <hr />
+
+    <h2><a id="mimemagicfile"
+    name="mimemagicfile">MimeMagicFile</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MimeMagicFile
+    <em>file-path</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> none<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mime_magic</p>
+
+    <p>The <code>MimeMagicFile</code> directive can be used to
+    enable this module, the default file is distributed at
+    <code>conf/magic</code>. Non-rooted paths are relative to the
+    ServerRoot. Virtual hosts will use the same file as the main
+    server unless a more specific setting is used, in which case
+    the more specific setting overrides the main server's file.</p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_mmap_static.html b/htdocs/manual/mod/mod_mmap_static.html
new file mode 100644 (file)
index 0000000..b246dbb
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_mmap_static</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_mmap_static</h1>
+
+    <p>This module provides mmap()ing of a statically configured
+    list of frequently requested but not changed files.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_mmap_static.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    mmap_static_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This is an <strong>experimental</strong> module and should
+    be used with care. You can easily create a broken site using
+    this module, read this document carefully.
+    <code>mod_mmap_static</code> maps a list of statically
+    configured files (via <code>MMapFile</code> directives in the
+    main server configuration) into memory through the system call
+    <code>mmap()</code>. This system call is available on most
+    modern Unix derivates, but not on all. There are sometimes
+    system-specific limits on the size and number of files that can
+    be mmap()d, experimentation is probably the easiest way to find
+    out.</p>
+
+    <p>This mmap()ing is done once at server start or restart,
+    only. So whenever one of the mapped files changes on the
+    filesystem you <em>have</em> to restart the server by at least
+    sending it a HUP or USR1 signal (see the <a
+    href="../stopping.html">Stopping and Restarting</a>
+    documentation). To reiterate that point: if the files are
+    modified <em>in place</em> without restarting the server you
+    may end up serving requests that are completely bogus. You
+    should update files by unlinking the old copy and putting a new
+    copy in place. Most tools such as <code>rdist</code> and
+    <code>mv</code> do this. The reason why this modules doesn't
+    take care of changes to the files is that this check would need
+    an extra <code>stat()</code> every time which is a waste and
+    against the intent of I/O reduction.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#mmapfile">MMapFile</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="mmapfile" name="mmapfile">MMapFile</a>
+    directive</h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> MMapFile
+    <em>filename</em> [<em>filename</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server-config<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Experimental<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_mmap_static<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Only available
+    in Apache 1.3 or later</p>
+
+    <p>The <code>MMapFile</code> directive maps one or more files
+    (given as whitespace separated arguments) into memory at server
+    startup time. They are automatically unmapped on a server
+    shutdown. When the files have changed on the filesystem at
+    least a HUP or USR1 signal should be send to the server to
+    re-mmap them.</p>
+
+    <p>Be careful with the <em>filename</em> arguments: They have
+    to literally match the filesystem path Apache's URL-to-filename
+    translation handlers create. We cannot compare inodes or other
+    stuff to match paths through symbolic links <em>etc.</em>
+    because that again would cost extra <code>stat()</code> system
+    calls which is not acceptable. This module may or may not work
+    with filenames rewritten by <code>mod_alias</code> or
+    <code>mod_rewrite</code>... it is an experiment after all.</p>
+
+    <p>Notice: You cannot use this for speeding up CGI programs or
+    other files which are served by special content handlers. It
+    can only be used for regular files which are usually served by
+    the Apache core content handler.</p>
+    Example: 
+<pre>
+  MMapFile /usr/local/apache/htdocs/index.html
+</pre>
+
+    <p><strong>Note</strong>: don't bother asking for a for a
+    <code>MMapDir</code> directive which recursively maps all the
+    files in a directory. Use Unix the way it was meant to be used.
+    For example, see the <a href="core.html#include">Include</a>
+    directive, and consider this command:</p>
+<pre>
+  find /www/htdocs -type f -print \
+  | sed -e 's/.*/mmapfile &amp;/' &gt; /www/conf/mmap.conf
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_negotiation.html.en b/htdocs/manual/mod/mod_negotiation.html.en
new file mode 100644 (file)
index 0000000..5ba05f6
--- /dev/null
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_negotiation</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_negotiation</h1>
+
+    <p>This module provides for <a
+    href="../content-negotiation.html">content negotiation</a>.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_negotiation.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    negotiation_module</p>
+
+    <h2>Summary</h2>
+    Content negotiation, or more accurately content selection, is
+    the selection of the document that best matches the clients
+    capabilities, from one of several available documents. There
+    are two implementations of this. 
+
+    <ul>
+      <li>A type map (a file with the handler
+      <code>type-map</code>) which explicitly lists the files
+      containing the variants.</li>
+
+      <li>A MultiViews search (enabled by the MultiViews <a
+      href="core.html#options">Option</a>, where the server does an
+      implicit filename pattern match, and choose from amongst the
+      results.</li>
+    </ul>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a
+      href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+      <li><a href="#languagepriority">LanguagePriority</a></li>
+    </ul>
+    <strong>See also</strong>: <a
+    href="./mod_mime.html#defaultlanguage">DefaultLanguage</a>, <a
+    href="./mod_mime.html#addencoding">AddEncoding</a>, <a
+    href="./mod_mime.html#addlanguage">AddLanguage</a>, <a
+    href="./mod_mime.html#addtype">AddType</a>, and <a
+    href="core.html#options">Options</a>. 
+
+    <h2>Type maps</h2>
+    A type map has the same format as RFC822 mail headers. It
+    contains document descriptions separated by blank lines, with
+    lines beginning with a hash character ('#') treated as
+    comments. A document description consists of several header
+    records; records may be continued on multiple lines if the
+    continuation lines start with spaces. The leading space will be
+    deleted and the lines concatenated. A header record consists of
+    a keyword name, which always ends in a colon, followed by a
+    value. Whitespace is allowed between the header name and value,
+    and between the tokens of value. The headers allowed are: 
+
+    <dl>
+      <dt>Content-Encoding:</dt>
+
+      <dd>The encoding of the file. Apache only recognizes
+      encodings that are defined by an <a
+      href="mod_mime.html#addencoding">AddEncoding</a> directive.
+      This normally includes the encodings <code>x-compress</code>
+      for compress'd files, and <code>x-gzip</code> for gzip'd
+      files. The <code>x-</code> prefix is ignored for encoding
+      comparisons.</dd>
+
+      <dt>Content-Language:</dt>
+
+      <dd>The language of the variant, as an Internet standard
+      language tag (RFC 1766). An example is <code>en</code>,
+      meaning English.</dd>
+
+      <dt>Content-Length:</dt>
+
+      <dd>The length of the file, in bytes. If this header is not
+      present, then the actual length of the file is used.</dd>
+
+      <dt>Content-Type:</dt>
+
+      <dd>
+        The MIME media type of the document, with optional
+        parameters. Parameters are separated from the media type
+        and from one another by a semi-colon, with a syntax of
+        <code>name=value</code>. Common parameters include: 
+
+        <dl>
+          <dt>level</dt>
+
+          <dd>an integer specifying the version of the media type.
+          For <code>text/html</code> this defaults to 2, otherwise
+          0.</dd>
+
+          <dt>qs</dt>
+
+          <dd>a floating-point number with a value in the range 0.0
+          to 1.0, indicating the relative 'quality' of this variant
+          compared to the other available variants, independent of
+          the client's capabilities. For example, a jpeg file is
+          usually of higher source quality than an ascii file if it
+          is attempting to represent a photograph. However, if the
+          resource being represented is ascii art, then an ascii
+          file would have a higher source quality than a jpeg file.
+          All qs values are therefore specific to a given
+          resource.</dd>
+        </dl>
+        Example: 
+
+        <blockquote>
+          <code>Content-Type: image/jpeg; qs=0.8</code>
+        </blockquote>
+      </dd>
+
+      <dt>URI:</dt>
+
+      <dd>The path to the file containing this variant, relative to
+      the map file.</dd>
+    </dl>
+
+    <h2>MultiViews</h2>
+    A MultiViews search is enabled by the MultiViews <a
+    href="core.html#options">Option</a>. If the server receives a
+    request for <code>/some/dir/foo</code> and
+    <code>/some/dir/foo</code> does <em>not</em> exist, then the
+    server reads the directory looking for all files named
+    <code>foo.*</code>, and effectively fakes up a type map which
+    names all those files, assigning them the same media types and
+    content-encodings it would have if the client had asked for one
+    of them by name. It then chooses the best match to the client's
+    requirements, and returns that document. 
+    <hr />
+
+    <h2><a id="cachenegotiateddocs"
+    name="cachenegotiateddocs">CacheNegotiatedDocs</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a>
+    CacheNegotiatedDocs<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_negotiation<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    CacheNegotiatedDocs is only available in Apache 1.1 and later. 
+
+    <p>If set, this directive allows content-negotiated documents
+    to be cached by proxy servers. This could mean that clients
+    behind those proxys could retrieve versions of the documents
+    that are not the best match for their abilities, but it will
+    make caching more efficient.</p>
+
+    <p>This directive only applies to requests which come from
+    HTTP/1.0 browsers. HTTP/1.1 provides much better control over
+    the caching of negotiated documents, and this directive has no
+    effect in responses to HTTP/1.1 requests.</p>
+    <hr />
+
+    <h2><a id="languagepriority"
+    name="languagepriority">LanguagePriority</a> directive</h2>
+    <!--%plaintext &lt;?INDEX {\tt LanguagePriority} directive&gt; -->
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LanguagePriority
+    <em>MIME-lang</em> [<em>MIME-lang</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_negotiation 
+
+    <p>The LanguagePriority sets the precedence of language
+    variants for the case where the client does not express a
+    preference, when handling a MultiViews request. The list of
+    <em>MIME-lang</em> are in order of decreasing preference.
+    Example:</p>
+
+    <blockquote>
+      <code>LanguagePriority en fr de</code>
+    </blockquote>
+    For a request for <code>foo.html</code>, where
+    <code>foo.html.fr</code> and <code>foo.html.de</code> both
+    existed, but the browser did not express a language preference,
+    then <code>foo.html.fr</code> would be returned. 
+
+    <p>Note that this directive only has an effect if a 'best'
+    language cannot be determined by any other means. Correctly
+    implemented HTTP/1.1 requests will mean this directive has no
+    effect.</p>
+
+    <p><strong>See also</strong>: <a
+    href="./mod_mime.html#defaultlanguage">DefaultLanguage</a> and
+    <a href="./mod_mime.html#addlanguage">AddLanguage</a> 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_negotiation.html.html b/htdocs/manual/mod/mod_negotiation.html.html
new file mode 100644 (file)
index 0000000..0159452
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_negotiation.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_negotiation.html.ja.jis b/htdocs/manual/mod/mod_negotiation.html.ja.jis
new file mode 100644 (file)
index 0000000..3a0a1d7
--- /dev/null
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_negotiation</title>
+
+  </head>
+  <!-- English revision: 1.18 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_negotiation \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O\e(B <a href="../content-negotiation.html"
+    >\e$B%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B</a>\e$B$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_negotiation.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    negotiation_module</p>
+
+    <h2>\e$B35MW\e(B</h2>
+    \e$B%3%s%F%s%H%M%4%7%(!<%7%g%s!"$h$j@53N$K$O%3%s%F%s%D$NA*Br5!G=$O!"\e(B
+    \e$BJ#?tMQ0U$5$l$F$$$k%I%-%e%a%s%H$+$i!"%/%i%$%"%s%H$NG=NO$K0lHV9g$C$?\e(B
+    \e$B%I%-%e%a%s%H$rA*Br$9$k5!G=$G$9!#$3$N<BAu$OFs$D$"$j$^$9!#\e(B
+
+
+    <ul>
+      <li>\e$B%?%$%W%^%C%W\e(B (<code>type-map</code>
+      \e$B%O%s%I%i$G07$o$l$k%U%!%$%k\e(B)\e$B!#$3$l$O\e(B variants
+      \e$B$r4^$s$G$$$k%U%!%$%k$rL@<(E*$K;XDj$7$^$9!#\e(B</li>
+
+      <li>MultiViews \e$B$NC5:w\e(B (MultiViews <a
+      href="core.html#options">\e$B%*%W%7%g%s\e(B</a> \e$B$G;HMQ$9$k$h$&$K$J$j$^$9\e(B)\e$B!#\e(B
+      \e$B%5!<%P$,0EL[$NFb$K%U%!%$%kL>$N%Q%?!<%s%^%C%A$r9T$J$$!"\e(B
+      \e$B$=$N7k2L$+$iA*Br$7$^$9!#\e(B</li>
+    </ul>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+
+      <li><a href="#languagepriority">LanguagePriority</a></li>
+    </ul>
+    <a href="./mod_mime.html#defaultlanguage">DefaultLanguage</a>,
+    <a href="./mod_mime.html#addencoding">AddEncoding</a>,
+    <a href="./mod_mime.html#addlanguage">AddLanguage</a>,
+    <a href="./mod_mime.html#addtype">AddType</a>,
+    <a href="core.html#options">Options</a>
+    <strong>\e$B$b;2>H$7$F$/$@$5$$\e(B</strong>\e$B!#\e(B
+
+    <h2>\e$B%?%$%W%^%C%W\e(B</h2>
+
+    \e$B%?%$%W%^%C%W$O\e(B RFC 822 \e$B$N%a!<%k%X%C%@$HF1$8=q<0$G$9!#\e(B
+    \e$B%I%-%e%a%s%H$N5-=R$,6u9T$GJ,N%$5$l$F=q$+$l$F$$$F!"%O%C%7%eJ8;z\e(B
+    ('#') \e$B$G;O$^$k9T$O%3%a%s%H$H$7$F07$o$l$^$9!#\e(B
+    \e$B%I%-%e%a%s%H$N@bL@$OJ#?t$N%X%C%@%l%3!<%I$+$i9=@.$5$l$^$9!#\e(B
+    \e$B%l%3!<%I$O!"B3$-$N9T$,6uGr$G;O$^$C$F$$$k$HJ#?t$N9T$K$^$?$,$j$^$9!#\e(B
+    \e$B:G=i$N6uGr$,>C5n$5$l$F!"A0$N9T$H$D$J$2$F\e(B 1 \e$B9T$H$7$F07$o$l$^$9!#\e(B
+    \e$B%X%C%@%l%3!<%I$O%-!<%o!<%IL>$N8e$KCM$,B3$/$H$$$&7A<0$G!"\e(B
+    \e$B%-!<%o!<%IL>$O>o$K%3%m%s$G=*$o$j$^$9!#6uGr$O%X%C%@L>$HCM$N4V!"\e(B
+    \e$BCM$N%H!<%/%s$N4V$KF~$l$k$3$H$,$G$-$^$9!#\e(B
+    \e$B;HMQ2DG=$J%X%C%@$O0J2<$N$H$*$j$G$9\e(B:
+    <dl>
+      <dt>Content-Encoding:</dt>
+      <dd>\e$B%U%!%$%k$N%(%s%3!<%G%#%s%0!#\e(BApache \e$B$O\e(B <a
+      href="mod_mime.html#addencoding">AddEncoding</a>
+      \e$B$GDj5A$5$l$?%(%s%3!<%G%#%s%0$@$1$rG'<1$7$^$9!#DL>o\e(B compress
+      \e$B$5$l$?%U%!%$%k$N$?$a$N\e(B <code>x-compress</code> \e$B$H\e(B gzip
+      \e$B$5$l$?%U%!%$%k$N$?$a$N\e(B <code>x-gzip</code> \e$B$r4^$_$^$9!#\e(B
+      \e$B%(%s%3!<%G%#%s%0$NHf3S$r$9$k$H$-$O!"@\F,<-\e(B <code>x-</code>
+      \e$B$OL5;k$5$l$^$9!#\e(B</dd>
+
+
+    <dt>Content-Language:</dt>
+
+    <dd>\e$B%$%s%?!<%M%C%HI8=`$N8@8l%?%0\e(B (RFC 1766)
+    \e$B$GDj5A$5$l$F$$$k8@8l$N<oN`!#Nc$($P!"\e(B<code>en</code>
+    \e$B$O1Q8l$rI=$7$^$9!#\e(B</dd>
+
+    <dt>Content-Length:</dt>
+
+    <dd>\e$B%U%!%$%k$ND9$5\e(B (\e$B%P%$%H?t\e(B)\e$B!#\e(B
+    \e$B$3$N%X%C%@$,$J$$>l9g!"%U%!%$%k$N<B:]$ND9$5$,;HMQ$5$l$^$9!#\e(B</dd>
+
+    <dt>Content-Type:</dt>
+
+    <dd>\e$B%I%-%e%a%s%H$N\e(B MIME
+      \e$B%a%G%#%"%?%$%W!"%*%W%7%g%J%k$J%Q%i%a!<%?IU$-!#%Q%i%a!<%?$N9=J8$O\e(B
+      <code>name=value</code>
+      \e$B$G!"%a%G%#%"%?%$%W$dB>$N%Q%i%a!<%?$H$O%;%_%3%m%s$GJ,N%$5$l$^$9!#\e(B
+      \e$B6&DL$N%Q%i%a!<%?$O0J2<$N$H$*$j\e(B:
+
+      <dl>
+        <dt>level</dt>
+
+        <dd>\e$B%a%G%#%"%?%$%W$N%P!<%8%g%s$r<($9@0?t!#\e(B
+        <code>text/html</code> \e$B$G$O\e(B 2 \e$B$,%G%U%)%k%H$G!"$=$NB>$N>l9g$O\e(B
+        0 \e$B$,%G%U%)%k%H$G$9!#\e(B</dd>
+
+        <dt>qs</dt>
+
+        <dd>\e$B%/%i%$%"%s%H$NG=NO$K4X78$J$/!"\e(Bvariant
+        \e$B$rB>$HHf3S$7$?$H$-$NAjBPE*$J!VIJ<A!W$G!"\e(B0.0 \e$B$+$i\e(B 1.0
+        \e$B$NHO0O$NIbF0E@>.?t!#\e(B
+        \e$BNc$($P!"<L??$rI=8=$7$h$&$H$7$F$$$k$H$-$OIaDL$O\e(B JPEG
+        \e$B%U%!%$%k$NJ}$,\e(B ASCII \e$B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#\e(B
+        \e$B$7$+$7!"%j%=!<%9$,\e(B ASCII \e$B%"!<%H$GI=8=$5$l$F$$$k$H$-$O!"\e(BASCII
+        \e$B%U%!%$%k$NJ}$,\e(B JPEG
+        \e$B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#$3$N$h$&$K!"\e(Bqs
+        \e$B$O%j%=!<%9Kh$KFCM-$NCM$r<h$j$^$9!#\e(B
+        </dd>
+      </dl>
+      \e$BNc\e(B:
+
+        <blockquote>
+          <code>Content-Type: image/jpeg; qs=0.8</code>
+        </blockquote>
+      </dd>
+
+      <dt>URI:</dt>
+
+      <dd>\e$B%^%C%W%U%!%$%k$+$iAjBP%Q%9$GI=$o$7$?!"\e(Bvariant
+      \e$B$N$"$k%U%!%$%k$X$N%Q%9\e(B</dd>
+    </dl>
+
+    <h2>MultiViews</h2>
+    MultiViews \e$BC5:w$O!"\e(BMultiviews <a href="core.html#options"
+    >\e$B%*%W%7%g%s\e(B</a>\e$B$K$h$jM-8z$K$J$j$^$9!#%5!<%P$,\e(B <code>/some/dir/foo</code>
+    \e$B$X$N%j%/%(%9%H$r<u$1<h$j!"\e(B<code>/some/dir/foo</code> \e$B$,B8:_\e(B
+    <em>\e$B$7$J$$\e(B</em>\e$B>l9g!"%5!<%P$O%G%#%l%/%H%j$rFI$s$G!"\e(B
+    <code>foo.*</code> \e$B$K$"$F$O$^$kA4$F$N%U%!%$%k$rC5$7!"\e(B
+    \e$B;v<B>e$=$l$i$N%U%!%$%k$r%^%C%W$9$k%?%$%W%^%C%W$r:n$j$^$9!#\e(B
+    \e$B$=$N$H$-!"%a%G%#%"%?%$%W$H%3%s%F%s%H%(%s%3!<%G%#%s%0$O!"\e(B
+    \e$B$=$N%U%!%$%kL>$rD>@\;XDj$7$?$H$-$HF1$8$b$N$,3d$jEv$F$i$l$^$9!#\e(B
+    \e$B$=$l$+$i%/%i%$%"%s%H$NMW5a$K0lHV9g$&$b$N$rA*$S!"\e(B
+    \e$B$=$N%I%-%e%a%s%H$rJV$7$^$9!#\e(B
+    <hr />
+
+    <h2><a id="cachenegotiateddocs"
+    name="cachenegotiateddocs">CacheNegotiatedDocs</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> CacheNegotiatedDocs<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a>
+     mod_negotiation<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    CacheNegotiatedDocs \e$B$O\e(B Apache 1.1 \e$B0J9_$G$N$_;HMQ2DG=!#\e(B<br />
+    <p>\e$B$3$N%G%#%l%/%F%#%V$,@_Dj$5$l$F$$$k$H!"%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B
+    \e$B$r$7$?7k2L$N%I%-%e%a%s%H$N%-%c%C%7%e$r5v2D$7$^$9!#\e(B
+    \e$B$3$l$O!"%W%m%-%7$N8e$m$K$$$k%/%i%$%"%s%H$,G=NO$K0lHV9g$C$?\e(B
+    \e$B%I%-%e%a%s%H$G$O$J$/!"\e(B
+    \e$B%-%c%C%7%e$r$h$j8z2LE*$K$9$k$b$N$rF@$k2DG=@-$,$"$k$H$$$&$3$H$G$9!#\e(B</p>
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$O\e(B HTTP/1.0 \e$B%V%i%&%6$+$i$N%j%/%(%9%H\e(B
+    \e$B$N$_$KE,MQ$5$l$^$9!#\e(BHTTP/1.1 \e$B$O!"\e(B
+    \e$B8r>D$5$l$?%I%-%e%a%s%H$N%-%c%C%7%e$KBP$7$F$:$C$H$h$$@)8f$,2DG=$J$N$G!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$O\e(B HTTP/1.1 \e$B$N%j%/%(%9%H$K$O1F6A$7$^$;$s!#\e(B</p>
+    <hr />
+
+    <h2><a id="languagepriority"
+    name="languagepriority">LanguagePriority</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+    <!--%plaintext &lt;?INDEX {\tt LanguagePriority} directive&gt; -->
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> LanguagePriority
+    <em>MIME-lang</em> [<em>MIME-lang</em>] ...<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_negotiation
+
+    <p>LanguagePriority \e$B$O!"\e(BMultiViews
+    \e$B%j%/%(%9%H$r07$&$H$-$K!"%/%i%$%"%s%H$,M%@h=g0L$rDs6!$7$F$$$J$$>l9g$N\e(B
+    \e$B8@8l$NM%@h=g0L$r@_Dj$7$^$9!#\e(B<em>MIME-lang</em>
+    \e$B$N%j%9%H$,M%@hEY$N9_=g$KJB$S$^$9!#\e(B
+    \e$BNc\e(B:</p>
+
+    <blockquote>
+      <code>LanguagePriority en fr de</code>
+    </blockquote>
+    <code>foo.html</code> \e$B$,%j%/%(%9%H$5$l!"\e(B<code>foo.html.fr</code>
+    \e$B$H\e(B <code>foo.html.de</code> \e$B$,N>J}B8:_$7!"\e(B
+    \e$B%V%i%&%6$,8@8l$NM%@h=g0L$rDs6!$7$F$J$$>l9g$O\e(B
+    <code>foo.html.fr</code> \e$B$,JV$5$l$^$9!#\e(B
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$OB>$NJ}K!$G!V:GA1!W\e(B
+    \e$B$N8@8l$,7hDj$G$-$J$$$H$-$N$_8z2L$,$"$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    HTTP/1.1 \e$B%j%/%(%9%H$,@5$7$/<BAu$5$l$F$$$k>l9g$K$O!"\e(B
+    \e$B$3$N%G%#%l%/%F%#%V$OL58z$K$J$j$^$9!#\e(B</p>
+
+    <p><a href="./mod_mime.html#defaultlanguage">DefaultLanguage</a>,
+    <a href="./mod_mime.html#addlanguage">AddLanguage</a>
+    <strong>\e$B$b;2>H$7$F$/$@$5$$\e(B</strong>\e$B!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_proxy.html b/htdocs/manual/mod/mod_proxy.html
new file mode 100644 (file)
index 0000000..70ef498
--- /dev/null
@@ -0,0 +1,1286 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_proxy</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache module mod_proxy</h1>
+
+    <p>This module provides for an <strong>HTTP 1.1</strong>
+    caching proxy server.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_proxy.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    proxy_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+    This module implements a proxy/cache for Apache. It implements
+    proxying capability for <code>FTP</code>, <code>CONNECT</code>
+    (for SSL), <code>HTTP/0.9</code>, <code>HTTP/1.0</code>, and
+    (as of Apache 1.3.23) <code>HTTP/1.1</code>.
+    The module can be configured to connect to other proxy modules
+    for these and other protocols. 
+
+    <p>This module was experimental in Apache 1.1.x. As of Apache
+    1.2, mod_proxy stability is <em>greatly</em> improved.</p>
+
+    <p><strong>Warning:</strong> Do not enable proxying with <a
+    href="#proxyrequests">ProxyRequests</a> until you have <a
+    href="#access">secured your server</a>.  Open proxy servers are
+    dangerous both to your network and to the Internet at large.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#proxyrequests">ProxyRequests</a></li>
+
+      <li><a href="#proxyremote">ProxyRemote</a></li>
+
+      <li><a href="#proxypass">ProxyPass</a></li>
+
+      <li><a href="#proxypassreverse">ProxyPassReverse</a></li>
+
+      <li><a href="#proxyblock">ProxyBlock</a></li>
+
+      <li><a href="#allowconnect">AllowCONNECT</a></li>
+
+      <li><a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+
+      <li><a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
+
+      <li><a href="#noproxy">NoProxy</a></li>
+
+      <li><a href="#proxydomain">ProxyDomain</a></li>
+
+      <li><a href="#proxyvia">ProxyVia</a></li>
+
+      <li><a href="#cacheroot">CacheRoot</a></li>
+
+      <li><a href="#cachesize">CacheSize</a></li>
+
+      <li><a href="#cachemaxexpire">CacheMaxExpire</a></li>
+
+      <li><a href="#cachedefaultexpire">CacheDefaultExpire</a></li>
+
+      <li><a
+      href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+
+      <li><a href="#cachegcinterval">CacheGcInterval</a></li>
+
+      <li><a href="#cachedirlevels">CacheDirLevels</a></li>
+
+      <li><a href="#cachedirlength">CacheDirLength</a></li>
+
+      <li><a
+      href="#cacheforcecompletion">CacheForceCompletion</a></li>
+
+      <li><a href="#nocache">NoCache</a></li>
+    </ul>
+
+    <h2><a id="configs" name="configs">Common configuration
+    topics</a></h2>
+
+    <ul>
+      <li><a href="#forwardreverse">Forward and Reverse Proxies</a></li>
+
+      <li><a href="#examples">Basic Examples</a></li>
+
+      <li><a href="#access">Controlling access to your
+      proxy</a></li>
+
+      <li><a href="#shortname">Using Netscape hostname
+      shortcuts</a></li>
+
+      <li><a href="#mimetypes">Why doesn't file type <em>xxx</em>
+      download via FTP?</a></li>
+
+      <li><a href="#type">How can I force an FTP ASCII
+      download of File <em>xxx</em>?</a></li>
+
+      <li><a href="#percent2fhack">How can I access
+      FTP files outside of my home directory?</a></li>
+
+      <li><a href="#ftppass">How can I hide the
+      FTP cleartext password in my browser's URL line?</a></li>
+
+      <li><a href="#startup">Why does Apache start more slowly when
+      using the proxy module?</a></li>
+
+      <li><a href="#socks">Can I use the Apache proxy module with
+      my SOCKS proxy?</a></li>
+
+      <li><a href="#intranet">What other functions are useful for
+      an intranet proxy server?</a></li>
+    </ul>
+
+<h2><a name="forwardreverse" id="forwardreverse">Forward and Reverse Proxies</a></h2>
+      <p>Apache can be configured in both a <dfn>forward</dfn> and
+      <dfn>reverse</dfn> proxy mode.</p>
+
+      <p>An ordinary <dfn>forward proxy</dfn> is an intermediate
+      server that sits between the client and the <em>origin
+      server</em>.  In order to get content from the origin server,
+      the client sends a request to the proxy naming the origin server
+      as the target and the proxy then requests the content from the
+      origin server and returns it to the client.  The client must be
+      specially configured to use the forward proxy to access other
+      sites.</p>
+
+      <p>A typical usage of a forward proxy is to provide Internet
+      access to internal clients that are otherwise restricted by a
+      firewall.  The forward proxy can also use caching to reduce
+      network usage.</p>
+
+      <p>The forward proxy is activated using the <code><a
+      href="#proxyrequests">ProxyRequests</a></code> directive.
+      Because forward proxys allow clients to access arbitrary sites
+      through your server and to hide their true origin, it is
+      essential that you <a href="#access">secure your server</a> so
+      that only authorized clients can access the proxy before
+      activating a forward proxy.</p>
+
+      <p>A <dfn>reverse proxy</dfn>, by contrast, appears to the
+      client just like an ordinary web server.  No special
+      configuration on the client is necessary.  The client makes
+      ordinary requests for content in the name-space of the reverse
+      proxy.  The reverse proxy then decides where to send those
+      requests, and returns the content as if it was itself the
+      origin.</p>
+
+      <p>A typical usage of a reverse proxy is to provide Internet
+      users access to a server that is behind a firewall.  Reverse
+      proxies can also be used to balance load among several back-end
+      servers, or to provide caching for a slower back-end server.
+      In addition, reverse proxies can be used simply to bring
+      several servers into the same URL space.</p>
+
+      <p>A reverse proxy is activated using the <code><a
+      href="#proxypass">ProxyPass</a></code> directive or the
+      <code>[P]</code> flag to the <code><a
+      href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+      directive.  It is <strong>not</strong> necessary to turn
+      <code><a href="#proxyrequests">ProxyRequests</a></code> on in
+      order to configure a reverse proxy.</p> 
+
+<h2><a name="examples" id="examples">Basic Examples</a></h2>
+
+    <p>The examples below are only a very basic idea to help you
+    get started.  Please read the documentation on the individual
+    directives.</p>
+
+    <h3>Forward Proxy</h3><p><code>
+    ProxyRequests On<br />
+    ProxyVia On<br />
+    <br />
+    &lt;Directory proxy:*&gt;<br />
+    
+      Order deny,allow<br />
+      Deny from all<br />
+      Allow from internal.example.com<br />
+    
+    &lt;/Directory&gt;<br />
+    <br />
+    CacheRoot "/usr/local/apache/proxy"<br />
+    CacheSize 5<br />
+    CacheGcInterval 4<br />
+    CacheMaxExpire 24<br />
+    CacheLastModifiedFactor 0.1<br />
+    CacheDefaultExpire 1<br />
+    NoCache a-domain.com another-domain.edu joes.garage-sale.com
+    </code></p>
+
+    <h3>Reverse Proxy</h3><p><code>
+    ProxyRequests Off<br />
+    <br />
+    ProxyPass /foo http://foo.example.com/bar<br />
+    ProxyPassReverse /foo http://foo.example.com/bar
+    </code></p>
+
+    <h2><a id="access" name="access">Controlling access to your
+    proxy</a></h2>
+    You can control who can access your proxy via the normal
+    &lt;Directory&gt; control block using the following example: 
+<pre>
+&lt;Directory proxy:*&gt;
+Order Deny,Allow
+Deny from all
+Allow from yournetwork.example.com
+&lt;/Directory&gt;
+</pre>
+
+    <p>A &lt;Files&gt; block will also work, and is the only method
+    known to work for all possible URLs in Apache versions earlier
+    than 1.2b10.</p>
+
+    <p>For more information, see <a
+    href="mod_access.html">mod_access</a>.</p>
+
+      <p>Strictly limiting access is essential if you are using a
+      forward proxy (using the <code><a
+      href="#proxyrequests">ProxyRequests</a></code> directive).
+      Otherwise, your server can be used by any client to access
+      arbitrary hosts while hiding his or her true identity.  This is
+      dangerous both for your network and for the Internet at large.
+      When using a reverse proxy (using the <code><a
+      href="#proxypass">ProxyPass</a></code> directive with
+      <code>ProxyRequests Off</code>), access control is less critical
+      because clients can only contact the hosts that you have
+      specifically configured.</p>
+
+    <h2><a id="shortname" name="shortname">Using Netscape hostname
+    shortcuts</a></h2>
+    There is an optional patch to the proxy module to allow
+    Netscape-like hostname shortcuts to be used. It's available
+    from the <a
+    href="http://www.apache.org/dist/httpd/contrib/patches/1.2/netscapehost.patch">
+    <samp>contrib/patches/1.2</samp></a> directory on the Apache
+    Web site. 
+
+    <h2><a id="mimetypes" name="mimetypes">Why doesn't file type
+    <em>xxx</em> download via FTP?</a></h2>
+    You probably don't have that particular file type defined as
+    <em>application/octet-stream</em> in your proxy's mime.types
+    configuration file. A useful line can be 
+<pre>
+application/octet-stream        bin dms lha lzh exe class tgz taz
+</pre>
+
+    <h2><a id="type" name="type">How can I force an FTP ASCII
+    download of File <em>xxx</em>?</a></h2>
+    In the rare situation where you must download a specific file
+    using the FTP <strong>ASCII</strong> transfer method (while the
+    default transfer is in <strong>binary</strong> mode), you can
+    override mod_proxy's default by suffixing the request with
+    <samp>;type=a</samp> to force an ASCII transfer.
+    (FTP Directory listings are always executed in ASCII mode, however.)
+
+    <h2><a id="percent2fhack" name="percent2fhack">How can I access
+    FTP files outside of my home directory?</a></h2>
+    <p>
+     A FTP URI is interpreted relative to the home directory of
+     the user who is logging in. Alas, to reach higher directory
+     levels you cannot use  /../, as the dots are interpreted by the
+     browser and not actually sent to the FTP server. To address
+     this problem, the so called "Squid %2f hack" was implemented in
+     the Apache FTP proxy; it is a solution which is also used by
+     other popular proxy servers like the
+     <a href="http://www.squid-cache.org/">Squid Proxy Cache</a>.
+     By prepending /%2f to the path of your request, you can make
+     such a proxy change the FTP starting directory to / (instead
+     of the home directory). <br />
+     <b>Example:</b> To retrieve the file <code>/etc/motd</code>,
+     you would use the URL <blockquote>
+     <code>ftp://<em>user@host</em>/%2f/etc/motd</code></blockquote>
+    </p>
+
+    <h2><a id="ftppass" name="ftppass">How can I hide the FTP
+    cleartext password in my browser's URL line?</a></h2>
+    <p>
+     To log in to an FTP server by username and password, Apache
+     uses different strategies.
+     In absense of a user name and password in the URL altogether,
+     Apache sends an anonymous login to the FTP server, i.e.,
+     <blockquote><code>
+       user: anonymous<br />
+       password: apache_proxy@
+     </code></blockquote>
+     This works for all popular FTP servers which are configured for
+     anonymous access.<br>
+     For a personal login with a specific username, you can embed
+     the user name into the URL, like in:
+     <code>ftp://<em>username@host</em>/myfile</code>. If the FTP server
+     asks for a password when given this username (which it should),
+     then Apache will reply with a [401 Authorization required] response,
+     which causes the Browser to pop up the username/password dialog.
+     Upon entering the password, the connection attempt is retried,
+     and if successful, the requested resource is presented.
+     The advantage of this procedure is that your browser does not
+     display the password in cleartext (which it would if you had used
+     <code>ftp://<em>username:password@host</em>/myfile</code> in
+     the first place).
+     <br />
+     <b>Note</b> that the password which is transmitted in such a way
+     is not encrypted on its way. It travels between your browser and
+     the Apache proxy server in a base64-encoded cleartext string, and
+     between the Apache proxy and the FTP server as plaintext. You should
+     therefore think twice before accessing your FTP server via HTTP
+     (or before accessing your personal files via FTP at all!) When
+     using unsecure channels, an eavesdropper might intercept your
+     password on its way.
+    </p>
+
+
+    <h2><a id="startup" name="startup">Why does Apache start more
+    slowly when using the proxy module?</a></h2>
+    If you're using the <code>ProxyBlock</code> or
+    <code>NoCache</code> directives, hostnames' IP addresses are
+    looked up and cached during startup for later match test. This
+    may take a few seconds (or more) depending on the speed with
+    which the hostname lookups occur. 
+
+    <h2><a id="socks" name="socks">Can I use the Apache proxy
+    module with my SOCKS proxy?</a></h2>
+    Yes. Just build Apache with the rule <code>SOCKS4=yes</code> in
+    your <em>Configuration</em> file, and follow the instructions
+    there. SOCKS5 capability can be added in a similar way (there's
+    no <code>SOCKS5</code> rule yet), so use the
+    <code>EXTRA_LDFLAGS</code> definition, or build Apache normally
+    and run it with the <em>runsocks</em> wrapper provided with
+    SOCKS5, if your OS supports dynamically linked libraries. 
+
+    <p>Some users have reported problems when using SOCKS version
+    4.2 on Solaris. The problem was solved by upgrading to SOCKS
+    4.3.</p>
+
+    <p>Remember that you'll also have to grant access to your
+    Apache proxy machine by permitting connections on the
+    appropriate ports in your SOCKS daemon's configuration.</p>
+
+    <h2><a id="intranet" name="intranet">What other functions are
+    useful for an intranet proxy server?</a></h2>
+
+    <p>An Apache proxy server situated in an intranet needs to
+    forward external requests through the company's firewall
+    (for this, configure the <a href="#proxyremote">ProxyRemote</a>
+    directive to forward the respective <em>scheme</em> to
+    the firewall proxy).
+    However, when it has to access resources within the intranet,
+    it can bypass the firewall when accessing hosts. The <a
+    href="#noproxy">NoProxy</a> directive is useful for specifying
+    which hosts belong to the intranet and should be accessed
+    directly.</p>
+
+    <p>Users within an intranet tend to omit the local domain name
+    from their WWW requests, thus requesting "http://somehost/"
+    instead of "http://somehost.my.dom.ain/". Some commercial proxy
+    servers let them get away with this and simply serve the
+    request, implying a configured local domain. When the <a
+    href="#proxydomain">ProxyDomain</a> directive is used and the
+    server is <a href="#proxyrequests">configured for proxy
+    service</a>, Apache can return a redirect response and send the
+    client to the correct, fully qualified, server address. This is
+    the preferred method since the user's bookmark files will then
+    contain fully qualified hosts.</p>
+    <hr />
+
+    <h2><a id="proxyrequests"
+    name="proxyrequests">ProxyRequests</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyRequests
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ProxyRequests
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyRequests is
+    only available in Apache 1.1 and later. 
+
+    <p>This allows or prevents Apache from functioning as a forward proxy
+    server. Setting ProxyRequests to 'off' does not disable use of
+    the <a href="#proxypass">ProxyPass</a> directive.</p>
+
+    <p><strong>Warning:</strong> Do not enable proxying until you have
+    <a href="#access">secured your server</a>.  Open proxy servers are
+    dangerous both to your network and to the Internet at large.</p>
+
+    <hr />
+
+    <h2><a id="proxyremote" name="proxyremote">ProxyRemote</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyRemote <em>match
+    remote-server</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyRemote is
+    only available in Apache 1.1 and later. 
+
+    <p>This defines remote proxies to this proxy. <em>match</em> is
+    either the name of a URL-scheme that the remote server
+    supports, or a partial URL for which the remote server should
+    be used, or '*' to indicate the server should be contacted for
+    all requests. <em>remote-server</em> is a partial URL for the
+    remote server. Syntax:</p>
+<pre>
+  remote-server = protocol://hostname[:port]
+</pre>
+    <em>protocol</em> is the protocol that should be used to
+    communicate with the remote server; only "http" is supported by
+    this module. 
+
+    <p>Example:</p>
+<pre>
+  ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
+  ProxyRemote * http://cleversite.com
+  ProxyRemote ftp http://ftpproxy.mydomain.com:8080
+</pre>
+    In the last example, the proxy will forward FTP requests,
+    encapsulated as yet another HTTP proxy request, to another
+    proxy which can handle them. 
+    <hr />
+
+    <h2><a id="proxypass" name="proxypass">ProxyPass</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyPass <em>path
+    url</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyPass is
+    only available in Apache 1.1 and later. 
+
+    <p>This directive allows remote servers to be mapped into the
+    space of the local server; the local server does not act as a
+    proxy in the conventional sense, but appears to be a mirror of
+    the remote server. <em>path</em> is the name of a local virtual
+    path; <em>url</em> is a partial URL for the remote server.</p>
+
+    <p>Suppose the local server has address
+    <samp>http://wibble.org/</samp>; then</p>
+<pre>
+   ProxyPass /mirror/foo/ http://foo.com/
+</pre>
+    <p>will cause a local request for the
+    &lt;<samp>http://wibble.org/mirror/foo/bar</samp>&gt; to be
+    internally converted into a proxy request to
+    &lt;<samp>http://foo.com/bar</samp>&gt;.</p>
+
+    <p><strong>Warning:</strong> The <code><a
+    href="#proxyrequests">ProxyRequests</a></code> directive should
+    usually be set <strong>off</strong> when using <code
+    class="directive">ProxyPass</code>.
+
+    <hr />
+
+    <h2><a id="proxypassreverse"
+    name="proxypassreverse">ProxyPassReverse</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyPassReverse
+    <em>path url</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyPassReverse
+    is only available in Apache 1.3b6 and later. 
+
+    <p>This directive lets Apache adjust the URL in the
+    <tt>Location</tt> header on HTTP redirect responses. For
+    instance this is essential when Apache is used as a reverse
+    proxy to avoid by-passing the reverse proxy because of HTTP
+    redirects on the backend servers which stay behind the reverse
+    proxy.</p>
+
+    <p><em>path</em> is the name of a local virtual path.<br />
+     <em>url</em> is a partial URL for the remote server - the same
+    way they are used for the <tt>ProxyPass</tt> directive.</p>
+
+    <p>Example:<br />
+     Suppose the local server has address
+    <samp>http://wibble.org/</samp>; then</p>
+<pre>
+   ProxyPass         /mirror/foo/ http://foo.com/
+   ProxyPassReverse  /mirror/foo/ http://foo.com/
+</pre>
+    will not only cause a local request for the
+    &lt;<samp>http://wibble.org/mirror/foo/bar</samp>&gt; to be
+    internally converted into a proxy request to
+    &lt;<samp>http://foo.com/bar</samp>&gt; (the functionality
+    <samp>ProxyPass</samp> provides here). It also takes care of
+    redirects the server foo.com sends: when
+    <samp>http://foo.com/bar</samp> is redirected by him to
+    <samp>http://foo.com/quux</samp> Apache adjusts this to
+    <samp>http://wibble.org/mirror/foo/quux</samp> before
+    forwarding the HTTP redirect response to the client. 
+
+    <p>Note that this <samp>ProxyPassReverse</samp> directive can
+    also be used in conjunction with the proxy pass-through feature
+    ("<samp>RewriteRule ... [P]</samp>") from <a
+    href="mod_rewrite.html#RewriteRule"><tt>mod_rewrite</tt></a>
+    because its doesn't depend on a corresponding
+    <samp>ProxyPass</samp> directive.</p>
+    <hr />
+
+    <h2><a id="allowconnect" name="allowconnect">AllowCONNECT</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> AllowCONNECT
+    <em>port</em> [<em>port</em>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <em><samp>AllowCONNECT</samp> 443 563</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    <samp>AllowCONNECT</samp> is only available in Apache 1.3.2 and
+    later. 
+
+    <p>The <samp>AllowCONNECT</samp> directive specifies a list of
+    port numbers to which the proxy <samp>CONNECT</samp> method may
+    connect. Today's browsers use this method when a <em>https</em>
+    connection is requested and proxy tunneling over <em>http</em>
+    is in effect.<br />
+     By default, only the default https port (443) and the default
+    snews port (563) are enabled. Use the <samp>AllowCONNECT</samp>
+    directive to override this default and allow connections to
+    the listed ports only.</p>
+    <hr />
+
+    <h2><a id="proxyblock" name="proxyblock">ProxyBlock</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyBlock
+    *|<em>word|host|domain</em> [<em>word|host|domain</em>]
+    ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyBlock is
+    only available in Apache 1.2 and later. 
+
+    <p>The ProxyBlock directive specifies a list of words, hosts
+    and/or domains, separated by spaces. HTTP, HTTPS, and FTP
+    document requests to sites whose names contain matched words,
+    hosts or domains are <em>blocked</em> by the proxy server. The
+    proxy module will also attempt to determine IP addresses of
+    list items which may be hostnames during startup, and cache
+    them for match test as well. Example:</p>
+<pre>
+  ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
+</pre>
+    'rocky.wotsamattau.edu' would also be matched if referenced by
+    IP address. 
+
+    <p>Note that 'wotsamattau' would also be sufficient to match
+    'wotsamattau.edu'.</p>
+
+    <p>Note also that</p>
+<pre>
+ProxyBlock *
+</pre>
+    blocks connections to all sites. 
+    <hr />
+
+    <h2><a id="proxyreceivebuffersize"
+    name="proxyreceivebuffersize">ProxyReceiveBufferSize</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyReceiveBufferSize
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    ProxyReceiveBufferSize is only available in Apache 1.3 and
+    later. 
+
+    <p>The ProxyReceiveBufferSize directive specifies an explicit
+    network buffer size for outgoing HTTP and FTP connections, for
+    increased throughput. It has to be greater than 512 or set to 0
+    to indicate that the system's default buffer size should be
+    used.</p>
+
+    <p>Example:</p>
+<pre>
+  ProxyReceiveBufferSize 2048
+</pre>
+    <hr />
+
+    <h2><a id="proxyiobuffersize"
+    name="proxyiobuffersize">ProxyIOBufferSize</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyIOBufferSize
+    <em>bytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>8192</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    ProxyIOBufferSize is only available in Apache 1.3.24 and
+    later. 
+
+    <p>The ProxyIOBufferSize directive specifies the number of bytes
+    that will be read from a remote HTTP or FTP server at one time.
+    This directive is different from the ProxyReceiveBufferSize
+    directive, which specifies the low level socket buffer size.
+    </p>
+
+    <p>
+    When a response is received which fits entirely within the IO
+    buffer size, the remote HTTP or FTP server socket will be closed
+    before an attempt is made to write the response to the client.
+    This ensures that the remote server does not remain connected
+    unnecessarily while the response is delivered to a slow client.
+    A high value for the IO buffer decreases the load on remote HTTP
+    and FTP servers, at the expense of greater RAM footprint on the
+    proxy.
+    </p>
+
+    <p>Example:</p>
+<pre>
+  ProxyIOBufferSize 131072
+</pre>
+    <hr />
+
+    <h2><a id="noproxy" name="noproxy">NoProxy</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> NoProxy <a
+    href="#domain"><em>Domain</em></a>|<a
+    href="#subnet"><em>SubNet</em></a>|<a
+    href="#ipaddr"><em>IpAddr</em></a>|<a
+    href="#hostname"><em>Hostname</em></a> [<a
+    href="#domain"><em>Domain</em></a>|<a
+    href="#subnet"><em>SubNet</em></a>|<a
+    href="#ipaddr"><em>IpAddr</em></a>|<a
+    href="#hostname"><em>Hostname</em></a>] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> NoProxy is only
+    available in Apache 1.3 and later. 
+
+    <p>This directive is only useful for Apache proxy servers
+    within intranets. The NoProxy directive specifies a list of
+    subnets, IP addresses, hosts and/or domains, separated by
+    spaces. A request to a host which matches one or more of these
+    is always served directly, without forwarding to the configured
+    ProxyRemote proxy server(s).</p>
+
+    <p>Example:</p>
+<pre>
+  ProxyRemote  *  http://firewall.mycompany.com:81
+  NoProxy         .mycompany.com 192.168.112.0/21 
+</pre>
+    The arguments to the NoProxy directive are one of the following
+    type list: 
+
+    <dl>
+      <!-- ===================== Domain ======================= -->
+
+      <dt><a id="domain" name="domain"><em>Domain</em></a></dt>
+
+      <dd>A <em>Domain</em> is a partially qualified DNS domain
+      name, preceded by a period. It represents a list of hosts
+      which logically belong to the same DNS domain or zone
+      (<em>i.e.</em>, the suffixes of the hostnames are all ending
+      in <em>Domain</em>).<br />
+       Examples: <samp>.com</samp> <samp>.apache.org.</samp><br />
+       To distinguish <em>Domain</em>s from <a
+      href="#hostname"><em>Hostname</em></a>s (both syntactically
+      and semantically; a DNS domain can have a DNS A record,
+      too!), <em>Domain</em>s are always written with a leading
+      period.<br />
+       Note: Domain name comparisons are done without regard to the
+      case, and <em>Domain</em>s are always assumed to be anchored
+      in the root of the DNS tree, therefore two domains
+      <samp>.MyDomain.com</samp> and <samp>.mydomain.com.</samp>
+      (note the trailing period) are considered equal. Since a
+      domain comparison does not involve a DNS lookup, it is much
+      more efficient than subnet comparison. 
+      <!-- ===================== SubNet ======================= -->
+      </dd>
+
+      <dt><a id="subnet" name="subnet"><em>SubNet</em></a></dt>
+
+      <dd>
+        A <em>SubNet</em> is a partially qualified internet address
+        in numeric (dotted quad) form, optionally followed by a
+        slash and the netmask, specified as the number of
+        significant bits in the <em>SubNet</em>. It is used to
+        represent a subnet of hosts which can be reached over a
+        common network interface. In the absence of the explicit
+        net mask it is assumed that omitted (or zero valued)
+        trailing digits specify the mask. (In this case, the
+        netmask can only be multiples of 8 bits wide.)<br />
+         Examples: 
+
+        <dl>
+          <dt><samp>192.168</samp> or <samp>192.168.0.0</samp></dt>
+
+          <dd>the subnet 192.168.0.0 with an implied netmask of 16
+          valid bits (sometimes used in the netmask form
+          <samp>255.255.0.0</samp>)</dd>
+
+          <dt><samp>192.168.112.0/21</samp></dt>
+
+          <dd>the subnet <samp>192.168.112.0/21</samp> with a
+          netmask of 21 valid bits (also used in the form
+          255.255.248.0)</dd>
+        </dl>
+        As a degenerate case, a <em>SubNet</em> with 32 valid bits
+        is the equivalent to an <em>IPAddr</em>, while a
+        <em>SubNet</em> with zero valid bits (<em>e.g.</em>,
+        0.0.0.0/0) is the same as the constant <em>_Default_</em>,
+        matching any IP address. 
+        <!-- ===================== IPAddr ======================= -->
+      </dd>
+
+      <dt><a id="ipaddr" name="ipaddr"><em>IPAddr</em></a></dt>
+
+      <dd>
+        A <em>IPAddr</em> represents a fully qualified internet
+        address in numeric (dotted quad) form. Usually, this
+        address represents a host, but there need not necessarily
+        be a DNS domain name connected with the address.<br />
+         Example: 192.168.123.7<br />
+         Note: An <em>IPAddr</em> does not need to be resolved by
+        the DNS system, so it can result in more effective apache
+        performance. 
+
+        <p><strong>See Also:</strong> <a
+        href="../dns-caveats.html">DNS Issues</a></p>
+        <!-- ===================== Hostname ======================= -->
+      </dd>
+
+      <dt><a id="hostname"
+      name="hostname"><em>Hostname</em></a></dt>
+
+      <dd>
+        A <em>Hostname</em> is a fully qualified DNS domain name
+        which can be resolved to one or more <a
+        href="#ipaddr"><em>IPAddrs</em></a> via the DNS domain name
+        service. It represents a logical host (in contrast to <a
+        href="#domain"><em>Domain</em></a>s, see above) and must be
+        resolvable to at least one <a
+        href="#ipaddr"><em>IPAddr</em></a> (or often to a list of
+        hosts with different <a
+        href="#ipaddr"><em>IPAddr</em></a>'s).<br />
+         Examples: <samp>prep.ai.mit.edu</samp>
+        <samp>www.apache.org.</samp><br />
+         Note: In many situations, it is more effective to specify
+        an <a href="#ipaddr"><em>IPAddr</em></a> in place of a
+        <em>Hostname</em> since a DNS lookup can be avoided. Name
+        resolution in Apache can take a remarkable deal of time
+        when the connection to the name server uses a slow PPP
+        link.<br />
+         Note: <em>Hostname</em> comparisons are done without
+        regard to the case, and <em>Hostname</em>s are always
+        assumed to be anchored in the root of the DNS tree,
+        therefore two hosts <samp>WWW.MyDomain.com</samp> and
+        <samp>www.mydomain.com.</samp> (note the trailing period)
+        are considered equal.<br />
+         
+
+        <p><strong>See Also:</strong> <a
+        href="../dns-caveats.html">DNS Issues</a></p>
+      </dd>
+    </dl>
+    <hr />
+
+    <h2><a id="proxydomain" name="proxydomain">ProxyDomain</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyDomain
+    <em>Domain</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyDomain is
+    only available in Apache 1.3 and later. 
+
+    <p>This directive is only useful for Apache proxy servers
+    within intranets. The ProxyDomain directive specifies the
+    default domain which the apache proxy server will belong to. If
+    a request to a host without a domain name is encountered, a
+    redirection response to the same host with the configured
+    <em>Domain</em> appended will be generated.</p>
+
+    <p>Example:</p>
+<pre>
+  ProxyRemote  *  http://firewall.mycompany.com:81
+  NoProxy         .mycompany.com 192.168.112.0/21 
+  ProxyDomain     .mycompany.com
+</pre>
+    <hr />
+
+    <h2><a id="proxyvia" name="proxyvia">ProxyVia</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ProxyVia
+    on|off|full|block<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>ProxyVia
+    off</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ProxyVia is only
+    available in Apache 1.3.2 and later. 
+
+    <p>This directive controls the use of the <samp>Via:</samp>
+    HTTP header by the proxy. Its intended use is to control the
+    flow of of proxy requests along a chain of proxy servers. See
+    RFC2068 (HTTP/1.1) for an explanation of <samp>Via:</samp>
+    header lines.</p>
+
+    <ul>
+      <li>If set to <em>off</em>, which is the default, no special
+      processing is performed. If a request or reply contains a
+      <samp>Via:</samp> header, it is passed through
+      unchanged.</li>
+
+      <li>If set to <em>on</em>, each request and reply will get a
+      <samp>Via:</samp> header line added for the current
+      host.</li>
+
+      <li>If set to <em>full</em>, each generated <samp>Via:</samp>
+      header line will additionally have the Apache server version
+      shown as a <samp>Via:</samp> comment field.</li>
+
+      <li>If set to <em>block</em>, every proxy request will have
+      all its <samp>Via:</samp> header lines removed. No new
+      <samp>Via:</samp> header will be generated.</li>
+    </ul>
+    <hr />
+
+    <h2><a id="cacheforcecompletion"
+    name="cacheforcecompletion">CacheForceCompletion</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheForceCompletion
+    <em>percentage</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>90</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    CacheForceCompletion is only available in Apache 1.3.1 and
+    later. 
+
+    <p>If an http transfer that is being cached is cancelled, the
+    proxy module will complete the transfer to cache if more than
+    the percentage specified has already been transferred.</p>
+
+    <p>This is a percentage, and must be a number between 1 and
+    100, or 0 to use the default. 100 will cause a document to be
+    cached only if the transfer was allowed to complete. A number
+    between 60 and 90 is recommended.</p>
+    <hr />
+
+    <h2><a id="cacheroot" name="cacheroot">CacheRoot</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheRoot
+    <em>directory</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CacheRoot is
+    only available in Apache 1.1 and later. 
+
+    <p>Sets the name of the directory to contain cache files; this
+    must be writable by the httpd server. (see the <a
+    href="core.html#user"><code>User</code></a> directive).<br />
+     Setting <code>CacheRoot</code> enables proxy cacheing; without
+    defining a <code>CacheRoot</code>, proxy functionality will be
+    available if <code>ProxyRequests</code> are set to
+    <code>On</code>, but no cacheing will be available.</p>
+    <hr />
+
+    <h2><a id="cachesize" name="cachesize">CacheSize</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheSize
+    <em>kilobytes</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>CacheSize
+    5</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CacheSize is
+    only available in Apache 1.1 and later. 
+
+    <p>Sets the desired space usage of the cache, in KB (1024-byte
+    units). Although usage may grow above this setting, the garbage
+    collection will delete files until the usage is at or below
+    this setting.<br />
+     Depending on the expected proxy traffic volume and
+    <code>CacheGcInterval</code>, use a value which is at least 20
+    to 40 % lower than the available space.</p>
+    <hr />
+
+    <h2><a id="cachegcinterval"
+    name="cachegcinterval">CacheGcInterval</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheGcInterval
+    <em>hours</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CacheGcinterval
+    is only available in Apache 1.1 and later. 
+
+    <p>Check the cache after the specified number of
+    <em>hours</em>, and delete files if the space usage is greater
+    than that set by CacheSize. Note that <em>hours</em> accepts a
+    float value, you could for example use <code>CacheGcInterval
+    1.5</code> to check the cache every 90 minutes. (If unset, no
+    garbage collection will be performed, and the cache will grow
+    indefinitely.) Note also that the larger the
+    <code>CacheGcInterval</code>, the more extra space beyond the
+    configured <code>CacheSize</code> will be needed for the cache
+    between garbage collections.<br />
+     <!-- Note that due to a design flaw, Apache
+            does not automatically force a garbage collection when the available
+            space on the file system where the cache resides is exhausted. -->
+    </p>
+    <hr />
+
+    <h2><a id="cachemaxexpire"
+    name="cachemaxexpire">CacheMaxExpire</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheMaxExpire
+    <em>hours</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>CacheMaxExpire
+    24</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CacheMaxExpire
+    is only available in Apache 1.1 and later. 
+
+    <p>Specifies the maximum number of <em>hours</em> for which
+    cachable HTTP documents will be retained without checking the
+    origin server. Thus, documents will be out of date at most this
+    number of <em>hours</em> This restriction is enforced even if
+    an expiry date was supplied with the document.</p>
+    <hr />
+
+    <h2><a id="cachelastmodifiedfactor"
+    name="cachelastmodifiedfactor">CacheLastModifiedFactor</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheLastModifiedFactor
+    <em>factor</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>CacheLastModifiedFactor 0.1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    CacheLastModifiedFactor is only available in Apache 1.1 and
+    later. 
+
+    <p>If the origin HTTP server did not supply an expiry date for
+    the document, then estimate one using the formula</p>
+<pre>
+  expiry-period = time-since-last-modification * <em>factor</em>
+</pre>
+    For example, if the document was last modified 10 hours ago,
+    and <em>factor</em> is 0.1, then the expiry period will be set
+    to 10*0.1 = 1 hour. 
+
+    <p>If the expiry-period would be longer than that set by
+    CacheMaxExpire, then the latter takes precedence.</p>
+    <hr />
+
+    <h2><a id="cachedirlevels"
+    name="cachedirlevels">CacheDirLevels</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheDirLevels
+    <em>levels</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>CacheDirLevels
+    3</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CacheDirLevels
+    is only available in Apache 1.1 and later. 
+
+    <p>CacheDirLevels sets the number of <em>levels</em> of
+    subdirectories in the cache. Cached data will be saved this
+    many directory levels below CacheRoot.</p>
+    <hr />
+
+    <h2><a id="cachedirlength"
+    name="cachedirlength">CacheDirLength</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheDirLength
+    <em>length</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>CacheDirLength
+    1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CacheDirLength
+    is only available in Apache 1.1 and later. 
+
+    <p>CacheDirLength sets the number of characters in proxy cache
+    subdirectory names.</p>
+    <hr />
+
+    <h2><a id="cachedefaultexpire"
+    name="cachedefaultexpire">CacheDefaultExpire</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CacheDefaultExpire
+    <em>hours</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a>
+    <code>CacheDefaultExpire 1</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    CacheDefaultExpire is only available in Apache 1.1 and later. 
+
+    <p>If the document is fetched via a protocol that does not
+    support expiry times, then use the specified number of
+    <em>hours</em> as the expiry time. <a
+    href="#cachemaxexpire">CacheMaxExpire</a> does
+    <strong>not</strong> override this setting.</p>
+    <hr />
+
+    <h2><a id="nocache" name="nocache">NoCache</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> NoCache
+    *|<em>word|host|domain</em> [<em>word|host|domain</em>]
+    ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> <em>Not
+    applicable</em><br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_proxy<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> NoCache is only
+    available in Apache 1.1 and later. 
+
+    <p>The NoCache directive specifies a list of words, hosts
+    and/or domains, separated by spaces. HTTP and non-passworded
+    FTP documents from matched words, hosts or domains are
+    <em>not</em> cached by the proxy server. The proxy module will
+    also attempt to determine IP addresses of list items which may
+    be hostnames during startup, and cache them for match test as
+    well. Example:</p>
+<pre>
+  NoCache joes-garage.com some-host.co.uk bullwinkle.wotsamattau.edu
+</pre>
+    'bullwinkle.wotsamattau.edu' would also be matched if
+    referenced by IP address. 
+
+    <p>Note that 'wotsamattau' would also be sufficient to match
+    'wotsamattau.edu'.</p>
+
+    <p>Note also that</p>
+<pre>
+NoCache *
+</pre>
+    disables caching completely. 
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_rewrite.html.en b/htdocs/manual/mod/mod_rewrite.html.en
new file mode 100644 (file)
index 0000000..0021777
--- /dev/null
@@ -0,0 +1,2093 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--%hypertext -->
+<!-- mod_rewrite.html                                 -->
+<!-- Documentation for the mod_rewrite Apache module  -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_rewrite</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <blockquote>
+      <!-- page indentation -->
+      <!--#include virtual="header.html" -->
+      <br />
+       
+
+      <h1 align="CENTER">Module mod_rewrite<br />
+       URL Rewriting Engine</h1>
+
+      <p>This module provides a rule-based rewriting engine to
+      rewrite requested URLs on the fly.</p>
+
+      <p><a href="module-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="module-dict.html#SourceFile"
+      rel="Help"><strong>Source File:</strong></a>
+      mod_rewrite.c<br />
+       <a href="module-dict.html#ModuleIdentifier"
+      rel="Help"><strong>Module Identifier:</strong></a>
+      rewrite_module<br />
+       <a href="module-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Available in
+      Apache 1.2 and later.</p>
+      <hr noshade="noshade" size="1" />
+      <br />
+       
+
+      <h2>Summary</h2>
+
+      <blockquote>
+        <blockquote>
+          <blockquote>
+            <em>``The great thing about mod_rewrite is it gives you
+            all the configurability and flexibility of Sendmail.
+            The downside to mod_rewrite is that it gives you all
+            the configurability and flexibility of Sendmail.''</em>
+            
+
+            <div align="RIGHT">
+              -- Brian Behlendorf<br />
+               Apache Group
+            </div>
+          </blockquote>
+        </blockquote>
+      </blockquote>
+
+      <blockquote>
+        <blockquote>
+          <blockquote>
+            <em>`` Despite the tons of examples and docs,
+            mod_rewrite is voodoo. Damned cool voodoo, but still
+            voodoo. ''</em> 
+
+            <div align="RIGHT">
+              -- Brian Moore<br />
+               bem@news.cmc.net
+            </div>
+          </blockquote>
+        </blockquote>
+      </blockquote>
+      Welcome to mod_rewrite, the Swiss Army Knife of URL
+      manipulation! 
+
+      <p>This module uses a rule-based rewriting engine (based on a
+      regular-expression parser) to rewrite requested URLs on the
+      fly. It supports an unlimited number of rules and an
+      unlimited number of attached rule conditions for each rule to
+      provide a really flexible and powerful URL manipulation
+      mechanism. The URL manipulations can depend on various tests,
+      for instance server variables, environment variables, HTTP
+      headers, time stamps and even external database lookups in
+      various formats can be used to achieve a really granular URL
+      matching.</p>
+
+      <p>This module operates on the full URLs (including the
+      path-info part) both in per-server context
+      (<code>httpd.conf</code>) and per-directory context
+      (<code>.htaccess</code>) and can even generate query-string
+      parts on result. The rewritten result can lead to internal
+      sub-processing, external request redirection or even to an
+      internal proxy throughput.</p>
+
+      <p>But all this functionality and flexibility has its
+      drawback: complexity. So don't expect to understand this
+      entire module in just one day.</p>
+
+      <p>This module was invented and originally written in April
+      1996<br />
+       and gifted exclusively to the The Apache Group in July 1997
+      by</p>
+
+      <blockquote>
+        <a href="http://www.engelschall.com/"><code>Ralf S.
+        Engelschall</code></a><br />
+         <a
+        href="mailto:rse@engelschall.com"><code>rse@engelschall.com</code></a><br />
+         <a
+        href="http://www.engelschall.com/"><code>www.engelschall.com</code></a>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h2>Table Of Contents</h2>
+
+      <p><strong>Internal Processing</strong></p>
+
+      <ul>
+        <li><a href="#InternalAPI">API Phases</a></li>
+
+        <li><a href="#InternalRuleset">Ruleset Processing</a></li>
+
+        <li><a href="#InternalBackRefs">Regex Back-Reference
+        Availability</a></li>
+      </ul>
+
+      <p><strong>Configuration Directives</strong></p>
+
+      <ul>
+        <li><a href="#RewriteEngine">RewriteEngine</a></li>
+
+        <li><a href="#RewriteOptions">RewriteOptions</a></li>
+
+        <li><a href="#RewriteLog">RewriteLog</a></li>
+
+        <li><a href="#RewriteLogLevel">RewriteLogLevel</a></li>
+
+        <li><a href="#RewriteLock">RewriteLock</a></li>
+
+        <li><a href="#RewriteMap">RewriteMap</a></li>
+
+        <li><a href="#RewriteBase">RewriteBase</a></li>
+
+        <li><a href="#RewriteCond">RewriteCond</a></li>
+
+        <li><a href="#RewriteRule">RewriteRule</a></li>
+      </ul>
+      <strong>Miscellaneous</strong> 
+
+      <ul>
+        <li><a href="#EnvVar">Environment Variables</a></li>
+
+        <li><a href="#Solutions">Practical Solutions</a></li>
+      </ul>
+      <hr noshade="noshade" size="1" />
+
+      <center>
+        <h1><a id="Internal" name="Internal">Internal
+        Processing</a></h1>
+      </center>
+      <hr noshade="noshade" size="1" />
+
+      <p>The internal processing of this module is very complex but
+      needs to be explained once even to the average user to avoid
+      common mistakes and to let you exploit its full
+      functionality.</p>
+
+      <h2><a id="InternalAPI" name="InternalAPI">API
+      Phases</a></h2>
+
+      <p>First you have to understand that when Apache processes a
+      HTTP request it does this in phases. A hook for each of these
+      phases is provided by the Apache API. Mod_rewrite uses two of
+      these hooks: the URL-to-filename translation hook which is
+      used after the HTTP request has been read but before any
+      authorization starts and the Fixup hook which is triggered
+      after the authorization phases and after the per-directory
+      config files (<code>.htaccess</code>) have been read, but
+      before the content handler is activated.</p>
+
+      <p>So, after a request comes in and Apache has determined the
+      corresponding server (or virtual server) the rewriting engine
+      starts processing of all mod_rewrite directives from the
+      per-server configuration in the URL-to-filename phase. A few
+      steps later when the final data directories are found, the
+      per-directory configuration directives of mod_rewrite are
+      triggered in the Fixup phase. In both situations mod_rewrite
+      rewrites URLs either to new URLs or to filenames, although
+      there is no obvious distinction between them. This is a usage
+      of the API which was not intended to be this way when the API
+      was designed, but as of Apache 1.x this is the only way
+      mod_rewrite can operate. To make this point more clear
+      remember the following two points:</p>
+
+      <ol>
+        <li>Although mod_rewrite rewrites URLs to URLs, URLs to
+        filenames and even filenames to filenames, the API
+        currently provides only a URL-to-filename hook. In Apache
+        2.0 the two missing hooks will be added to make the
+        processing more clear. But this point has no drawbacks for
+        the user, it is just a fact which should be remembered:
+        Apache does more in the URL-to-filename hook than the API
+        intends for it.</li>
+
+        <li>
+          Unbelievably mod_rewrite provides URL manipulations in
+          per-directory context, <em>i.e.</em>, within
+          <code>.htaccess</code> files, although these are reached
+          a very long time after the URLs have been translated to
+          filenames. It has to be this way because
+          <code>.htaccess</code> files live in the filesystem, so
+          processing has already reached this stage. In other
+          words: According to the API phases at this time it is too
+          late for any URL manipulations. To overcome this chicken
+          and egg problem mod_rewrite uses a trick: When you
+          manipulate a URL/filename in per-directory context
+          mod_rewrite first rewrites the filename back to its
+          corresponding URL (which is usually impossible, but see
+          the <code>RewriteBase</code> directive below for the
+          trick to achieve this) and then initiates a new internal
+          sub-request with the new URL. This restarts processing of
+          the API phases. 
+
+          <p>Again mod_rewrite tries hard to make this complicated
+          step totally transparent to the user, but you should
+          remember here: While URL manipulations in per-server
+          context are really fast and efficient, per-directory
+          rewrites are slow and inefficient due to this chicken and
+          egg problem. But on the other hand this is the only way
+          mod_rewrite can provide (locally restricted) URL
+          manipulations to the average user.</p>
+        </li>
+      </ol>
+
+      <p>Don't forget these two points!</p>
+
+      <h2><a id="InternalRuleset" name="InternalRuleset">Ruleset
+      Processing</a></h2>
+      Now when mod_rewrite is triggered in these two API phases, it
+      reads the configured rulesets from its configuration
+      structure (which itself was either created on startup for
+      per-server context or during the directory walk of the Apache
+      kernel for per-directory context). Then the URL rewriting
+      engine is started with the contained ruleset (one or more
+      rules together with their conditions). The operation of the
+      URL rewriting engine itself is exactly the same for both
+      configuration contexts. Only the final result processing is
+      different. 
+
+      <p>The order of rules in the ruleset is important because the
+      rewriting engine processes them in a special (and not very
+      obvious) order. The rule is this: The rewriting engine loops
+      through the ruleset rule by rule (<code>RewriteRule</code>
+      directives) and when a particular rule matches it optionally
+      loops through existing corresponding conditions
+      (<code>RewriteCond</code> directives). For historical reasons
+      the conditions are given first, and so the control flow is a
+      little bit long-winded. See Figure 1 for more details.</p>
+
+      <div align="CENTER">
+        <table cellspacing="0" cellpadding="2" border="0">
+          <tr>
+            <td bgcolor="#CCCCCC"><img
+            src="../images/mod_rewrite_fig1.gif" width="428"
+            height="385"
+            alt="[Needs graphics capability to display]" /></td>
+          </tr>
+
+          <tr>
+            <td align="CENTER"><strong>Figure 1:</strong> The
+            control flow through the rewriting ruleset</td>
+          </tr>
+        </table>
+      </div>
+
+      <p>As you can see, first the URL is matched against the
+      <em>Pattern</em> of each rule. When it fails mod_rewrite
+      immediately stops processing this rule and continues with the
+      next rule. If the <em>Pattern</em> matches, mod_rewrite looks
+      for corresponding rule conditions. If none are present, it
+      just substitutes the URL with a new value which is
+      constructed from the string <em>Substitution</em> and goes on
+      with its rule-looping. But if conditions exist, it starts an
+      inner loop for processing them in the order that they are
+      listed. For conditions the logic is different: we don't match
+      a pattern against the current URL. Instead we first create a
+      string <em>TestString</em> by expanding variables,
+      back-references, map lookups, <em>etc.</em> and then we try
+      to match <em>CondPattern</em> against it. If the pattern
+      doesn't match, the complete set of conditions and the
+      corresponding rule fails. If the pattern matches, then the
+      next condition is processed until no more conditions are
+      available. If all conditions match, processing is continued
+      with the substitution of the URL with
+      <em>Substitution</em>.</p>
+
+      <h2><a id="quoting" name="quoting">Quoting Special
+      Characters</a></h2>
+
+      <p>As of Apache 1.3.20, special characters in
+      <i>TestString</i> and <i>Substitution</i> strings can be
+      escaped (that is, treated as normal characters without their
+      usual special meaning) by prefixing them with a slosh ('\')
+      character. In other words, you can include an actual
+      dollar-sign character in a <i>Substitution</i> string by
+      using '<code>\$</code>'; this keeps mod_rewrite from trying
+      to treat it as a backreference.</p>
+
+      <h2><a id="InternalBackRefs" name="InternalBackRefs">Regex
+      Back-Reference Availability</a></h2>
+      One important thing here has to be remembered: Whenever you
+      use parentheses in <em>Pattern</em> or in one of the
+      <em>CondPattern</em>, back-references are internally created
+      which can be used with the strings <code>$N</code> and
+      <code>%N</code> (see below). These are available for creating
+      the strings <em>Substitution</em> and <em>TestString</em>.
+      Figure 2 shows to which locations the back-references are
+      transfered for expansion. 
+
+      <div align="CENTER">
+        <table cellspacing="0" cellpadding="2" border="0">
+          <tr>
+            <td bgcolor="#CCCCCC"><img
+            src="../images/mod_rewrite_fig2.gif" width="381"
+            height="179"
+            alt="[Needs graphics capability to display]" /></td>
+          </tr>
+
+          <tr>
+            <td align="CENTER"><strong>Figure 2:</strong> The
+            back-reference flow through a rule</td>
+          </tr>
+        </table>
+      </div>
+
+      <p>We know this was a crash course on mod_rewrite's internal
+      processing. But you will benefit from this knowledge when
+      reading the following documentation of the available
+      directives.</p>
+      <hr noshade="noshade" size="1" />
+
+      <center>
+        <h1><a id="Configuration"
+        name="Configuration">Configuration Directives</a></h1>
+      </center>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteEngine"
+      name="RewriteEngine">RewriteEngine</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteEngine
+      on|off<br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <code>RewriteEngine
+      off</code><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host, directory, .htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a> FileInfo<br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache
+      1.2<br />
+       
+
+      <p>The <code>RewriteEngine</code> directive enables or
+      disables the runtime rewriting engine. If it is set to
+      <code>off</code> this module does no runtime processing at
+      all. It does not even update the <code>SCRIPT_URx</code>
+      environment variables.</p>
+
+      <p>Use this directive to disable the module instead of
+      commenting out all the <code>RewriteRule</code>
+      directives!</p>
+
+      <p>Note that, by default, rewrite configurations are not
+      inherited. This means that you need to have a
+      <code>RewriteEngine on</code> directive for each virtual host
+      in which you wish to use it.</p>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteOptions"
+      name="RewriteOptions">RewriteOptions</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteOptions
+      <em>Option</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <code>RewriteOptions
+      MaxRedirects=10</code><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host, directory, .htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a> FileInfo<br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache
+      1.2; <code>MaxRedirects</code> is available in Apache 1.3.28 and
+      later<br />
+
+
+      <p>The <code>RewriteOptions</code> directive sets some
+      special options for the current per-server or per-directory
+      configuration. The <em>Option</em> strings can be one of the
+      following:</p>
+
+      <dl>
+      <dt><code>inherit</code></dt>
+      <dd>This forces the current configuration to inherit the
+      configuration of the parent. In per-virtual-server context
+      this means that the maps, conditions and rules of the main
+      server are inherited. In per-directory context this means
+      that conditions and rules of the parent directory's
+      <code>.htaccess</code> configuration are inherited.</dd>
+
+      <dt><code>MaxRedirects=<var>number</var></code></dt>
+      <dd>In order to prevent endless loops of internal redirects
+      issued by per-directory <code>RewriteRule</code>s,
+      <code>mod_rewrite</code> aborts the request after reaching a
+      maximum number of such redirects and responds with an 500 Internal
+      Server Error. If you really need more internal redirects than 10
+      per request, you may increase the default to the desired value.</dd>
+      </dl>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteLog" name="RewriteLog">RewriteLog</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteLog
+      <em>file-path</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a> <em>Not
+      applicable</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache
+      1.2<br />
+       
+
+      <p>The <code>RewriteLog</code> directive sets the name of the
+      file to which the server logs any rewriting actions it
+      performs. If the name does not begin with a slash
+      ('<code>/</code>') then it is assumed to be relative to the
+      <em>Server Root</em>. The directive should occur only once
+      per server config.</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Note</strong>: To disable the logging of
+          rewriting actions it is not recommended to set
+          <em>file-path</em> to <code>/dev/null</code>, because
+          although the rewriting engine does not then output to a
+          logfile it still creates the logfile output internally.
+          <strong>This will slow down the server with no advantage
+          to the administrator!</strong> To disable logging either
+          remove or comment out the <code>RewriteLog</code>
+          directive or use <code>RewriteLogLevel 0</code>!</td>
+        </tr>
+      </table>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Security</strong>: See the <a
+          href="../misc/security_tips.html">Apache Security
+          Tips</a> document for details on why your security could
+          be compromised if the directory where logfiles are stored
+          is writable by anyone other than the user that starts the
+          server.</td>
+        </tr>
+      </table>
+
+      <p><strong>Example:</strong></p>
+
+      <blockquote>
+<pre>
+RewriteLog "/usr/local/var/apache/logs/rewrite.log"
+</pre>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteLogLevel"
+      name="RewriteLogLevel">RewriteLogLevel</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteLogLevel
+      <em>Level</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a>
+      <code>RewriteLogLevel 0</code><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a> <em>Not
+      applicable</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache
+      1.2<br />
+       
+
+      <p>The <code>RewriteLogLevel</code> directive sets the
+      verbosity level of the rewriting logfile. The default level 0
+      means no logging, while 9 or more means that practically all
+      actions are logged.</p>
+
+      <p>To disable the logging of rewriting actions simply set
+      <em>Level</em> to 0. This disables all rewrite action
+      logs.</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Notice:</strong> Using a high value for
+          <em>Level</em> will slow down your Apache server
+          dramatically! Use the rewriting logfile at a
+          <em>Level</em> greater than 2 only for debugging!</td>
+        </tr>
+      </table>
+
+      <p><strong>Example:</strong></p>
+
+      <blockquote>
+<pre>
+RewriteLogLevel 3
+</pre>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteLock"
+      name="RewriteLock">RewriteLock</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteLock
+      <em>file-path</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a> <em>Not
+      applicable</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache
+      1.3<br />
+       
+
+      <p>This directive sets the filename for a synchronization
+      lockfile which mod_rewrite needs to communicate with
+      <samp>RewriteMap</samp> <em>programs</em>. Set this lockfile
+      to a local path (not on a NFS-mounted device) when you want
+      to use a rewriting map-program. It is not required for other
+      types of rewriting maps.</p>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteMap" name="RewriteMap">RewriteMap</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteMap
+      <em>MapName</em> <em>MapType</em>:<em>MapSource</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> not used per
+      default<br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a> <em>Not
+      applicable</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache 1.2
+      (partially), Apache 1.3<br />
+       
+
+      <p>The <code>RewriteMap</code> directive defines a
+      <em>Rewriting Map</em> which can be used inside rule
+      substitution strings by the mapping-functions to
+      insert/substitute fields through a key lookup. The source of
+      this lookup can be of various types.</p>
+
+      <p>The <a id="mapfunc" name="mapfunc"><em>MapName</em></a> is
+      the name of the map and will be used to specify a
+      mapping-function for the substitution strings of a rewriting
+      rule via one of the following constructs:</p>
+
+      <blockquote>
+        <strong><code>${</code> <em>MapName</em> <code>:</code>
+        <em>LookupKey</em> <code>}</code><br />
+         <code>${</code> <em>MapName</em> <code>:</code>
+        <em>LookupKey</em> <code>|</code> <em>DefaultValue</em>
+        <code>}</code></strong>
+      </blockquote>
+      When such a construct occurs the map <em>MapName</em> is
+      consulted and the key <em>LookupKey</em> is looked-up. If the
+      key is found, the map-function construct is substituted by
+      <em>SubstValue</em>. If the key is not found then it is
+      substituted by <em>DefaultValue</em> or by the empty string
+      if no <em>DefaultValue</em> was specified. 
+
+      <p>The following combinations for <em>MapType</em> and
+      <em>MapSource</em> can be used:</p>
+
+      <ul>
+        <li>
+          <strong>Standard Plain Text</strong><br />
+           MapType: <code>txt</code>, MapSource: Unix filesystem
+          path to valid regular file 
+
+          <p>This is the standard rewriting map feature where the
+          <em>MapSource</em> is a plain ASCII file containing
+          either blank lines, comment lines (starting with a '#'
+          character) or pairs like the following - one per
+          line.</p>
+
+          <blockquote>
+            <strong><em>MatchingKey</em>
+            <em>SubstValue</em></strong>
+          </blockquote>
+
+          <p>Example:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+##
+##  map.txt -- rewriting map
+##
+
+Ralf.S.Engelschall    rse   # Bastard Operator From Hell
+Mr.Joe.Average        joe   # Mr. Average
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+RewriteMap real-to-user txt:/path/to/file/map.txt
+</pre>
+              </td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          <strong>Randomized Plain Text</strong><br />
+           MapType: <code>rnd</code>, MapSource: Unix filesystem
+          path to valid regular file 
+
+          <p>This is identical to the Standard Plain Text variant
+          above but with a special post-processing feature: After
+          looking up a value it is parsed according to contained
+          ``<code>|</code>'' characters which have the meaning of
+          ``or''. In other words they indicate a set of
+          alternatives from which the actual returned value is
+          chosen randomly. Although this sounds crazy and useless,
+          it was actually designed for load balancing in a reverse
+          proxy situation where the looked up values are server
+          names. Example:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+##
+##  map.txt -- rewriting map
+##
+
+static   www1|www2|www3|www4
+dynamic  www5|www6
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+RewriteMap servers rnd:/path/to/file/map.txt
+</pre>
+              </td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          <strong>Hash File</strong><br />
+           MapType: <code>dbm</code>, MapSource: Unix filesystem
+          path to valid regular file 
+
+          <p>Here the source is a binary NDBM format file
+          containing the same contents as a <em>Plain Text</em>
+          format file, but in a special representation which is
+          optimized for really fast lookups. You can create such a
+          file with any NDBM tool or with the following Perl
+          script:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+#!/path/to/bin/perl
+##
+##  txt2dbm -- convert txt map to dbm format
+##
+
+use NDBM_File;
+use Fcntl;
+
+($txtmap, $dbmmap) = @ARGV;
+
+open(TXT, "&lt;$txtmap") or die "Couldn't open $txtmap!\n";
+tie (%DB, 'NDBM_File', $dbmmap,O_RDWR|O_TRUNC|O_CREAT, 0644) or die "Couldn't create $dbmmap!\n";
+
+while (&lt;TXT&gt;) {
+  next if (/^\s*#/ or /^\s*$/);
+  $DB{$1} = $2 if (/^\s*(\S+)\s+(\S+)/);
+}
+
+untie %DB;
+close(TXT);
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+$ txt2dbm map.txt map.db
+</pre>
+              </td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          <strong>Internal Function</strong><br />
+           MapType: <code>int</code>, MapSource: Internal Apache
+          function 
+
+          <p>Here the source is an internal Apache function.
+          Currently you cannot create your own, but the following
+          functions already exists:</p>
+
+          <ul>
+            <li><strong>toupper</strong>:<br />
+             Converts the looked up key to all upper case.</li>
+
+            <li><strong>tolower</strong>:<br />
+             Converts the looked up key to all lower case.</li>
+
+            <li><strong>escape</strong>:<br />
+             Translates special characters in the looked up key to
+            hex-encodings.</li>
+
+            <li><strong>unescape</strong>:<br />
+             Translates hex-encodings in the looked up key back to
+            special characters.</li>
+          </ul>
+        </li>
+
+        <li>
+          <strong>External Rewriting Program</strong><br />
+           MapType: <code>prg</code>, MapSource: Unix filesystem
+          path to valid regular file 
+
+          <p>Here the source is a program, not a map file. To
+          create it you can use the language of your choice, but
+          the result has to be a executable (<em>i.e.</em>, either
+          object-code or a script with the magic cookie trick
+          '<code>#!/path/to/interpreter</code>' as the first
+          line).</p>
+
+          <p>This program is started once at startup of the Apache
+          servers and then communicates with the rewriting engine
+          over its <code>stdin</code> and <code>stdout</code>
+          file-handles. For each map-function lookup it will
+          receive the key to lookup as a newline-terminated string
+          on <code>stdin</code>. It then has to give back the
+          looked-up value as a newline-terminated string on
+          <code>stdout</code> or the four-character string
+          ``<code>NULL</code>'' if it fails (<em>i.e.</em>, there
+          is no corresponding value for the given key). A trivial
+          program which will implement a 1:1 map (<em>i.e.</em>,
+          key == value) could be:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+#!/usr/bin/perl
+$| = 1;
+while (&lt;STDIN&gt;) {
+    # ...put here any transformations or lookups...
+    print $_;
+}
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>But be very careful:<br />
+          </p>
+
+          <ol>
+            <li>``<em>Keep it simple, stupid</em>'' (KISS), because
+            if this program hangs it will hang the Apache server
+            when the rule occurs.</li>
+
+            <li>Avoid one common mistake: never do buffered I/O on
+            <code>stdout</code>! This will cause a deadloop! Hence
+            the ``<code>$|=1</code>'' in the above example...</li>
+
+            <li>Use the <samp>RewriteLock</samp> directive to
+            define a lockfile mod_rewrite can use to synchronize
+            the communication to the program. By default no such
+            synchronization takes place.</li>
+          </ol>
+        </li>
+      </ul>
+      The <code>RewriteMap</code> directive can occur more than
+      once. For each mapping-function use one
+      <code>RewriteMap</code> directive to declare its rewriting
+      mapfile. While you cannot <strong>declare</strong> a map in
+      per-directory context it is of course possible to
+      <strong>use</strong> this map in per-directory context. 
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Note:</strong> For plain text and DBM format
+          files the looked-up keys are cached in-core until the
+          <code>mtime</code> of the mapfile changes or the server
+          does a restart. This way you can have map-functions in
+          rules which are used for <strong>every</strong> request.
+          This is no problem, because the external lookup only
+          happens once!</td>
+        </tr>
+      </table>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteBase"
+      name="RewriteBase">RewriteBase</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteBase
+      <em>URL-path</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <em>default is the
+      physical directory path</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> directory,
+      .htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a>
+      <em>FileInfo</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache
+      1.2<br />
+       
+
+      <p>The <code>RewriteBase</code> directive explicitly sets the
+      base URL for per-directory rewrites. As you will see below,
+      <code>RewriteRule</code> can be used in per-directory config
+      files (<code>.htaccess</code>). There it will act locally,
+      <em>i.e.</em>, the local directory prefix is stripped at this
+      stage of processing and your rewriting rules act only on the
+      remainder. At the end it is automatically added back to the
+      path.</p>
+
+      <p>When a substitution occurs for a new URL, this module has
+      to re-inject the URL into the server processing. To be able
+      to do this it needs to know what the corresponding URL-prefix
+      or URL-base is. By default this prefix is the corresponding
+      filepath itself. <strong>But at most websites URLs are NOT
+      directly related to physical filename paths, so this
+      assumption will usually be wrong!</strong> There you have to
+      use the <code>RewriteBase</code> directive to specify the
+      correct URL-prefix.</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Notice:</strong> If your webserver's URLs are
+          <strong>not</strong> directly related to physical file
+          paths, you have to use <code>RewriteBase</code> in every
+          <code>.htaccess</code> files where you want to use
+          <code>RewriteRule</code> directives.</td>
+        </tr>
+      </table>
+
+      <p><strong>Example:</strong></p>
+
+      <blockquote>
+        Assume the following per-directory config file: 
+
+        <table border="0" cellspacing="1" cellpadding="5"
+        bgcolor="#F0F0F0">
+          <tr>
+            <td>
+<pre>
+#
+#  /abc/def/.htaccess -- per-dir config file for directory /abc/def
+#  Remember: /abc/def is the physical path of /xyz, <em>i.e.</em>, the server
+#            has a 'Alias /xyz /abc/def' directive <em>e.g.</em>
+#
+
+RewriteEngine On
+
+#  let the server know that we were reached via /xyz and not
+#  via the physical path prefix /abc/def
+RewriteBase   /xyz
+
+#  now the rewriting rules
+RewriteRule   ^oldstuff\.html$  newstuff.html
+</pre>
+            </td>
+          </tr>
+        </table>
+
+        <p>In the above example, a request to
+        <code>/xyz/oldstuff.html</code> gets correctly rewritten to
+        the physical file <code>/abc/def/newstuff.html</code>.</p>
+
+        <table width="70%" border="0" bgcolor="#E0E0F0"
+        cellspacing="0" cellpadding="10">
+          <tr>
+            <td>
+              <font size="-1"><strong>Note - For Apache
+              hackers:</strong><br />
+               The following list gives detailed information about
+              the internal processing steps:</font> 
+<pre>
+<font size="-1">Request:
+  /xyz/oldstuff.html
+
+Internal Processing:
+  /xyz/oldstuff.html     -&gt; /abc/def/oldstuff.html  (per-server Alias)
+  /abc/def/oldstuff.html -&gt; /abc/def/newstuff.html  (per-dir    RewriteRule)
+  /abc/def/newstuff.html -&gt; /xyz/newstuff.html      (per-dir    RewriteBase)
+  /xyz/newstuff.html     -&gt; /abc/def/newstuff.html  (per-server Alias)
+
+Result:
+  /abc/def/newstuff.html
+</font>
+</pre>
+              <font size="-1">This seems very complicated but is
+              the correct Apache internal processing, because the
+              per-directory rewriting comes too late in the
+              process. So, when it occurs the (rewritten) request
+              has to be re-injected into the Apache kernel! BUT:
+              While this seems like a serious overhead, it really
+              isn't, because this re-injection happens fully
+              internally to the Apache server and the same
+              procedure is used by many other operations inside
+              Apache. So, you can be sure the design and
+              implementation is correct.</font> 
+            </td>
+          </tr>
+        </table>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteCond"
+      name="RewriteCond">RewriteCond</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteCond
+      <em>TestString</em> <em>CondPattern</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host, directory, .htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a>
+      <em>FileInfo</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache 1.2
+      (partially), Apache 1.3<br />
+       
+
+      <p>The <code>RewriteCond</code> directive defines a rule
+      condition. Precede a <code>RewriteRule</code> directive with
+      one or more <code>RewriteCond</code> directives. The
+      following rewriting rule is only used if its pattern matches
+      the current state of the URI <strong>and</strong> if these
+      additional conditions apply too.</p>
+
+      <p><em>TestString</em> is a string which can contains the
+      following expanded constructs in addition to plain text:</p>
+
+      <ul>
+        <li>
+          <strong>RewriteRule backreferences</strong>: These are
+          backreferences of the form 
+
+          <blockquote>
+            <strong><code>$N</code></strong>
+          </blockquote>
+          (0 &lt;= N &lt;= 9) which provide access to the grouped
+          parts (parenthesis!) of the pattern from the
+          corresponding <code>RewriteRule</code> directive (the one
+          following the current bunch of <code>RewriteCond</code>
+          directives).
+        </li>
+
+        <li>
+          <strong>RewriteCond backreferences</strong>: These are
+          backreferences of the form 
+
+          <blockquote>
+            <strong><code>%N</code></strong>
+          </blockquote>
+          (1 &lt;= N &lt;= 9) which provide access to the grouped
+          parts (parentheses!) of the pattern from the last matched
+          <code>RewriteCond</code> directive in the current bunch
+          of conditions.
+        </li>
+
+        <li>
+          <strong>RewriteMap expansions</strong>: These are
+          expansions of the form 
+
+          <blockquote>
+            <strong><code>${mapname:key|default}</code></strong>
+          </blockquote>
+          See <a href="#mapfunc">the documentation for
+          RewriteMap</a> for more details.
+        </li>
+
+        <li>
+          <strong>Server-Variables</strong>: These are variables of
+          the form 
+
+          <blockquote>
+            <strong><code>%{</code> <em>NAME_OF_VARIABLE</em>
+            <code>}</code></strong>
+          </blockquote>
+          where <em>NAME_OF_VARIABLE</em> can be a string taken
+          from the following list: 
+
+          <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+            <tr>
+              <td valign="TOP">
+                <strong>HTTP headers:</strong> 
+
+                <p><font size="-1">HTTP_USER_AGENT<br />
+                 HTTP_REFERER<br />
+                 HTTP_COOKIE<br />
+                 HTTP_FORWARDED<br />
+                 HTTP_HOST<br />
+                 HTTP_PROXY_CONNECTION<br />
+                 HTTP_ACCEPT<br />
+                </font></p>
+              </td>
+
+              <td valign="TOP">
+                <strong>connection &amp; request:</strong> 
+
+                <p><font size="-1">REMOTE_ADDR<br />
+                 REMOTE_HOST<br />
+                 REMOTE_USER<br />
+                 REMOTE_IDENT<br />
+                 REQUEST_METHOD<br />
+                 SCRIPT_FILENAME<br />
+                 PATH_INFO<br />
+                 QUERY_STRING<br />
+                 AUTH_TYPE<br />
+                </font></p>
+              </td>
+            </tr>
+
+            <tr>
+              <td valign="TOP">
+                <strong>server internals:</strong> 
+
+                <p><font size="-1">DOCUMENT_ROOT<br />
+                 SERVER_ADMIN<br />
+                 SERVER_NAME<br />
+                 SERVER_ADDR<br />
+                 SERVER_PORT<br />
+                 SERVER_PROTOCOL<br />
+                 SERVER_SOFTWARE<br />
+                </font></p>
+              </td>
+
+              <td valign="TOP">
+                <strong>system stuff:</strong> 
+
+                <p><font size="-1">TIME_YEAR<br />
+                 TIME_MON<br />
+                 TIME_DAY<br />
+                 TIME_HOUR<br />
+                 TIME_MIN<br />
+                 TIME_SEC<br />
+                 TIME_WDAY<br />
+                 TIME<br />
+                </font></p>
+              </td>
+
+              <td valign="TOP">
+                <strong>specials:</strong> 
+
+                <p><font size="-1">API_VERSION<br />
+                 THE_REQUEST<br />
+                 REQUEST_URI<br />
+                 REQUEST_FILENAME<br />
+                 IS_SUBREQ<br />
+                </font></p>
+              </td>
+            </tr>
+          </table>
+
+          <table width="70%" border="0" bgcolor="#E0E0F0"
+          cellspacing="0" cellpadding="10">
+            <tr>
+              <td>
+                <p><strong>Notice:</strong> These variables all
+                correspond to the similarly named HTTP
+                MIME-headers, C variables of the Apache server or
+                <code>struct tm</code> fields of the Unix system.
+                Most are documented elsewhere in the Manual or in
+                the CGI specification. Those that are special to
+                mod_rewrite include:</p>
+
+                <dl>
+                  <dt><code>IS_SUBREQ</code></dt>
+
+                  <dd>Will contain the text "true" if the request
+                  currently being processed is a sub-request,
+                  "false" otherwise. Sub-requests may be generated
+                  by modules that need to resolve additional files
+                  or URIs in order to complete their tasks.</dd>
+
+                  <dt><code>API_VERSION</code></dt>
+
+                  <dd>This is the version of the Apache module API
+                  (the internal interface between server and
+                  module) in the current httpd build, as defined in
+                  include/ap_mmn.h. The module API version
+                  corresponds to the version of Apache in use (in
+                  the release version of Apache 1.3.14, for
+                  instance, it is 19990320:10), but is mainly of
+                  interest to module authors.</dd>
+
+                  <dt><code>THE_REQUEST</code></dt>
+
+                  <dd>The full HTTP request line sent by the
+                  browser to the server (e.g., "<code>GET
+                  /index.html HTTP/1.1</code>"). This does not
+                  include any additional headers sent by the
+                  browser.</dd>
+
+                  <dt><code>REQUEST_URI</code></dt>
+
+                  <dd>The resource requested in the HTTP request
+                  line. (In the example above, this would be
+                  "/index.html".)</dd>
+
+                  <dt><code>REQUEST_FILENAME</code></dt>
+
+                  <dd>The full local filesystem path to the file or
+                  script matching the request.</dd>
+                </dl>
+              </td>
+            </tr>
+          </table>
+        </li>
+      </ul>
+
+      <p>Special Notes:</p>
+
+      <ol>
+        <li>The variables SCRIPT_FILENAME and REQUEST_FILENAME
+        contain the same value, <em>i.e.</em>, the value of the
+        <code>filename</code> field of the internal
+        <code>request_rec</code> structure of the Apache server.
+        The first name is just the commonly known CGI variable name
+        while the second is the consistent counterpart to
+        REQUEST_URI (which contains the value of the
+        <code>uri</code> field of <code>request_rec</code>).</li>
+
+        <li>There is the special format:
+        <code>%{ENV:variable}</code> where <em>variable</em> can be
+        any environment variable. This is looked-up via internal
+        Apache structures and (if not found there) via
+        <code>getenv()</code> from the Apache server process.</li>
+
+        <li>There is the special format:
+        <code>%{HTTP:header}</code> where <em>header</em> can be
+        any HTTP MIME-header name. This is looked-up from the HTTP
+        request. Example: <code>%{HTTP:Proxy-Connection}</code> is
+        the value of the HTTP header
+        ``<code>Proxy-Connection:</code>''.</li>
+
+        <li>There is the special format
+        <code>%{LA-U:variable}</code> for look-aheads which perform
+        an internal (URL-based) sub-request to determine the final
+        value of <em>variable</em>. Use this when you want to use a
+        variable for rewriting which is actually set later in an
+        API phase and thus is not available at the current stage.
+        For instance when you want to rewrite according to the
+        <code>REMOTE_USER</code> variable from within the
+        per-server context (<code>httpd.conf</code> file) you have
+        to use <code>%{LA-U:REMOTE_USER}</code> because this
+        variable is set by the authorization phases which come
+        <em>after</em> the URL translation phase where mod_rewrite
+        operates. On the other hand, because mod_rewrite implements
+        its per-directory context (<code>.htaccess</code> file) via
+        the Fixup phase of the API and because the authorization
+        phases come <em>before</em> this phase, you just can use
+        <code>%{REMOTE_USER}</code> there.</li>
+
+        <li>There is the special format:
+        <code>%{LA-F:variable}</code> which performs an internal
+        (filename-based) sub-request to determine the final value
+        of <em>variable</em>. Most of the time this is the same as
+        LA-U above.</li>
+      </ol>
+
+      <p><em>CondPattern</em> is the condition pattern,
+      <em>i.e.</em>, a regular expression which is applied to the
+      current instance of the <em>TestString</em>, <em>i.e.</em>,
+      <em>TestString</em> is evaluated and then matched against
+      <em>CondPattern</em>.</p>
+
+      <p><strong>Remember:</strong> <em>CondPattern</em> is a
+      standard <em>Extended Regular Expression</em> with some
+      additions:</p>
+
+      <ol>
+        <li>You can prefix the pattern string with a
+        '<code>!</code>' character (exclamation mark) to specify a
+        <strong>non</strong>-matching pattern.</li>
+
+        <li>
+          There are some special variants of <em>CondPatterns</em>.
+          Instead of real regular expression strings you can also
+          use one of the following: 
+
+          <ul>
+            <li>'<strong>&lt;CondPattern</strong>' (is lexically
+            lower)<br />
+             Treats the <em>CondPattern</em> as a plain string and
+            compares it lexically to <em>TestString</em>. True if
+            <em>TestString</em> is lexically lower than
+            <em>CondPattern</em>.</li>
+
+            <li>'<strong>&gt;CondPattern</strong>' (is lexically
+            greater)<br />
+             Treats the <em>CondPattern</em> as a plain string and
+            compares it lexically to <em>TestString</em>. True if
+            <em>TestString</em> is lexically greater than
+            <em>CondPattern</em>.</li>
+
+            <li>'<strong>=CondPattern</strong>' (is lexically
+            equal)<br />
+             Treats the <em>CondPattern</em> as a plain string and
+            compares it lexically to <em>TestString</em>. True if
+            <em>TestString</em> is lexically equal to
+            <em>CondPattern</em>, i.e the two strings are exactly
+            equal (character by character). If <em>CondPattern</em>
+            is just <samp>""</samp> (two quotation marks) this
+            compares <em>TestString</em> to the empty string.</li>
+
+            <li>'<strong>-d</strong>' (is
+            <strong>d</strong>irectory)<br />
+             Treats the <em>TestString</em> as a pathname and tests
+            if it exists and is a directory.</li>
+
+            <li>'<strong>-f</strong>' (is regular
+            <strong>f</strong>ile)<br />
+             Treats the <em>TestString</em> as a pathname and tests
+            if it exists and is a regular file.</li>
+
+            <li>'<strong>-s</strong>' (is regular file with
+            <strong>s</strong>ize)<br />
+             Treats the <em>TestString</em> as a pathname and tests
+            if it exists and is a regular file with size greater
+            than zero.</li>
+
+            <li>'<strong>-l</strong>' (is symbolic
+            <strong>l</strong>ink)<br />
+             Treats the <em>TestString</em> as a pathname and tests
+            if it exists and is a symbolic link.</li>
+
+            <li>'<strong>-F</strong>' (is existing file via
+            subrequest)<br />
+             Checks if <em>TestString</em> is a valid file and
+            accessible via all the server's currently-configured
+            access controls for that path. This uses an internal
+            subrequest to determine the check, so use it with care
+            because it decreases your servers performance!</li>
+
+            <li>'<strong>-U</strong>' (is existing URL via
+            subrequest)<br />
+             Checks if <em>TestString</em> is a valid URL and
+            accessible via all the server's currently-configured
+            access controls for that path. This uses an internal
+            subrequest to determine the check, so use it with care
+            because it decreases your server's performance!</li>
+          </ul>
+
+          <table width="70%" border="0" bgcolor="#E0E0F0"
+          cellspacing="0" cellpadding="10">
+            <tr>
+              <td><strong>Notice:</strong> All of these tests can
+              also be prefixed by an exclamation mark ('!') to
+              negate their meaning.</td>
+            </tr>
+          </table>
+        </li>
+      </ol>
+
+      <p>Additionally you can set special flags for
+      <em>CondPattern</em> by appending</p>
+
+      <blockquote>
+        <strong><code>[</code><em>flags</em><code>]</code></strong>
+      </blockquote>
+      as the third argument to the <code>RewriteCond</code>
+      directive. <em>Flags</em> is a comma-separated list of the
+      following flags: 
+
+      <ul>
+        <li>'<strong><code>nocase|NC</code></strong>'
+        (<strong>n</strong>o <strong>c</strong>ase)<br />
+         This makes the test case-insensitive, <em>i.e.</em>, there
+        is no difference between 'A-Z' and 'a-z' both in the
+        expanded <em>TestString</em> and the <em>CondPattern</em>.
+        This flag is effective only for comparisons between
+        <em>TestString</em> and <em>CondPattern</em>. It has no
+        effect on filesystem and subrequest checks.</li>
+
+        <li>
+          '<strong><code>ornext|OR</code></strong>'
+          (<strong>or</strong> next condition)<br />
+           Use this to combine rule conditions with a local OR
+          instead of the implicit AND. Typical example: 
+
+          <blockquote>
+<pre>
+RewriteCond %{REMOTE_HOST}  ^host1.*  [OR]
+RewriteCond %{REMOTE_HOST}  ^host2.*  [OR]
+RewriteCond %{REMOTE_HOST}  ^host3.*
+RewriteRule ...some special stuff for any of these hosts...
+</pre>
+          </blockquote>
+          Without this flag you would have to write the cond/rule
+          three times.
+        </li>
+      </ul>
+
+      <p><strong>Example:</strong></p>
+
+      <blockquote>
+        To rewrite the Homepage of a site according to the
+        ``<code>User-Agent:</code>'' header of the request, you can
+        use the following: 
+
+        <blockquote>
+<pre>
+RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
+RewriteRule  ^/$                 /homepage.max.html  [L]
+
+RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
+RewriteRule  ^/$                 /homepage.min.html  [L]
+
+RewriteRule  ^/$                 /homepage.std.html  [L]
+</pre>
+        </blockquote>
+        Interpretation: If you use Netscape Navigator as your
+        browser (which identifies itself as 'Mozilla'), then you
+        get the max homepage, which includes Frames, <em>etc.</em>
+        If you use the Lynx browser (which is Terminal-based), then
+        you get the min homepage, which contains no images, no
+        tables, <em>etc.</em> If you use any other browser you get
+        the standard homepage.
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteRule"
+      name="RewriteRule">RewriteRule</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>Syntax:</strong></a> RewriteRule
+      <em>Pattern</em> <em>Substitution</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>Default:</strong></a> <em>None</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>Context:</strong></a> server config,
+      virtual host, directory, .htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>Override:</strong></a>
+      <em>FileInfo</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>Status:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>Module:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a> Apache 1.2
+      (partially), Apache 1.3<br />
+       
+
+      <p>The <code>RewriteRule</code> directive is the real
+      rewriting workhorse. The directive can occur more than once.
+      Each directive then defines one single rewriting rule. The
+      <strong>definition order</strong> of these rules is
+      <strong>important</strong>, because this order is used when
+      applying the rules at run-time.</p>
+
+      <p><a id="patterns" name="patterns"><em>Pattern</em></a> can
+      be (for Apache 1.1.x a System V8 and for Apache 1.2.x and
+      later a POSIX) <a id="regexp" name="regexp">regular
+      expression</a> which gets applied to the current URL. Here
+      ``current'' means the value of the URL when this rule gets
+      applied. This may not be the originally requested URL,
+      because any number of rules may already
+      have matched and made alterations to it.</p>
+
+      <p>Some hints about the syntax of regular expressions:</p>
+
+      <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+        <tr>
+          <td valign="TOP">
+<pre>
+<strong>Text:</strong>
+  <strong><code>.</code></strong>           Any single character
+  <strong><code>[</code></strong>chars<strong><code>]</code></strong>     Character class: One  of chars
+  <strong><code>[^</code></strong>chars<strong><code>]</code></strong>    Character class: None of chars
+  text1<strong><code>|</code></strong>text2 Alternative: text1 or text2
+
+<strong>Quantifiers:</strong>
+  <strong><code>?</code></strong>           0 or 1 of the preceding text
+  <strong><code>*</code></strong>           0 or N of the preceding text (N &gt; 0)
+  <strong><code>+</code></strong>           1 or N of the preceding text (N &gt; 1)
+
+<strong>Grouping:</strong>
+  <strong><code>(</code></strong>text<strong><code>)</code></strong>      Grouping of text
+              (either to set the borders of an alternative or
+              for making backreferences where the <strong>N</strong>th group can 
+              be used on the RHS of a RewriteRule with <code>$</code><strong>N</strong>)
+
+<strong>Anchors:</strong>
+  <strong><code>^</code></strong>           Start of line anchor
+  <strong><code>$</code></strong>           End   of line anchor
+
+<strong>Escaping:</strong>
+  <strong><code>\</code></strong>char       escape that particular char
+              (for instance to specify the chars "<code>.[]()</code>" <em>etc.</em>)
+</pre>
+          </td>
+        </tr>
+      </table>
+
+      <p>For more information about regular expressions either have
+      a look at your local regex(3) manpage or its
+      <code>src/regex/regex.3</code> copy in the Apache 1.3
+      distribution. If you are interested in more detailed
+      information about regular expressions and their variants
+      (POSIX regex, Perl regex, <em>etc.</em>) have a look at the
+      following dedicated book on this topic:</p>
+
+      <blockquote>
+        <em>Mastering Regular Expressions</em><br />
+         Jeffrey E.F. Friedl<br />
+         Nutshell Handbook Series<br />
+         O'Reilly &amp; Associates, Inc. 1997<br />
+         ISBN 1-56592-257-3<br />
+      </blockquote>
+
+      <p>Additionally in mod_rewrite the NOT character
+      ('<code>!</code>') is a possible pattern prefix. This gives
+      you the ability to negate a pattern; to say, for instance:
+      ``<em>if the current URL does <strong>NOT</strong> match this
+      pattern</em>''. This can be used for exceptional cases, where
+      it is easier to match the negative pattern, or as a last
+      default rule.</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Notice:</strong> When using the NOT character
+          to negate a pattern you cannot have grouped wildcard
+          parts in the pattern. This is impossible because when the
+          pattern does NOT match, there are no contents for the
+          groups. In consequence, if negated patterns are used, you
+          cannot use <code>$N</code> in the substitution
+          string!</td>
+        </tr>
+      </table>
+
+      <p><a id="rhs" name="rhs"><em>Substitution</em></a> of a
+      rewriting rule is the string which is substituted for (or
+      replaces) the original URL for which <em>Pattern</em>
+      matched. Beside plain text you can use</p>
+
+      <ol>
+        <li>back-references <code>$N</code> to the RewriteRule
+        pattern</li>
+
+        <li>back-references <code>%N</code> to the last matched
+        RewriteCond pattern</li>
+
+        <li>server-variables as in rule condition test-strings
+        (<code>%{VARNAME}</code>)</li>
+
+        <li><a href="#mapfunc">mapping-function</a> calls
+        (<code>${mapname:key|default}</code>)</li>
+      </ol>
+      Back-references are <code>$</code><strong>N</strong>
+      (<strong>N</strong>=0..9) identifiers which will be replaced
+      by the contents of the <strong>N</strong>th group of the
+      matched <em>Pattern</em>. The server-variables are the same
+      as for the <em>TestString</em> of a <code>RewriteCond</code>
+      directive. The mapping-functions come from the
+      <code>RewriteMap</code> directive and are explained there.
+      These three types of variables are expanded in the order of
+      the above list. 
+
+      <p>As already mentioned above, all the rewriting rules are
+      applied to the <em>Substitution</em> (in the order of
+      definition in the config file). The URL is <strong>completely
+      replaced</strong> by the <em>Substitution</em> and the
+      rewriting process goes on until there are no more rules
+      unless explicitly terminated by a
+      <code><strong>L</strong></code> flag - see below.</p>
+
+      <p>There is a special substitution string named
+      '<code>-</code>' which means: <strong>NO
+      substitution</strong>! Sounds silly? No, it is useful to
+      provide rewriting rules which <strong>only</strong> match
+      some URLs but do no substitution, <em>e.g.</em>, in
+      conjunction with the <strong>C</strong> (chain) flag to be
+      able to have more than one pattern to be applied before a
+      substitution occurs.</p>
+
+      <p>One more note: You can even create URLs in the
+      substitution string containing a query string part. Just use
+      a question mark inside the substitution string to indicate
+      that the following stuff should be re-injected into the
+      QUERY_STRING. When you want to erase an existing query
+      string, end the substitution string with just the question
+      mark.</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Note</strong>: There is a special feature:
+          When you prefix a substitution field with
+          <code>http://</code><em>thishost</em>[<em>:thisport</em>]
+          then <strong>mod_rewrite</strong> automatically strips it
+          out. This auto-reduction on implicit external redirect
+          URLs is a useful and important feature when used in
+          combination with a mapping-function which generates the
+          hostname part. Have a look at the first example in the
+          example section below to understand this.</td>
+        </tr>
+      </table>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Remember:</strong> An unconditional external
+          redirect to your own server will not work with the prefix
+          <code>http://thishost</code> because of this feature. To
+          achieve such a self-redirect, you have to use the
+          <strong>R</strong>-flag (see below).</td>
+        </tr>
+      </table>
+
+      <p>Additionally you can set special flags for
+      <em>Substitution</em> by appending</p>
+
+      <blockquote>
+        <strong><code>[</code><em>flags</em><code>]</code></strong>
+      </blockquote>
+      as the third argument to the <code>RewriteRule</code>
+      directive. <em>Flags</em> is a comma-separated list of the
+      following flags: 
+
+      <ul>
+        <li>
+          '<strong><code>redirect|R</code>
+          [=<em>code</em>]</strong>' (force <a id="redirect"
+          name="redirect"><strong>r</strong>edirect</a>)<br />
+           Prefix <em>Substitution</em> with
+          <code>http://thishost[:thisport]/</code> (which makes the
+          new URL a URI) to force a external redirection. If no
+          <em>code</em> is given a HTTP response of 302 (MOVED
+          TEMPORARILY) is used. If you want to use other response
+          codes in the range 300-400 just specify them as a number
+          or use one of the following symbolic names:
+          <code>temp</code> (default), <code>permanent</code>,
+          <code>seeother</code>. Use it for rules which should
+          canonicalize the URL and give it back to the client,
+          <em>e.g.</em>, translate ``<code>/~</code>'' into
+          ``<code>/u/</code>'' or always append a slash to
+          <code>/u/</code><em>user</em>, etc.<br />
+           
+
+          <p><strong>Note:</strong> When you use this flag, make
+          sure that the substitution field is a valid URL! If not,
+          you are redirecting to an invalid location! And remember
+          that this flag itself only prefixes the URL with
+          <code>http://thishost[:thisport]/</code>, rewriting
+          continues. Usually you also want to stop and do the
+          redirection immediately. To stop the rewriting you also
+          have to provide the 'L' flag.</p>
+        </li>
+
+        <li>'<strong><code>forbidden|F</code></strong>' (force URL
+        to be <strong>f</strong>orbidden)<br />
+         This forces the current URL to be forbidden,
+        <em>i.e.</em>, it immediately sends back a HTTP response of
+        403 (FORBIDDEN). Use this flag in conjunction with
+        appropriate RewriteConds to conditionally block some
+        URLs.</li>
+
+        <li>'<strong><code>gone|G</code></strong>' (force URL to be
+        <strong>g</strong>one)<br />
+         This forces the current URL to be gone, <em>i.e.</em>, it
+        immediately sends back a HTTP response of 410 (GONE). Use
+        this flag to mark pages which no longer exist as gone.</li>
+
+        <li>
+          '<strong><code>proxy|P</code></strong>' (force
+          <strong>p</strong>roxy)<br />
+           This flag forces the substitution part to be internally
+          forced as a proxy request and immediately (<em>i.e.</em>,
+          rewriting rule processing stops here) put through the <a
+          href="mod_proxy.html">proxy module</a>. You have to make
+          sure that the substitution string is a valid URI
+          (<em>e.g.</em>, typically starting with
+          <code>http://</code><em>hostname</em>) which can be
+          handled by the Apache proxy module. If not you get an
+          error from the proxy module. Use this flag to achieve a
+          more powerful implementation of the <a
+          href="mod_proxy.html#proxypass">ProxyPass</a> directive,
+          to map some remote stuff into the namespace of the local
+          server. 
+
+          <p>Notice: To use this functionality make sure you have
+          the proxy module compiled into your Apache server
+          program. If you don't know please check whether
+          <code>mod_proxy.c</code> is part of the ``<code>httpd
+          -l</code>'' output. If yes, this functionality is
+          available to mod_rewrite. If not, then you first have to
+          rebuild the ``<code>httpd</code>'' program with mod_proxy
+          enabled.</p>
+        </li>
+
+        <li>'<strong><code>last|L</code></strong>'
+        (<strong>l</strong>ast rule)<br />
+         Stop the rewriting process here and don't apply any more
+        rewriting rules. This corresponds to the Perl
+        <code>last</code> command or the <code>break</code> command
+        from the C language. Use this flag to prevent the currently
+        rewritten URL from being rewritten further by following
+        rules. For example, use it to rewrite the root-path URL
+        ('<code>/</code>') to a real one, <em>e.g.</em>,
+        '<code>/e/www/</code>'.</li>
+
+        <li>'<strong><code>next|N</code></strong>'
+        (<strong>n</strong>ext round)<br />
+         Re-run the rewriting process (starting again with the
+        first rewriting rule). Here the URL to match is again not
+        the original URL but the URL from the last rewriting rule.
+        This corresponds to the Perl <code>next</code> command or
+        the <code>continue</code> command from the C language. Use
+        this flag to restart the rewriting process, <em>i.e.</em>,
+        to immediately go to the top of the loop.<br />
+         <strong>But be careful not to create an infinite
+        loop!</strong></li>
+
+        <li>'<strong><code>chain|C</code></strong>'
+        (<strong>c</strong>hained with next rule)<br />
+         This flag chains the current rule with the next rule
+        (which itself can be chained with the following rule,
+        <em>etc.</em>). This has the following effect: if a rule
+        matches, then processing continues as usual, <em>i.e.</em>,
+        the flag has no effect. If the rule does
+        <strong>not</strong> match, then all following chained
+        rules are skipped. For instance, use it to remove the
+        ``<code>.www</code>'' part inside a per-directory rule set
+        when you let an external redirect happen (where the
+        ``<code>.www</code>'' part should not to occur!).</li>
+
+        <li>
+        '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
+        (force MIME <strong>t</strong>ype)<br />
+         Force the MIME-type of the target file to be
+        <em>MIME-type</em>. For instance, this can be used to
+        simulate the <code>mod_alias</code> directive
+        <code>ScriptAlias</code> which internally forces all files
+        inside the mapped directory to have a MIME type of
+        ``<code>application/x-httpd-cgi</code>''.</li>
+
+        <li>
+          '<strong><code>nosubreq|NS</code></strong>' (used only if
+          <strong>n</strong>o internal
+          <strong>s</strong>ub-request)<br />
+           This flag forces the rewriting engine to skip a
+          rewriting rule if the current request is an internal
+          sub-request. For instance, sub-requests occur internally
+          in Apache when <code>mod_include</code> tries to find out
+          information about possible directory default files
+          (<code>index.xxx</code>). On sub-requests it is not
+          always useful and even sometimes causes a failure to if
+          the complete set of rules are applied. Use this flag to
+          exclude some rules.<br />
+           
+
+          <p>Use the following rule for your decision: whenever you
+          prefix some URLs with CGI-scripts to force them to be
+          processed by the CGI-script, the chance is high that you
+          will run into problems (or even overhead) on
+          sub-requests. In these cases, use this flag.</p>
+        </li>
+
+        <li>'<strong><code>nocase|NC</code></strong>'
+        (<strong>n</strong>o <strong>c</strong>ase)<br />
+         This makes the <em>Pattern</em> case-insensitive,
+        <em>i.e.</em>, there is no difference between 'A-Z' and
+        'a-z' when <em>Pattern</em> is matched against the current
+        URL.</li>
+
+        <li>'<strong><code>qsappend|QSA</code></strong>'
+        (<strong>q</strong>uery <strong>s</strong>tring
+        <strong>a</strong>ppend)<br />
+         This flag forces the rewriting engine to append a query
+        string part in the substitution string to the existing one
+        instead of replacing it. Use this when you want to add more
+        data to the query string via a rewrite rule.</li>
+
+        <li>
+          '<strong><code>noescape|NE</code></strong>'
+          (<strong>n</strong>o URI <strong>e</strong>scaping of
+          output)<br />
+           This flag keeps mod_rewrite from applying the usual URI
+          escaping rules to the result of a rewrite. Ordinarily,
+          special characters (such as '%', '$', ';', and so on)
+          will be escaped into their hexcode equivalents ('%25',
+          '%24', and '%3B', respectively); this flag prevents this
+          from being done. This allows percent symbols to appear in
+          the output, as in 
+<pre>
+    RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
+   
+</pre>
+          which would turn '<code>/foo/zed</code>' into a safe
+          request for '<code>/bar?arg=P1=zed</code>'. 
+
+          <table width="70%" border="0" bgcolor="#E0E0F0"
+          cellspacing="0" cellpadding="10">
+            <tr>
+              <td><strong>Notice:</strong> The
+              <code>noescape</code> flag is only available with
+              Apache 1.3.20 and later versions.</td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          '<strong><code>passthrough|PT</code></strong>'
+          (<strong>p</strong>ass <strong>t</strong>hrough to next
+          handler)<br />
+           This flag forces the rewriting engine to set the
+          <code>uri</code> field of the internal
+          <code>request_rec</code> structure to the value of the
+          <code>filename</code> field. This flag is just a hack to
+          be able to post-process the output of
+          <code>RewriteRule</code> directives by
+          <code>Alias</code>, <code>ScriptAlias</code>,
+          <code>Redirect</code>, <em>etc.</em> directives from
+          other URI-to-filename translators. A trivial example to
+          show the semantics: If you want to rewrite
+          <code>/abc</code> to <code>/def</code> via the rewriting
+          engine of <code>mod_rewrite</code> and then
+          <code>/def</code> to <code>/ghi</code> with
+          <code>mod_alias</code>: 
+<pre>
+    RewriteRule ^/abc(.*)  /def$1 [PT]
+    Alias       /def       /ghi
+   
+</pre>
+          If you omit the <code>PT</code> flag then
+          <code>mod_rewrite</code> will do its job fine,
+          <em>i.e.</em>, it rewrites <code>uri=/abc/...</code> to
+          <code>filename=/def/...</code> as a full API-compliant
+          URI-to-filename translator should do. Then
+          <code>mod_alias</code> comes and tries to do a
+          URI-to-filename transition which will not work. 
+
+          <p>Note: <strong>You have to use this flag if you want to
+          intermix directives of different modules which contain
+          URL-to-filename translators</strong>. The typical example
+          is the use of <code>mod_alias</code> and
+          <code>mod_rewrite</code>..</p>
+        </li>
+
+        <li>'<strong><code>skip|S</code></strong>=<em>num</em>'
+        (<strong>s</strong>kip next rule(s))<br />
+         This flag forces the rewriting engine to skip the next
+        <em>num</em> rules in sequence when the current rule
+        matches. Use this to make pseudo if-then-else constructs:
+        The last rule of the then-clause becomes
+        <code>skip=N</code> where N is the number of rules in the
+        else-clause. (This is <strong>not</strong> the same as the
+        'chain|C' flag!)</li>
+
+        <li>
+        '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
+        (set <strong>e</strong>nvironment variable)<br />
+         This forces an environment variable named <em>VAR</em> to
+        be set to the value <em>VAL</em>, where <em>VAL</em> can
+        contain regexp backreferences <code>$N</code> and
+        <code>%N</code> which will be expanded. You can use this
+        flag more than once to set more than one variable. The
+        variables can be later dereferenced in many situations, but
+        usually from within XSSI (via <code>&lt;!--#echo
+        var="VAR"--&gt;</code>) or CGI (<em>e.g.</em>
+        <code>$ENV{'VAR'}</code>). Additionally you can dereference
+        it in a following RewriteCond pattern via
+        <code>%{ENV:VAR}</code>. Use this to strip but remember
+        information from URLs.</li>
+      </ul>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td>
+            <strong>Note:</strong> Never forget that
+            <em>Pattern</em> is applied to a complete URL in
+            per-server configuration files. <strong>But in
+            per-directory configuration files, the per-directory
+            prefix (which always is the same for a specific
+            directory!) is automatically <em>removed</em> for the
+            pattern matching and automatically <em>added</em> after
+            the substitution has been done.</strong> This feature
+            is essential for many sorts of rewriting, because
+            without this prefix stripping you have to match the
+            parent directory which is not always possible. 
+
+            <p>There is one exception: If a substitution string
+            starts with ``<code>http://</code>'' then the directory
+            prefix will <strong>not</strong> be added and an
+            external redirect or proxy throughput (if flag
+            <strong>P</strong> is used!) is forced!</p>
+          </td>
+        </tr>
+      </table>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>Note:</strong> To enable the rewriting engine
+          for per-directory configuration files you need to set
+          ``<code>RewriteEngine On</code>'' in these files
+          <strong>and</strong> ``<code>Options
+          FollowSymLinks</code>'' must be enabled. If your
+          administrator has disabled override of
+          <code>FollowSymLinks</code> for a user's directory, then
+          you cannot use the rewriting engine. This restriction is
+          needed for security reasons.</td>
+        </tr>
+      </table>
+
+      <p>Here are all possible substitution combinations and their
+      meanings:</p>
+
+      <p><strong>Inside per-server configuration
+      (<code>httpd.conf</code>)<br />
+       for request ``<code>GET
+      /somepath/pathinfo</code>'':</strong><br />
+      </p>
+
+      <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+        <tr>
+          <td>
+<pre>
+<strong>Given Rule</strong>                                      <strong>Resulting Substitution</strong>
+----------------------------------------------  ----------------------------------
+^/somepath(.*) otherpath$1                      not supported, because invalid!
+
+^/somepath(.*) otherpath$1  [R]                 not supported, because invalid!
+
+^/somepath(.*) otherpath$1  [P]                 not supported, because invalid!
+----------------------------------------------  ----------------------------------
+^/somepath(.*) /otherpath$1                     /otherpath/pathinfo
+
+^/somepath(.*) /otherpath$1 [R]                 http://thishost/otherpath/pathinfo
+                                                via external redirection
+
+^/somepath(.*) /otherpath$1 [P]                 not supported, because silly!
+----------------------------------------------  ----------------------------------
+^/somepath(.*) http://thishost/otherpath$1      /otherpath/pathinfo
+
+^/somepath(.*) http://thishost/otherpath$1 [R]  http://thishost/otherpath/pathinfo
+                                                via external redirection
+
+^/somepath(.*) http://thishost/otherpath$1 [P]  not supported, because silly!
+----------------------------------------------  ----------------------------------
+^/somepath(.*) http://otherhost/otherpath$1     http://otherhost/otherpath/pathinfo
+                                                via external redirection
+
+^/somepath(.*) http://otherhost/otherpath$1 [R] http://otherhost/otherpath/pathinfo
+                                                via external redirection
+                                                (the [R] flag is redundant)
+
+^/somepath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
+                                                via internal proxy
+</pre>
+          </td>
+        </tr>
+      </table>
+
+      <p><strong>Inside per-directory configuration for
+      <code>/somepath</code><br />
+       (<em>i.e.</em>, file <code>.htaccess</code> in dir
+      <code>/physical/path/to/somepath</code> containing
+      <code>RewriteBase /somepath</code>)<br />
+       for request ``<code>GET
+      /somepath/localpath/pathinfo</code>'':</strong><br />
+      </p>
+
+      <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+        <tr>
+          <td>
+<pre>
+<strong>Given Rule</strong>                                      <strong>Resulting Substitution</strong>
+----------------------------------------------  ----------------------------------
+^localpath(.*) otherpath$1                      /somepath/otherpath/pathinfo
+
+^localpath(.*) otherpath$1  [R]                 http://thishost/somepath/otherpath/pathinfo
+                                                via external redirection
+
+^localpath(.*) otherpath$1  [P]                 not supported, because silly!
+----------------------------------------------  ----------------------------------
+^localpath(.*) /otherpath$1                     /otherpath/pathinfo
+
+^localpath(.*) /otherpath$1 [R]                 http://thishost/otherpath/pathinfo
+                                                via external redirection
+
+^localpath(.*) /otherpath$1 [P]                 not supported, because silly!
+----------------------------------------------  ----------------------------------
+^localpath(.*) http://thishost/otherpath$1      /otherpath/pathinfo
+
+^localpath(.*) http://thishost/otherpath$1 [R]  http://thishost/otherpath/pathinfo
+                                                via external redirection
+
+^localpath(.*) http://thishost/otherpath$1 [P]  not supported, because silly!
+----------------------------------------------  ----------------------------------
+^localpath(.*) http://otherhost/otherpath$1     http://otherhost/otherpath/pathinfo
+                                                via external redirection
+
+^localpath(.*) http://otherhost/otherpath$1 [R] http://otherhost/otherpath/pathinfo
+                                                via external redirection
+                                                (the [R] flag is redundant)
+
+^localpath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
+                                                via internal proxy
+</pre>
+          </td>
+        </tr>
+      </table>
+
+      <p><strong>Example:</strong></p>
+
+      <blockquote>
+        We want to rewrite URLs of the form 
+
+        <blockquote>
+          <code>/</code> <em>Language</em> <code>/~</code>
+          <em>Realname</em> <code>/.../</code> <em>File</em>
+        </blockquote>
+        into 
+
+        <blockquote>
+          <code>/u/</code> <em>Username</em> <code>/.../</code>
+          <em>File</em> <code>.</code> <em>Language</em>
+        </blockquote>
+
+        <p>We take the rewrite mapfile from above and save it under
+        <code>/path/to/file/map.txt</code>. Then we only have to
+        add the following lines to the Apache server configuration
+        file:</p>
+
+        <blockquote>
+<pre>
+RewriteLog   /path/to/file/rewrite.log
+RewriteMap   real-to-user               txt:/path/to/file/map.txt
+RewriteRule  ^/([^/]+)/~([^/]+)/(.*)$   /u/${real-to-user:$2|nobody}/$3.$1
+</pre>
+        </blockquote>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <center>
+        <h1><a id="Miscelleneous"
+        name="Miscelleneous">Miscellaneous</a></h1>
+      </center>
+      <hr noshade="noshade" size="1" />
+
+      <h2><a id="EnvVar" name="EnvVar">Environment
+      Variables</a></h2>
+      This module keeps track of two additional (non-standard)
+      CGI/SSI environment variables named <code>SCRIPT_URL</code>
+      and <code>SCRIPT_URI</code>. These contain the
+      <em>logical</em> Web-view to the current resource, while the
+      standard CGI/SSI variables <code>SCRIPT_NAME</code> and
+      <code>SCRIPT_FILENAME</code> contain the <em>physical</em>
+      System-view. 
+
+      <p>Notice: These variables hold the URI/URL <em>as they were
+      initially requested</em>, <em>i.e.</em>, <em>before</em> any
+      rewriting. This is important because the rewriting process is
+      primarily used to rewrite logical URLs to physical
+      pathnames.</p>
+
+      <p><strong>Example:</strong></p>
+
+      <blockquote>
+<pre>
+SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
+SCRIPT_FILENAME=/u/rse/.www/index.html
+SCRIPT_URL=/u/rse/
+SCRIPT_URI=http://en1.engelschall.com/u/rse/
+</pre>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h2><a id="Solutions" name="Solutions">Practical
+      Solutions</a></h2>
+      We also have an <a href="../misc/rewriteguide.html">URL
+      Rewriting Guide</a> available, which provides a collection of
+      practical solutions for URL-based problems. There you can
+      find real-life rulesets and additional information about
+      mod_rewrite. 
+    </blockquote>
+    <!--#include virtual="footer.html" -->
+    <!-- page indentation -->
+    <!--/%hypertext -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_rewrite.html.html b/htdocs/manual/mod/mod_rewrite.html.html
new file mode 100644 (file)
index 0000000..077dc92
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_rewrite.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_rewrite.html.ja.jis b/htdocs/manual/mod/mod_rewrite.html.ja.jis
new file mode 100644 (file)
index 0000000..60ca78c
--- /dev/null
@@ -0,0 +1,2078 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--%hypertext -->
+<!-- mod_rewrite.html                                 -->
+<!-- Documentation for the mod_rewrite Apache module  -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_rewrite</title>
+  </head>
+  <!-- English revision: 1.65 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <blockquote>
+      <!-- page indentation -->
+      <!--#include virtual="header.html" -->
+      <br />
+
+      <h1 align="center">mod_rewrite \e$B%b%8%e!<%k\e(B<br />
+       URL \e$B=q$-49$(%(%s%8%s\e(B</h1>
+
+      <p>\e$B$3$N%b%8%e!<%k$O!"MW5a$5$l$?\e(B URL
+      \e$B$r%j%"%k%?%$%`$G=q$-49$($k$?$a$N!"\e(B
+      \e$B%k!<%k%Y!<%9$N=q$-49$(%(%s%8%s$rDs6!$7$^$9!#\e(B
+      </p>
+
+      <p><a href="module-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="module-dict.html#SourceFile"
+      rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+      mod_rewrite.c<br />
+       <a href="module-dict.html#ModuleIdentifier"
+      rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+      rewrite_module<br />
+       <a href="module-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2 \e$B0J9_$G;HMQ2DG=\e(B</p>
+      <hr noshade="noshade" size="1" />
+      <br />
+
+      <h2>\e$B35MW\e(B</h2>
+
+      <blockquote>
+        <blockquote>
+          <blockquote>
+            <em>`` mod_rewrite \e$B$N$9$P$i$7$$$H$3$m$O!"\e(B
+            Sendmail \e$B$N$h$&$J@_Dj@-$H=@Fp@-$rM?$($F$/$l$k$H$3$m$@$m$&!#\e(B
+            \e$B$^$?!"\e(Bmod_rewrite \e$B$N$h$/$J$$$H$3$m$O!"\e(B
+            Sendmail \e$B$N$h$&$J@_Dj@-$H=@Fp@-$rM?$($F$/$l$k$H$3$m$@$m$&!#\e(B''</em>
+
+            <div align="right">
+              -- Brian Behlendorf<br />
+               Apache Group
+            </div>
+          </blockquote>
+        </blockquote>
+      </blockquote>
+
+      <blockquote>
+        <blockquote>
+          <blockquote>
+            <em>`` \e$BKDBg$J@_DjNc$d%I%-%e%a%s%H$,$"$k$K$b$+$+$o$i$:!"\e(B
+            mod_rewrite \e$B$O9uKb=Q$G$"$k!#$+$J$j%$%1$F$k$C$]$$9uKb=Q$@$,!"\e(B
+            \e$B$d$C$Q$j9uKb=Q$G$"$k!#\e(B''</em> 
+
+            <div align="right">
+              -- Brian Moore<br />
+               bem@news.cmc.net
+            </div>
+          </blockquote>
+        </blockquote>
+      </blockquote>
+      URL \e$B$rA`:n$9$k$?$a$N%9%$%9@=$N%"!<%_!<%J%$%U!"\e(Bmod_rewrite
+      \e$B$X$h$&$3$=\e(B!
+
+      <p>\e$B$3$N%b%8%e!<%k$O!"\e(B(\e$B@55,I=8=%Q!<%5$K4p$E$/\e(B)
+      \e$B%k!<%k%Y!<%9$N=q$-49$(%(%s%8%s$r;H$$!"MW5a$5$l$?\e(B URL
+      \e$B$rE,59=q$-49$($^$9!#%5%]!<%H$9$k%k!<%k$N?t!"\e(B
+      \e$B$*$h$S3F%k!<%k$rE,MQ$9$k:]$N%k!<%k>r7o$N?t$K@)8B$O$J$/!"\e(B
+      \e$BK\Ev$K=@Fp$G$+$D6/NO$J\e(B URL \e$BA`:n%a%+%K%:%`$rDs6!$7$^$9!#$3$N\e(B URL
+      \e$BA`:n$K@hN)$A!"<!$N$h$&$K$$$m$$$m$JI>2A$r9T$&$3$H$,$G$-$^$9!#\e(B
+      \e$BNc$($P%5!<%PJQ?t!"4D6-JQ?t!"\e(BHTTP \e$B%X%C%@!"%?%$%`%9%?%s%W!"\e(B
+      \e$B$5$i$K30It%G!<%?%Y!<%9$N8!:w7k2L$^$G$rI>2A$NBP>]$H$7$F!"\e(B
+      \e$B3F<o$N%U%)!<%^%C%H$r;H$C$?:YN3EY$N\e(B URL \e$B%^%C%A%s%0$r<B8=$G$-$^$9!#\e(B
+      </p>
+
+      <p>\e$B$3$N%b%8%e!<%k$O!"%5!<%PC10L$N%3%s%F%-%9%H\e(B
+      (<code>httpd.conf</code>) \e$B$*$h$S%G%#%l%/%H%jC10L$N%3%s%F%-%9%H\e(B
+      (<code>.htaccess</code>) \e$B$K$*$$$F\e(B (PATH-INFO \e$BItJ,$r4^$`\e(B) \e$B%U%k\e(B
+      URL \e$B$KBP$9$kA`:n$r9T$$$^$9$,!"\e(B
+      \e$B$5$i$K7k2L$H$7$F%/%(%j!<J8;zNsItJ,$r@8@.$9$k$3$H$b$G$-$^$9!#\e(B
+      \e$B=PNO$5$l$?7k2L$rFbIt$N%5%V%W%m%;%9$d30It%j%/%(%9%H$N%j%@%$%l%/%7%g%s!"\e(B
+      \e$B$5$i$K$OFbIt$N%W%m%-%7=hM}%k!<%A%s$KEO$9$3$H$b$G$-$^$9!#\e(B
+      </p>
+
+      <p>\e$B$?$@!"$3$l$i$9$Y$F$N5!G=$d=@Fp@-$,!"\e(B
+      \e$B7gE@$G$"$kJ#;($5$N85$K$b$J$C$F$$$^$9!#$J$N$G!"$3$N%b%8%e!<%k\e(B
+      \e$BA4BN$r0lF|DxEY$G3P$($h$&$J$I$H$O;W$o$J$$$[$&$,$$$$$G$7$g$&!#\e(B
+      </p>
+
+      <p>\e$B$3$N%b%8%e!<%k$O\e(B 1996 \e$BG/$N\e(B 4 \e$B7n$K\e(B</p>
+
+      <blockquote>
+        <a href="http://www.engelschall.com/"><code>Ralf S.
+        Engelschall</code></a><br />
+         <a
+        href="mailto:rse@engelschall.com"><code>rse@engelschall.com</code></a><br />
+         <a
+        href="http://www.engelschall.com/"><code>www.engelschall.com</code></a>
+      </blockquote>
+
+      <p>\e$B$i$K$h$j9M0F$5$l$F%*%j%8%J%k$,=q$+$l!"\e(B<br />
+      1997 \e$BG/$N\e(B 7 \e$B7n$K!"\e(BThe Apache Group
+      \e$B$KBP$7$FFH@jE*$KB#Dh$5$l$^$7$?!#\e(B</p>
+      <hr noshade="noshade" size="1" />
+
+      <h2>\e$BL\<!\e(B</h2>
+
+      <p><strong>\e$BFbIt=hM}\e(B</strong></p>
+
+      <ul>
+        <li><a href="#InternalAPI">API \e$B%U%'!<%:\e(B</a></li>
+
+        <li><a href="#InternalRuleset">\e$B%k!<%k%;%C%H=hM}\e(B</a></li>
+
+        <li><a href="#InternalBackRefs">\e$B@55,I=8=$N8eJ};2>H$,2DG=\e(B</a></li>
+      </ul>
+
+      <p><strong>\e$B@_Dj%G%#%l%/%F%#%V\e(B</strong></p>
+
+      <ul>
+        <li><a href="#RewriteEngine">RewriteEngine</a></li>
+
+        <li><a href="#RewriteOptions">RewriteOptions</a></li>
+
+        <li><a href="#RewriteLog">RewriteLog</a></li>
+
+        <li><a href="#RewriteLogLevel">RewriteLogLevel</a></li>
+
+        <li><a href="#RewriteLock">RewriteLock</a></li>
+
+        <li><a href="#RewriteMap">RewriteMap</a></li>
+
+        <li><a href="#RewriteBase">RewriteBase</a></li>
+
+        <li><a href="#RewriteCond">RewriteCond</a></li>
+
+        <li><a href="#RewriteRule">RewriteRule</a></li>
+      </ul>
+      <strong>\e$B$=$NB>\e(B</strong> 
+
+      <ul>
+        <li><a href="#EnvVar">\e$B4D6-JQ?t\e(B</a></li>
+
+        <li><a href="#Solutions">\e$B<BNc\e(B</a></li>
+      </ul>
+      <hr noshade="noshade" size="1" />
+
+      <center>
+        <h1><a id="Internal" name="Internal">\e$BFbIt=hM}\e(B</a></h1>
+      </center>
+      <hr noshade="noshade" size="1" />
+
+      <p>\e$B$3$N%b%8%e!<%k$NFbIt=hM}$O$H$F$bJ#;($G$9$,!"\e(B
+      \e$B$"$j$,$A$J%_%9$rHr$1!"$^$?A45!G=$r3hMQ$G$-$k$h$&$K!"\e(B
+      \e$BJ?6QE*%f!<%6$KBP$7$F$b0lEY$O@bL@$7$F$*$/I,MW$,$"$j$^$9!#\e(B
+      </p>
+
+      <h2><a id="InternalAPI" name="InternalAPI">API \e$B%U%'!<%:\e(B</a></h2>
+
+      <p>\e$B$^$:$O!"\e(BApache \e$B$,\e(B HTTP \e$B%j%/%(%9%H$r=hM}$9$k:]$K!"\e(B
+      \e$B$3$N%b%8%e!<%k$,$3$N%U%'!<%:$G9T$&$3$H$rM}2r$7$F$*$+$J$1$l$P$J$j$^$;$s!#\e(B
+      Apache API \e$B$G$O!"$3$l$i$N3F%U%'!<%:$KBP$9$k%U%C%/$,Ds6!$5$l$F$$$^$9!#\e(B
+      mod_rewrite \e$B$O0J2<$NFs$D$N%U%C%/$r;H$$$^$9\e(B: HTTP
+      \e$B%j%/%(%9%H$,FI$^$l$?8e$G$+$D$9$Y$F$NG'>Z$,3+;O$5$l$kA0$K;H$o$l$k\e(B
+      URL-to-filename \e$BJQ49%U%C%/!"$=$7$F!"G'>Z%U%'!<%:$N8e$G\e(B
+      \e$B%G%#%l%/%H%j$4$H$N@_Dj%U%!%$%k\e(B (<code>.htaccess</code>)
+      \e$B$,FI$^$l$?8e!"$^$@\e(B content \e$B%O%s%I%i$,M-8z$K$J$kA0$K5/F0$5$l$k\e(B
+      Fixup \e$B%U%C%/$G$9!#\e(B
+      </p>
+
+      <p>\e$B$=$7$F!"$"$k%j%/%(%9%H$,F~$C$FMh$F!"\e(BApache \e$B$,$3$l$KBP1~$9$k%5!<%P\e(B
+      (\e$B<c$7$/$O%P!<%A%c%k%5!<%P\e(B) \e$B$r7hDj$7$?8e$K!"=q$-49$(%(%s%8%s$O!"\e(B
+      \e$B%5!<%P$4$H$N@_Dj$r85$K!"\e(BURL-to-filename \e$B%U%'!<%:$G$9$Y$F$N\e(B
+      mod_rewrite \e$B%G%#%l%/%F%#%V$N=hM}$r3+;O$7$^$9!#\e(B
+      \e$B$=$N8eB?>/$N%9%F%C%W$r7P$F:G8e$N%G!<%?%G%#%l%/%H%j$,8+$D$+$C$?;~!"\e(B
+      \e$B%G%#%l%/%H%j$4$H$N\e(B mod_rewrite \e$B@_Dj%G%#%l%/%F%#%V$,\e(B Fixup
+      \e$B%U%'!<%:$G5/F0$5$l$^$9!#\e(B
+      \e$B$3$N3F!9$N%?%$%_%s%0$N4V$KFC$KL@$i$+$J0c$$$O$J$$$N$G$9$,!"$=$l$G$b\e(B
+      mod_rewrite \e$B$O$$$:$l$N;~$K$b3F\e(B URL \e$B$r?7$7$$\e(B URL
+      \e$B$^$?$O%U%!%$%kL>$K=q$-49$($^$9!#$3$l$O$3$N\e(B API
+      \e$B$,%G%6%$%s$5$l$?;~$KA[Dj$5$l$?;H$$J}$G$O$J$$$N$G$9$,!"\e(BApache 1.x
+      \e$B$K$*$$$F$O$3$l$,\e(B mod_rewrite \e$B$,F0$1$kM#0l$NJ}K!$G$7$?!#\e(B
+      \e$B$3$NE@$r$h$j$O$C$-$j$5$;$k$?$a$K!"0J2<$N\e(B 2
+      \e$BE@$K$D$$$F3P$($F$*$$$F$/$@$5$$\e(B:</p>
+
+      <ol>
+        <li>mod_rewrite \e$B$O\e(B URL \e$B$r\e(B URL \e$B$X!"\e(BURL \e$B$r%U%!%$%kL>$X!"\e(B
+        \e$B$5$i$K%U%!%$%kL>$r%U%!%$%kL>$X$H=q$-49$($^$9$,!"\e(BAPI
+        \e$B$G$O8=:_$N$H$3$m\e(B URL-to-filename \e$B%U%C%/$N$_$rDs6!$7$F$$$^$9!#\e(B
+        Apache 2.0 \e$B$G$O$=$l$^$G$K$O$J$+$C$?Fs$D$N%U%C%/$,DI2C$5$l!"\e(B
+        \e$B=hM}$,$h$jL@3N$K$J$j$^$7$?!#\e(B
+        \e$B$7$+$7$3$NE@$G$O%f!<%6$K$H$C$F$NITMx1W$O$J$/!"\e(B
+        \e$BC1$K3P$($F$*$/$Y$-;v<B$H$7$F$O\e(B: Apache \e$B$O\e(B URL-to-filename
+        \e$B%U%C%/$K$*$$$F\e(B API \e$B$,0U?^$9$k0J>e$N$3$H$r9T$$$^$9!#\e(B</li>
+
+        <li>mod_rewrite \e$B$G$O!"?.$8$i$l$J$$$3$H$K!"\e(BURL
+          \e$B$,%U%!%$%kL>$KJQ49$5$l$F$+$i$:$C$H8e$KC)$jCe$/$H$3$m$K$"$k!"\e(B
+          \e$B%G%#%l%/%H%j$4$H$N%3%s%F%-%9%H\e(B<em>\e$B$9$J$o$A\e(B</em>
+          <code>.htaccess</code> \e$B%U%!%$%k$NCf$G\e(B URL
+          \e$BA`:n$r9T$($k$h$&$K$J$C$F$$$9!#\e(B<code>.htaccess</code>
+          \e$B%U%!%$%k$O%U%!%$%k%7%9%F%`Cf$K$"$k$?$a$K\e(B
+          \e$B=hM}$NN.$l$O$9$G$K$3$NCJ3,$^$GE~C#$7$F$$$k$N$G!"\e(B
+          \e$B$3$N$h$&$K$J$C$F$$$k$N$G$9!#$D$^$j$3$N;~E@$G\e(B API
+          \e$B%U%'!<%:$K=>$($P!"$I$N\e(B URL
+          \e$B$rA`:n$9$k$K$b4{$KCY$-$K<:$7$F$$$k$N$G$9!#\e(B
+          \e$B$3$N7\$HMqLdBj$rBG3+$9$k$?$a!"\e(Bmod_rewrite
+          \e$B$G$O$A$g$C$H$7$?%H%j%C%/$r;H$C$F$$$^$9\e(B:
+          \e$B%G%#%l%/%H%j$4$H$N%3%s%F%-%9%H$G\e(B URL / \e$B%U%!%$%kL>$NA`:n$r9T$&:]!"\e(B
+          mod_rewrite \e$B$O$^$:%U%!%$%kL>$rBP1~$9$k\e(B URL \e$B$KLa$7\e(B
+          (\e$B$3$l$ODL>oIT2DG=$G$9$,!"$3$l$r2DG=$K$9$k%H%j%C%/$K$D$$$F$O\e(B
+          <code>RewriteBase</code> \e$B$r8+$F$/$@$5$$\e(B) \e$B!"$=$N?7$7$$\e(B URL
+          \e$B$GFbItE*$K?7$7$$%5%V%j%/%(%9%H$r@8@.$7$F$$$k$N$G$9!#$3$l$G\e(B
+          API \e$B%U%'!<%:=hM}$,:FEY5/F0$5$l$^$9!#\e(B
+
+          <p>\e$B$3$N$h$&$K!"\e(Bmod_rewrite \e$B$OJ#;($J%9%F%C%W$r\e(B
+          \e$B%f!<%6$KBP$7$FA4HL$KF)2aE*$K$7$h$&$H$,$s$P$C$F$$$^$9$,!"\e(B
+          \e$B$H$j$"$($:0J2<$N$3$H$O3P$($F$*$/$Y$-$G$7$g$&\e(B:
+          \e$B%5!<%P$4$H$N%3%s%F%-%9%H$K$*$1$k\e(B URL
+          \e$BA`:n$OHs>o$K9bB.$G$+$D8zN($,NI$$$N$KBP$7!"\e(B
+          \e$B%G%#%l%/%H%j$4$H$N=q$-49$($O!"\e(B
+          \e$B$3$N7\$HMq$NLdBj$N$?$aCY$$>e$KDc8zN($G$9!#$7$+$7$3$l$O!"\e(B
+          mod_rewrite \e$B$,$4$/J?6QE*$J%f!<%6$KDs6!$G$-$k!"\e(B
+          (\e$B%m!<%+%k$K@)8B$5$l$?\e(B) URL \e$BA`:n$N$?$a$NM#0l$NJ}K!$J$N$G$9!#\e(B
+          </p>
+        </li>
+      </ol>
+
+      <p>\e$B$3$l$iFs$D$NE@$rK:$l$J$$$G$/$@$5$$\e(B!</p>
+
+      <h2><a id="InternalRuleset"
+      name="InternalRuleset">\e$B%k!<%k%;%C%H=hM}\e(B</a></h2>
+      \e$B$3$l$iFs$D$N\e(B API \e$B%U%'!<%:$G\e(B mod_rewrite \e$B$,5/F0$5$l$k$H!"\e(B
+      mod_rewrite \e$B$O$^$:<+J,<+?H$N@_DjMQ9=B$BN\e(B
+      (\e$B$3$l$O5/F0;~$N%5!<%P$4$H$N%3%s%F%-%9%H$+!"\e(BApache
+      \e$B%+!<%M%k$,%G%#%l%/%H%j4V$rC5:w$9$kESCf$N%G%#%l%/%H%j$4$H$N\e(B
+      \e$B%3%s%F%-%9%H$+!"$N$$$:$l$+$K$h$j@8@.$5$l$k\e(B) 
+      \e$B$h$j9=@.$5$l$?%k!<%k%;%C%H$rFI$_9~$_$^$9!#$=$7$F$=$NCf$KF~$C$F$$$k\e(B
+      \e$B%k!<%k%;%C%H\e(B (\e$B>r7o$rH<$&0l$D0J>e$N%k!<%k$N=8$^$j\e(B)\e$B$H$H$b$K\e(B URL
+      \e$B=q$-49$(%(%s%8%s$,3+;O$5$l$^$9!#\e(BURL \e$B=q$-49$(%(%s%8%s<+BN$O!"\e(B
+      \e$BAPJ}$N@_Dj%3%s%F%-%9%H$GA4$/F1$8$h$&$KF0:n$7$^$9!#\e(B
+      \e$B:G=*7k2L$N=hM}$,0[$J$k$@$1$G$9!#\e(B
+
+      <p>\e$B%k!<%k%;%C%HCf$N%k!<%k$N=q$-=g$O=EMW$G$9!#\e(B
+      \e$B$3$l$O!"=q$-49$(%(%s%8%s$O$=$l$i$rFCJL$J\e(B
+      (\e$B$+$D!"$"$^$jJ,$+$j$d$9$$$H$O8@$($J$$\e(B) \e$B=g=x$G=hM}$9$k$+$i$G$9!#\e(B
+      \e$B%k!<%k$O0J2<$N$h$&$K=hM}$5$l$^$9\e(B: \e$B=q$-49$(%(%s%8%s$O%k!<%k\e(B
+      (<code>RewriteRule</code>\e$B%G%#%l%/%F%#%V\e(B) \e$B$r0l$D$:$D$J$a$J$,$i\e(B
+      \e$B%k!<%k%;%C%HCf$r%k!<%W$7$^$9$,!"$"$k%k!<%k$,%^%C%A$7$?$i!"\e(B
+      \e$B$=$l$KBP1~$9$k>r7o\e(B (<code>RewriteCond</code>\e$B%G%#%l%/%F%#%V\e(B)
+      \e$B$,$"$k4V$=$NCf$r%k!<%W$7$^$9!#\e(B
+      \e$BNr;KE*$JM}M3$K$h$j$^$:>r7o$,M?$($i$l$k$?$a!"\e(B
+      \e$B@)8f%U%m!<$,$A$g$C$H$/$I$/$J$C$F$$$^$9!#>\:Y$O?^\e(B 1
+      \e$B$r$4Mw$/$@$5$$!#\e(B</p>
+
+      <div align="center">
+        <table cellspacing="0" cellpadding="2" border="0">
+          <tr>
+            <td bgcolor="#CCCCCC"><img
+            src="../images/mod_rewrite_fig1.gif" width="428"
+            height="385"
+            alt="[\e$BI=<($9$k$K$O%0%i%U%#%C%/5!G=$,I,MW$G$9\e(B]" /></td>
+          </tr>
+
+          <tr>
+            <td align="center"><strong>\e$B?^\e(B 1:</strong>
+            \e$B=q$-49$(%k!<%k%;%C%H$K$*$1$k@)8f%U%m!<\e(B</td>
+          </tr>
+        </table>
+      </div>
+
+      <p>\e$B$b$&$*J,$+$j$N$h$&$K!"$^$:\e(B URL \e$B$r3F%k!<%k$N\e(B <em>Pattern</em>
+      \e$B$KBP$7$F%^%C%A%s%0$7$^$9!#%^%C%A$7$J$$>l9g!"\e(Bmod_rewrite
+      \e$B$O$9$0$K$3$N%k!<%k$N=hM}$rCf;_$7$F<!$N%k!<%k$r8+$K9T$-$^$9!#\e(B
+      <em>Pattern</em> \e$B$K%^%C%A$9$k$H!"\e(Bmod_rewrite
+      \e$B$O$=$l$KBP1~$9$k>r7o$rC5$7$^$9!#$b$72?$b$J$1$l$P!"C1$K\e(B URL
+      \e$B$r\e(B <em>Substitution</em> \e$BJ8;zNs$+$i:n$i$l$??7$7$$CM$KCV49$7!"\e(B
+      \e$B%k!<%k$N%k!<%W$rB3$1$^$9!#2?$i$+$N>r7o$,$"$l$PFbIt%k!<%W$r3+;O$7!"\e(B
+      \e$B$=$l$i$N>r7o$,Ns5s$5$l$F$$$k=g$K=hM}$r7+$jJV$7$^$9!#\e(B
+      \e$B>r7oJ8$N>l9g$O%m%8%C%/$,0[$J$j$^$9\e(B: \e$B8=:_$N\e(B URL
+      \e$B$KBP$7$F$O%Q%?!<%s$N%^%C%A%s%0$r9T$$$^$;$s!#$=$NBe$o$j!"\e(B
+      \e$B$^$:JQ?t$rE83+$7!"8eJ};2>H$r9T$$!"\e(B
+      \e$B8!:w%F!<%V%k$r%^%C%T%s%0$9$k\e(B<em>\e$B$J$I\e(B</em>\e$B$7$F\e(B<em>\e$B%F%9%HJ8;zNs\e(B</em>
+      \e$B$r@8@.$7!"$=$l$KBP$7$F\e(B<em>\e$B>r7o%Q%?!<%s\e(B</em>\e$B$H$N%^%C%A%s%0$r9T$$$^$9!#\e(B
+      \e$B%Q%?!<%s$K%^%C%A$7$J$$>l9g!">r7o$NAH$_9g$o$;A4BN$H$=$l$KBP1~$9$k\e(B
+      \e$B%k!<%k$O@.N)$7$J$$$3$H$K$J$j$^$9!#%Q%?!<%s$K%^%C%A$7$?>l9g!"\e(B
+      \e$B<!$N>r7o$,I>2A$5$l!"$=$l$,>r7o$N$"$k8B$j7+$jJV$5$l$^$9!#\e(B
+      \e$B$b$7$9$Y$F$N>r7o$K%^%C%A$9$l$P!"\e(BURL \e$B$O\e(B <em>Substitution</em>
+      \e$BJ8;zNs$KCV49$5$l!"=hM}$,7QB3$5$l$^$9!#\e(B</p>
+
+      <h2><a id="quoting" name="quoting">\e$BFC<lJ8;z$N%/%&%)!<%H\e(B</a></h2>
+
+      <p>Apache 1.3.20 \e$B$G$O!"\e(B<em>\e$B%F%9%HJ8;zNs\e(B</em>\e$B$H\e(B <em>Substitution</em>
+      \e$BJ8;zNs$NCf$NFC<lJ8;z$O!"$=$ND>A0$K%P%C%/%9%i%C%7%e\e(B ('\')
+      \e$B$rCV$/$3$H$G%(%9%1!<%W\e(B (\e$B$9$J$o$A!"$=$l$i$N;}$DFC<l$J0UL#$rBG$A>C$7$F!"\e(B
+      \e$BDL>o$NJ8;z$H$7$F07$&$3$H\e(B) \e$B$G$-$k$h$&$K$J$C$F$$$^$9!#\e(B
+      \e$BNc$($P!"\e(B<em>\e$BCV49BP>]\e(B</em>\e$BJ8;zNs$NCf$G$b\e(B '<code>\$</code>'
+      \e$B$H$$$&J8;zNs$r;H$C$FK\Mh$N%I%k5-9f$rF~$l$k$3$H$,$G$-$k$o$1$G$9!#\e(B
+      \e$B$3$l$K$h$j!"\e(Bmod_rewrite
+      \e$B$,$=$l$r8eJ};2>H$H$7$F07$*$&$H$9$k$N$rKI$0$3$H$,$G$-$k$o$1$G$9!#\e(B
+      </p>
+
+      <h2><a id="InternalBackRefs"
+      name="InternalBackRefs">\e$B@55,I=8=$N8eJ};2>H$r;H$&\e(B</a></h2>
+      \e$B$3$3$G$R$H$D3P$($F$*$$$FM_$7$$$3$H$,$"$j$^$9\e(B: <em>Pattern</em>
+      \e$B$NCf$d\e(B <em>CondPattern</em> \e$B$N$&$A$N$I$3$+$G3g8L$r;H$($P!"J8;zNs\e(B
+      <code>$N</code> \e$B$H\e(B <code>%N</code>
+      \e$B$G;H$($k8eJ};2>H$,FbItE*$K@8@.$5$l$^$9\e(B (\e$B8e=R\e(B)\e$B!#$3$l$i$O\e(B
+      <em>Substitution</em>
+      \e$BJ8;zNs$d\e(B<em>\e$B%F%9%HJ8;zNs\e(B</em>\e$B$r@8@.$9$k$N$K;H$($^$9!#?^\e(B 2
+      \e$B$G$O!"$3$N8eJ};2>H$,E>Aw$5$l$FE83+$5$l$k>l=j$K$D$$$F2r@b$7$^$9!#\e(B
+
+      <div align="center">
+        <table cellspacing="0" cellpadding="2" border="0">
+          <tr>
+            <td bgcolor="#CCCCCC"><img
+            src="../images/mod_rewrite_fig2.gif" width="381"
+            height="179"
+            alt="[\e$BI=<($9$k$K$O%0%i%U%#%C%/5!G=$,I,MW$G$9\e(B]" /></td>
+          </tr>
+
+          <tr>
+            <td align="center"><strong>\e$B?^\e(B 2:</strong> 
+            \e$B%k!<%k$rDL$7$?8eJ};2>H$NN.$l\e(B</td>
+          </tr>
+        </table>
+      </div>
+
+      <p>\e$B$3$l$^$G$O\e(B mod_rewrite
+      \e$B$NFbIt=hM}$K4X$9$kC;4|=8Cf%3!<%9$G$7$?!#\e(B
+      \e$B$3$3$+$i$O;HMQ2DG=$J%G%#%l%/%F%#%V$K4X$9$k$3$H$,=q$+$l$F$$$^$9!#\e(B
+      \e$B$=$l$i$rFI$`$H$-$K$3$3$^$G$NCN<1$,LrN)$D$O$:$G$9!#\e(B</p>
+      <hr noshade="noshade" size="1" />
+
+      <center>
+        <h1><a id="Configuration"
+        name="Configuration">\e$B@_Dj%G%#%l%/%F%#%V\e(B</a></h1>
+      </center>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteEngine"
+      name="RewriteEngine">RewriteEngine</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteEngine
+      on|off<br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>RewriteEngine
+      off</code><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a> FileInfo<br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+      1.2<br />
+
+      <p><code>RewriteEngine</code> \e$B%G%#%l%/%F%#%V$r;H$&$H!"\e(B
+      \e$B<B9T;~$N=q$-49$(%(%s%8%s$rM-8z$K$7$?$jL58z$K$7$?$j$G$-$^$9!#$3$l$,\e(B
+      <code>off</code> \e$B$K@_Dj$5$l$F$$$k$H!"$3$N%b%8%e!<%k$O<B9T;~$N\e(B
+      \e$B=hM}$r0l@Z9T$$$^$;$s!#$^$?\e(B <code>SCRIPT_URx</code>
+      \e$B4D6-JQ?t$N99?7$5$($b$7$J$/$J$j$^$9!#\e(B</p>
+
+      <p><code>RewriteRule</code> \e$B$rA4It%3%a%s%H%"%&%H$7$?$j$7$J$$$G!"\e(B
+      \e$B$3$N%G%#%l%/%F%#%V$r;H$C$F$/$@$5$$$M!#\e(B</p>
+
+      <p>\e$B%G%U%)%k%H$G$O!"\e(Brewrite \e$B$N@_Dj$O7Q>5$5$l$J$$$N$GCm0U$7$F$/$@$5$$!#\e(B
+      \e$B$D$^$j!"$3$N5!G=$r;H$$$?$$$H;W$&%P!<%A%c%k%[%9%H$4$H$K\e(B
+      <code>RewriteEngine on</code>
+      \e$B%G%#%l%/%F%#%V$r=q$+$J$1$l$P$$$1$J$$$H$$$&$3$H$G$9!#\e(B</p>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteOptions"
+      name="RewriteOptions">RewriteOptions</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteOptions
+      <em>\e$B%*%W%7%g%s\e(B</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>RewriteOptions
+      MaxRedirects=10</code><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a> FileInfo<br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+      1.2\e$B!#\e(B<code>MaxRedirects</code> \e$B$O\e(B Apache 1.3.28 \e$B0J9_$G;HMQ2DG=\e(B<br />
+
+      <p><code>RewriteOptions</code> \e$B%G%#%l%/%F%#%V$O!"\e(B
+      \e$B8=:_$N%5!<%PC10L$b$7$/$O%G%#%l%/%H%jC10L$N@_Dj$G;HMQ$9$k!"\e(B
+      \e$BFCJL$J%*%W%7%g%s$r%;%C%H$7$^$9!#\e(B
+      <em>Option</em> \e$BJ8;zNs$O0J2<$N$$$:$l$+$G$9\e(B:</p>
+
+      <dl>
+        <dt><code>inherit</code></dt>
+        <dd>\e$B$3$l$O!"8=:_$N@_DjCM$r?F$N@_DjCM$+$i6/@)E*$K7Q>5$5$;$^$9!#\e(B
+        \e$B$3$l$K$h$j!"2>A[%5!<%PC10L$N%3%s%F%-%9%H$K$*$$$F!"\e(B
+        \e$B%a%$%s%5!<%P$N%^%C%W!">r7o!"%k!<%k$,7Q>5$5$l$k$3$H$K$J$j$^$9!#\e(B
+        \e$B$^$?!"%G%#%l%/%H%jC10L$N%3%s%F%-%9%H$G$O!"?F%G%#%l%/%H%j$N\e(B
+        <code>.htaccess</code>
+        \e$B@_Dj$K5-=R$5$l$F$$$k>r7o$d%k!<%k$,7Q>5$5$l$k$3$H$K$J$j$^$9!#\e(B</dd>
+
+      <dt><code>MaxRedirects=<var>number</var></code></dt>
+      <dd>\e$B%G%#%l%/%H%jKh$N\e(B <code>RewriteOptions</code> \e$B$K$h$kFbIt%j%@%$%l%/%H$N\e(B
+      \e$BL58B%k!<%W$rKI$0$?$a$K!"\e(B<code>mod_rewrite</code> \e$B$O%j%@%$%l%/%H$N\e(B
+      \e$B>e8B$KC#$9$k$H%j%/%(%9%H$rCf;_$7!"\e(B500 Internal Server Error \e$B$r1~Ez$H$7$F\e(B
+      \e$BJV$7$^$9!#0l$D$N%j%/%(%9%H$KBP$7$FK\Ev$K\e(B 10 \e$B$r1[$($k%j%@%$%l%/%H$,I,MW$J\e(B
+      \e$B>l9g$O!"K>$_$NCM$^$GA}2C$5$;$k$3$H$,$G$-$^$9!#\e(B</dd>
+      </dl>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteLog" name="RewriteLog">RewriteLog</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteLog
+      <em>file-path</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>\e$B$J$7\e(B</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H\e(B<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a> <em>\e$BE,MQIT2D\e(B</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+      1.2<br />
+
+    \e$B!!\e(B<p><code>RewriteLog</code> \e$B%G%#%l%/%F%#%V$O!"\e(B
+      \e$B9T$J$o$l$?$9$Y$F$N=q$-49$(F0:n$r\e(B
+      \e$B%5!<%P$,%m%0$K=q$-9~$`$?$a$N\e(B
+      \e$B%U%!%$%kL>$r@_Dj$7$^$9!#$3$NL>A0$,%9%i%C%7%e\e(B
+      ('<code>/</code>') \e$B$G;O$^$i$J$$>l9g$O\e(B <em>Server Root</em>
+      \e$B$+$i$NAjBP%Q%9$G$"$k$H8+$J$5$l$^$9!#$3$N%G%#%l%/%F%#%V$O\e(B
+      \e$B%5!<%PC10L$N@_Dj$NCf$G0lEY$@$15-=R$5$l$k$Y$-$b$N$G$9!#\e(B</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B</strong>:
+          \e$B=q$-49$(F0:n$N%m%.%s%0$rM^@)$9$k$?$a$K\e(B <em>file-path</em> \e$B$r\e(B
+          <code>/dev/null</code> \e$B$K$9$k$N$O$*4+$a$G$-$^$;$s!#$3$l$O!"\e(B
+          \e$B=q$-49$(%(%s%8%s$O<B:]$K$O%m%0%U%!%$%k$X$N=PNO$r9T$o$J$$$N$K!"\e(B
+          \e$BL$$@FbItE*$K$O%m%0%U%!%$%k$X$N=PNO$r@8@.$7$F$$$k$+$i$G$9!#\e(B
+          <strong>\e$B$3$l$O4IM}<T$K2?$NMxE@$b$b$?$i$5$:$K\e(B
+          \e$B%5!<%P$N%Q%U%)!<%^%s%9$rDc2<$5$;$k$@$1$G$9\e(B!</strong>
+          \e$B%m%.%s%0$rM^;_$9$k>l9g$O\e(B <code>RewriteLog</code>
+          \e$B%G%#%l%/%F%#%V$r%3%a%s%H%"%&%H$9$k$+!"\e(B
+          <code>RewriteLogLevel 0</code> \e$B$r;H$&$h$&$K$7$F$/$@$5$$\e(B!</td>
+        </tr>
+      </table>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$B%;%-%e%j%F%#\e(B</strong>:
+          \e$B%m%0%U%!%$%k$r3JG<$9$k%G%#%l%/%H%j$,!"\e(B
+          \e$B%5!<%P$r5/F0$9$k%f!<%60J30$K$b=q$-9~$_2DG=$G$"$k>l9g$K!"\e(B
+          \e$B$J$<%;%-%e%j%F%#$,6<$+$5$l$k$+$K$D$$$F$N>\$7$$@bL@$O!"\e(B
+          <a href="../misc/security_tips.html">Apache \e$B$N%;%-%e%j%F%#$N\e(B
+          \e$B$3$D\e(B</a> \e$B%I%-%e%a%s%H$r$4Mw$/$@$5$$!#\e(B</td>
+        </tr>
+      </table>
+
+      <p><strong>\e$BNc\e(B:</strong></p>
+
+      <blockquote>
+<pre>
+RewriteLog "/usr/local/var/apache/logs/rewrite.log"
+</pre>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteLogLevel"
+      name="RewriteLogLevel">RewriteLogLevel</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteLogLevel
+      <em>Level</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>
+      <code>RewriteLogLevel 0</code><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H\e(B<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a> <em>\e$BE,MQIT2D\e(B</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+      1.2<br />
+
+      <p><code>RewriteLogLevel</code> \e$B%G%#%l%/%F%#%V$G$O!"\e(B
+      \e$B=q$-49$(MQ$N%m%0%U%!%$%k$N>iD9%l%Y%k$r;XDj$7$^$9!#\e(B
+      \e$B%G%U%)%k%H$N%l%Y%k$O\e(B
+      0 \e$B$G!"$3$l$O0l@Z%m%0$r=q$+$J$$$3$H$r0UL#$7$^$9!#0lJ}\e(B 9
+      \e$B$b$7$/$O$=$l0J>e$r;XDj$9$k$H!"\e(B
+      \e$B;v<B>e$[$H$s$I$9$Y$F$NF0:n$K$D$$$F%m%0$,<}=8$5$l$^$9!#\e(B</p>
+
+      <p>\e$B=q$-49$($N%m%0$r<h$i$J$$$h$&$K$9$k$K$O!"C1$K\e(B
+      <em>Level</em> \e$B$r\e(B 0
+      \e$B$K$7$^$9!#$3$l$G=q$-49$($K4X$9$k$9$Y$F$N%m%0$,L58z$H$J$j$^$9!#\e(B
+      </p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B:</strong> <em>Level</em>
+          \e$B$KBg$-$JCM$r;XDj$9$k$H!"\e(BApache \e$B%5!<%P$NF0:nB.EY$,7`E*$KDc2<$7$^$9\e(B!
+          \e$B=q$-49$(;~$N%m%0%U%!%$%k$G\e(B <em>Level</em> \e$B$K\e(B 2
+          \e$B0J>e$NCM$r;XDj$9$k$N$O%G%P%C%0;~$N$_$K$7$F$*$$$F$/$@$5$$\e(B!</td>
+        </tr>
+      </table>
+
+      <p><strong>\e$BNc\e(B:</strong></p>
+
+      <blockquote>
+<pre>
+RewriteLogLevel 3
+</pre>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteLock"
+      name="RewriteLock">RewriteLock</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteLock
+      <em>file-path</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>\e$B$J$7\e(B</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a> <em>\e$BE,MQIT2D\e(B</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+      1.3<br />
+
+      <p>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(Bmod_rewrite \e$B$,\e(B <samp>RewriteMap</samp>
+      <em>\e$B%W%m%0%i%`\e(B</em>\e$B$HDL?.$9$k$N$KI,MW$J!"\e(B
+      \e$BF14|MQ%m%C%/%U%!%$%k$NL>A0$r%;%C%H$7$^$9!#\e(BRewriteMap \e$B$G\e(B
+      \e$B%W%m%0%i%`$r;H$$$?$$>l9g$K$O!"$3$N%m%C%/%U%!%$%k$K\e(B(NFS
+      \e$B%^%&%s%H$5$l$?%G%P%$%9$G$O$J$/\e(B)\e$B%m!<%+%k%Q%9$r@_Dj$7$^$9!#\e(B
+      \e$B$=$l0J30$N%?%$%W$N\e(B RewriteMap \e$B$r;H$&>l9g$K$O!"\e(B
+      \e$B@_Dj$9$kI,MW$O$"$j$^$;$s!#\e(B</p>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteMap" name="RewriteMap">RewriteMap</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteMap
+      <em>MapName</em> <em>MapType</em>:<em>MapSource</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a>\e$B%G%U%)%k%H$G$O;HMQ$5$l$J$$\e(B
+        <br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H\e(B<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a> <em>\e$BE,MQIT2D\e(B</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2
+      (\e$B0lIt$N$_\e(B), Apache 1.3<br />
+       
+
+      <p><code>RewriteMap</code> \e$B%G%#%l%/%F%#%V$O!"\e(B
+      \e$B%^%C%T%s%04X?t$r;H$C$F%k!<%kCV49J8;zNs$NFbIt$G;H$($k\e(B
+      <em>\e$B=q$-49$(%^%C%W\e(B</em>\e$B$rDj5A$7$^$9!#$3$l$K$h$j!"\e(B
+      \e$B%-!<$r8!:w$9$k:]$K!"%U%#!<%k%I$rA^F~$7$?$jCV49$7$?$j$G$-$^$9!#\e(B
+      \e$B8!:wBP>]$K$O$$$m$$$m$J%?%$%W$,;H$($^$9!#\e(B</p>
+
+      <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a>
+      \e$B$O%^%C%W$NL>A0$G$9!#0J2<$N=q<0$N$I$A$i$+$K$h$j!"\e(B
+      \e$B=q$-49$(%k!<%k$NCV49J8;zNs$G;H$o$l$k\e(B
+      \e$B%^%C%T%s%04X?t$r;XDj$9$k$N$K;H$o$l$^$9!#\e(B</p>
+
+      <blockquote>
+        <strong><code>${</code> <em>MapName</em> <code>:</code>
+        <em>LookupKey</em> <code>}</code><br />
+         <code>${</code> <em>MapName</em> <code>:</code>
+        <em>LookupKey</em> <code>|</code> <em>DefaultValue</em>
+        <code>}</code></strong>
+      </blockquote>
+      \e$B$3$N$h$&$J=q<0$,8=$l$k$H!"\e(B<em>MapName</em> \e$B$H$$$&L>A0$N%^%C%W$NCf$N%-!<\e(B
+      <em>LookupKey</em> \e$B$,8!:w$5$l$^$9!#\e(B
+      \e$B%-!<$,8+$D$+$l$P!"$3$N%^%C%W4X?t$N=q<0$NItJ,$O\e(B <em>SubstValue</em>
+      \e$B$K$h$jCV49$5$l$^$9!#%-!<$,8+$D$+$i$J$$>l9g!"\e(B
+      <em>DefaultValue</em> \e$B$,$"$l$P$=$l$GCV49$5$l!"\e(B<em>DefaultValue</em>
+      \e$B$,;XDj$5$l$F$$$J$1$l$P6uJ8;zNs$KCV49$5$l$^$9!#\e(B
+
+      <p>\e$B0J2<$N$h$&$J\e(B <em>MapType</em> \e$B$H\e(B <em>MapSource</em>
+      \e$B$r;H$C$?AH$_9g$o$;$r;HMQ$G$-$^$9\e(B:</p>
+
+      <ul>
+        <li>
+          <strong>\e$BI8=`$N%W%l!<%s%F%-%9%H\e(B</strong><br />
+           MapType: <code>txt</code>, MapSource:
+           Unix \e$B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9\e(B
+
+          <p>\e$B$3$l$OI8=`$N=q$-49$(%^%C%W5!G=$G$9!#\e(B
+          <em>MapSource</em> \e$B$O6uGr9T$d%3%a%s%H9T\e(B(\e$B9TF,$,\e(B
+          '#' \e$BJ8;z$G;O$^$k9T\e(B)\e$B!"<c$7$/$O0J2<$N$h$&$J\e(B
+          \e$B%Z%"$,0l9TKh$K=q$+$l$F$$$k$h$&$JIaDL$N\e(B ASCII
+          \e$B%U%!%$%k$G$9!#\e(B</p>
+
+          <blockquote>
+            <strong><em>MatchingKey</em>
+            <em>SubstValue</em></strong>
+          </blockquote>
+
+          <p>\e$BNc\e(B:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+##
+##  map.txt -- rewriting map
+##
+
+Ralf.S.Engelschall    rse   # Bastard Operator From Hell
+Mr.Joe.Average        joe   # Mr. Average
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+RewriteMap real-to-user txt:/path/to/file/map.txt
+</pre>
+              </td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          <strong>\e$B%i%s%@%`$J%W%l!<%s%F%-%9%H\e(B</strong><br />
+           MapType: <code>rnd</code>, MapSource:
+           Unix \e$B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9\e(B
+
+          <p>\e$B$3$l$OA0=R$NI8=`%W%l!<%s%F%-%9%H$H$[$\F1$8$G$9$,!"$=$l$K2C$($F\e(B
+          \e$B@lMQ$N8e=hM}5!G=$r;}$C$F$$$^$9\e(B: \e$BCM$r8!:w$7$?8e!"$=$NCM$O\e(B ``or''
+          \e$B$N0UL#$r;}$D\e(B ``<code>|</code>'' \e$BJ8;z$K$7$?$,$C$F%Q!<%9$5$l$^$9!#\e(B
+          \e$B$D$^$j$3$l$i$OJQ498uJd$rMeNs$7$F$*$j!"\e(B
+          \e$B<B:]$KJV$5$l$kCM$O$3$l$i$NCf$+$i%i%s%@%`$KA*$P$l$^$9!#\e(B
+          \e$B$3$l$O0l8+L/$J46$8$,$7$F0UL#$,$J$5$=$&$K;W$($^$9$,!"\e(B
+          \e$B<B:]$K8!:w$7$?CM$,%5!<%PL>$K$J$k$h$&$J\e(B
+          \e$B%j%P!<%9%W%m%-%7$rMQ$$$?Ii2YJ,;6MQ$K\e(B
+          \e$B@_7W$5$l$F$$$^$9!#\e(B
+          \e$BNc$($P\e(B:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+##
+##  map.txt -- rewriting map
+##
+
+static   www1|www2|www3|www4
+dynamic  www5|www6
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+RewriteMap servers rnd:/path/to/file/map.txt
+</pre>
+              </td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          <strong>\e$B%O%C%7%e%U%!%$%k\e(B</strong><br />
+           MapType: <code>dbm</code>, MapSource:
+           Unix \e$B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9\e(B
+
+          <p>\e$B%U%!%$%k$NFbMF$N0UL#$O\e(B<em>\e$B%W%l!<%s%F%-%9%H\e(B</em>\e$B%U%)!<%^%C%H\e(B
+          \e$B$HF1$8$G$9$,!"\e(B
+          \e$B9bB.$J8!:w$r9T$&$?$a$K:GE,2=$,;\$5$l$?\e(B
+          NDBM \e$B%U%)!<%^%C%H$H$$$&%P%$%J%j%U%!%$%k\e(B
+          \e$B$r%=!<%9$H$7$F;H$&$3$H$b$G$-$^$9!#$3$N$h$&$J%U%!%$%k$O!"\e(B
+          NDBM \e$B%D!<%k$r;H$C$?$j!"0J2<$N$h$&$J\e(B perl
+          \e$B%9%/%j%W%H$r;H$C$F:n$k$3$H$,$G$-$^$9!#\e(B</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+#!/path/to/bin/perl
+##
+##  txt2dbm -- convert txt map to dbm format
+##
+
+use NDBM_File;
+use Fcntl;
+
+($txtmap, $dbmmap) = @ARGV;
+
+open(TXT, "&lt;$txtmap") or die "Couldn't open $txtmap!\n";
+tie (%DB, 'NDBM_File', $dbmmap,O_RDWR|O_TRUNC|O_CREAT, 0644) or die "Couldn't create $dbmmap!\n";
+
+while (&lt;TXT&gt;) {
+  next if (/^\s*#/ or /^\s*$/);
+  $DB{$1} = $2 if (/^\s*(\S+)\s+(\S+)/);
+}
+
+untie %DB;
+close(TXT);
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+$ txt2dbm map.txt map.db
+</pre>
+              </td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          <strong>\e$BFbIt4X?t\e(B</strong><br />
+           MapType: <code>int</code>, MapSource: \e$BFbIt\e(B Apache \e$B4X?t\e(B
+
+          <p>\e$B%=!<%9$H$7$F!"FbIt\e(B Apache \e$B4X?t$r;H$&$3$H$b$G$-$^$9!#\e(B
+          \e$B8=;~E@$G$O%(%s%I%f!<%6$,<+J,MQ$KFH<+$N$b$N$r:n$k$3$H$O$G$-$^$;$s$,!"\e(B
+          \e$B0J2<$N$b$N$,MQ0U$5$l$F$$$^$9!#\e(B</p>
+
+          <ul>
+            <li><strong>toupper</strong>:<br />
+             \e$B8+$D$+$C$?%-!<$r$9$Y$FBgJ8;z$KJQ49$9$k!#\e(B</li>
+
+            <li><strong>tolower</strong>:<br />
+             \e$B8+$D$+$C$?%-!<$r$9$Y$F>.J8;z$KJQ49$9$k!#\e(B</li>
+
+            <li><strong>escape</strong>:<br />
+            \e$B8+$D$+$C$?%-!<$NCf$NFC<lJ8;z$r\e(B 16
+            \e$B?J%(%s%3!<%G%#%s%0$KJQ49$9$k!#\e(B</li>
+
+            <li><strong>unescape</strong>:<br />
+            \e$B8+$D$+$C$?%-!<$NCf$N\e(B 16 \e$B?J%(%s%3!<%G%#%s%0$rFC<lJ8;z$KLa$9!#\e(B</li>
+          </ul>
+        </li>
+
+        <li>
+          <strong>\e$B30It$N=q$-49$(%W%m%0%i%`\e(B</strong><br />
+           MapType: <code>prg</code>, MapSource:
+           Unix \e$B%U%!%$%k%7%9%F%`$NM-8z$JDL>o%U%!%$%k$X$N%Q%9\e(B
+
+          <p>\e$B%=!<%9$K$O%^%C%W%U%!%$%k0J30$K%W%m%0%i%`$r;H$&$3$H$b$G$-$^$9!#\e(B
+          \e$B%W%m%0%i%`$O9%$-$J8@8l$rA*Br$9$k$3$H$,$G$-$^$9$,!"\e(B
+          \e$B:n@.$5$l$?$b$N$O<B9T2DG=%U%!%$%k\e(B
+          (<em>\e$B$9$J$o$A\e(B</em>\e$B%*%V%8%'%/%H%3!<%I!"<c$7$/$O\e(B 1 \e$B9TL\$K\e(B '
+          <code>#!/path/to/interpreter</code>'
+          \e$B$N$h$&$J%^%8%C%/%/%C%-!<%H%j%C%/$NF~$C$?%9%/%j%W%H\e(B)
+          \e$B$G$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+          <p>\e$B$3$N%W%m%0%i%`$O\e(B Apache \e$B%5!<%P$N5/F0;~$K0lEY$@$15/F0$5$l!"\e(B
+          <code>stdin</code> \e$B$*$h$S\e(B <code>stdout</code>
+          \e$B%U%!%$%k%O%s%I%k$rDL$7$F!"=q$-49$(%(%s%8%s$H$N$d$j$H$j$r9T$$$^$9!#\e(B
+          \e$B$3$N%W%m%0%i%`$O!"3F!9$N%^%C%W4X?t$N8!:w$N$?$S$K!"\e(B
+          \e$B8!:wBP>]$N%-!<$r!"2~9TJ8;z$G=*C<$5$l$?J8;zNs$H$7$F\e(B
+          <code>stdin</code> \e$B$+$i<u$1<h$j$^$9!#\e(B
+          \e$B$=$7$F!"CM$,8+$D$+$l$P2~9TJ8;z$G=*C<$5$l$?J8;zNs$rJV$7!"\e(B
+          \e$B8+$D$+$i$J$1$l$P\e(B
+          (<em>\e$B$9$J$o$A\e(B</em>\e$B!"M?$($i$l$?%-!<$KBP1~$9$kCM$,$J$$\e(B)\e$B!"\e(B
+          4 \e$BJ8;z$NJ8;zNs\e(B ``<code>NULL</code>'' \e$B$rJV$5$J$1$l$P$J$j$^$;$s!#\e(B
+          1:1 \e$B$N%^%C%W\e(B(<em>\e$B$9$J$o$A\e(B</em>\e$B%-!<\e(B == \e$BCM\e(B)
+          \e$B$r<B8=$9$kC1=c$J%W%m%0%i%`Nc$H$7$F$O!"0J2<$N$h$&$K$J$j$^$9\e(B:</p>
+
+          <table border="0" cellspacing="1" cellpadding="5"
+          bgcolor="#F0F0F0">
+            <tr>
+              <td>
+<pre>
+#!/usr/bin/perl
+$| = 1;
+while (&lt;STDIN&gt;) {
+    # ...put here any transformations or lookups...
+    print $_;
+}
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>\e$B$7$+$7!"==J,$K5$$r$D$1$F$[$7$$$3$H$,$"$j$^$9\e(B:<br />
+          </p>
+
+          <ol>
+            <li>``<em>Keep it simple, stupid
+            (\e$BC1=c$J$^$^$K$7$F$*$1!"GO</LnO:\e(B!)\e$B!W\e(B</em>'' (KISS)
+            \e$B$H$$$&86B'$K=>$C$F$/$@$5$$!#$b$7$3$N%W%m%0%i%`$,%O%s%0$7$F$7$^$&$H!"\e(B
+            \e$B$=$N%k!<%k$,8=$l$?=V4V$K\e(B Apache
+            \e$B%5!<%P<+BN$,%O%s%0$7$F$7$^$$$^$9!#\e(B</li>
+
+            <li>\e$B$"$j$,$A$J4V0c$$$H$7$F$O\e(B: <code>stdout</code>
+            \e$B$KBP$7$F%P%C%U%!$5$l$?F~=PNO$r;H$C$F$O$J$j$^$;$s\e(B!
+            \e$B$3$l$r$d$k$HL58B%k!<%W$K%O%^$C$F$7$^$$$^$9\e(B!
+            \e$B$@$+$i>e$N%3!<%I$G$b\e(B ``<code>$|=1</code>''
+            \e$B$H$d$C$F$k$s$G$9!D!#\e(B</li>
+
+            <li><samp>RewriteLock</samp>
+            \e$B%G%#%l%/%F%#%V$r;H$C$F%m%C%/%U%!%$%k$rDj5A$7!"\e(Bmod_rewrite
+            \e$B$,Ev3:%W%m%0%i%`$X$NDL?.$KF14|$r<h$l$k$h$&$K$7$F$/$@$5$$!#\e(B
+            \e$B%G%U%)%k%H$G$O$=$N$h$&$JF14|$O9T$o$l$^$;$s!#\e(B</li>
+          </ol>
+        </li>
+      </ul>
+      <code>RewriteMap</code> \e$B%G%#%l%/%F%#%V$O2?EY$G$b=q$/$3$H$,$G$-$^$9!#\e(B
+      \e$B%^%C%T%s%04X?t$4$H$K\e(B <code>RewriteMap</code>
+      \e$B$r;H$C$F=q$-49$(MQ%^%C%W%U%!%$%k$r@k8@$7$^$9!#\e(B
+      \e$B%G%#%l%/%H%j$N%3%s%F%-%9%HFbIt$G%^%C%W$r\e(B<strong>\e$B@k8@$9$k\e(B</strong>
+      \e$B$3$H$O$G$-$^$;$s$,!"%G%#%l%/%H%j$N%3%s%F%-%9%H$G$3$N%^%C%W$r\e(B
+      <strong>\e$B;H$&\e(B</strong>\e$B$3$H$O$b$A$m$s2DG=$G$9!#\e(B
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B:</strong> \e$B%W%l!<%s%F%-%9%H$H\e(B DBM \e$B%U%)!<%^%C%H\e(B
+          \e$B$N%U%!%$%k$K4X$7$F$O!"%^%C%W%U%!%$%k$N\e(B <code>mtime</code>
+          \e$B$,JQ99$5$l$k$+$^$?$O%5!<%P$,:F5/F0$5$l$k$^$G!"\e(B
+          \e$B8!:w$5$l$?%-!<$O%a%b%jFb$K%-%c%C%7%e$5$l$^$9!#\e(B
+          \e$B$G$9$+$i!"\e(B<strong>\e$BKh2s$N\e(B</strong>\e$B%j%/%(%9%H$G;H$o$l$k\e(B
+          \e$B%^%C%W4X?t$r%k!<%kFb$K=q$/$3$H$,$G$-$^$9!#\e(B
+          \e$B30It8!:w$O0lEY$7$+9T$o$l$J$$$N$G!"$3$l$G$bBg>fIW$J$N$G$9!#\e(B</td>
+        </tr>
+      </table>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteBase"
+      name="RewriteBase">RewriteBase</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteBase
+      <em>URL-path</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>\e$B%G%U%)%k%H$OJ*M}\e(B
+    \e$B%G%#%l%/%H%j$N%Q%9\e(B</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%G%#%l%/%H%j\e(B, .htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a>
+      <em>FileInfo</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache
+      1.2<br />
+
+      <p><code>RewriteBase</code>
+      \e$B%G%#%l%/%F%#%V$O!"%G%#%l%/%H%j$4$H$N=q$-49$($K$*$$$F%Y!<%9$H$J$k\e(B
+      URL \e$B$rL@<(E*$K;XDj$9$k$b$N$G$9!#0J2<$G<($9$h$&$K!"\e(B
+      <code>RewriteRule</code> \e$B$O%G%#%l%/%H%j$4$H$N@_Dj%U%!%$%k\e(B
+      (<code>.htaccess</code>) \e$B$G;H$($^$9!#\e(B
+      \e$B$=$3$G$O!"$3$l$O%m!<%+%k$K?6$kIq$$$^$9!#\e(B<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B
+      \e$B$3$N=hM}CJ3,$G$O%m!<%+%k%G%#%l%/%H%j$N@\F,<-$,<h$j=|$+$l!"\e(B
+      \e$B$=$N;D$j$NItJ,$KBP$7$F$N$_=q$-49$(%k!<%k$,E,MQ$5$l$^$9!#\e(B
+      \e$B$=$7$F=q$-49$(8e!"<h$j=|$+$l$?ItJ,$,:FEY<+F0E*$K%Q%9$KIU2C$5$l$^$9!#\e(B
+      </p>
+
+      <p>\e$B?7$7$$\e(B URL \e$B$KBP$9$kCV49$,H/@8$9$k$H!"$3$N%b%8%e!<%k$OEv3:\e(B URL
+      \e$B$r%5!<%P=hM}$K:FEjF~$7$J$1$l$P$J$j$^$;$s!#$3$l$r9T$&$K$O!"BP1~$9$k\e(B
+      URL \e$B$N@\F,<-!"<c$7$/$O\e(B URL
+      \e$B$N%Y!<%9$,2?$J$N$+$rCN$kI,MW$,$"$j$^$9!#\e(B
+      \e$B%G%U%)%k%H$G$O$3$N@\F,<-$O%U%!%$%k%Q%9$=$N$b$N$KBP1~$7$F$$$^$9!#\e(B
+      <strong>\e$B$7$+$7$J$,$i!"$[$H$s$I$N\e(B Web \e$B%5%$%H$G$O\e(B URL 
+      \e$B$OJ*M}E*$J%U%!%$%kL>$N%Q%9$rD>@\;X$7$F$$$k\e(B *\e$B$o$1$G$O$J$$\e(B*
+      \e$B$N$G!"0lHLE*$K$3$N2>Dj$O4V0c$C$F$$$k$3$H$K$J$j$^$9\e(B</strong>\e$B!#\e(B
+      \e$B$=$N$?$a!"\e(B<code>RewriteBase</code> \e$B%G%#%l%/%F%#%V$r;H$C$F@5$7$$\e(B
+      URL \e$B$N@\F,<-$r;XDj$7$F$d$i$J$1$l$P$J$i$J$$$N$G$9!#\e(B</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B:</strong> \e$B$b$7$"$J$?$N\e(B Web \e$B%5!<%P$N\e(B URL
+          \e$B$,J*M}E*$J%U%!%$%k%Q%9$rD>@\;X$7$F$$$k$N$G\e(B<strong>\e$B$J$1\e(B</strong>\e$B$l$P!"\e(B
+          <code>RewriteRule</code>
+          \e$B%G%#%l%/%F%#%V$r;H$*$&$H$7$F$$$k%G%#%l%/%H%j$9$Y$F$K$*$$$F!"3F\e(B
+          <code>.htaccess</code> \e$B%U%!%$%k$G\e(B <code>RewriteBase</code>
+          \e$B%G%#%l%/%F%#%V$r;H$o$J$1$l$P$J$j$^$;$s!#\e(B</td>
+        </tr>
+      </table>
+
+      <p><strong>\e$BNc\e(B:</strong></p>
+
+      <blockquote>
+        \e$B0J2<$O!"%G%#%l%/%H%j$4$H$N@_Dj%U%!%$%k$@$H;W$C$F$/$@$5$$!'\e(B
+
+        <table border="0" cellspacing="1" cellpadding="5"
+        bgcolor="#F0F0F0">
+          <tr>
+            <td>
+<pre>
+#
+#  /abc/def/.htaccess -- \e$B%G%#%l%/%H%j\e(B /abc/def \e$B$N$?$a$N%G%#%l%/%H%jJL@_Dj%U%!%$%k\e(B
+#  \e$B;29M!'\e(B/abc/def \e$B$O\e(B \e$B%Q%9\e(B /xyz \e$B$NJ*M}%Q%9L>$G$"$k!#\e(B<em>\e$B$9$J$o$A\e(B</em>\e$B%5!<%P$K$O\e(B
+#       'Alias /xyz /abc/def' <em>\e$B$H$$$C$?\e(B</em>\e$B%G%#%l%/%F%#%V$N@_Dj$,$"$k!#\e(B
+#
+
+RewriteEngine On
+
+#  \e$BJ*M}E*$J%Q%9$N@\F,<-$G$"$k\e(B /abc/def \e$B$G$J$/!"\e(B/xyz \e$B$rDL$7$F\e(B
+#  \e$B%"%/%;%9$7$F$$$k$3$H$r%5!<%P$KCN$i$;$k!#\e(B
+RewriteBase   /xyz
+
+#  \e$B$3$l$,=q$-49$(%k!<%k\e(B
+RewriteRule   ^oldstuff\.html$  newstuff.html
+</pre>
+            </td>
+          </tr>
+        </table>
+
+        <p>\e$B>e5-$NNc$G$O!"\e(B<code>/xyz/oldstuff.html</code>
+        \e$B$X$N%j%/%(%9%H$GJ*M}%U%!%$%k\e(B <code>/abc/def/newstuff.html</code>
+        \e$B$X$N@5$7$$=q$-49$(A`:n$,9T$o$l$^$9!#\e(B</p>
+
+        <table width="70%" border="0" bgcolor="#E0E0F0"
+        cellspacing="0" cellpadding="10">
+          <tr>
+            <td>
+              <font size="-1"><strong>Apache
+              \e$B%O%C%+!<$N$?$a$NCm<a\e(B:</strong><br />
+              \e$B0J2<$N%j%9%H$G<($7$F$$$k$N$O!"\e(B
+              \e$BFbIt=hM}%9%F%C%W$K4X$9$k>\:Y>pJs$G$9\e(B:</font> 
+<pre>
+<font size="-1">\e$B%j%/%(%9%H\e(B:
+  /xyz/oldstuff.html
+
+\e$BFbIt=hM}!'\e(B
+  /xyz/oldstuff.html     -&gt; /abc/def/oldstuff.html  (per-server Alias)
+  /abc/def/oldstuff.html -&gt; /abc/def/newstuff.html  (per-dir    RewriteRule)
+  /abc/def/newstuff.html -&gt; /xyz/newstuff.html      (per-dir    RewriteBase)
+  /xyz/newstuff.html     -&gt; /abc/def/newstuff.html  (per-server Alias)
+
+\e$B=hM}7k2L!'\e(B
+  /abc/def/newstuff.html
+</font>
+</pre>
+              <font size="-1">\e$B$3$l$OHs>o$KJ#;($K8+$($k$b$N$N!"\e(BApache
+              \e$B$NFbIt=hM}$K4X$9$k@5$7$$F0$-$G$9!#$J$<$J$i!"\e(B
+              \e$B%G%#%l%/%H%jC10L$N=q$-49$(A`:n$O=hM}$NCf$K$*$$$F\e(B
+              \e$BMh$k$N$,CY$9$.$k$+$i$G$9!#$=$N$?$a=q$-49$($,9T$J$o$l$k$H!"\e(B
+              (\e$B=q$-49$($,9T$o$l$?\e(B)\e$B%j%/%(%9%H$O\e(B Apache
+              \e$B%+!<%M%k$NCf$K:FEjF~$5$l$J$1$l$P$J$j$^$;$s\e(B!
+              \e$B$7$+$7\e(B: \e$B$3$l$O?<9o$J%*!<%P!<%X%C%I$rH<$&$h$&$K8+$($k$b$N$N!"\e(B
+              \e$B<B:]$K$OBg$7$?;v$O$"$j$^$;$s!#$3$N:FEjF~$O40A4$K\e(B
+              Apache \e$B%5!<%P$NFbIt$G5/$3$k;v$G$"$j!"\e(BApache
+              \e$B$NFbIt$K$*$1$k$=$NB>$NB?$/$NF0:nCf$K$bF1MM$N$3$H$,\e(B
+              \e$B5/$3$C$F$$$k$+$i$G$9!#$J$N$G!"\e(B
+              \e$B$3$N@_7W$H<BAu$O@5$7$$$b$N$J$N$G$9!#\e(B
+              </font> 
+            </td>
+          </tr>
+        </table>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteCond"
+      name="RewriteCond">RewriteCond</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteCond
+      <em>TestString</em> <em>CondPatter</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>\e$B$J$7\e(B</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a>
+      <em>FileInfo</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2
+      (\e$BItJ,E*$K\e(B), Apache 1.3<br />
+       
+
+      <p><code>RewriteCond</code> \e$B%G%#%l%/%F%#%V$O%k!<%k>r7o$rDj5A$7$^$9!#\e(B
+      <code>RewriteRule</code> \e$B%G%#%l%/%F%#%V$NA0$K0l$D0J>e$N\e(B
+      <code>RewriteCond</code> \e$B%G%#%l%/%F%#%V$rCV$/$3$H$,$G$-$^$9!#\e(B
+      \e$B$=$l0J9_$N=q$-49$(%k!<%k$O!"$=$N%Q%?!<%s$,8=:_$N\e(B URI
+      \e$B$N>uBV$H%^%C%A$7!"\e(B<strong>\e$B$+$D\e(B</strong>\e$B$3$l$i$NDI2C>r7o$,\e(B
+      \e$BE,MQ$5$l$k>l9g$K$N$_;H$o$l$^$9!#\e(B</p>
+
+      <p><em>TestString</em>\e$B$OJ8;zNs$G$"$j!"%W%l!<%s%F%-%9%H$K2C$(!"\e(B
+      \e$B0J2<$N3HD%9=B$$r;}$D$3$H$,$G$-$^$9\e(B:</p>
+
+      <ul>
+        <li>
+          <strong>RewriteRule \e$B8eJ};2>H\e(B</strong>:
+          \e$B$3$N=q<0$G!"8eJ};2>H$rI=$7$^$9!#\e(B
+
+          <blockquote>
+            <strong><code>$N</code></strong>
+          </blockquote>
+          (0 &lt;= N &lt;= 9) \e$B$3$l$O!"BP1~$9$k\e(B <code>RewriteRule</code>
+          \e$B%G%#%l%/%F%#%V\e(B(\e$B8=:_$N\e(B<code>RewriteCond</code>
+          \e$B%G%#%l%/%F%#%V$N%V%m%C%/$N<!$K$"$k$b$N\e(B)\e$B$N\e(B
+          (\e$B3g8L$G0O$s$G\e(B)\e$B%0%k!<%W2=$5$l$?%Q%?!<%s$X$N%"%/%;%9$rDs6!$7$^$9!#\e(B
+        </li>
+
+        <li>
+          <strong>RewriteCond \e$B8eJ};2>H\e(B</strong>:
+          \e$B$3$N=q<0$G!"8eJ};2>H$rI=$7$^$9!#\e(B
+
+          <blockquote>
+            <strong><code>%N</code></strong>
+          </blockquote>
+          (1 &lt;= N &lt;= 9)
+          \e$B$3$l$O!"8=:_$N>r7o%V%m%C%/$NCf$G\e(B<code>RewriteCond</code> \e$B%G%#%l%/%F%#%V\e(B
+          \e$B$K:G8e$K%^%C%A$7$?\e(B
+          (\e$B3g8L$G0O$s$G\e(B)\e$B%0%k!<%W2=$5$l$?%Q%?!<%s$X$N%"%/%;%9$rDs6!$7$^$9!#\e(B
+        </li>
+
+        <li>
+          <strong>RewriteMap \e$B3HD%\e(B</strong>:
+          \e$B$3$N=q<0$G!"3HD%$rI=$7$^$9!#\e(B
+
+          <blockquote>
+            <strong><code>${mapname:key|default}</code></strong>
+          </blockquote>
+          \e$B>\:Y$O\e(B <a href="#mapfunc">RewriteMap
+          \e$B$N%I%-%e%a%s%H\e(B</a>\e$B$r;2>H$N$3$H!#\e(B
+        </li>
+
+        <li>
+          <strong>\e$B%5!<%PJQ?t\e(B</strong>: \e$B0J2<$OJQ?t$rI=$7$^$9!#\e(B
+
+          <blockquote>
+            <strong><code>%{</code> <em>\e$BJQ?tL>\e(B</em>
+            <code>}</code></strong>
+          </blockquote>
+          <em>\e$BJQ?tL>\e(B</em>\e$B$O0J2<$N0lMw$K$"$kJ8;zNs$N$$$:$l$+$G$9\e(B:
+
+          <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+            <tr>
+              <td valign="top">
+                <strong>HTTP \e$B%X%C%@\e(B:</strong> 
+
+                <p><font size="-1">HTTP_USER_AGENT<br />
+                 HTTP_REFERER<br />
+                 HTTP_COOKIE<br />
+                 HTTP_FORWARDED<br />
+                 HTTP_HOST<br />
+                 HTTP_PROXY_CONNECTION<br />
+                 HTTP_ACCEPT<br />
+                </font></p>
+              </td>
+
+              <td valign="top">
+                <strong>\e$B%3%M%/%7%g%s\e(B &amp; \e$B%j%/%(%9%H\e(B:</strong> 
+
+                <p><font size="-1">REMOTE_ADDR<br />
+                 REMOTE_HOST<br />
+                 REMOTE_USER<br />
+                 REMOTE_IDENT<br />
+                 REQUEST_METHOD<br />
+                 SCRIPT_FILENAME<br />
+                 PATH_INFO<br />
+                 QUERY_STRING<br />
+                 AUTH_TYPE<br />
+                </font></p>
+              </td>
+            </tr>
+
+            <tr>
+              <td valign="top">
+                <strong>\e$B%5!<%PFbItJQ?t\e(B:</strong> 
+
+                <p><font size="-1">DOCUMENT_ROOT<br />
+                 SERVER_ADMIN<br />
+                 SERVER_NAME<br />
+                 SERVER_ADDR<br />
+                 SERVER_PORT<br />
+                 SERVER_PROTOCOL<br />
+                 SERVER_SOFTWARE<br />
+                </font></p>
+              </td>
+
+              <td valign="top">
+                <strong>\e$B%7%9%F%`4XO"\e(B:</strong> 
+
+                <p><font size="-1">TIME_YEAR<br />
+                 TIME_MON<br />
+                 TIME_DAY<br />
+                 TIME_HOUR<br />
+                 TIME_MIN<br />
+                 TIME_SEC<br />
+                 TIME_WDAY<br />
+                 TIME<br />
+                </font></p>
+              </td>
+
+              <td valign="top">
+                <strong>\e$BFC<l$J$b$N\e(B:</strong> 
+
+                <p><font size="-1">API_VERSION<br />
+                 THE_REQUEST<br />
+                 REQUEST_URI<br />
+                 REQUEST_FILENAME<br />
+                 IS_SUBREQ<br />
+                </font></p>
+              </td>
+            </tr>
+          </table>
+
+          <table width="70%" border="0" bgcolor="#E0E0F0"
+          cellspacing="0" cellpadding="10">
+            <tr>
+              <td>
+                <p><strong>\e$BCm0U\e(B:</strong>
+                \e$B$3$l$i$NJQ?t$O!"$9$Y$FF1MM$NL>A0$r;}$D\e(B HTTP MIME \e$B%X%C%@$d\e(B
+                Apache \e$B%5!<%P$N\e(B C \e$BJQ?t!"$^$?$O\e(B Unix \e$B%7%9%F%`$N\e(B
+                <code>struct tm</code> \e$B%U%#!<%k%I$KBP1~$7$^$9!#\e(B
+                \e$B$[$H$s$I$N$b$N$O!"%^%K%e%"%k$d\e(B CGI
+                \e$B;EMM$N$I$3$+$K@bL@$,$"$j$^$9!#$3$NCf$G\e(B mode_rewrite
+                \e$B$GFCJL$J0UL#$r;}$D$b$N$K0J2<$N$b$N$,$"$j$^$9\e(B:</p>
+
+                <dl>
+                  <dt><code>IS_SUBREQ</code></dt>
+
+                  <dd>\e$B$3$l$O!"%5%V%j%/%(%9%H$r=hM}Cf$O\e(B "true"
+                  \e$B$K!"$=$&$G$J$1$l$P\e(B "false" \e$B$K$J$j$^$9!#\e(B
+                  \e$BM?$($i$l$?%?%9%/$r40N;$9$k$?$a$KDI2C$N%U%!%$%k$d\e(B URI
+                  \e$B$r2r7h$9$kI,MW$,$"$k%b%8%e!<%k$O!"\e(B
+                  \e$B%5%V%j%/%(%9%H$r@8@.$9$k>l9g$,$"$j$^$9!#\e(B</dd>
+
+                  <dt><code>API_VERSION</code></dt>
+
+                  <dd>\e$B$3$l$O8=:_$N\e(B httpd \e$B$N%S%k%I$K$*$1$k\e(B Apache
+                  \e$B%b%8%e!<%k\e(B API(\e$B%5!<%P$H%b%8%e!<%k4V$NFbIt%$%s%?!<%U%'!<%9\e(B)
+                  \e$B$N%P!<%8%g%s$G$"$j!"\e(Binclude/ap_mmn.h \e$B$GDj5A$5$l$F$$$^$9!#\e(B
+                  \e$B%b%8%e!<%k\e(B API \e$B$N%P!<%8%g%s$O;HMQ$7$F$$$k\e(B Apache
+                  \e$B$N%P!<%8%g%s\e(B(\e$BNc$($P\e(B Apche 1.3.14 \e$B$G$"$l$P\e(B
+                  19990320:10) \e$B$KBP1~$7$^$9$,!"\e(B
+                  \e$B$3$l$O<g$K%b%8%e!<%k$N:n<T$,4X?4$r;}$D$b$N$G$9!#\e(B</dd>
+
+                  <dt><code>THE_REQUEST</code></dt>
+
+                  <dd>\e$B%V%i%&%6$+$i%5!<%P$KAw$i$l$?\e(B HTTP
+                  \e$B%j%/%(%9%H$N40A4$J$b$N\e(B(\e$BNc$($P!"\e(B
+                  "<code>GET /index.html HTTP/1.1</code>")\e$B!#\e(B
+                  \e$B$3$l$K$O!"%V%i%&%6$+$iAw$i$l$?DI2C%X%C%@$O0l@Z4^$_$^$;$s!#\e(B
+                  </dd>
+
+                  <dt><code>REQUEST_URI</code></dt>
+
+                  <dd>HTTP \e$B%j%/%(%9%H9T$G%j%/%(%9%H$5$l$?%j%=!<%9\e(B
+                  (\e$B>e5-$NNc$G$O\e(B "/index.html" \e$B$,$=$l$K$"$?$j$^$9\e(B)\e$B!#\e(B</dd>
+
+                  <dt><code>REQUEST_FILENAME</code></dt>
+
+                  <dd>\e$B%j%/%(%9%H$K%^%C%A$7$?%U%!%$%k$^$?$O%9%/%j%W%H$N!"\e(B
+                  \e$B40A4$J%m!<%+%k%U%!%$%k%7%9%F%`$N%Q%9!#\e(B</dd>
+                </dl>
+              </td>
+            </tr>
+          </table>
+        </li>
+      </ul>
+
+      <p>\e$B9MN8;v9`\e(B:</p>
+
+      <ol>
+        <li>SCRIPT_FILENAME \e$B$*$h$S\e(B REQUEST_FILENAME \e$B$K$OF1$8L>A0!"\e(B
+        <em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(BApache \e$B%5!<%P$N\e(B <code>request_rec</code>
+        \e$BFbIt9=B$BN$NCf$N\e(B <code>filename</code>
+        \e$B%U%#!<%k%I$NCM$,F~$C$F$$$^$9!#A0<T$OC1$K$h$/CN$i$l$F$$$k\e(B CGI
+        \e$BJQ?tL>$G$"$k$N$KBP$7!"8e<T$O\e(B (<code>request_rec</code>
+        \e$B%U%#!<%k%I$N\e(B <code>uri</code> \e$B$NCM$,F~$C$F$$$k\e(B)REQUEST_URI
+        \e$B$KBP1~$9$k$b$N$G$9!#\e(B</li>
+
+        <li><em>\e$BJQ?t\e(B</em>\e$B$KG$0U$N4D6-JQ?t$r;XDj$G$-$kFCJL$J=q<0\e(B
+        <code>%{ENV:\e$BJQ?t\e(B}</code>
+        \e$B$,$"$j$^$9!#$3$l$O\e(B Apache
+        \e$B$NFbIt9=B$BN<c$7$/$O\e(B(\e$B$=$3$KB8:_$7$J$1$l$P\e(B)Apache
+        \e$B%5!<%P%W%m%;%9$,H/9T$9$k\e(B <code>getenv()</code>
+        \e$B$rDL$7$F8!:w$5$l$^$9!#\e(B</li>
+
+        <li>
+        <em>\e$B%X%C%@\e(B</em>\e$B$KG$0U$N\e(B HTTP MIME \e$B%X%C%@L>$r;XDj$G$-$kFCJL$J=q<0\e(B
+        <code>%{HTTP:\e$B%X%C%@\e(B}</code>\e$B$,$"$j$^$9!#$3$l$O\e(B
+        HTTP \e$B%j%/%(%9%H$+$i8!:w$5$l$^$9!#\e(B
+        \e$BNc\e(B: <code>%{HTTP:Proxy-Connection}</code> \e$B$O\e(B HTTP \e$B%X%C%@$N\e(B
+        ``<code>Proxy-Connection:</code>'' \e$B$NCM$G$9!#\e(B</li>
+
+        <li>\e$BA0J};2>H$r9T$J$C$FFbIt$N\e(B(URL \e$B%Y!<%9$N\e(B)
+        \e$B%5%V%j%/%(%9%H$r<B9T$7$F\e(B<em>\e$BJQ?t\e(B</em>\e$B$N:G=*CM$r7hDj$9$kFCJL$J=q<0\e(B
+        <code>%{LA-U:\e$BJQ?t\e(B}</code> \e$B$,$"$j$^$9!#\e(B
+        \e$B<B:]$K$O\e(B API \e$B%U%'!<%:$N8e$N$[$&$G%;%C%H$5$l$k$?$a$K!"\e(B
+        \e$B8=;~E@$G$O%"%/%;%9$G$-$J$$$h$&$JJQ?t$r;H$C$F=q$-49$($r\e(B
+        \e$B9T$J$$$?$$>l9g$K;HMQ$7$^$9!#Nc$($P!"%5!<%PC10L$N%3%s%F%-%9%H\e(B
+        (<code>httpd.conf</code> \e$B%U%!%$%k\e(B) \e$B$G\e(B <code>REMOTE_USER</code>
+        \e$BJQ?t$K$7$?$,$C$F=q$-49$($r9T$$$?$$>l9g$K$O!"\e(B
+        <code>%{LA-U:REMOTE_USER}</code>
+        \e$B$r;HMQ$7$J$1$l$P$J$j$^$;$s!#$J$<$J$i!"$3$NJQ?t$O\e(B mod_rewrite
+        \e$B$,F0:n$9$k\e(B URL \e$BJQ49%U%'!<%:$N\e(B<em>\e$B8e\e(B</em>\e$B$K$"$kG'>Z%U%'!<%:$G\e(B
+        \e$B%;%C%H$5$l$k$b$N$@$+$i$G$9!#0lJ}!"%G%#%l%/%H%jC10L$N%3%s%F%-%9%H\e(B
+        (<code>.htaccess</code> \e$B%U%!%$%k\e(B) \e$B$G$O!"\e(Bmod_rewrite \e$B$O\e(B API \e$B$N\e(B Fixup
+        \e$B%U%'!<%:$rDL$7$F<BAu$5$l$F$*$j!"\e(B
+        \e$BG'>Z%U%'!<%:$O$3$N%U%'!<%:$N\e(B<em>\e$BA0\e(B</em>\e$B$K9T$J$o$l$k$?$a!"\e(B
+        \e$B$=$3$G$OC1$K\e(B <code>%{REMOTE_USER}</code>
+        \e$B$H$9$k$3$H$,$G$-$k$^$9!#\e(B</li>
+
+        <li>\e$BFbIt$N\e(B(\e$B%U%!%$%kL>%Y!<%9$N\e(B)
+        \e$B%5%V%j%/%(%9%H$r<B9T$7$F\e(B<em>\e$BJQ?t\e(B</em>\e$B$N:G=*CM$r7hDj$9$kFCJL$J=q<0\e(B
+        <code>%{LA-F:\e$BJQ?t\e(B}</code> \e$B$,$"$j$^$9!#\e(B
+        \e$B$[$H$s$I$N>l9g$3$l$OA0=R$N\e(B LA-U \e$B$HF1$8$G$9!#\e(B</li>
+      </ol>
+
+      <p><em>CondPattern</em> \e$B$O!">r7o%Q%?!<%s$G!"\e(B
+      \e$B8=:_$N\e(B <em>TestString</em> \e$B$N<BBN$KBP$7$FE,MQ$5$l$k@55,I=8=$G$9!#\e(B
+      <em>TestString</em> \e$B$OI>2A$5$l$?8e$K\e(B <em>CondPattern</em>\e$B$KBP$7$F\e(B
+      \e$B%^%C%A%s%0$,9T$J$o$l$^$9!#\e(B</p>
+
+      <p><strong>\e$BHw9M\e(B:</strong> <em>CondPattern</em>\e$B$O!"\e(B
+      \e$BI8=`$N\e(B<em>\e$B3HD%@55,I=8=\e(B</em>\e$B$K$$$/$D$+DI2C$r9T$C$?$b$N$G$9\e(B:</p>
+
+      <ol>
+        <li>'<code>!</code>' \e$BJ8;z\e(B(\e$B%(%/%9%/%i%a!<%7%g%s%^!<%/\e(B)
+        \e$B$r%Q%?!<%sJ8;zNs$NA0$K$D$1$k$3$H$G!"\e(B
+        \e$B%^%C%A\e(B<strong>\e$B$7$J$$\e(B</strong>\e$B%Q%?!<%s$r;XDj$G$-$^$9!#\e(B</li>
+
+        <li>
+        <em>CondPattern</em> \e$B$N$A$g$C$H$7$?JQ<o$b$"$j$^$9!#\e(B
+        \e$B<B:]$N@55,I=8=J8;zNs$NBe$o$j$K0J2<$N$h$&$K;H$&$3$H$,$G$-$^$9\e(B:
+
+          <ul>
+            <li>'<strong>&lt;CondPattern</strong>'
+            (\e$B;z6g$NJB$SE*$K!"$h$j>.$5$$\e(B)<br />
+            <em>CondPattern</em> \e$B$rC1$J$kJ8;zNs$H$7$F07$$!"\e(B
+            \e$B;z6g$NJB$S$H$7$F\e(B <em>TestString</em> \e$B$HHf3S$7$^$9!#\e(B
+            <em>TestString</em> \e$B$,;z6g$NJB$S$H$7$F\e(B
+            <em>CondPattern</em> \e$B$h$j>.$5$$>l9g$K??$K$J$j$^$9!#\e(B</li>
+
+            <li>'<strong>&gt;CondPattern</strong>'
+            (\e$B;z6g$NJB$SE*$K!"$h$jBg$-$$\e(B)<br />
+            <em>CondPattern</em> \e$B$rC1$J$kJ8;zNs$H$7$F07$$!"\e(B
+            \e$B;z6g$NJB$S$H$7$F\e(B <em>TestString</em> \e$B$HHf3S$7$^$9!#\e(B
+            <em>TestString</em> \e$B$,;z6g$NJB$S$H$7$F\e(B
+            <em>CondPattern</em> \e$B$h$jBg$-$$>l9g$K??$K$J$j$^$9!#\e(B</li>
+
+            <li>'<strong>=CondPattern</strong>'
+            (\e$B;z6g$NJB$SE*$KEy$7$$\e(B)<br />
+            <em>CondPattern</em> \e$B$rC1$J$kJ8;zNs$H$7$F07$$!"\e(B
+            \e$B;z6g$NJB$S$H$7$F\e(B <em>TestString</em> \e$B$HHf3S$7$^$9!#\e(B
+            <em>TestString</em> \e$B$,;z6g$NJB$S$H$7$F\e(B
+            <em>CondPattern</em> \e$B$HEy$7$$>l9g!"$9$J$o$A!"Fs$D$NJ8;zNs$,\e(B
+            (1 \e$BJ8;z$:$DHf3S$7$F\e(B)\e$B@53N$KEy$7$$>l9g$K??$K$J$j$^$9!#\e(B
+            \e$B$b$7\e(B <em>CondPattern</em> \e$B$,C1$J$k\e(B<samp>""</samp>
+            (\e$BFs$D$N0zMQId\e(B)\e$B$G$"$l$P!"\e(B
+            <em>TestString</em> \e$B$O6uJ8;zNs$HHf3S$5$l$^$9!#\e(B</li>
+
+            <li>'<strong>-d</strong>' (\e$B%G%#%l%/%H%j\e(B (<strong>d</strong>irectory))<br />
+            <em>TestString</em> \e$B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"\e(B
+            \e$B$+$D%G%#%l%/%H%j$G$"$l$P??!#\e(B</li>
+
+            <li>'<strong>-f</strong>' (\e$BDL>o$N%U%!%$%k\e(B (<strong>f</strong>ile))<br />
+            <em>TestString</em> \e$B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"\e(B
+            \e$B$+$DDL>o$N%U%!%$%k$G$"$l$P??!#\e(B</li>
+
+            <li>'<strong>-s</strong>' (\e$BBg$-$5\e(B (<strong>s</strong>ize)
+            \e$B$N$"$kDL>o$N%U%!%$%k\e(B)<br />
+            <em>TestString</em> \e$B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"\e(B
+            \e$B$+$DBg$-$5$,\e(B 0 \e$B$h$jBg$-$$DL>o%U%!%$%k$G$"$l$P??!#\e(B</li>
+
+            <li>'<strong>-l</strong>' (\e$B%7%s%\%j%C%/%j%s%/\e(B
+            (symbolic <strong>l</strong>ink))<br />
+            <em>TestString</em> \e$B$r%Q%9L>$H$7$F07$$!"$=$l$,B8:_$7$F!"\e(B
+            \e$B$+$D%7%s%\%j%C%/%j%s%/$G$"$l$P??!#\e(B</li>
+
+            <li>'<strong>-F</strong>' (\e$B%5%V%j%/%(%9%H$rDL$7$?4{B8%U%!%$%k\e(B)
+            <br />
+            <em>TestString</em> \e$B$,M-8z$J%U%!%$%k$G$"$k$3$H!"\e(B
+            \e$B$=$7$F$3$N%5!<%P$K$*$$$F!"8=;~E@$G@_Dj$5$l$F$$$k$9$Y$F$N\e(B
+            \e$B%"%/%;%9@)8f$rDL$7$F!"$=$N%Q%9L>$G%"%/%;%9$G$-$k$+$I$&$+$r\e(B
+            \e$B%A%'%C%/$7$^$9!#$3$l$OFbIt$N%5%V%j%/%(%9%H$r;H$C$F\e(B
+            \e$B%A%'%C%/$r9T$&$N$G!"Cm0U$7$F;H$o$J$$$H%5!<%P$N\e(B
+            \e$B%Q%U%)!<%^%s%9$rDc2<$5$;$k$3$H$K$J$j$+$M$^$;$s\e(B!</li>
+
+            <li>'<strong>-U</strong>' (\e$B%5%V%j%/%(%9%H$rDL$7$?4{B8\e(B URL)
+            <br />
+            <em>TestString</em> \e$B$,M-8z$J\e(B URL \e$B$G$"$k$3$H!"\e(B
+            \e$B$=$7$F$3$N%5!<%P$K$*$$$F!"8=;~E@$G@_Dj$5$l$F$$$k$9$Y$F$N\e(B
+            \e$B%"%/%;%9@)8f$rDL$7$F!"$=$N%Q%9L>$G%"%/%;%9$G$-$k$+$I$&$+$r\e(B
+            \e$B%A%'%C%/$7$^$9!#$3$l$OFbIt$N%5%V%j%/%(%9%H$r;H$C$F\e(B
+            \e$B%A%'%C%/$r9T$&$N$G!"Cm0U$7$F;H$o$J$$$H%5!<%P$N\e(B
+            \e$B%Q%U%)!<%^%s%9$rDc2<$5$;$k$3$H$K$J$j$+$M$^$;$s\e(B!</li>
+          </ul>
+
+          <table width="70%" border="0" bgcolor="#E0E0F0"
+          cellspacing="0" cellpadding="10">
+            <tr>
+              <td><strong>\e$BCm0U\e(B: </strong>\e$B0J>e$9$Y$F$N%F%9%H$K$D$$$F!"\e(B
+              \e$B%(%/%9%/%i%a!<%7%g%s%^!<%/\e(B ('!') \e$B$rA0$KCV$/$3$H$K$h$j\e(B
+              \e$B$=$l$i$N0UL#$rH]Dj$7$?%^%C%A%s%0$r9T$J$&$3$H$,$G$-$^$9!#\e(B</td>
+            </tr>
+          </table>
+        </li>
+      </ol>
+
+      <p>\e$B$5$i$K!"\e(B<code>RewriteCond</code>
+      \e$B%G%#%l%/%F%#%V$X$NBh;00z?t$H$7$F\e(B <em>CondPattern</em> \e$B$KFCJL$J\e(B</p>
+
+      <blockquote>
+        <strong><code>[</code><em>\e$B%U%i%0\e(B</em><code>]</code></strong>
+      </blockquote>
+      \e$B$rDI2C$9$k$3$H$,$G$-$^$9\e(B
+      <em>\e$B%U%i%0\e(B</em>\e$B$O0J2<$N$b$N$r%+%s%^6h@Z$j$GJB$Y$?$b$N$G$9\e(B:
+
+      <ul>
+        <li>'<strong><code>nocase|NC</code></strong>'
+        (<strong>n</strong>o <strong>c</strong>ase)<br />
+        \e$B$3$l$OBgJ8;z>.J8;z$r6hJL$;$:$K%F%9%H$7$^$9!#\e(B<em>\e$B$9$J$o$A!"\e(B</em>
+        \e$BE83+$5$l$?\e(B<em>TestString</em> \e$B$H\e(B <em>CondPattern</em> \e$B$K$*$$$F!"\e(B
+        'A-Z' \e$B$*$h$S\e(B 'a-z' \e$B$N4V$K$O0c$$$O$J$$$b$N$H8+$J$5$l$^$9!#\e(B
+        \e$B$3$N%U%i%0$O\e(B<em>TestString</em> \e$B$H\e(B <em>CondPattern</em> \e$B$N4V$N\e(B
+        \e$BHf3S$K$*$$$F$N$_M-8z$G$9!#%U%!%$%k%7%9%F%`>e$*$h$S%5%V%j%/%(%9%H\e(B
+        \e$B$N%A%'%C%/$G$O0UL#$r;}$A$^$;$s!#\e(B</li>
+
+        <li>
+          '<strong><code>ornext|OR</code></strong>'
+          (<strong>or</strong> next condition)<br />
+          \e$B%k!<%k>r7o$r7k9g$9$k$K$"$?$j!"0EL[$N\e(B AND \e$B$NBe$o$j$K%m!<%+%k$N\e(B
+          OR \e$B$r;H$$$^$9!#E57?E*$JNc$H$7$F!"0J2<$r;2>H$7$F$/$@$5$$!'\e(B
+
+          <blockquote>
+<pre>
+RewriteCond %{REMOTE_HOST}  ^host1.*  [OR]
+RewriteCond %{REMOTE_HOST}  ^host2.*  [OR]
+RewriteCond %{REMOTE_HOST}  ^host3.*
+RewriteRule ...\e$B$3$l$i$N%[%9%H$K4X$9$kFCJL$J=hM}\e(B
+</pre>
+          </blockquote>
+          \e$B$3$N%U%i%0$r;H$o$J$$>l9g$O!">r7o\e(B/\e$B%k!<%k$r\e(B
+          3 \e$B2s=q$/$3$H$K$J$C$F$7$^$$$^$9!#\e(B
+        </li>
+      </ul>
+
+      <p><strong>\e$B;HMQNc\e(B:</strong></p>
+
+      <blockquote>
+        \e$B%j%/%(%9%H$NCf$N\e(B ``<code>User-Agent:</code>'' \e$B%X%C%@$K=>$C$F\e(B
+        \e$B%5%$%H$N%[!<%`%Z!<%8$N=q$-49$($r9T$J$&$K$O!"0J2<$N$h$&$K$7$^$9!'\e(B
+
+        <blockquote>
+<pre>
+RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
+RewriteRule  ^/$                 /homepage.max.html  [L]
+
+RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
+RewriteRule  ^/$                 /homepage.min.html  [L]
+
+RewriteRule  ^/$                 /homepage.std.html  [L]
+</pre>
+        </blockquote>
+        \e$B2r<a\e(B: \e$B%V%i%&%6$H$7$F\e(B(\e$B<+J,<+?H$G\e(B 'Mozilla' \e$B$HL>>h$C$F$$$k\e(B)
+        \e$B%M%C%H%9%1!<%W%J%S%2!<%?$r;H$&>l9g!"%U%l!<%`\e(B<em>\e$B$J$I\e(B</em>\e$B$r4^$`\e(B
+        max \e$B$N%[!<%`%Z!<%8$r8+$k$3$H$K$J$j$^$9!#\e(B(\e$BC<Kv%Y!<%9$N\e(B) Lynx
+        \e$B%V%i%&%6$r;H$&>l9g$O!"2hA|$d%F!<%V%k\e(B<em>\e$B$J$I\e(B</em>\e$B$r4^$^$J$$\e(B
+        min \e$B$N%[!<%`%Z!<%8$,I=<($5$l$^$9!#$=$l0J30$N%V%i%&%6$N>l9g$OI8=`\e(B
+        (std) \e$B$N%Z!<%8$,I=<($5$l$^$9!#\e(B
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h3><a id="RewriteRule"
+      name="RewriteRule">RewriteRule</a></h3>
+      <a href="directive-dict.html#Syntax"
+      rel="Help"><strong>\e$B=q<0\e(B:</strong></a> RewriteRule
+      <em>Pattern</em> <em>Substitution</em><br />
+       <a href="directive-dict.html#Default"
+      rel="Help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>\e$B$J$7\e(B</em><br />
+       <a href="directive-dict.html#Context"
+      rel="Help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B
+      \e$B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+       <a href="directive-dict.html#Override"
+      rel="Help"><strong>\e$B%*!<%P!<%i%$%I\e(B:</strong></a>
+      <em>FileInfo</em><br />
+       <a href="directive-dict.html#Status"
+      rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+       <a href="directive-dict.html#Module"
+      rel="Help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_rewrite.c<br />
+       <a href="directive-dict.html#Compatibility"
+      rel="Help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2
+      (partially), Apache 1.3<br />
+
+      <p><code>RewriteRule</code>
+      \e$B%G%#%l%/%F%#%V$O!"<B:]$N=q$-49$($rC4Ev$7$F$/$l$kGO<VGO$G$9!#\e(B
+      \e$B$3$N%G%#%l%/%F%#%V$OJ#?t2s=q$/$3$H$,$G$-$^$9!#\e(B
+      \e$B3F%G%#%l%/%F%#%V$O0l$D$N=q$-49$(%k!<%k$rDj5A$7$^$9!#\e(B
+      \e$B$3$l$i%k!<%k$r\e(B<strong>\e$BDj5A$9$k=g=x\e(B</strong>\e$B$O=EMW$G$9!#\e(B
+      \e$B$J$<$J$i!"<B9T;~$K%k!<%k$rE,MQ$9$k:]!"$3$N=g=x$G9T$J$o$l$k$+$i$G$9!#\e(B
+      </p>
+
+      <p><a id="patterns" name="patterns"><em>Pattern</em></a> \e$B$O8=:_$N\e(B
+      URL \e$B$KE,MQ$5$l$k\e(B (Apache 1.1.x \e$B$G$O\e(B System V8\e$B!"\e(BApache 1.2.x
+      \e$B0J9_$G$O\e(B POSIX \e$B$N\e(B)<a id="regexp" name="regexp">\e$B@55,I=8=\e(B</a>\e$B$G$9!#\e(B
+      \e$B$3$3$G!V8=:_$N!W$H8@$C$F$$$k$N$O!"%k!<%k$,E,MQ$5$l$k:]$N\e(B URL
+      \e$B$NCM$N$3$H$G$9!#$3$l$O%j%/%(%9%H$5$l$?%*%j%8%J%k$N\e(B URL
+      \e$B$G$"$k$H$O8B$j$^$;$s!#4{$K?tB?$/$N%k!<%k$,%^%C%A$7$F!"\e(B
+      \e$B$=$l$r=q$-49$($?8e$+$b$7$l$J$$$+$i$G$9!#\e(B</p>
+
+      <p>\e$B@55,I=8=$NJ8K!$K4X$9$k%R%s%H\e(B:</p>
+
+      <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+        <tr>
+          <td valign="top">
+<pre>
+<strong>\e$B%F%-%9%H\e(B: </strong>
+  <strong><code>.</code></strong>           \e$BG$0U$N0lJ8;z\e(B
+  <strong><code>[</code></strong>chars<strong><code>]</code></strong>     \e$BJ8;z%/%i%9\e(B: \e$B$$$:$l$+$NJ8;z\e(B
+  <strong><code>[^</code></strong>chars<strong><code>]</code></strong>    \e$BJ8;z%/%i%9\e(B: \e$B$3$l$i0J30$NJ8;z\e(B
+  text1<strong><code>|</code></strong>text2 \e$BA*Br;h\e(B: text1 \e$B$^$?$O\e(B text2
+
+<strong>\e$BJ8;z?t;XDj\e(B:</strong>
+  <strong><code>?</code></strong>           \e$BD>A0$NJ8;z$N\e(B 0 \e$B2s$^$?$O\e(B 1 \e$B2s$N7+$jJV$7\e(B
+  <strong><code>*</code></strong>           \e$BD>A0$NJ8;z$N\e(B 0 \e$B2s0J>e$N7+$jJV$7\e(B
+  <strong><code>+</code></strong>           \e$BD>A0$NJ8;z$N\e(B 1 \e$B2s0J>e$N7+$jJV$7\e(B
+
+<strong>\e$B%0%k!<%T%s%0\e(B:</strong>
+  <strong><code>(</code></strong>text<strong><code>)</code></strong>      \e$B%F%-%9%H$N%0%k!<%T%s%0\e(B
+              (\e$BA*Br;h$N6-3&$rL@<($9$k!"<c$7$/$O8eJ};2>H$r:n@.$9$k$?$a$K;H$&!#\e(B
+               <strong>N</strong>\e$BHVL\$N%0%k!<%W$O!"\e(BRewriteRule \e$B$N1&B&$NI=8=$G\e(B<code>$</code><strong>N</strong>\e$B$H$7$F;2>H$9$k$3$H$,2DG=!#!K\e(B
+
+<strong>\e$BJ8;z0LCV$N;XDj\e(B:</strong>
+  <strong><code>^</code></strong>           \e$B9TF,\e(B
+  <strong><code>$</code></strong>           \e$B9TKv\e(B
+
+<strong>\e$B%(%9%1!<%W\e(B:</strong>
+  <strong><code>\</code></strong>char       \e$BFC<lJ8;z$r%(%9%1!<%W\e(B(\e$B8z2L$rBG$A>C$9\e(B)\e$B$9$k\e(B
+              (\e$BNc$($P\e(B "<code>.[]()</code>" <em>\e$B$J$I\e(B</em>)
+</pre>
+          </td>
+        </tr>
+      </table>
+
+      <p>\e$B@55,I=8=$K4X$9$k>pJs$O!"%m!<%+%k$N\e(B regex(3) man \e$B%Z!<%8$+$^$?$O\e(B
+      Apache 1.3 \e$B$NG[I[J*$K4^$^$l$k\e(B<code>src/regex/regex.3</code>
+      \e$B$r;2>H$7$F$/$@$5$$!#$b$7@55,I=8=$d$=$NJQ<o\e(B (POSIX \e$B@55,I=8=!"\e(B
+      Perl \e$B@55,I=8=\e(B <em>\e$B$J$I\e(B</em>)\e$B$K6=L#$,$"$l$P!"0J2<$N@lLg=q$r$4Mw2<$5$$\e(B:</p>
+
+      <blockquote>
+        <em>Mastering Regular Expressions</em><br />
+         Jeffrey E.F. Friedl<br />
+         Nutshell Handbook Series<br />
+         O'Reilly &amp; Associates, Inc. 1997<br />
+         ISBN 1-56592-257-3<br />
+      </blockquote>
+
+      <p>(\e$BLuCm\e(B: \e$BBh\e(B2\e$BHG$NF|K\8lHG\e(B)</p>
+
+      <blockquote>
+        <em>\e$B>\@b\e(B \e$B@55,I=8=\e(B \e$BBh\e(B2\e$BHG\e(B</em><br />
+         Jeffrey E. F. Friedl \e$BCx\e(B<br />
+         \e$BEDOB\e(B \e$B>!\e(B \e$BLu\e(B<br />
+         \e$B%*%i%$%j!<!&%8%c%Q%s\e(B 2003<br />
+         ISBN 4-87311-130-7<br />
+      </blockquote>
+
+      <p>\e$B$5$i$K!"\e(Bmod_rewrite \e$B$G$O%Q%?!<%s$NA0$K\e(B NOT \e$BJ8;z\e(B('<code>!</code>')
+      \e$B$,;H$($^$9!#$3$l$G8eB3$N%Q%?!<%s$rH]Dj$9$k$3$H$,$G$-$^$9!#\e(B
+      \e$BNc$($F$$$&$J$i$P!"\e(B``<em>\e$B$b$78=:_$N\e(B URL
+      \e$B$,$3$N%Q%?!<%s$K%^%C%A\e(B<strong>\e$B$7$J$1$l$P\e(B</strong></em>''
+      \e$B$H$$$&$3$H$G$9!#$3$l$O!"H?BP$N%Q%?!<%s$rI=$9J}$,4JC1$@$C$?$j!"\e(B
+      \e$B:G8e$N%G%U%)%k%H%k!<%k$H$9$k$J$I!"\e(B
+      \e$BNc30E*$J%1!<%9$rI=8=$9$k$N$K$b;H$($^$9!#\e(B</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B:</strong> NOT
+          \e$BJ8;z$r;H$C$F%Q%?!<%s$rH]Dj$9$k>l9g$O%Q%?!<%sCf$K\e(B
+          \e$B%0%k!<%W2=$5$l$?%o%$%k%I%+!<%IItJ,$rF~$l$k$3$H$O$G$-$^$;$s!#\e(B
+          \e$B$3$l$O!"%Q%?!<%s$,%^%C%A\e(B *\e$B$7$J$$\e(B* \e$B$H$-!"\e(B
+          \e$B%0%k!<%W$NCf?H$O6u$K$J$C$F$7$^$&$+$i$G$9!#$=$N7k2L!"\e(B
+          \e$BH]Dj$5$l$?%Q%?!<%s$r;H$&>l9g$O!"CV$-49$(J8;zNs$NCf$G\e(B
+          <code>$N</code> \e$B$O;H$($^$;$s\e(B!</td>
+        </tr>
+      </table>
+
+      <p>\e$B=q$-49$(%k!<%k$N\e(B <a id="rhs"
+      name="rhs"><em>Substitution</em></a> \e$B$O!"\e(B<em>Pattern</em>\e$B$,\e(B
+      \e$B%^%C%A$7$?>l9g$K%*%j%8%J%k$N\e(B URL \e$B$+$iCV$-49$($i$l$kJ8;zNs$G$9!#\e(B
+      \e$B%W%l!<%s%F%-%9%H$NB>$K0J2<$N$b$N$,;H$($^$9!#\e(B</p>
+
+      <ol>
+        <li>RewriteRule \e$B%Q%?!<%s$X$N8eJ};2>H\e(B <code>$N</code></li>
+
+        <li>\e$B:G8e$K%^%C%A$7$?\e(B RewriteCond \e$B%Q%?!<%s$X$N8eJ};2>H\e(B
+        <code>%N</code></li>
+
+        <li>\e$B%k!<%k>r7o$N%F%9%HJ8;zNs$HF1MM$N%5!<%PJQ?t\e(B
+        (<code>%{\e$BJQ?tL>\e(B}</code>)</li>
+
+        <li><a href="#mapfunc">\e$B%^%C%T%s%04X?t\e(B</a> \e$B$N8F$S=P$7\e(B
+        (<code>${mapname:key|default}</code>)</li>
+      </ol>
+      \e$B8eJ};2>H$O\e(B <code>$</code><strong>N</strong>(<strong>N</strong>=0..9)
+      \e$B<1JL;R$GI=$7$^$9!#$3$l$O!"%^%C%A$7$?\e(B <em>Pattern</em> \e$B$N%0%k!<%W$NCf$G!"\e(B
+      <strong>N</strong> \e$BHVL\$N$b$N$NFbMF$KCV$-49$($i$l$^$9!#%5!<%PJQ?t$O\e(B
+      <code>RewriteCond</code> \e$B%G%#%l%/%F%#%V$N\e(B <em>TestString</em> \e$B$HF1$8$G$9!#\e(B
+      \e$B%^%C%T%s%04X?t$O\e(B <code>RewriteMap</code> \e$B%G%#%l%/%F%#%V$+$iMh$?$b$N$G!"\e(B
+      \e$B$=$3$G@bL@$7$F$$$^$9!#$3$l$i\e(B 3 \e$B%?%$%W$NJQ?t$O!">e5-$N=g=x$GE83+$5$l$^$9!#\e(B
+
+      <p>\e$BA0=R$N$h$&$K!"$9$Y$F$N=q$-49$(%k!<%k$,\e(B <em>Substitution</em> \e$B$KBP$7$F\e(B
+      (\e$B@_Dj%U%!%$%k$KDj5A$7$F$"$k=g$K\e(B)\e$BE,MQ$5$l$^$9!#\e(BURL
+      \e$B$O\e(B <em>Substitution</em> \e$B$K$h$C$F\e(B<strong>\e$B40A4$KCV$-49$($i$l\e(B</strong>\e$B!"\e(B
+      \e$B=q$-49$(=hM}$O\e(B <code><strong>L</strong></code> \e$B%U%i%0\e(B -- \e$B8e=R\e(B --
+      \e$B$K$h$C$FL@<(E*$K=*C<$5$l$F$$$J$$8B$j!"\e(B
+      \e$B%k!<%k$,$J$/$J$k$^$GB3$1$i$l$^$9!#\e(B</p>
+
+      <p>'<code>-</code>' \e$B$H8F$P$l$kFC<l$JCV$-49$(J8;zNs$,$"$j$^$9!#\e(B
+      \e$B$3$l$O!"\e(B<strong>\e$BCV496X;_\e(B</strong>! \e$B$N0UL#$G$9!#JQ$G$7$g\e(B?
+      \e$B$$$$$(!"$3$l$O\e(B URL \e$B$N%^%C%A%s%0\e(B<strong>\e$B$@$1\e(B</strong>\e$B$r9T$J$$!"\e(B
+      \e$BCV49$r9T$J$o$J$$$H$$$&5!G=$rDs6!$7$F$/$l$k$b$N$G$9!#\e(B
+      <em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<strong>C</strong> (chain)
+      \e$B%U%i%0$H$J$$$C$7$g$K;H$&$3$H$K$h$C$F!"\e(B
+      \e$BCV49$,9T$J$o$l$kA0$KJ#?t$N%Q%?!<%s$rE,MQ$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+      <p>\e$B$b$&$R$H$DCm0U;v9`\e(B: \e$B%/%(%j!<J8;zNsItJ,$rIU2C$7$?CV49J8;zNs$G\e(B
+      URL \e$B$r@8@.$9$k$3$H$b$G$-$^$9!#\e(B
+      \e$BC1$K!"CV49J8;zNs$NCf$K%/%(%9%A%g%s%^!<%/$rF~$l$k$@$1$G!"$=$l0J9_$O\e(B
+      QUERY_STRING \e$B$KF~$l$k$Y$-$3$H$r<($7$^$9!#\e(B
+      \e$B4{B8$N%/%(%j!<J8;zNs$r>C5n$7$?$$>l9g$O!"\e(B
+      \e$BCV49J8;zNs$r%/%(%9%A%g%s%^!<%/$@$1$G=*$o$i$;$k$h$&$K$7$^$9!#\e(B</p>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B</strong>: \e$BFC<l5!G=$K$D$$$F=R$Y$^$9\e(B:
+          \e$BCV49%U%#!<%k%I$NA0$K\e(B
+          <code>http://</code><em>thishost</em>[<em>:thisport</em>]
+          \e$B$rCV$/$H!"\e(B<strong>mod_rewrite</strong>
+          \e$B$O<+F0E*$K$3$l$r=|5n$7$^$9!#$3$N0EL[$N30It%j%@%$%l%/%H\e(B URL
+          \e$B$K$*$1$k<+F0JQ495!G=$O!"%[%9%HL>ItJ,$r@8@.$9$k\e(B
+          \e$B%^%C%T%s%04X?t$HF1;~$K;H$&>l9g$KJXMx$+$D=EMW$J$b$N$G$9!#\e(B
+          \e$B$3$l$rM}2r$9$k$K$O!"0J2<$N%5%s%W%k$N>O$N:G=i$NNc$r8+$F$/$@$5$$!#\e(B
+          </td>
+        </tr>
+      </table>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BHw9M\e(B: \e$B$3$N5!G=$N1F6A$G!"\e(B</strong>
+          <code>http://thishost</code> \e$B@\F,<-$NIU$$$?\e(B
+          \e$B<+J,<+?H$N%5!<%P$X$NL5>r7o$N30It%j%@%$%l%/%7%g%s$O!"\e(B
+          \e$BF0:n$7$^$;$s!#\e(B
+          \e$B$3$N$h$&$J<+8J%j%@%$%l%/%H$r9T$&$K$O!"\e(B<strong>R</strong>
+          \e$B%U%i%0$r;H$&I,MW$,$"$j$^$9\e(B(\e$B8e=R\e(B)\e$B!#\e(B</td>
+        </tr>
+      </table>
+
+      <p><code>RewriteRule</code> \e$B%G%#%l%/%F%#%V$NBh;00z?t$H$7$F!"\e(B
+      <em>Pattern</em> \e$B$KBP$7$F>e5-0J30$K$b0J2<$N$h$&$J\e(B</p>
+
+      <blockquote>
+        <strong><code>[</code><em>\e$B%U%i%0\e(B</em><code>]</code></strong>
+      </blockquote>
+      \e$B$r$D$1$k$3$H$,$G$-$^$9!#\e(B
+      <em>\e$B%U%i%0\e(B</em>\e$B$O0J2<$N$b$N$r%+%s%^$G6h@Z$C$F;XDj$7$^$9\e(B:
+
+      <ul>
+        <li>
+          '<strong><code>redirect|R</code>
+          [=<em>code</em>]</strong>' (\e$B6/@)\e(B <a id="redirect"
+          name="redirect"><strong>r</strong>edirect</a>)<br />
+
+          <em>Substitution</em> \e$B$NA0$K\e(B (\e$B?7$7$$\e(B URL \e$B$r\e(B URI \e$B$K$9$k\e(B)
+          <code>http://thishost[:thisport]/</code>
+          \e$B$r$D$1$k$3$H$K$h$j6/@)E*$J30It%j%@%$%l%/%7%g%s$r9T$J$$$^$9!#\e(B
+          <em>code</em> \e$B$,;XDj$5$l$J$$>l9g!"\e(BHTTP \e$B%l%9%]%s%9$N\e(B 302
+          (MOVED TEMPORARILY) \e$B$,;H$o$l$^$9!#\e(B300 \e$B$+$i\e(B 400
+          \e$B$^$G$NB>$N%l%9%]%s%9%3!<%I$rJV$7$?$$>l9g$O!"\e(B
+          \e$BD>@\$=$NHV9f$r;XDj$9$k$+!"%7%s%\%kL>\e(B <code>temp</code>
+          (\e$B%G%U%)%k%H\e(B), <code>permanent</code>, <code>seeother</code>
+          \e$B$N$$$:$l$+$r;H$$$^$9!#\e(B<em>\e$BNc$($P\e(B</em>\e$B!"\e(B``<code>/~</code>''
+          \e$B$r\e(B ``<code>/u/</code>'' \e$B$KJQ49$7$?$j!">o$K\e(B <code>/u/</code>
+          <em>user</em> \e$B$K%9%i%C%7%e$rDI2C$9$k$J$I$N!"%/%i%$%"%s%H$K\e(B \e$B@55,2=\e(B
+          \e$B$5$l$?\e(B URL \e$B$rJV$9%k!<%k$K;H$&$3$H$,$G$-$^$9!#\e(B<br />
+
+          <p><strong>\e$BCm0U\e(B:</strong>
+          \e$B$3$N%U%i%0$r;H$&>l9g$O!"CV49%U%#!<%k%I$,M-8z$J\e(B URL
+          \e$B$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#$b$7$=$&$G$J$$>l9g!"\e(B
+          \e$BL58z$J>l=j$K%j%@%$%l%/%H$7$F$$$k$3$H$K$J$C$F$7$^$$$^$9!#\e(B
+          \e$B$5$i$K!"$3$N%U%i%0$O!"\e(BURL \e$B$NA0$K\e(B
+          <code>http://thishost[:thisport]/</code>
+          \e$B$rIU2C$9$k$@$1$G!"$=$N8e$b=q$-49$(=hM}$OB3$/$3$H$r\e(B
+          \e$BM}2r$7$F$*$$$F$/$@$5$$!#\e(B
+          \e$BDL>o$O$=$3$G=q$-49$($r$d$a$FB(;~$K%j%@%$%l%/%H$9$k$3$H$,K>$_$NF0:n\e(B
+          \e$B$G$7$g$&!#\e(B
+          \e$B=q$-49$($r=*N;$9$k$K$O!"\e(B
+          'L' \e$B%U%i%0$b$$$C$7$g$K;XDj$7$J$1$l$P$J$j$^$;$s!#\e(B</p>
+        </li>
+
+        <li>'<strong><code>forbidden|F</code></strong>' (URL \e$B$r6/@)E*$K\e(B
+        <strong>f</strong>orbidden(\e$B6X;_\e(B)\e$B$K$9$k\e(B)<br />
+        \e$B$3$l$O8=:_$N\e(B URL \e$B$r6/@)E*$K%"%/%;%96X;_$K$7$^$9!#\e(B
+        <em>\e$B$9$J$o$A\e(B</em>\e$B!"B(;~$K\e(B HTTP \e$B%l%9%]%s%9$N\e(B 403 (FORBIDDEN)
+        \e$B$rJV$7$^$9!#$3$N%U%i%0$OE,@Z$J\e(B RewriteCond
+        \e$B$H$$$C$7$g$K;H$C$F!"FCDj$N\e(B URL \e$B$KBP$9$k>r7o%V%m%C%/$r9T$J$&$?$a$K\e(B
+        \e$B;H$$$^$9!#\e(B</li>
+
+        <li>'<strong><code>gone|G</code></strong>' (URL \e$B$r6/@)E*$K\e(B
+        <strong>g</strong>one(\e$B>C5n:Q$_\e(B)\e$B$K$9$k\e(B)<br />
+        \e$B$3$l$O8=:_$N\e(B URL \e$B$r6/@)E*$K>C5n:Q$_\e(B(gone)\e$B$K$7$^$9!#\e(B
+        <em>\e$B$9$J$o$A\e(B</em>\e$B!"B(;~$K\e(B HTTP \e$B%l%9%]%s%9$N\e(B 410 (GONE)
+        \e$B$rJV$7$^$9!#$3$N%U%i%0$O$b$O$dB8:_$7$J$$%Z!<%8$r\e(B
+        \e$B>C5n:Q$_$H$7$F%^!<%/$9$k$?$a$K;H$$$^$9!#\e(B</li>
+
+        <li>
+          '<strong><code>proxy|P</code></strong>' (\e$B6/@)\e(B
+          <strong>p</strong>roxy)<br />
+          \e$B$3$N%U%i%0$O!"CV49BP>]It$rFbItE*$J%W%m%-%7%j%/%(%9%H\e(B
+          \e$B$H$_$J$7!"$=$N>l$G\e(B(<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B
+          \e$B$3$3$G=q$-49$(%k!<%k$rDd;_$7$F\e(B)<a
+          href="mod_proxy.html">\e$B%W%m%-%7%b%8%e!<%k$r\e(B</a>\e$BDL$7$F=PNO$7$^$9!#\e(B
+          \e$BCV49BP>]J8;zNs$O\e(B(<em>\e$BNc$($P\e(B</em>\e$B!"IaDL$O\e(B <code>http://</code>
+          <em>hostname</em>\e$B$G;O$^$k$h$&$J\e(B)\e$B!"\e(BApache
+          \e$B%W%m%-%7%b%8%e!<%k$G07$($kM-8z$J\e(B URI \e$B$G$J$1$l$P$J$j$^$;$s!#\e(B
+          \e$B$=$&$G$J$1$l$P!"%W%m%-%7%b%8%e!<%k$+$i%(%i!<$,Js9p$5$l$^$9!#\e(B
+          \e$B$3$N%U%i%0$r;H$&$3$H$G$h$j6/NO$J\e(B <a
+          href="mod_proxy.html#proxypass">ProxyPass</a>
+          \e$B%G%#%l%/%F%#%V$N<BAu$r9T$J$&$3$H$,$G$-!"%j%b!<%H$K$"$k$b$N$r\e(B
+          \e$B%m!<%+%k%5!<%P$NL>A06u4V$K%^%C%W$9$k$3$H$,$G$-$^$9!#\e(B
+
+          <p>\e$BCm0U\e(B: \e$B$3$N5!G=$r;H$&$K$"$?$C$F$O!"$4<+J,$N\e(B Apache \e$B%5!<%P$K\e(B
+          \e$B%W%m%-%7%b%8%e!<%k$,AH$_9~$^$l$F$$$k$3$H$r\e(B
+          \e$B3NG'$7$F$/$@$5$$!#3NG'J}K!$,$o$+$i$J$$>l9g$O!"\e(B``<code>httpd
+          -l</code>'' \e$B$N=PNO$NCf$K\e(B <code>mod_proxy.c</code>
+          \e$B$,$"$k$+$I$&$+$rD4$Y$F$_$^$7$g$&!#$b$7$"$l$P!"\e(B
+          mod_rewrite \e$B$N$3$N5!G=$r;H$($^$9!#$b$7$J$1$l$P!"\e(Bmod_proxy
+          \e$B$rM-8z$K$7$F\e(B ``<code>httpd</code>''
+          \e$B%W%m%0%i%`$r:F9=C[$9$kI,MW$,$"$j$^$9!#\e(B</p>
+        </li>
+
+        <li>'<strong><code>last|L</code></strong>'
+        (<strong>l</strong>ast(\e$B:G8e$N\e(B)\e$B%k!<%k\e(B)<br />
+        \e$B$3$3$G=q$-49$(=hM}$rCf;_$7!"\e(B
+        \e$B$=$l0J>e$N=q$-49$(%k!<%k$rE,MQ$7$J$$$h$&$K$7$^$9!#$3$l$O\e(B Perl
+        \e$B$N\e(B <code>last</code> \e$B%3%^%s%I$d\e(B C \e$B8@8l$N\e(B <code>break</code>
+        \e$B%3%^%s%I$KBP1~$9$k$b$N$G$9!#$3$N%U%i%0$r;H$&$3$H$G!"\e(B
+        \e$B8=:_$N=q$-49$(8e$N\e(B URL \e$B$,8eB3$N%k!<%k$K$h$C$F\e(B
+        \e$B$=$l0J>e=q$-49$($i$l$k$3$H$rKI;_$7$^$9!#\e(B
+        \e$BNc$($P!"$3$l$r;H$C$F%k!<%H%Q%9$N\e(B URL ('<code>/</code>')
+        \e$B$r<B:]$N$b$N!"\e(B<em>\e$BNc$($P\e(B </em>'<code>/e/www/</code>'
+        \e$B$K=q$-49$($^$9!#\e(B</li>
+
+        <li>'<strong><code>next|N</code></strong>'
+        (<strong>n</strong>ext(\e$B<!$N\e(B)\e$B0l<~\e(B)<br />
+        \e$B=q$-49$(=hM}$r\e(B(\e$B0lHV:G=i$N=q$-49$(%k!<%k$+$i\e(B)\e$B:F<B9T$7$^$9!#\e(B
+        \e$B$?$@$7$=$N:]%^%C%A%s%0$5$l$k\e(B URL \e$B$OEv=i$N\e(B URL
+        \e$B$G$O$J$/!":G8e$K=q$-49$($i$l$?\e(B URL \e$B$G$9!#$3$l$O\e(B Perl
+        \e$B$N\e(B <code>next</code> \e$B%3%^%s%I$d\e(B C \e$B8@8l$N\e(B <code>continue</code>
+        \e$B%3%^%s%I$KBP1~$9$k$b$N$G$9!#\e(B
+        \e$B=q$-49$(=hM}$r:F5/F0$7$?$$$H$-\e(B
+        <em>\e$B$9$J$o$A!"\e(B</em>\e$B%k!<%W$N@hF,$KLa$j$?$$$H$-\e(B<br />\e$B$K\e(B
+        \e$B$3$N%3%^%s%I$r;H$C$F$/$@$5$$!#\e(B
+        <strong>\e$B$?$@$7!"L58B%k!<%W$r:n$i$J$$$h$&$KN10U$7$F$/$@$5$$\e(B!
+        </strong></li>
+
+        <li>'<strong><code>chain|C</code></strong>'
+        (\e$B<!$N%k!<%k$K\e(B <strong>c</strong>hained (\e$B%A%'%$%s\e(B))<br />
+        \e$B$3$N%U%i%0$r;XDj$9$k$H!"8=:_$N%k!<%k$O<!$N%k!<%k$K%A%'%$%s$5$l$^$9\e(B
+        (\e$B$J$*!"<!$N%k!<%k$b8eB3$N%k!<%k$K=gHV$K\e(B
+        \e$B%A%'%$%s$9$k$3$H$,$G$-$^$9\e(B)\e$B!#$3$l$K$O0J2<$N8z2L$,$"$j$^$9\e(B:
+        \e$B%k!<%k$,%^%C%A$9$k$H!"=hM}$ODL>o$I$*$j9T$o$l$^$9!#\e(B
+        <em>\e$B$9$J$o$A\e(B</em>\e$B%U%i%0$O2?$N1F6A$bM?$($^$;$s!#%k!<%k$,%^%C%A\e(B
+        <strong>\e$B$7$J$$\e(B</strong>\e$B>l9g!"8eB3$N$9$Y$F$N%k!<%k$O%9%-%C%W$5$l$^$9!#\e(B
+        \e$BNc$($P\e(B  (.www \e$BItJ,$,9T$J$o$l$k$Y$-$G$J$$\e(B)
+        \e$B30It%j%@%$%l%/%H$rH/@8$5$;$?;~$K!"\e(B
+        \e$B%G%#%l%/%H%j$4$H$N%k!<%k%;%C%H$NCf$+$i\e(B ``<code>.www</code>''
+        \e$B$NItJ,$r<h$j=|$/$?$a$K;H$&$3$H$G$-$^$9!#\e(B
+        </li>
+
+        <li>
+        '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
+        (MIME <strong>t</strong>ype \e$B$N6/@);XDj\e(B)<br />
+        \e$B%?!<%2%C%H%U%!%$%k$N\e(B MIME \e$B%?%$%W$r6/@)E*$K\e(B <em>MIME-type</em>
+        \e$B$K$7$^$9!#Nc$($P$3$l$r;H$C$F!"\e(B<code>mod_alias</code>
+        \e$B$N%G%#%l%/%F%#%V$G$"$k\e(B <code>ScriptAlias</code>
+        \e$B$r%7%_%e%l!<%H$9$k$3$H$,$G$-$^$9!#$3$l$O!"\e(B
+        \e$B%^%C%T%s%0$5$l$?%G%#%l%/%H%j$NCf$K$"$k$9$Y$F$N%U%!%$%k$N\e(B MIME
+        \e$B%?%$%W$r!"FbItE*$K\e(B``<code>application/x-httpd-cgi</code>''
+        \e$B$K6/@)%;%C%H$9$k$b$N$G$9!#\e(B</li>
+
+        <li>
+        '<strong><code>nosubreq|NS</code></strong>' (<strong>n</strong>o
+        <strong>s</strong>ub-request,
+        \e$BFbIt$N\e(B
+        \e$B%5%V%j%/%(%9%H$,$J$$\e(B
+        \e$B$H$-$N$_;H$o$l$k\e(B)<br />
+        \e$B$3$N%U%i%0$r;H$&$H!"%/%(%9%H$,FbIt$N%5%V%j%/%(%9%H$G$"$k>l9g$K!"\e(B
+        \e$B=q$-49$(%(%s%8%s$,=q$-49$(%k!<%k$r%9%-%C%W$9$k$h$&$K$7$^$9!#\e(B
+        \e$B%5%V%j%/%(%9%H$O!"Nc$($P!"\e(B<code>mod_include</code>
+        \e$B$,%G%#%l%/%H%j$N%G%U%)%k%H$N8uJd$H$J$k%U%!%$%k$N>pJs\e(B
+        (<code>index.xxx</code>) \e$B$r8!:w$7$h$&$H$9$k:]$K!"\e(BApache
+        \e$B$NCf$GFbItE*$KH/@8$7$^$9!#\e(B
+        \e$B%5%V%j%/%(%9%H$K$*$$$F$O=q$-49$(A`:n$O>o$KM-MQ$G$"$k$H$O8B$i$:!"\e(B
+        \e$B$9$Y$F$N%k!<%k$,E,MQ$5$l$F$7$^$&$HLdBj$r5/$3$7$F$7$^$&>l9g$b$"$j$^$9!#\e(B
+        \e$B$=$N$h$&$J%k!<%k$O$3$N%U%i%0$r;H$C$F=|30$7$^$9!#\e(B<br />
+
+        <p>\e$B0J2<$N%k!<%k$r;H$C$F!"$3$N%U%i%0$r;H$&$+$I$&$+7h$a$F$/$@$5$$\e(B:
+        CGI \e$B%9%/%j%W%H$N@hF,$K$J$s$i$+$N\e(B URL \e$B$rIU2C$7$F!"$=$l$r\e(B CGI
+        \e$B%9%/%j%W%H$G=hM}$5$;$h$&$H$9$k>l9g!"%5%V%j%/%(%9%H$N:]$KLdBj$,\e(B
+        \e$B5/$3$C$?$j\e(B (\e$B%*!<%P!<%X%C%I$,$+$+$C$?$j\e(B) \e$B$9$k2DG=@-$,9b$/$J$j$^$9!#\e(B
+        \e$B$3$N$h$&$J%1!<%9$G$O!"$3$N%U%i%0$r;H$C$F$/$@$5$$!#\e(B</p>
+        </li>
+
+        <li>'<strong><code>nocase|NC</code></strong>'
+        (<strong>n</strong>o <strong>c</strong>ase)<br />
+        \e$B$3$l$O\e(B<em>\e$B%Q%?!<%s\e(B</em>\e$B$K$D$$$FBgJ8;z>.J8;z$r6hJL$7$J$$$h$&$K$7$^$9!#\e(B
+        <em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<em>\e$B%Q%?!<%s\e(B</em>\e$B$,8=:_$N\e(B URL \e$B$H%^%C%A$5$l$k:]!"\e(B
+        'A-Z' \e$B$H\e(B 'a-z' \e$B$O6hJL$5$l$^$;$s!#\e(B</li>
+
+        <li>'<strong><code>qsappend|QSA</code></strong>'
+        (<strong>q</strong>uery <strong>s</strong>tring
+        <strong>a</strong>ppend)<br />
+        \e$B$3$N%U%i%0$O!"4{B8$N$b$N$rCV$-49$($k$N$G$O$J$/!"CV49J8;zNs$N\e(B
+        \e$B%/%(%j!<J8;zNsItJ,$rDI2C$9$k$h$&$K$7$^$9!#=q$-49$(%k!<%k$rDL$7$F%/%(%j!<\e(B
+        \e$BJ8;zNs$K2?$+%G!<%?$rDI2C$7$?$$>l9g$K$3$N%U%i%0$r;H$$$^$9!#\e(B</li>
+
+        <li>
+          '<strong><code>noescape|NE</code></strong>'
+          (<strong>n</strong>o URI <strong>e</strong>scaping of
+          output)<br />
+          \e$B$3$N%U%i%0$O!"\e(Bmod_rewrite \e$B$,=q$-49$(7k2L$KBP$7$FDL>o9T$J$o$l$k\e(B
+          URL \e$B%(%9%1!<%W%k!<%k$rE,MQ$7$J$$$h$&$K$7$^$9!#DL>o$O\e(B ('%',
+          '$', ';' \e$B$H$$$C$?\e(B) \e$BFC<lJ8;z$K$D$$$F$O!"$=$l$i$HEy2A$N\e(B 16
+          \e$B?J?tJ8;zNs\e(B (\e$B=g$K\e(B '%25', '%24', '%3B') \e$B$K%(%9%1!<%W$5$l$^$9!#\e(B
+          \e$B$3$N%U%i%0$O$3$NF0:n$rM^@)$7$^$9!#\e(B
+          \e$B$3$l$K$h$j!"=PNO$NCf$K%Q!<%;%s%HJ8;z$r;H$&$3$H$,$G$-$^$9!#\e(B
+          \e$B0J2<$KNc$r5s$2$^$9!#\e(B
+<pre>
+    RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
+   
+</pre>
+          \e$B$3$NNc$G$O!"\e(B'<code>/foo/zed</code>' \e$B$,0BA4$J%j%/%(%9%H$G$"$k\e(B
+          '<code>/bar?arg=P1=zed</code>' \e$B$KJQ99$5$l$^$9!#\e(B
+
+          <table width="70%" border="0" bgcolor="#E0E0F0"
+          cellspacing="0" cellpadding="10">
+            <tr>
+              <td><strong>\e$BCm0U\e(B:</strong>
+              <code>noescape</code> \e$B%U%i%0$O\e(B Apache 1.3.20
+              \e$B0J9_$G$N$_M-8z$G$9!#\e(B</td>
+            </tr>
+          </table>
+        </li>
+
+        <li>
+          '<strong><code>passthrough|PT</code></strong>'
+          (<strong>p</strong>ass <strong>t</strong>hrough to next
+          handler)<br />
+          \e$B$3$N%U%i%0$O!"FbIt$N\e(B <code>request_rec</code> \e$B9=B$BN$N\e(B
+          <code>uri</code> \e$B%U%#!<%k%I$K\e(B <code>filename</code>
+          \e$B%U%#!<%k%I$NCM$r%;%C%H$9$k$h$&$K!"=q$-49$(%(%s%8%s$K;X<($7$^$9!#\e(B
+          \e$B$3$N%U%i%0$OC1$K!"\e(B<code>RewriteRule</code>
+          \e$B%G%#%l%/%F%#%V$N=PNO$KBP$7$F!"B>$N\e(B URI
+          \e$B$+$i%U%!%$%kL>$X$NJQ49=hM}$r9T$&\e(B <code>Alias</code>, 
+          <code>ScriptAlias</code>, <code>Redirect</code>
+          <em>\e$B$H$$$C$?\e(B</em>\e$B%G%#%l%/%F%#%V$K$h$k8e=hM}$rF~$l$k$?$a$N>.5;$G$9!#\e(B
+          \e$B0UL#$r<($9$?$a$NC1=c$JNc\e(B: <code>mod_rewrite</code>
+          \e$B$N=q$-49$(%(%s%8%s$G\e(B <code>/abc</code> \e$B$+$i\e(B <code>/def</code>
+          \e$B$X$NJQ49$r9T$J$$!"$5$i$K\e(B <code>mod_alias</code> \e$B$G\e(B
+          <code>/def</code> \e$B$+$i\e(B <code>/ghi</code>
+          \e$B$K=q$-49$($k$K$O!"0J2<$N$h$&$K$7$^$9\e(B:
+<pre>
+    RewriteRule ^/abc(.*)  /def$1 [PT]
+    Alias       /def       /ghi
+   
+</pre>
+          \e$B$b$7\e(B <code>PT</code> \e$B%U%i%0$r;XDj$9$k$N$rK:$l$F$7$^$C$?>l9g!"\e(B
+          <code>mod_rewrite</code> \e$B$O$A$c$s$H$=$N;E;v$r9T$J$$$^$9!#\e(B
+          <em>\e$B$9$J$o$A\e(B</em>\e$B!"40A4$J\e(B API \e$B$K=`5r$7$?\e(B URI-to-filename
+          \e$BJQ49%k!<%A%s$,9T$&$Y$-!"\e(B<code>uri=/abc/...</code> \e$B$r\e(B
+          <code>filename=/def/...</code> \e$B$K=q$-49$(!"$r9T$J$$$^$9!#$=$N8e\e(B
+          <code>mod_alias</code> \e$B$,5/F0$5$l!"\e(BURI-to-filename
+          \e$BJQ49$r;n$_$^$9$,!"$3$l$OF0:n$7$^$;$s\e(B \e$B!#\e(B
+
+          <p>\e$BCm0U\e(B: <strong>URL-to-filename
+          \e$BJQ49$r4^$`0[$J$C$?%b%8%e!<%k$N%G%#%l%/%F%#%V$r:.MQ$7$?$$>l9g$K$O!"\e(B
+          \e$B$3$N%U%i%0$r;XDj$9$kI,MW$,$"$j$^$9!#\e(B</strong>\e$BE57?E*$JNc$H$7$F$O!"\e(B
+          <code>mod_alias</code> \e$B$H\e(B <code>mod_rewrite</code>
+          \e$B$NF1;~;HMQ$G$9!#\e(B</p>
+        </li>
+
+        <li>'<strong><code>skip|S</code></strong>=<em>num</em>'
+        (<strong>s</strong>kip next rule(s))<br />
+         \e$B$3$N%U%i%0$O=q$-49$(%(%s%8%s$KBP$7!"8=:_$N%k!<%k$,%^%C%A$7$?$i!"\e(B
+        \e$B<!$N\e(B <em>num</em> \e$B8D$N%k!<%k$r%9%-%C%W$9$k$h$&;X<($7$^$9!#$3$l$r\e(B
+        \e$B;H$C$F!"5<;wE*$K\e(B if-then-else \e$B9=B$$r:n$k$3$H$,$G$-$^$9\e(B: then-\e$B6g\e(B
+        \e$B$N:G=*%k!<%k$O\e(B <code>skip=N</code> \e$B$H$J$j$^$9!#$3$3$G\e(B N \e$B$O\e(B
+        else-\e$B6g\e(B \e$B$KF~$l$k%k!<%k$N?t$G$9!#\e(B(\e$B$3$l$O\e(B 'chain|C' \e$B%U%i%0$H$O\e(B
+        <strong>\e$B0[$J$j$^$9\e(B</strong>!)\e$B!#\e(B</li>
+
+        <li>
+        '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
+        (set <strong>e</strong>nvironment variable)<br />
+        \e$B$3$l$O\e(B <em>VAR</em> \e$B$H$$$&L>A0$N4D6-JQ?t$NCM$r\e(B <em>VAL</em>
+        \e$B$K$9$k$h$&;X<($7$^$9!#$3$3$G\e(B <em>VAL</em>
+        \e$B$K$O!"@55,I=8=$N8eJ};2>H$H$7$FE83+$5$l$k\e(B <code>$N</code> \e$B$H\e(B
+        <code>%N</code> \e$B$r=q$/$3$H$,$G$-$^$9!#\e(B
+        \e$B$3$N%U%i%0$rJ#?t;H$C$F!"J#?t$NJQ?t$rDj5A$9$k$3$H$b$G$-$^$9!#\e(B
+        \e$B$3$NJQ?t$OB?$/$N>l9g!"DL>o8e$+$i\e(B XSSI (<code>&lt;!--#echo
+        var="VAR"--&gt;</code> \e$B$rDL$7$F\e(B) \e$B$^$?$O\e(B CGI (<em>\e$BNc$($P\e(B</em>
+        <code>$ENV{'VAR'}</code>) \e$B$N$h$&$K!";2>H$5$l$^$9!#$5$i$K!"\e(B
+        RewriteCond \e$B%Q%?!<%s\e(B <code>%{ENV:VAR}</code>
+        \e$B$rDL$7$F;2>H$9$k$3$H$b$G$-$^$9!#$3$l$r;H$C$F\e(B URL
+         \e$B$+$i$N>pJs$r@Z$j<h$C$F5-21$7$^$9!#\e(B</li>
+      </ul>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td>
+            <strong>\e$BCm0U\e(B:</strong>
+            \e$B%5!<%PC10L$N@_Dj%U%!%$%k$NCf$G$O!"\e(B<em>Pattern</em> \e$B$O40A4$J\e(B
+            URL \e$B$KE,MQ$5$l$k$3$H$rK:$l$J$$$G$/$@$5$$!#\e(B
+            <strong>\e$B$7$+$7$J$,$i!"%G%#%l%/%H%jC10L$N@_Dj%U%!%$%k$NCf$G$O!"\e(B
+            \e$B%Q%?!<%s%^%C%A%s%0$N$?$a$K%G%#%l%/%H%jC10L$N@\F,<-\e(B
+            (\e$B$3$l$OFCDj$N%G%#%l%/%H%j$G$O>o$KF1$8$b$N$G$9\e(B!) \e$B$,<+F0E*$K\e(B
+            <em>\e$B<h$j=|$+$l\e(B</em>\e$B!"CV49$,=*$o$C$?8e$K<+F0E*$K\e(B<em>\e$BIU2C\e(B</em>
+            \e$B$5$l$^$9!#\e(B</strong>\e$B$3$N5!9=$O!"$5$^$6$^$J<oN`$N=q$-49$(A`:n$K\e(B
+            \e$B$*$$$F7g$/$3$H$N$G$-$J$$$b$N$G$9!#$J$<$J$i!"$3$N@\F,<-$N%9%-%C%W\e(B
+            \e$B$,9T$J$o$l$J$$$H!">o$KB8:_$9$k$H$O8B$i$J$$?F%G%#%l%/%H%j$H$N\e(B
+            \e$B%^%C%A%s%0$r9T$J$o$J$1$l$P$J$i$J$/$J$k$+$i$G$9!#\e(B
+
+            <p>\e$B$R$H$DNc30$,$"$j$^$9\e(B: \e$BCV49J8;zNs$,\e(B ``<code>http://</code>''
+            \e$B$G;O$^$C$F$$$k>l9g!"%G%#%l%/%H%j@\F,<-$OIU2C\e(B<strong>\e$B$5$l$:\e(B
+            </strong>\e$B!"30It%j%@%$%l%/%H$^$?$O\e(B (<strong>P</strong> \e$B%U%i%0$,\e(B
+            \e$B;H$o$l$F$$$l$P\e(B!) \e$B%W%m%-%7=hM}$,6/@)E*$K9T$J$o$l$^$9!#\e(B</p>
+          </td>
+        </tr>
+      </table>
+
+      <table width="70%" border="0" bgcolor="#E0E0F0"
+      cellspacing="0" cellpadding="10">
+        <tr>
+          <td><strong>\e$BCm0U\e(B:</strong> \e$B%G%#%l%/%H%jC10L$N@_Dj%U%!%$%k\e(B
+        \e$B$K$*$1$k=q$-49$(%(%s%8%s$rM-8z$K$9$k>l9g!"$3$l$i$N%U%!%$%k$K\e(B
+        ``<code>RewriteEngine On</code>'' \e$B$r%;%C%H$7!"\e(B<strong>\e$B$+$D\e(B
+        </strong>``<code>Options FollowSymLinks</code>'' \e$B$rM-8z$K\e(B
+        \e$B$7$J$1$l$P$J$j$^$;$s!#$"$J$?$N$H$3$m$N4IM}<T$,%f!<%6$N\e(B
+        \e$B%G%#%l%/%H%j$N\e(B <code>FollowSymLinks</code> \e$B$N%*!<%P!<%i%$%I\e(B
+        \e$B$r6X;_$7$F$$$?>l9g!"=q$-49$(%(%s%8%s$r;H$&$3$H$O$G$-$^$;$s!#\e(B
+        \e$B$3$N@)8B$,I,MW$J$N$O!"%;%-%e%j%F%#4XO"$NM}M3$K$h$j$^$9!#\e(B</td>
+        </tr>
+      </table>
+
+      <p>\e$B0J2<$KM-8z$JCV49$NAH9g$;$H!"$=$l$i$N0UL#$r<($7$^$9\e(B:</p>
+
+      <p><strong>\e$B%j%/%(%9%H\e(B ``<code>GET /somepath/pathinfo</code>''
+    \e$B$,9T$J$o$l$?>l9g$N!"\e(B<br />
+    \e$B%5!<%PC10L$N@_Dj\e(B (<code>httpd.conf</code>) \e$B$NFbIt\e(B:</strong><br />
+      </p>
+
+      <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+        <tr>
+          <td>
+<pre>
+<strong>\e$BM?$($i$l$?%k!<%k\e(B</strong>                                      <strong>\e$BCV497k2L\e(B</strong>
+----------------------------------------------  ----------------------------------
+^/somepath(.*) otherpath$1                      \e$BL58z$J$N$G%5%]!<%H$7$J$$\e(B
+
+^/somepath(.*) otherpath$1  [R]                 \e$BL58z$J$N$G%5%]!<%H$7$J$$\e(B
+
+^/somepath(.*) otherpath$1  [P]                 \e$BL58z$J$N$G%5%]!<%H$7$J$$\e(B
+----------------------------------------------  ----------------------------------
+^/somepath(.*) /otherpath$1                     /otherpath/pathinfo
+
+^/somepath(.*) /otherpath$1 [R]                 \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://thishost/otherpath/pathinfo
+
+^/somepath(.*) /otherpath$1 [P]                 \e$BL50UL#$J$N$G%5%]!<%H$7$J$$\e(B
+----------------------------------------------  ----------------------------------
+^/somepath(.*) http://thishost/otherpath$1      /otherpath/pathinfo
+
+^/somepath(.*) http://thishost/otherpath$1 [R]  \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://thishost/otherpath/pathinfo
+
+^/somepath(.*) http://thishost/otherpath$1 [P]  \e$BL50UL#$J$N$G%5%]!<%H$7$J$$\e(B
+----------------------------------------------  ----------------------------------
+^/somepath(.*) http://otherhost/otherpath$1     \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://otherhost/otherpath/pathinfo
+
+^/somepath(.*) http://otherhost/otherpath$1 [R] \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://otherhost/otherpath/pathinfo
+                                                ([R] \e$B%U%i%0$O>iD9\e(B)
+
+^/somepath(.*) http://otherhost/otherpath$1 [P] \e$BFbIt%W%m%-%77PM3$G\e(B
+                                                http://otherhost/otherpath/pathinfo
+</pre>
+          </td>
+        </tr>
+      </table>
+
+      <p><strong>\e$B%j%/%(%9%H\e(B ``<code>GET /somepath/localpath/pathinfo</code>''
+    \e$B$,9T$J$o$l$?>l9g$N!"\e(B<br />
+    <code>/somepath</code> \e$B$K4X$9$k%G%#%l%/%H%jC10L$N@_Dj$NFbIt\e(B:<br />
+    (<em>\e$BNc$($P\e(B</em>\e$B!"\e(B
+    <code>/physical/path/to/somepath</code> \e$B%G%#%l%/%H%j$K$"$C$F!"\e(B<br />
+    <code>RewriteBase /somepath</code> \e$B$N5-=R$,$"$k\e(B
+    <code>.htaccess</code> \e$B%U%!%$%k\e(B):</strong><br />
+      </p>
+
+      <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
+        <tr>
+          <td>
+<pre>
+<strong>\e$BM?$($i$l$?%k!<%k\e(B</strong>                                      <strong>\e$BCV497k2L\e(B</strong>
+----------------------------------------------  ----------------------------------
+^localpath(.*) otherpath$1                      /somepath/otherpath/pathinfo
+
+^localpath(.*) otherpath$1  [R]                 \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://thishost/somepath/otherpath/pathinfo
+
+^localpath(.*) otherpath$1  [P]                 \e$BL50UL#$J$N$G%5%]!<%H$7$J$$\e(B
+----------------------------------------------  ----------------------------------
+^localpath(.*) /otherpath$1                     /otherpath/pathinfo
+
+^localpath(.*) /otherpath$1 [R]                 \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://thishost/otherpath/pathinfo
+
+^localpath(.*) /otherpath$1 [P]                 \e$BL50UL#$J$N$G%5%]!<%H$7$J$$\e(B
+----------------------------------------------  ----------------------------------
+^localpath(.*) http://thishost/otherpath$1      /otherpath/pathinfo
+
+^localpath(.*) http://thishost/otherpath$1 [R]  \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://thishost/otherpath/pathinfo
+
+^localpath(.*) http://thishost/otherpath$1 [P]  \e$BL50UL#$J$N$G%5%]!<%H$7$J$$\e(B
+----------------------------------------------  ----------------------------------
+^localpath(.*) http://otherhost/otherpath$1     \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://otherhost/otherpath/pathinfo
+
+^localpath(.*) http://otherhost/otherpath$1 [R] \e$B30It%j%@%$%l%/%7%g%s7PM3$G\e(B
+                                                http://otherhost/otherpath/pathinfo
+                                                ([R] \e$B%U%i%0$O>iD9\e(B)
+
+^localpath(.*) http://otherhost/otherpath$1 [P] \e$BFbIt%W%m%-%77PM3$G\e(B
+                                                http://otherhost/otherpath/pathinfo
+</pre>
+          </td>
+        </tr>
+      </table>
+
+      <p><strong>\e$BNc\e(B:</strong></p>
+
+      <blockquote>
+        \e$B$3$3$G$O!"\e(B
+        <blockquote>
+          <code>/</code> <em>Language</em> <code>/~</code>
+          <em>Realname</em> <code>/.../</code> <em>File</em>
+        </blockquote>
+
+        \e$B$H$$$&=q<0$N\e(B URL \e$B$r\e(B
+
+        <blockquote>
+          <code>/u/</code> <em>Username</em> <code>/.../</code>
+          <em>File</em> <code>.</code> <em>Language</em>
+        </blockquote>
+
+        \e$B$K=q$-49$($?$$$b$N$H$7$^$9!#\e(B
+
+        <p>\e$BA0=R$N%^%C%W%U%!%$%k$r\e(B <code>/path/to/file/map.txt</code>
+        \e$B$H$$$&L>A0$GJ]B8$7$F$*$-$^$9!#$=$N8e!"\e(BApache \e$B%5!<%P@_Dj\e(B
+        \e$B%U%!%$%k$K0J2<$N9T$rDI2C$9$k$@$1$G$9\e(B:</p>
+
+        <blockquote>
+<pre>
+RewriteLog   /path/to/file/rewrite.log
+RewriteMap   real-to-user               txt:/path/to/file/map.txt
+RewriteRule  ^/([^/]+)/~([^/]+)/(.*)$   /u/${real-to-user:$2|nobody}/$3.$1
+</pre>
+        </blockquote>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <center>
+        <h1><a id="Miscelleneous"
+        name="Miscelleneous">\e$B$=$NB>$N>pJs\e(B</a></h1>
+      </center>
+      <hr noshade="noshade" size="1" />
+
+      <h2><a id="EnvVar" name="EnvVar">\e$B4D6-JQ?t\e(B</a></h2>
+      \e$B$3$N%b%8%e!<%k$O!"\e(B<code>SCRIPT_URL</code> \e$B$H\e(B
+      <code>SCRIPT_URI</code> \e$B$H$$$&Fs$D$N\e(B (\e$BHsI8=`$N\e(B) CGI/SSI
+      \e$B4D6-JQ?t$r@_Dj$7$^$9!#$3$l$i$NCf$K$O8=:_$N%j%=!<%9$X$N\e(B<em>\e$BO@M}E*$J\e(B</em>
+      Web \e$B%S%e!<$,F~$C$F$$$^$9!#0lJ}!"I8=`$N\e(B CGI/SSI \e$BJQ?t$G$"$k\e(B
+      <code>SCRIPT_NAME</code> \e$B$H\e(B <code>SCRIPT_FILENAME</code>
+      \e$B$K$O!"\e(B<em>\e$BJ*M}E*$J\e(B</em>\e$B%7%9%F%`%S%e!<$,F~$C$F$$$^$9!#\e(B
+
+      <p>\e$BCm0U\e(B: \e$B$3$l$i$NJQ?t$NCf$K$O!"\e(B<em>\e$B:G=i$K%j%/%(%9%H$r<u$1$?;~E@\e(B</em>
+      <em>\e$B$9$J$o$A\e(B</em>\e$B!"=q$-49$($,9T$o$l$k\e(B<em>\e$BA0$N\e(B</em> URI/URL
+      \e$B$,J];}$5$l$F$$$^$9!#\e(BURL \e$B=q$-49$(=hM}$O!"O@M}E*$J\e(B URL
+      \e$B$rJ*M}E*$J%Q%9L>$K=q$-49$($k$?$a$K;H$o$l$k$3$H$,B?$$$?$a!"\e(B
+      \e$B$3$NE@$O=EMW$G$9!#\e(B</p>
+
+      <p><strong>\e$BNc\e(B:</strong></p>
+
+      <blockquote>
+<pre>
+SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
+SCRIPT_FILENAME=/u/rse/.www/index.html
+SCRIPT_URL=/u/rse/
+SCRIPT_URI=http://en1.engelschall.com/u/rse/
+</pre>
+      </blockquote>
+      <hr noshade="noshade" size="1" />
+
+      <h2><a id="Solutions" name="Solutions">\e$B<BA)E*$J2r7hK!\e(B</a></h2>
+      \e$B$3$NJ8=q0J30$K$b!"\e(B<a href="../misc/rewriteguide.html">URL
+      Rewriting Guide</a> \e$B$H$$$&J8=q$,$"$j$^$9!#$3$NCf$K$O!"\e(BURL
+      \e$B%Y!<%9$NLdBj$K$D$$$F!"<BA)E*$J2r7hK!$,=8$a$i$l$F$$$^$9!#\e(B
+      \e$B$3$3$G<B:]$KLrN)$D%k!<%k%;%C%H$d\e(B mod_rewrite
+      \e$B$K4X$9$kDI2C>pJs$r8+$k$3$H$,$G$-$k$G$7$g$&!#\e(B
+    </blockquote>
+    <!--#include virtual="footer.html" -->
+    <!-- page indentation -->
+    <!--/%hypertext -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_setenvif.html.en b/htdocs/manual/mod/mod_setenvif.html.en
new file mode 100644 (file)
index 0000000..48e9461
--- /dev/null
@@ -0,0 +1,324 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_setenvif</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_setenvif</h1>
+
+    <p>This module provides the ability to set environment
+    variables based upon attributes of the request.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_setenvif.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    setenvif_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>The <samp>mod_setenvif</samp> module allows you to set
+    environment variables according to whether different aspects of
+    the request match <a href="../misc/FAQ.html#regex">regular
+    expressions</a> you specify. These environment variables can be
+    used by other parts of the server to make decisions about
+    actions to be taken.</p>
+
+    <p>The directives are considered in the order they appear in
+    the configuration files. So more complex sequences can be used,
+    such as this example, which sets <code>netscape</code> if the
+    browser is mozilla but not MSIE.</p>
+
+    <blockquote>
+<pre>
+  BrowserMatch ^Mozilla netscape
+  BrowserMatch MSIE !netscape
+</pre>
+    </blockquote>
+
+    <p>For additional information, we provide a document on <a
+    href="../env.html">Environment Variables in Apache</a>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#browsermatch">BrowserMatch</a></li>
+
+      <li><a href="#browsermatchnocase">BrowserMatchNoCase</a></li>
+
+      <li><a href="#setenvif">SetEnvIf</a></li>
+
+      <li><a href="#setenvifnocase">SetEnvIfNoCase</a></li>
+    </ul>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="browsermatch" name="browsermatch">BrowserMatch
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BrowserMatch <em>regex
+    env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <i>none</i><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+    above (in Apache 1.2 this directive was found in the
+    now-obsolete mod_browser module); use in .htaccess files only
+    supported with 1.3.13 and later</p>
+
+    <p>The BrowserMatch directive defines environment variables
+    based on the <samp>User-Agent</samp> HTTP request header field.
+    The first argument should be a POSIX.2 extended regular
+    expression (similar to an <samp>egrep</samp>-style regex). The
+    rest of the arguments give the names of variables to set, and
+    optionally values to which they should be set. These take the
+    form of</p>
+
+    <ol>
+      <li><samp><em>varname</em></samp>, or</li>
+
+      <li><samp>!<em>varname</em></samp>, or</li>
+
+      <li><samp><em>varname</em>=<em>value</em></samp></li>
+    </ol>
+
+    <p>In the first form, the value will be set to "1". The second
+    will remove the given variable if already defined, and the
+    third will set the variable to the value given by
+    <samp><em>value</em></samp>. If a <samp>User-Agent</samp>
+    string matches more than one entry, they will be merged.
+    Entries are processed in the order in which they appear, and
+    later entries can override earlier ones.</p>
+
+    <p>For example:</p>
+<pre>
+    BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+    BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+    BrowserMatch MSIE !javascript
+</pre>
+
+    <p>Note that the regular expression string is
+    <strong>case-sensitive</strong>. For case-INsensitive matching,
+    see the <a
+    href="#browsermatchnocase"><samp>BrowserMatchNoCase</samp></a>
+    directive.</p>
+
+    <p>The <samp>BrowserMatch</samp> and
+    <samp>BrowserMatchNoCase</samp> directives are special cases of
+    the <a href="#setenvif"><samp>SetEnvIf</samp></a> and <a
+    href="#setenvifnocase"><samp>SetEnvIfNoCase</samp></a>
+    directives. The following two lines have the same effect:</p>
+<pre>
+   BrowserMatchNoCase Robot is_a_robot
+   SetEnvIfNoCase User-Agent Robot is_a_robot
+</pre>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="browsermatchnocase"
+    name="browsermatchnocase">BrowserMatchNoCase directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> BrowserMatchNoCase
+    <em>regex env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+    above (in Apache 1.2 this directive was found in the
+    now-obsolete mod_browser module)</p>
+
+    <p>The <samp>BrowserMatchNoCase</samp> directive is
+    semantically identical to the <a
+    href="#BrowserMatch"><samp>BrowserMatch</samp></a> directive.
+    However, it provides for case-insensitive matching. For
+    example:</p>
+<pre>
+    BrowserMatchNoCase mac platform=macintosh
+    BrowserMatchNoCase win platform=windows
+</pre>
+
+    <p>The <samp>BrowserMatch</samp> and
+    <samp>BrowserMatchNoCase</samp> directives are special cases of
+    the <a href="#setenvif"><samp>SetEnvIf</samp></a> and <a
+    href="#SetEnvIfNoCase"><samp>SetEnvIfNoCase</samp></a>
+    directives. The following two lines have the same effect:</p>
+<pre>
+   BrowserMatchNoCase Robot is_a_robot
+   SetEnvIfNoCase User-Agent Robot is_a_robot
+</pre>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="setenvif" name="setenvif">SetEnvIf
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> SetEnvIf <em>attribute
+    regex env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+    above; the Request_Protocol keyword and environment-variable
+    matching are only available with 1.3.7 and later; use in
+    .htaccess files only supported with 1.3.13 and later</p>
+
+    <p>The <samp>SetEnvIf</samp> directive defines environment
+    variables based on attributes of the request. These attributes
+    can be the values of various HTTP request header fields (see <a
+    href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>
+    for more information about these), or of other aspects of the
+    request, including the following:</p>
+
+    <ul>
+      <li><samp>Remote_Host</samp> - the hostname (if available) of
+      the client making the request</li>
+
+      <li><samp>Remote_Addr</samp> - the IP address of the client
+      making the request</li>
+
+      <li><samp>Request_Method</samp> - the name of the method
+      being used (<samp>GET</samp>, <samp>POST</samp>, <em>et
+      cetera</em>)</li>
+
+      <li><samp>Request_Protocol</samp> - the name and version of
+      the protocol with which the request was made (<em>e.g.</em>,
+      "HTTP/0.9", "HTTP/1.1", <em>etc.</em>)</li>
+
+      <li><samp>Request_URI</samp> - the portion of the URL
+      following the scheme and host portion</li>
+    </ul>
+
+    <p>Some of the more commonly used request header field names
+    include <samp>Host</samp>, <samp>User-Agent</samp>, and
+    <samp>Referer</samp>.</p>
+
+    <p>If the <em>attribute</em> name doesn't match any of the
+    special keywords, nor any of the request's header field names,
+    it is tested as the name of an environment variable in the list
+    of those associated with the request. This allows
+    <code>SetEnvIf</code> directives to test against the result of
+    prior matches.</p>
+
+    <blockquote>
+      <strong>Only those environment variables defined by earlier
+      <code>SetEnvIf[NoCase]</code> directives are available for
+      testing in this manner. 'Earlier' means that they were
+      defined at a broader scope (such as server-wide) or
+      previously in the current directive's scope.</strong>
+    </blockquote>
+
+    <p>Example:</p>
+<pre>
+   SetEnvIf Request_URI "\.gif$" object_is_image=gif
+   SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+   SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+        :
+   SetEnvIf Referer www\.mydomain\.com intra_site_referral
+        :
+   SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+</pre>
+
+    <p>The first three will set the environment variable
+    <samp>object_is_image</samp> if the request was for an image
+    file, and the fourth sets <samp>intra_site_referral</samp> if
+    the referring page was somewhere on the
+    <samp>www.mydomain.com</samp> Web site.</p>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="setenvifnocase" name="setenvifnocase">SetEnvIfNoCase
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> SetEnvIfNoCase
+    <em>attribute regex env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+    above; the Request_Protocol keyword and environment-variable
+    matching are only available with 1.3.7 and later; use in
+    .htaccess files only supported with 1.3.13 and later</p>
+
+    <p>The <samp>SetEnvIfNoCase</samp> is semantically identical to
+    the <a href="#setenvif"><samp>SetEnvIf</samp></a> directive,
+    and differs only in that the regular expression matching is
+    performed in a case-insensitive manner. For example:</p>
+<pre>
+   SetEnvIfNoCase Host Apache\.Org site=apache
+</pre>
+
+    <p>This will cause the <samp>site</samp> environment variable
+    to be set to "<samp>apache</samp>" if the HTTP request header
+    field <samp>Host:</samp> was included and contained
+    <samp>Apache.Org</samp>, <samp>apache.org</samp>, or any other
+    combination.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_setenvif.html.html b/htdocs/manual/mod/mod_setenvif.html.html
new file mode 100644 (file)
index 0000000..13a22a0
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_setenvif.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_setenvif.html.ja.jis b/htdocs/manual/mod/mod_setenvif.html.ja.jis
new file mode 100644 (file)
index 0000000..a7a6615
--- /dev/null
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_setenvif</title>
+
+  </head>
+  <!-- English revision: 1.20 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_setenvif \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"\e(B
+    \e$B%j%/%(%9%H$NB0@-$K4p$E$$$F4D6-JQ?t$r@_Dj$9$k5!G=$rDs6!$7$^$9!#\e(B</p>
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_setenvif.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    setenvif_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    Apache 1.3 \e$B0J9_$G;HMQ2DG=!#\e(B</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p><samp>mod_setenvif</samp>
+    \e$B%b%8%e!<%k$O!"%j%/%(%9%H$N$"$kB&LL$,;XDj$5$l$?\e(B<a
+    href="../misc/faq.html#regex">\e$B@55,I=8=\e(B</a
+    >\e$B$K9g$&$+$I$&$+$K$h$C$F4D6-JQ?t$r@_Dj$9$k5!G=$rDs6!$7$^$9!#\e(B
+    \e$B$3$l$i$N4D6-JQ?t$r;HMQ$7$F!"%5!<%P$NB>$NItJ,$,$I$N$h$&$JF0:n$r$9$k$+$r\e(B
+    \e$B7hDj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$3$N%b%8%e!<%k$,Ds6!$9$k%G%#%l%/%F%#%V$O!"\e(B
+    \e$B@_Dj%U%!%$%k$K8=$l$k=gHV$KE,MQ$5$l$^$9!#\e(B
+    \e$B$=$l$r;H$C$F!"<!$NNc$N$h$&$K$h$jJ#;($J@_Dj$r$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$l$O!"%V%i%&%6$,\e(B mozilla \e$B$G$O$"$k$1$l$I!"\e(BMSIE \e$B$G$O$J$$$H$-$K\e(B
+    <code>netscape</code> \e$B$r@_Dj$7$^$9!#\e(B</p>
+    <blockquote>
+<pre>
+  BrowserMatch ^Mozilla netscape
+  BrowserMatch MSIE !netscape
+</pre>
+    </blockquote>
+
+    <p>\e$B>\:Y$O!"\e(B<a href="../env.html">Apache
+    \e$B$N4D6-JQ?t\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#browsermatch">BrowserMatch</a></li>
+
+      <li><a href="#browsermatchnocase">BrowserMatchNoCase</a></li>
+
+      <li><a href="#setenvif">SetEnvIf</a></li>
+
+      <li><a href="#setenvifnocase">SetEnvIfNoCase</a></li>
+    </ul>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="browsermatch" name="browsermatch">BrowserMatch
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> BrowserMatch <em>regex
+    env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> None<br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2 \e$B0J>e\e(B
+    (\e$B$3$N%G%#%l%/%F%#%V$O\e(B Apache 1.2 \e$B$G$O!":#$G$O\e(B obsolete \e$B$K$J$C$F$$$k\e(B
+    mod_browser \e$B%b%8%e!<%k$K$"$j$^$7$?\e(B)\e$B!#\e(B.htaccess \e$B%U%!%$%k$G$N;HMQ$O\e(B
+    1.3.13 \e$B0J9_$G$N$_%5%]!<%H!#\e(B</p>
+
+    <p>BrowserMatch \e$B%G%#%l%/%F%#%V$O!"\e(BHTTP \e$B%j%/%(%9%H$N\e(B
+    <samp>User-Agent</samp>
+    \e$B%X%C%@%U%#!<%k%I$K4p$E$$$F4D6-JQ?t$r@_Dj$7$^$9!#:G=i$N0z?t$O\e(B
+    POSIX.2 \e$B3HD%@55,I=8=\e(B (<samp>egrep</samp>
+    \e$B7A<0$N@55,I=8=$H;w$?$b$N\e(B) \e$B$G$9!#\e(B
+    \e$B;D$j$N0z?t$O!"@_Dj$r$9$kJQ?tL>$H$=$NCM$G!"8e<T$O>JN,2DG=$G$9!#\e(B
+    \e$B$3$l$i$O0J2<$N7A<0$K$J$j$^$9!#\e(B</p>
+
+    <ol>
+      <li><samp><em>varname</em></samp>, or</li>
+
+      <li><samp>!<em>varname</em></samp>, or</li>
+
+      <li><samp><em>varname</em>=<em>value</em></samp></li>
+    </ol>
+
+    <p>\e$B:G=i$N7A<0$G$O!"CM$O\e(B &quot;1&quot; \e$B$K@_Dj$5$l$^$9!#\e(B
+    2 \e$BHVL\$OJQ?t$,4{$KDj5A$5$l$F$$$?>l9g!"$=$l$r:o=|$7$^$9!#\e(B
+    3 \e$BHVL\$OJQ?t$NCM$r\e(B <samp><em>value</em></samp> \e$B$K@_Dj$7$^$9!#\e(B
+    <samp>User-Agent</samp>
+    \e$B%U%#!<%k%I$NJ8;zNs$,J#?t$N%(%s%H%j$K%^%C%A$7$?>l9g$O!"\e(B
+    \e$B$=$N7k2L$,$^$H$a$i$l$^$9!#\e(B
+    \e$B%(%s%H%j$O8=$l$?=g$K=hM}$5$l!"8e$N%(%s%H%j$,A0$N$b$N$r>e=q$-$7$^$9!#\e(B
+    </p>
+    <p>\e$BNc\e(B:</p>
+<pre>
+    BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+    BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+    BrowserMatch MSIE !javascript
+
+</pre>
+
+    <p>\e$B@55,I=8=$NJ8;zNs$O\e(B<strong>\e$BBgJ8;z>.J8;z$r6hJL$9$k\e(B</strong
+    >\e$B$3$H$KCm0U$7$F$/$@$5$$!#BgJ8;z>.J8;z$r6hJL$7$J$$%^%C%A$O\e(B<a
+    href="#browsermatchnocase"><samp>BrowserMatchNoCase</samp></a
+    >\e$B%G%#%l%/%F%#%V$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+    <p><samp>BrowserMatch</samp> \e$B%G%#%l%/%F%#%V$H\e(B
+    <samp>BrowserMatchNoCase</samp> \e$B%G%#%l%/%F%#%V$O\e(B
+    <a href="#setenvif"><samp>SetEnvIf</samp></a> \e$B%G%#%l%/%F%#%V\e(B
+    <a href="#setenvifnocase"><samp>SetEnvIfNoCase</samp></a>
+    \e$B%G%#%l%/%F%#%V$NFCJL$J%1!<%9$G$9!#0J2<$N\e(B 2 \e$B9T$OF1$88z2L$K$J$j$^$9\e(B:
+    </p>
+<pre>
+   BrowserMatchNoCase Robot is_a_robot
+   SetEnvIfNoCase User-Agent Robot is_a_robot
+
+</pre>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="browsermatchnocase"
+    name="browsermatchnocase">BrowserMatchNoCase \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> BrowserMatchNoCase
+    <em>regex env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.2 \e$B0J>e\e(B
+    (\e$B$3$N%G%#%l%/%F%#%V$O\e(B Apache 1.2 \e$B$G$O!":#$G$O\e(B obsolete \e$B$K$J$C$F$$$k\e(B
+    mod_browser \e$B%b%8%e!<%k$K$"$j$^$7$?\e(B)\e$B!#\e(B.htaccess \e$B%U%!%$%k$G$N;HMQ$O\e(B
+    1.3.13 \e$B0J9_$G$N$_%5%]!<%H!#\e(B</p>
+    <p><samp>BrowserMatchNoCase</samp>
+    \e$B%G%#%l%/%F%#%V$O!"0UL#E*$K$O\e(B <a href="#browsermatch"
+    ><samp>BrowserMatch</samp></a>
+    \e$B%G%#%l%/%F%#%V$H$[$H$s$IF1$8$G$9!#\e(B
+    \e$B0c$&E@$O!"BgJ8;z>.J8;z$r6hJL$7$J$$$G%^%C%A$r9T$J$&$3$H$G$9!#Nc\e(B:</p>
+<pre>
+    BrowserMatchNoCase mac platform=macintosh
+    BrowserMatchNoCase win platform=windows
+
+</pre>
+    <p><samp>BrowserMatch</samp> \e$B%G%#%l%/%F%#%V$H\e(B
+    <samp>BrowserMatchNoCase</samp> \e$B%G%#%l%/%F%#%V$O\e(B <a
+     href="#setenvif"><samp>SetEnvIf</samp></a> \e$B%G%#%l%/%F%#%V$H\e(B <a
+     href="#setenvifnocase"><samp>SetEnvIfNoCase</samp></a>
+    \e$B%G%#%l%/%F%#%V$NFCJL$J%1!<%9$G$9!#0J2<$N\e(B
+    2 \e$B9T$OF1$88z2L$K$J$j$^$9\e(B:</p>
+<pre>
+   BrowserMatchNoCase Robot is_a_robot
+   SetEnvIfNoCase User-Agent Robot is_a_robot
+
+</pre>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="setenvif" name="setenvif">SetEnvIf
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> SetEnvIf <em> attribute
+    regex env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#Default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3 \e$B0J>e!#\e(B
+    Request_Protocol \e$B%-!<%o!<%I$H4D6-JQ?t$N%^%C%A$O\e(B 1.3.7
+    \e$B0J9_$G$N$_;HMQ2DG=!#\e(B.htaccess \e$B%U%!%$%k$G$N;HMQ$O\e(B
+    1.3.13 \e$B0J9_$G$N$_%5%]!<%H!#\e(B</p>
+
+    <p><samp>SetEnvIf</samp>
+    \e$B%G%#%l%/%F%#%V$O!"%j%/%(%9%H$NB0@-$K4p$E$$$F4D6-JQ?t$rDj5A$7$^$9!#\e(B
+    \e$B$3$l$i$NB0@-$O!"\e(BHTTP \e$B%j%/%(%9%H$N$$$m$$$m$J%X%C%@%U%#!<%k%I\e(B
+    (\e$B>\$7$$>pJs$O\e(B <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC
+    2616</a> \e$B$r;2>H$7$F$/$@$5$$\e(B)
+    \e$B$+!"0J2<$N$h$&$J!"%j%/%(%9%H$NB>$NB&LL$G$"$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <ul>
+      <li><samp>Remote_Host</samp> -
+      \e$B%j%/%(%9%H$r9T$J$C$F$$$k%/%i%$%"%s%H$N%[%9%HL>\e(B (\e$B$b$7$"$l$P\e(B)</li>
+
+      <li><samp>Remote_Addr</samp> -
+      \e$B%j%/%(%9%H$r9T$J$C$F$$$k%/%i%$%"%s%H$N\e(B IP \e$B%"%I%l%9\e(B</li>
+
+      <li><samp>Request_Method</samp> -
+      \e$B;HMQ$5$l$F$$$k%a%=%C%IL>\e(B (<samp>GET</samp>, <samp>POST</samp>
+      <em>\e$B$J$I\e(B</em>)</li>
+
+      <li><samp>Request_Protocol</samp> -
+      \e$B%j%/%(%9%H$,9T$J$o$l$?%W%m%H%3%k$NL>A0$H%P!<%8%g%s\e(B
+      (<em>\e$BNc$($P\e(B</em>\e$B!"\e(B"HTTP/0.9", "HTTP/1.1" <em>\e$B$J$I!#\e(B</em>)</li>
+
+      <li><samp>Request_URI</samp> -
+      URL \e$B$N%9%-!<%`$H%[%9%H$N8e$NItJ,\e(B</li>
+    </ul>
+
+    <p>\e$B$h$/;H$o$l$k%j%/%(%9%H$N%X%C%@%U%#!<%k%I$K$O\e(B
+    <samp>Host</samp>, <samp>User-Agent</samp>, <samp>Referer</samp>
+    \e$B$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$BB0@-L>\e(B <em>attribute</em>
+    \e$B$,FCJL$J%-!<%o!<%I$d%j%/%(%9%H$N%X%C%@%U%#!<%k%IL>$K%^%C%A$7$J$$$H$-$O!"\e(B
+    \e$B%j%/%(%9%H$K4XO"IU$1$i$l$?%j%9%H$K$"$k4D6-JQ?t$NL>A0$H$7$F;n$5$l$^$9!#\e(B
+    \e$B$3$l$K$h$j!"\e(B<code>SetEnvIf</code>
+    \e$B%G%#%l%/%F%#%V$,A0$N%^%C%A$N7k2L$r;HMQ$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B
+    </p>
+
+    <blockquote>
+      <strong>\e$BA0$N\e(B <code>SetEnvIf[NoCase]</code>
+      \e$B$GDj5A$5$l$?4D6-JQ?t$N$_$r$3$NJ}K!$GD4$Y$k$3$H$,$G$-$^$9!#\e(B
+      \e$B!VA0!W$H$$$&$N$O\e(B (\e$B%5!<%PA4BN!"$N$h$&$J\e(B)
+      \e$B$h$j9-$$%9%3!<%W$GDj5A$5$l$?$+!"\e(B
+      \e$B8=%G%#%l%/%F%#%V$N%9%3!<%W$NCf$NA0$NJ}$GDj5A$5$l$?$H$$$&0UL#$G$9!#\e(B
+      </strong>
+    </blockquote>
+    <p>\e$BNc\e(B:</p>
+<pre>
+   SetEnvIf Request_URI "\.gif$" object_is_image=gif
+   SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+   SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+        :
+   SetEnvIf Referer www\.mydomain\.com intra_site_referral
+        :
+   SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+</pre>
+
+    <p>\e$B@hF,$N;0$D$O%j%/%(%9%H$,2hA|%U%!%$%k$N$H$-$K!"4D6-JQ?t\e(B
+    <samp>object_is_image</samp> \e$B$r@_Dj$7$^$9!#\e(B
+    4 \e$BHVL\$O;2>H85$N%Z!<%8$,\e(B <samp>www.mydomain.com</samp>
+    \e$B%&%'%V%5%$%H$N$I$3$+$K$"$k>l9g$K\e(B <samp>intra_site_referral</samp>
+    \e$B$r@_Dj$7$^$9!#\e(B</p>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="setenvifnocase" name="setenvifnocase">SetEnvIfNoCase
+    \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+    <p><a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> SetEnvIfNoCase
+    <em>attribute regex env-variable</em>[=<em>value</em>]
+    [<em>env-variable</em>[=<em>value</em>]] ...<br />
+     <a href="directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <em>none</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_setenvif<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3 \e$B0J>e!#\e(B
+    Request_Protocol \e$B%-!<%o!<%I$H4D6-JQ?t$N%^%C%A$O\e(B 1.3.7
+    \e$B0J9_$G$N$_;HMQ2DG=!#\e(B.htaccess \e$B%U%!%$%k$G$N;HMQ$O\e(B
+    1.3.13 \e$B0J9_$G$N$_%5%]!<%H!#\e(B</p>
+
+    <p><samp>SetEnvIfNoCase</samp> \e$B$O!"0UL#E*$K$O\e(B <a 
+    href="#setenvif"><samp>SetEnvIf</samp></a> \e$B$H$[$H$s$IF1$8$G$9!#\e(B
+    \e$B0c$$$O@55,I=8=$N%^%C%A$,BgJ8;z>.J8;z$r6hJL$7$J$$$G9T$J$o$l$k$3$H$G$9!#\e(B
+    \e$BNc$($P\e(B:</p>
+
+<pre>
+   SetEnvIfNoCase Host Apache\.Org site=apache
+</pre>
+
+    <p>\e$B$3$l$O!"\e(BHTTP \e$B%j%/%(%9%H$N\e(B <samp>Host:</samp>
+    \e$B%X%C%@%U%#!<%k%I$,$"$j!"$=$NCM$,\e(B
+    <samp>Apache.org</samp>, <samp>apache.org</samp>
+    \e$B$d$=$NB>$NBgJ8;z>.J8;z$NAH$_9g$o$;$G$"$C$?$H$-$K!"4D6-JQ?t\e(B
+    <samp>site</samp> \e$B$r\e(B &quot;<samp>apache</samp>&quot; \e$B$K@_Dj$7$^$9!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_so.html.en b/htdocs/manual/mod/mod_so.html.en
new file mode 100644 (file)
index 0000000..3146ace
--- /dev/null
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_so</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_so</h1>
+
+    <p>This module provides for loading of executable code and
+    modules into the server at start-up or restart time.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base (Windows);
+    Experimental (Unix)<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_so.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    so_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This is an experimental module. On selected operating
+    systems it can be used to load modules into Apache at runtime
+    via the <a href="../dso.html">Dynamic Shared Object</a> (DSO)
+    mechanism, rather than requiring a recompilation.</p>
+
+    <p>On Unix, the loaded code typically comes from shared object
+    files (usually with <samp>.so</samp> extension), whilst on
+    Windows this module loads <samp>DLL</samp> files. This module
+    is only available in Apache 1.3 and up.</p>
+
+    <p>In previous releases, the functionality of this module was
+    provided for Unix by mod_dld, and for Windows by mod_dll. On
+    Windows, mod_dll was used in beta release 1.3b1 through 1.3b5.
+    mod_so combines these two modules into a single module for all
+    operating systems.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#loadfile">LoadFile</a></li>
+
+      <li><a href="#loadmodule">LoadModule</a></li>
+    </ul>
+
+    <h2><a id="creating" name="creating">Creating DLL Modules for
+    Windows</a></h2>
+
+    <p>The Apache module API is unchanged between the Unix and
+    Windows versions. Many modules will run on Windows with no or
+    little change from Unix, although others rely on aspects of the
+    Unix architecture which are not present in Windows, and will
+    not work.</p>
+
+    <p>When a module does work, it can be added to the server in
+    one of two ways. As with Unix, it can be compiled into the
+    server. Because Apache for Windows does not have the
+    <code>Configure</code> program of Apache for Unix, the module's
+    source file must be added to the ApacheCore project file, and
+    its symbols must be added to the
+    <code>os\win32\modules.c</code> file.</p>
+
+    <p>The second way is to compile the module as a DLL, a shared
+    library that can be loaded into the server at runtime, using
+    the <code><a href="#loadmodule">LoadModule</a></code>
+    directive. These module DLLs can be distributed and run on any
+    Apache for Windows installation, without recompilation of the
+    server.</p>
+
+    <p>To create a module DLL, a small change is necessary to the
+    module's source file: The module record must be exported from
+    the DLL (which will be created later; see below). To do this,
+    add the <code>MODULE_VAR_EXPORT</code> (defined in the Apache
+    header files) to your module's module record definition. For
+    example, if your module has:</p>
+<pre>
+    module foo_module;
+</pre>
+
+    <p>Replace the above with:</p>
+<pre>
+    module MODULE_VAR_EXPORT foo_module;
+</pre>
+
+    <p>Note that this will only be activated on Windows, so the
+    module can continue to be used, unchanged, with Unix if needed.
+    Also, if you are familiar with <code>.DEF</code> files, you can
+    export the module record with that method instead.</p>
+
+    <p>Now, create a DLL containing your module. You will need to
+    link this against the ApacheCore.lib export library that is
+    created when the ApacheCore.dll shared library is compiled. You
+    may also have to change the compiler settings to ensure that
+    the Apache header files are correctly located.</p>
+
+    <p>This should create a DLL version of your module. Now simply
+    place it in the <samp>modules</samp> directory of your server
+    root, and use the <code><a
+    href="#loadmodule">LoadModule</a></code> directive to load
+    it.</p>
+    <hr />
+
+    <h2><a id="loadfile" name="loadfile">LoadFile</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LoadFile
+    <em>filename</em> [<em>filename</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_so 
+
+    <p>The LoadFile directive links in the named object files or
+    libraries when the server is started or restarted; this is used
+    to load additional code which may be required for some module
+    to work. <em>Filename</em> is either an absolute path or
+    relative to <a href="core.html#serverroot">ServerRoot</a>.</p>
+
+    <p>For example:</p>
+    <code>LoadFile libexec/libxmlparse.so</code>
+
+    <hr />
+
+    <h2><a id="loadmodule" name="loadmodule">LoadModule</a>
+    directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> LoadModule <em>module
+    filename</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_so 
+
+    <p>The LoadModule directive links in the object file or library
+    <em>filename</em> and adds the module structure named
+    <em>module</em> to the list of active modules. <em>Module</em>
+    is the name of the external variable of type
+    <code>module</code> in the file, and is listed as the <a
+    href="module-dict.html#ModuleIdentifier">Module Identifier</a>
+    in the module documentation. Example (Unix, and for Windows as
+    of Apache 1.3.15):</p>
+
+    <blockquote>
+      <code>LoadModule status_module modules/mod_status.so</code>
+    </blockquote>
+
+    <p>Example (Windows prior to Apache 1.3.15, and some 3rd party
+    modules):</p>
+
+    <blockquote>
+      <code>LoadModule foo_module modules/ApacheModuleFoo.dll<br />
+      </code>
+    </blockquote>
+
+    <p><strong>Note that all modules bundled with the Apache Win32
+    binary distribution were renamed as of Apache version
+    1.3.15</strong>.</p>
+
+    <p>Win32 Apache modules are often distributed with the old
+    style names, or even a name such as libfoo.dll. Whatever the
+    name of the module, the LoadModule directive requires the exact
+    filename, no assumption is made about the filename
+    extension.</p>
+
+    <p><strong>See also</strong>: <a
+    href="core.html#addmodule">AddModule</a> and <a
+    href="core.html#clearmodulelist">ClearModuleList</a></p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_so.html.html b/htdocs/manual/mod/mod_so.html.html
new file mode 100644 (file)
index 0000000..5093091
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_so.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_so.html.ja.jis b/htdocs/manual/mod/mod_so.html.ja.jis
new file mode 100644 (file)
index 0000000..f929fbe
--- /dev/null
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_so</title>
+
+  </head>
+  <!-- English Revision: 1.14 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_so \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"%5!<%P$N5/F0;~$d:F5/F0;~$K<B9T%3!<%I$H\e(B
+    \e$B%b%8%e!<%k$r%5!<%P$KFI$_9~$`5!G=$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a>
+    Base (Windows); Experimental (Unix)<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a> mod_so.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    so_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+    Apache 1.3 \e$B0J9_$G;HMQ2DG=!#\e(B</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B$3$l$O<B83E*$J%b%8%e!<%k$G$9!#\e(B
+    \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$K$h$C$F$O!"%5!<%P$N:F%3%s%Q%$%k$r$9$kBe$o$j$K!"\e(B
+    <a href="../dso.html">Dynamic Shared Object</a>
+    (DSO) \e$B5!9=$K$h$j!"<B9T;~$K\e(B Apache \e$B$K%b%8%e!<%k$rFI$_9~$`!"$H$$$&$3$H$r\e(B
+    \e$B9T$J$&$?$a$K$3$N%b%8%e!<%k$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B</p>
+    <p>Unix \e$B>e$G$O!"FI$_9~$^$l$k%3!<%I$ODL>o$O%7%'%"!<%I%*%V%8%'%/%H%U%!%$%k\e(B
+    (\e$BIaDL\e(B <samp>.so</samp> \e$B$H$$$&3HD%;R$,IU$$$F$$$^$9\e(B) \e$B$+$i$G$9!#\e(B
+    \e$B0lJ}!"\e(BWindows \e$B>e$G$O$3$N%b%8%e!<%k$O\e(B <samp>DLL</samp>
+    \e$B%U%!%$%k$rFI$_9~$_$^$9!#$3$N%b%8%e!<%k$O\e(B
+    Apache 1.3 \e$B0J9_$N$_$G;HMQ2DG=$G$9!#\e(B</p>
+    <p>\e$B0JA0$N%j%j!<%9$G$O!"$3$N%b%8%e!<%k$N5!G=$O\e(B Unix \e$B$G$O\e(B mod_dld\e$B!"\e(B
+    Windows \e$B$G$O\e(B mod_dll \e$B$K$h$jDs6!$5$l$F$$$^$7$?!#\e(BWindows \e$B$G$O!"\e(B
+    mod_dll \e$B$O\e(B 1.3b1 \e$B$+$i\e(B 1.3b5 \e$B$^$G$N%Y!<%?%j%j!<%9$G;HMQ$5$l$F$$$^$7$?!#\e(B
+    mod_so \e$B$O$9$Y$F$N%*%Z%l!<%F%#%s%0%7%9%F%`MQ$K!"\e(B
+    \e$B$3$NFs$D$N%b%8%e!<%k$r0l$D$N%b%8%e!<%k$K$^$H$a$?$b$N$G$9!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#loadfile">LoadFile</a></li>
+
+      <li><a href="#loadmodule">LoadModule</a></li>
+    </ul>
+
+    <h2><a id="creating" name="creating">Windows \e$BMQ$N\e(B DLL
+    \e$B%b%8%e!<%k$r:n@.$9$k\e(B</a></h2>
+
+    <p>Apache \e$B$N%b%8%e!<%k\e(B API \e$B$O\e(B UNIX \e$B$H\e(B Windows \e$B$H$GJQ99$5$l$F$$$^$;$s!#\e(B
+    \e$BB?$/$N%b%8%e!<%k$OA4$/JQ99$J$7!"$b$7$/$O4JC1$JJQ99$K$h$j\e(B Windows 
+    \e$B$G<B9T$G$-$k$h$&$K$J$j$^$9!#$?$@$7!"$=$l0J30$N\e(B Windows \e$B$K$OL5$$\e(B Unix
+    \e$B%"!<%-%F%/%A%c!<$N5!G=$K0MB8$7$?%b%8%e!<%k$OF0:n$7$^$;$s!#\e(B</p>
+
+    <p>\e$B%b%8%e!<%k$,<B:]$KF0:n$9$k$H$-$O!"\e(B
+    \e$BFs$D$NJ}K!$N$I$A$i$+$G%5!<%P$KDI2C$9$k$3$H$,$G$-$^$9!#$^$:!"\e(BUnix
+    \e$B$HF1MM$K%5!<%P$K%3%s%Q%$%k$7$FAH$_9~$`$3$H$,$G$-$^$9!#\e(BWindows
+    \e$BMQ$N\e(B Apache \e$B$O\e(B Unix \e$BMQ$N\e(B Apache \e$B$K$"$k\e(B <code>Configure</code>
+    \e$B%W%m%0%i%`$,$"$j$^$;$s$N$G!"%b%8%e!<%k$N%=!<%9%U%!%$%k$r\e(B
+    ApacheCore \e$B%W%m%8%'%/%H%U%!%$%k$KDI2C$7!"%7%s%\%k$r\e(B
+    <code>os\win32\modules.c</code> \e$B%U%!%$%k$KDI2C$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$BFs$DL\$O%b%8%e!<%k$r\e(B DLL \e$B$H$7$F%3%s%Q%$%k$9$kJ}K!$G$9!#\e(B
+    DLL \e$B$O%7%'%"!<%I%i%$%V%i%j$G!"<B9T;~$K\e(B
+    <code><a href="#loadmodule">LoadModule</a></code>
+    \e$B%G%#%l%/%F%#%V$K$h$j%5!<%P$KFI$_9~$`$3$H$,$G$-$^$9!#$3$l$i$N%b%8%e!<%k\e(B
+    DLL \e$B$OG[I[$9$k$3$H$,2DG=$G!"%5!<%P$r:F%3%s%Q%$%k$9$k$3$H$J$/!"\e(BWindows
+    \e$BMQ$N\e(B Apache \e$B$N$9$Y$F$N%$%s%9%H!<%k$G<B9T$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B%b%8%e!<%k\e(B DLL \e$B$r:n@.$9$k$?$a$K$O!"\e(B
+    \e$B%b%8%e!<%k$N:n@.$K>.$5$JJQ99$r9T$J$&I,MW$,$"$j$^$9!#\e(B
+    \e$B$D$^$j!"%b%8%e!<%k$N%l%3!<%I$,\e(B DLL (\e$B$3$l$O8e$G:n@.$5$l$^$9!#\e(B
+    \e$B0J2<$r;2>H$7$F$/$@$5$$\e(B) \e$B$+$i%(%/%9%]!<%H$5$l$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B$3$l$r9T$J$&$K$O!"\e(B<code>MODULE_VAR_EXPORT</code> (Apache
+    \e$B$N%X%C%@%U%!%$%k$GDj5A$5$l$F$$$^$9\e(B) \e$B$r%b%8%e!<%k$N%b%8%e!<%k%l%3!<%I\e(B
+    \e$BDj5A$NItJ,$KDI2C$7$F$/$@$5$$!#$?$H$($P!"%b%8%e!<%k$K\e(B</p>
+<pre>
+    module foo_module;
+</pre>
+
+    <p>\e$B$,$"$k$H$9$k$H!"$=$l$r<!$N$b$N$GCV$-49$($F$/$@$5$$!#\e(B</p>
+<pre>
+    module MODULE_VAR_EXPORT foo_module;
+</pre>
+
+    <p>\e$B$b$7\e(B Unix \e$B>e$G$3$N%b%8%e!<%k$r;HMQ$7$?$/$J$C$F$b!"\e(B
+    \e$BJQ99L5$7$G;H$$B3$1$i$l$k$h$&$K!"$3$N%^%/%m$O\e(B Windows
+    \e$B>e$G$N$_8zNO$r;}$D$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B<code>.DEF</code>
+    \e$B%U%!%$%k$NJ}$rNI$/CN$C$F$$$k$H$$$&>l9g$O!"\e(B
+    \e$BBe$o$j$K$=$l$r;H$C$F%b%8%e!<%k%l%3!<%I$r\e(B
+    \e$B%(%/%9%]!<%H$9$k$3$H$b$G$-$^$9!#\e(B</p>
+    <p>\e$B$3$3$G!"$"$J$?$N%b%8%e!<%k$N\e(B DLL \e$B$r:n@.$7$F$/$@$5$$!#$3$l$r!"\e(B
+    ApacheCore.dll \e$B%7%'%"!<%I%i%$%V%i%j$,%3%s%Q%$%k$5$l$?$H$-$K:n@.$5$l$?\e(B
+    ApacheCore.lib \e$B%(%/%9%]!<%H%i%$%V%i%j$H%j%s%/$7$F$/$@$5$$!#$3$N;~$K!"\e(B
+    Apache \e$B$N%X%C%@%U%!%$%k$,@5$7$$0LCV$K$"$k$h$&$K!"\e(B
+    \e$B%3%s%Q%$%i$N@_Dj$rJQ$($kI,MW$,$"$k$+$b$7$l$^$;$s!#\e(B</p>
+
+    <p>\e$B$3$l$G\e(B DLL \e$BHG$N%b%8%e!<%k$,:n@.$5$l$F$$$k$O$:$G$9!#\e(B
+    \e$B$5$"!"%5!<%P%k!<%H$N\e(B <samp>modules</samp>
+    \e$B%G%#%l%/%H%j$K%b%8%e!<%k$rCV$$$F!"\e(B<code><a
+    href="#loadmodule">LoadModule</a></code>
+    \e$B%G%#%l%/%F%#%V$r;H$C$FFI$_9~$s$G$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="loadfile" name="loadfile">LoadFile</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> LoadFile
+    <em>filename</em> [<em>filename</em>] ...<br />
+     <a href="directive-dict.html#Context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_so
+
+    <p>LoadFile \e$B%G%#%l%/%F%#%V$O!"%5!<%P$,5/F0$5$l$?$H$-$d:F5/F0$5$l$?$H$-$K!"\e(B
+    \e$B;XDj$5$l$?%*%V%8%'%/%H%U%!%$%k$d%i%$%V%i%j$r%j%s%/$7$^$9!#\e(B
+    \e$B$3$l$O%b%8%e!<%k$,F0:n$9$k$?$a$KI,MW$K$J$k$+$b$7$l$J$$DI2C$N\e(B
+    \e$B%3!<%I$rFI$_9~$`$?$a$K;HMQ$5$l$^$9!#\e(B<em>Filename</em> \e$B$O@dBP%Q%9$+!"\e(B<a
+    href="core.html#serverroot">ServerRoot</a> \e$B$+$i$NAjBP%Q%9$G$9!#\e(B</p>
+
+    <p>\e$BNc\e(B:</p>
+    <code>LoadFile libexec/libxmlparse.so</code>
+
+    <hr />
+
+    <h2><a id="loadmodule" name="loadmodule">LoadModule</a>
+    \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> LoadModule <em>module
+    filename</em><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>\e$B%5!<%P@_Dj%U%!%$%k\e(B<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_so
+
+    <p>LoadModule \e$B%G%#%l%/%F%#%V$O\e(B <em>filename</em>
+    \e$B$H$$$&%*%V%8%'%/%H%U%!%$%k$*$h$S%i%$%V%i%j$r%j%s%/$7!"\e(B<em>module</em>
+    \e$B$H$$$&L>A0$N%b%8%e!<%k$N9=B$$r%"%/%F%#%V$J%b%8%e!<%k$N%j%9%H$KDI2C$7$^$9!#\e(B
+    <em>Module</em> \e$B$O%U%!%$%kCf$N\e(B <code>module</code>
+    \e$B7?$N30ItJQ?t$NL>A0$G!"%b%8%e!<%k$N%I%-%e%a%s%H$K\e(B
+    <a href="module-dict.html#moduleidentifier"
+    >\e$B%b%8%e!<%k<1JL;R\e(B</a>\e$B$H$7$F=q$+$l$F$$$k$b$N$G$9!#Nc\e(B
+    (Unix \e$B$H\e(B Apache 1.3.15 \e$B0J9_$N\e(B Windows):</p>
+
+    <blockquote>
+      <code>LoadModule status_module modules/mod_status.so</code>
+    </blockquote>
+
+    <p>\e$BNc\e(B (Apache 1.3.15 \e$B0JA0$N\e(B
+    Windows, \e$B%5!<%I%Q!<%F%#%b%8%e!<%k$N0lIt\e(B):</p>
+
+    <blockquote>
+      <code>LoadModule foo_module modules/ApacheModuleFoo.dll<br />
+      </code>
+    </blockquote>
+
+    <p><strong>Apache 1.3.15 \e$B$N;~E@$G\e(B Apache Win32 \e$B%P%$%J%jG[I[$KIUB0$7$F$$$k\e(B
+    \e$B$9$Y$F$N%b%8%e!<%k$NL>A0$,JQ99$5$l$?$3$H$KCm0U$7$F$/$@$5$$\e(B</strong>\e$B!#\e(B
+    </p>
+
+    <p>Win32 Apache \e$B%b%8%e!<%k$O$7$P$7$P8E$$7A<0$NL>A0$GG[I[$5$l$k$3$H$,$"$j!"\e(B
+    libfoo.dll \e$B$N$h$&$JL>A0$GG[I[$5$l$?$j$9$k$3$H$5$($"$j$^$9!#\e(B
+    \e$B%b%8%e!<%k$NL>A0$K4X78$J$/!"\e(BLoadModule
+    \e$B%G%#%l%/%F%#%V$O@53N$J%U%!%$%kL>$rMW5a$7$^$9!#\e(B
+    \e$B%U%!%$%kL>$N3HD%;R$K4X$7$F$O2?$N2>Dj$b9T$J$$$^$;$s!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+
+    <p><strong>\e$B;2>H\e(B</strong>: <a
+    href="core.html#addmodule">AddModule</a> \e$B$H\e(B <a
+    href="core.html#clearmodulelist">ClearModuleList</a></p>
+
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_speling.html.en b/htdocs/manual/mod/mod_speling.html.en
new file mode 100644 (file)
index 0000000..772c0ef
--- /dev/null
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_speling</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_speling</h1>
+
+    <p>This module attempts to correct misspellings of URLs that
+    users might have entered, by ignoring capitalization and by
+    allowing up to one misspelling.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_speling.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    speling_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later. Available as an External module in Apache
+    1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>Requests to documents sometimes cannot be served by the core
+    apache server because the request was misspelled or
+    miscapitalized. This module addresses this problem by trying to
+    find a matching document, even after all other modules gave up.
+    It does its work by comparing each document name in the
+    requested directory against the requested document name
+    <strong>without regard to case</strong>, and allowing
+    <strong>up to one misspelling</strong> (character insertion /
+    omission / transposition or wrong character). A list is built
+    with all document names which were matched using this
+    strategy.</p>
+
+    <p>If, after scanning the directory,</p>
+
+    <ul>
+      <li>no matching document was found, Apache will proceed as
+      usual and return a "document not found" error.</li>
+
+      <li>only one document is found that "almost" matches the
+      request, then it is returned in the form of a redirection
+      response.</li>
+
+      <li>more than one document with a close match was found, then
+      the list of the matches is returned to the client, and the
+      client can select the correct candidate.</li>
+    </ul>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#checkspelling">CheckSpelling</a></li>
+    </ul>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="checkspelling"
+    name="checkspelling">CheckSpelling</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CheckSpelling
+    on|off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>CheckSpelling
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> Options <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_speling<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> CheckSpelling
+    was available as a separately available module for Apache 1.1,
+    but was limited to miscapitalizations. As of Apache 1.3, it is
+    part of the Apache distribution. Prior to Apache 1.3.2, the
+    <samp>CheckSpelling</samp> directive was only available in the
+    "server" and "virtual host" contexts. 
+
+    <p>This directive enables or disables the spelling module. When
+    enabled, keep in mind that</p>
+
+    <ul>
+      <li>the directory scan which is necessary for the spelling
+      correction will have an impact on the server's performance
+      when many spelling corrections have to be performed at the
+      same time.</li>
+
+      <li>the document trees should not contain sensitive files
+      which could be matched inadvertently by a spelling
+      "correction".</li>
+
+      <li>the module is unable to correct misspelled user names (as
+      in <code>http://my.host/~apahce/</code>), just file names or
+      directory names.</li>
+
+      <li>spelling corrections apply strictly to existing files, so
+      a request for the <samp>&lt;Location /status&gt;</samp> may
+      get incorrectly treated as the negotiated file
+      "<samp>/stats.html</samp>".</li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_speling.html.html b/htdocs/manual/mod/mod_speling.html.html
new file mode 100644 (file)
index 0000000..d225b4b
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_speling.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_speling.html.ja.jis b/htdocs/manual/mod/mod_speling.html.ja.jis
new file mode 100644 (file)
index 0000000..731599c
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_speling</title>
+
+  </head>
+  <!-- English revision: 1.14 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_speling \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$OBgJ8;z>.J8;z$N0c$$$rL5;k$7$?$j!"\e(B
+    \e$B0lJ8;z0J2<$NDV$j$N4V0c$$$rL5;k$9$k$3$H$G\e(B
+    URL \e$B$NDV$j$N4V0c$$$N=$@5$r;n$_$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_speling.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    speling_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3
+    \e$B0J9_$G;HMQ2DG=!#\e(BApache 1.1 \e$B0J9_$G$O30It%b%8%e!<%k$H$7$F;HMQ2DG=!#\e(B
+    </p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B%j%/%(%9%H$NDV$j$,4V0c$C$F$$$?$j!"\e(B
+    \e$BBgJ8;z>.J8;z$,0c$C$F$$$?$j$9$k$?$a$K!"\e(BApache \e$B$N%3%"%5!<%P$,\e(B
+    \e$B%I%-%e%a%s%H$X$N%j%/%(%9%H$X$N1~Ez$r@5$7$/Ds6!$G$-$J$$$3$H$,$"$j$^$9!#\e(B
+    \e$B$3$N%b%8%e!<%k$O!"B>$N$9$Y$F$N%b%8%e!<%k$,$"$-$i$a$?8e$G$"$C$?$H$7$F$b!"\e(B
+    \e$B%j%/%(%9%H$K9g$&%I%-%e%a%s%H$r8+$D$1$h$&$H$9$k$3$H$K$h$j$3$NLdBj$N\e(B
+    \e$B2r7h$r;n$_$^$9!#$3$N%b%8%e!<%k$O%j%/%(%9%H$5$l$?%G%#%l%/%H%j$K$"$k\e(B
+    \e$B$=$l$>$l$N%I%-%e%a%s%H$NL>A0$H!"%j%/%(%9%H$5$l$?%I%-%e%a%s%H$NL>A0$H$r\e(B
+    <strong>\e$BBgJ8;z>.J8;z$N6hJL$rL5;k$7\e(B</strong>\e$B!"\e(B
+    <strong>\e$B0lJ8;z$^$G$NDV$j$N4V0c$$\e(B</strong>
+    (\e$BJ8;z$NA^F~\e(B/\e$B>JN,\e(B/\e$BNY9g$&J8;z$NCV49!"4V0c$C$?J8;z\e(B)
+    \e$B$r5v2D$7$FHf3S$9$k$3$H$K$h$j!"L\E*$rC#@.$7$h$&$H$7$^$9!#\e(B
+    \e$B$3$NJ}K!$G%j%/%(%9%H$K9g$&%I%-%e%a%s%H$N0lMw$,:n@.$5$l$^$9!#\e(B</p>
+
+    <p>\e$B%G%#%l%/%H%j$r%9%-%c%s$7$?8e$K!"\e(B</p>
+
+    <ul>
+      <li>\e$BE,@Z$J%I%-%e%a%s%H$,8+$D$+$i$J$+$C$?>l9g!"\e(B
+      Apache \e$B$O$$$D$b$HF1$8$h$&$K=hM}$r$7!"\e(B
+      \e$B!V%I%-%e%a%s%H$,8+$D$+$i$J$$!W$H$$$&%(%i!<$rJV$7$^$9!#\e(B</li>
+
+      <li>\e$B%j%/%(%9%H$K!V$[$H$s$I!W9g$&%I%-%e%a%s%H$,0l$D$@$18+$D$+$C$?>l9g!"\e(B
+       \e$B$=$l$,%j%@%$%l%/%H1~Ez$H$7$FJV$5$l$^$9!#\e(B</li>
+
+      <li>\e$B$h$/;w$?%I%-%e%a%s%H$,J#?t8+$D$+$C$?>l9g!"\e(B
+      \e$B$=$N%j%9%H$,%/%i%$%"%s%H$KJV$5$l!"\e(B
+      \e$B%/%i%$%"%s%H$,@5$7$$8uJd$rA*Br$G$-$k$h$&$K$7$^$9!#\e(B</li>
+    </ul>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#checkspelling">CheckSpelling</a></li>
+    </ul>
+    <hr />
+    <!-- the HR is part of the directive description -->
+
+    <h2><a id="checkspelling"
+    name="checkspelling">CheckSpelling</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+     <a href="directive-dict.html#syntax"
+    rel="help"><strong>\e$B9=J8\e(B:</strong></a> CheckSpelling on|off<br />
+     <a href="directive-dict.html#default"
+    rel="help"><strong>\e$B%G%U%)%k%H\e(B:</strong></a> <code>CheckSpelling
+    Off</code><br />
+     <a href="directive-dict.html#context"
+    rel="help"><strong>\e$B%3%s%F%-%9%H\e(B:</strong></a>
+    \e$B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"\e(B.htaccess<br />
+     <a href="directive-dict.html#override"
+    rel="help"><strong>\e$B>e=q$-\e(B:</strong></a> Options<br />
+     <a href="directive-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="directive-dict.html#module"
+    rel="help"><strong>\e$B%b%8%e!<%k\e(B:</strong></a> mod_speling<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> CheckSpelling \e$B$O\e(B
+    Apache 1.1 \e$B$G$O30It$N%b%8%e!<%k$H$7$F;HMQ2DG=$G$7$?$,!"\e(B
+    \e$BBgJ8;z>.J8;z$N0c$$$r=$@5$9$k5!G=$N$_$G$7$?!#\e(BApache 1.3 \e$B$G$O\e(B
+    Apache \e$B$NG[I[$N0lIt$K$J$C$F$$$^$9!#\e(BApache 1.3.2 \e$B0JA0$G$O!"\e(B
+    <samp>CheckSpelling</samp> \e$B%G%#%l%/%F%#%V$O\e(B "\e$B%5!<%P\e(B" \e$B$H\e(B
+    "\e$B%P!<%A%c%k%[%9%H\e(B" \e$B$N%3%s%F%-%9%H$N$_$G;HMQ2DG=$G$7$?!#\e(B
+
+
+    <p>\e$B$3$N%G%#%l%/%F%#%V$ODV$jMQ$N%b%8%e!<%k$r;HMQ$9$k$+$I$&$+$r\e(B
+    \e$B7h$a$^$9!#;HMQ;~$K$O!"0J2<$N$3$H$r3P$($F$*$$$F$/$@$5$$\e(B</p>
+
+    <ul>
+      <li>\e$BF1;~$K$?$/$5$s$NDV$j$ND{@5$r9T$J$o$J$1$l$P$J$i$J$$$H$-$O!"\e(B
+      \e$B$=$N$?$a$K9T$J$o$l$k%G%#%l%/%H%j$N%9%-%c%s$,\e(B
+      \e$B%5!<%P$N@-G=$K1F6A$rM?$($^$9!#\e(B</li>
+
+      <li>\e$B%I%-%e%a%s%H$NCf$KDV$j$N!VD{@5!W$K$h$j\e(B
+      \e$B0U?^$;$:9g$C$F$7$^$&$h$&$J=EMW$J%U%!%$%k$,$J$$$h$&$K$7$F$/$@$5$$!#\e(B
+      </li>
+
+      <li>\e$B%b%8%e!<%k$O%f!<%6L>$NDV$j$N4V0c$$\e(B
+      (<code>http://my.host/~apahce/</code> \e$B$N$h$&$K\e(B)
+      \e$B$rD{@5$9$k$3$H$O$G$-$^$;$s!#\e(B
+      \e$BD{@5$G$-$k$N$O%U%!%$%kL>$H%G%#%l%/%H%jL>$@$1$G$9!#\e(B</li>
+
+      <li>\e$BDV$j$ND{@5$OB8:_$9$k%U%!%$%k$K87L)$KE,MQ$5$l$^$9$N$G!"\e(B
+      <samp>&lt;Location /status&gt;</samp>
+      \e$B$O%M%4%7%(!<%7%g%s$N7k2L$N%U%!%$%k\e(B "<samp>/stats.html</samp>"
+      \e$B$H$7$F4V0c$C$F07$o$l$k$+$b$7$l$^$;$s!#\e(B</li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_status.html b/htdocs/manual/mod/mod_status.html
new file mode 100644 (file)
index 0000000..6725452
--- /dev/null
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_status</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_status</h1>
+
+    <p>This module provides information on server activity and
+    performance.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a> mod_status.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    status_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.1 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>The Status module allows a server administrator to find out
+    how well their server is performing. A HTML page is presented
+    that gives the current server statistics in an easily readable
+    form. If required this page can be made to automatically
+    refresh (given a compatible browser). Another page gives a
+    simple machine-readable list of the current server state.</p>
+
+    <p>The details given are:</p>
+
+    <ul>
+      <li>The number of children serving requests</li>
+
+      <li>The number of idle children</li>
+
+      <li>The status of each child, the number of requests that
+      child has performed and the total number of bytes served by
+      the child (*)</li>
+
+      <li>A total number of accesses and byte count served (*)</li>
+
+      <li>The time the server was started/restarted and the time it
+      has been running for</li>
+
+      <li>Averages giving the number of requests per second, the
+      number of bytes served per second and the average number of
+      bytes per request (*)</li>
+
+      <li>The current percentage CPU used by each child and in
+      total by Apache (*)</li>
+
+      <li>The current hosts and requests being processed (*)</li>
+    </ul>
+
+    <p>Details marked "(*)" are only available with
+    <code>ExtendedStatus On</code>.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#extendedstatus">ExtendedStatus</a></li>
+    </ul>
+
+    <h2>Enabling Status Support</h2>
+    To enable status reports only for browsers from the foo.com
+    domain add this code to your <code>httpd.conf</code>
+    configuration file 
+<pre>
+    &lt;Location /server-status&gt;
+    SetHandler server-status
+
+    Order Deny,Allow
+    Deny from all
+    Allow from .foo.com
+    &lt;/Location&gt;
+</pre>
+
+    <p>You can now access server statistics by using a Web browser
+    to access the page
+    <code>http://your.server.name/server-status</code></p>
+
+    <p>Alternatively, if you have <code>lynx</code> installed, you can
+    also get a server statics report from the command line by running
+    the command <code>apachectl status</code>, or, for the extended
+    status report, <code>apachectl fullstatus</code>. See the <a
+    href="../programs/apachectl.html">apachectl</a> documentation for
+    additional details.</a><p>
+
+    <p>Note that mod_status will only work when you are running
+    Apache in <a href="core.html#servertype">standalone</a> mode
+    and not <a href="core.html#servertype">inetd</a> mode.</p>
+
+    <h3>Automatic Updates</h3>
+    You can get the status page to update itself automatically if
+    you have a browser that supports "refresh". Access the page
+    <code>http://your.server.name/server-status?refresh=N</code> to
+    refresh the page every N seconds. 
+
+    <h3>Machine Readable Status File</h3>
+    A machine-readable version of the status file is available by
+    accessing the page
+    <code>http://your.server.name/server-status?auto</code>. This
+    is useful when automatically run, see the Perl program in the
+    <code>/support</code> directory of Apache,
+    <code>log_server_status</code>. 
+
+    <blockquote>
+      <strong>It should be noted that if <samp>mod_status</samp> is
+      compiled into the server, its handler capability is available
+      in <em>all</em> configuration files, including
+      <em>per</em>-directory files (<em>e.g.</em>,
+      <samp>.htaccess</samp>). This may have security-related
+      ramifications for your site.</strong>
+    </blockquote>
+    <hr />
+
+    <h2><a id="extendedstatus" name="extendedstatus">ExtendedStatus
+    directive</a></h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> ExtendedStatus
+    On|Off<br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>ExtendedStatus
+    Off</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config <br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_status<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> ExtendedStatus
+    is only available in Apache 1.3.2 and later. 
+
+    <p>This directive controls whether the server keeps track of
+    extended status information for each request. This is only
+    useful if the status module is enabled on the server.</p>
+
+    <p>This setting applies to the entire server, and cannot be
+    enabled or disabled on a virtualhost-by-virtualhost basis.</p>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_unique_id.html.en b/htdocs/manual/mod/mod_unique_id.html.en
new file mode 100644 (file)
index 0000000..d3ab32c
--- /dev/null
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_unique_id</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_unique_id</h1>
+
+    <p>This module provides an environment variable with a unique
+    identifier for each request.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_unique_id.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    unique_id_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module provides a magic token for each request which is
+    guaranteed to be unique across "all" requests under very
+    specific conditions. The unique identifier is even unique
+    across multiple machines in a properly configured cluster of
+    machines. The environment variable <code>UNIQUE_ID</code> is
+    set to the identifier for each request. Unique identifiers are
+    useful for various reasons which are beyond the scope of this
+    document.</p>
+
+    <h2>Directives</h2>
+
+    <p>This module has no directives.</p>
+
+    <h2>Theory</h2>
+
+    <p>First a brief recap of how the Apache server works on Unix
+    machines. On Unix machines, Apache creates several children,
+    the children process requests one at a time. Each child can
+    serve multiple requests in its lifetime. For the purpose of
+    this discussion, the children don't share any data with each
+    other. We'll refer to the children as httpd processes.</p>
+
+    <p>Your website has one or more machines under your
+    administrative control, together we'll call them a cluster of
+    machines. Each machine can possibly run multiple instances of
+    Apache. All of these collectively are considered "the
+    universe", and with certain assumptions we'll show that in this
+    universe we can generate unique identifiers for each request,
+    without extensive communication between machines in the
+    cluster.</p>
+
+    <p>The machines in your cluster should satisfy these
+    requirements. (Even if you have only one machine you should
+    synchronize its clock with NTP.)</p>
+
+    <ul>
+      <li>The machines' times are synchronized via NTP or other
+      network time protocol.</li>
+
+      <li>The machines' hostnames all differ, such that the module
+      can do a hostname lookup on the hostname and receive a
+      different IP address for each machine in the cluster.</li>
+    </ul>
+
+    <p>As far as operating system assumptions go, we assume that
+    pids (process ids) fit in 32-bits. If the operating system uses
+    more than 32-bits for a pid, the fix is trivial but must be
+    performed in the code.</p>
+
+    <p>Given those assumptions, at a single point in time we can
+    identify any httpd process on any machine in the cluster from
+    all other httpd processes. The machine's IP address and the pid
+    of the httpd process are sufficient to do this. So in order to
+    generate unique identifiers for requests we need only
+    distinguish between different points in time.</p>
+
+    <p>To distinguish time we will use a Unix timestamp (seconds
+    since January 1, 1970 UTC), and a 16-bit counter. The timestamp
+    has only one second granularity, so the counter is used to
+    represent up to 65536 values during a single second. The
+    quadruple <em>( ip_addr, pid, time_stamp, counter )</em> is
+    sufficient to enumerate 65536 requests per second per httpd
+    process. There are issues however with pid reuse over time, and
+    the counter is used to alleviate this issue.</p>
+
+    <p>When an httpd child is created, the counter is initialized
+    with ( current microseconds divided by 10 ) modulo 65536 (this
+    formula was chosen to eliminate some variance problems with the
+    low order bits of the microsecond timers on some systems). When
+    a unique identifier is generated, the time stamp used is the
+    time the request arrived at the web server. The counter is
+    incremented every time an identifier is generated (and allowed
+    to roll over).</p>
+
+    <p>The kernel generates a pid for each process as it forks the
+    process, and pids are allowed to roll over (they're 16-bits on
+    many Unixes, but newer systems have expanded to 32-bits). So
+    over time the same pid will be reused. However unless it is
+    reused within the same second, it does not destroy the
+    uniqueness of our quadruple. That is, we assume the system does
+    not spawn 65536 processes in a one second interval (it may even
+    be 32768 processes on some Unixes, but even this isn't likely
+    to happen).</p>
+
+    <p>Suppose that time repeats itself for some reason. That is,
+    suppose that the system's clock is screwed up and it revisits a
+    past time (or it is too far forward, is reset correctly, and
+    then revisits the future time). In this case we can easily show
+    that we can get pid and time stamp reuse. The choice of
+    initializer for the counter is intended to help defeat this.
+    Note that we really want a random number to initialize the
+    counter, but there aren't any readily available numbers on most
+    systems (<em>i.e.</em>, you can't use rand() because you need
+    to seed the generator, and can't seed it with the time because
+    time, at least at one second resolution, has repeated itself).
+    This is not a perfect defense.</p>
+
+    <p>How good a defense is it? Suppose that one of your machines
+    serves at most 500 requests per second (which is a very
+    reasonable upper bound at this writing, because systems
+    generally do more than just shovel out static files). To do
+    that it will require a number of children which depends on how
+    many concurrent clients you have. But we'll be pessimistic and
+    suppose that a single child is able to serve 500 requests per
+    second. There are 1000 possible starting counter values such
+    that two sequences of 500 requests overlap. So there is a 1.5%
+    chance that if time (at one second resolution) repeats itself
+    this child will repeat a counter value, and uniqueness will be
+    broken. This was a very pessimistic example, and with real
+    world values it's even less likely to occur. If your system is
+    such that it's still likely to occur, then perhaps you should
+    make the counter 32 bits (by editing the code).</p>
+
+    <p>You may be concerned about the clock being "set back" during
+    summer daylight savings. However this isn't an issue because
+    the times used here are UTC, which "always" go forward. Note
+    that x86 based Unixes may need proper configuration for this to
+    be true -- they should be configured to assume that the
+    motherboard clock is on UTC and compensate appropriately. But
+    even still, if you're running NTP then your UTC time will be
+    correct very shortly after reboot.</p>
+
+    <p>The <code>UNIQUE_ID</code> environment variable is
+    constructed by encoding the 112-bit (32-bit IP address, 32 bit
+    pid, 32 bit time stamp, 16 bit counter) quadruple using the
+    alphabet <code>[A-Za-z0-9@-]</code> in a manner similar to MIME
+    base64 encoding, producing 19 characters. The MIME base64
+    alphabet is actually <code>[A-Za-z0-9+/]</code> however
+    <code>+</code> and <code>/</code> need to be specially encoded
+    in URLs, which makes them less desirable. All values are
+    encoded in network byte ordering so that the encoding is
+    comparable across architectures of different byte ordering. The
+    actual ordering of the encoding is: time stamp, IP address,
+    pid, counter. This ordering has a purpose, but it should be
+    emphasized that applications should not dissect the encoding.
+    Applications should treat the entire encoded
+    <code>UNIQUE_ID</code> as an opaque token, which can be
+    compared against other <code>UNIQUE_ID</code>s for equality
+    only.</p>
+
+    <p>The ordering was chosen such that it's possible to change
+    the encoding in the future without worrying about collision
+    with an existing database of <code>UNIQUE_ID</code>s. The new
+    encodings should also keep the time stamp as the first element,
+    and can otherwise use the same alphabet and bit length. Since
+    the time stamps are essentially an increasing sequence, it's
+    sufficient to have a <em>flag second</em> in which all machines
+    in the cluster stop serving and request, and stop using the old
+    encoding format. Afterwards they can resume requests and begin
+    issuing the new encodings.</p>
+
+    <p>This is a relatively portable solution. It is extended to
+    multithreaded systems like Windows NT, which add the thread-id
+    to the ID, producing a 144-bit (including 32-bit tid) quadruple
+    that generates a 24 character UNIQUE_ID value. The identifiers
+    generated have essentially an infinite life-time because future
+    identifiers can be made longer as required. Essentially no
+    communication is required between machines in the cluster (only
+    NTP synchronization is required, which is low overhead), and no
+    communication between httpd processes is required (the
+    communication is implicit in the pid value assigned by the
+    kernel). In very specific situations the identifier can be
+    shortened, but more information needs to be assumed (for
+    example the 32-bit IP address is overkill for any site, but
+    there is no portable shorter replacement for it). This module
+    may be extended to include an entire IPv6 address, but that is
+    overkill for nearly all server configurations. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_unique_id.html.html b/htdocs/manual/mod/mod_unique_id.html.html
new file mode 100644 (file)
index 0000000..609eab0
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_unique_id.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_unique_id.html.ja.jis b/htdocs/manual/mod/mod_unique_id.html.ja.jis
new file mode 100644 (file)
index 0000000..4cc22e1
--- /dev/null
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_unique_id</title>
+
+  </head>
+  <!-- English revision: 1.9 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_unique_id \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"$=$l$>$l$N%j%/%(%9%H$KBP$7$F\e(B
+    \e$B0l0U$J<1JL;R$r;}$D4D6-JQ?t$rDs6!$7$^$9!#\e(B</p>
+
+    <p><a href="module-dict.html#status"
+    rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Extension<br />
+     <a href="module-dict.html#sourcefile"
+    rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_unique_id.c<br />
+     <a href="module-dict.html#moduleidentifier"
+    rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    unique_id_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="help"><strong>\e$B8_49@-\e(B:</strong></a> Apache 1.3
+    \e$B0J9_$G;HMQ2DG=!#\e(B</p>
+
+    <h2>\e$B35MW\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$OHs>o$K@)8B$5$l$?>r7o2<$G!"\e(B
+    \e$B$=$l$>$l$N%j%/%(%9%H$K!V$9$Y$F!W$N%j%/%(%9%H$KBP$7$F\e(B
+    \e$B0l0U$K7h$^$k$3$H$,J]>Z$5$l$F$$$kKbK!$N%H!<%/%s$rDs6!$7$^$9!#\e(B
+    \e$B$3$N0l0U$J<1JL;R$O!"E,@Z$K@_Dj$5$l$?%/%i%9%?$G$OJ#?t$N\e(B
+    \e$B%^%7%s$N4V$G$5$($b0l0U$K$J$j$^$9!#$=$l$>$l$N%j%/%(%9%H$KBP$7$F4D6-JQ?t\e(B
+    <code>UNIQUE_ID</code> \e$B$K<1JL;R$,@_Dj$5$l$^$9!#\e(B
+    \e$B0l0U$J<1JL;R$,JXMx$JM}M3$O$$$m$$$m$"$j$^$9$,!"\e(B
+    \e$B$3$N%I%-%e%a%s%H$NL\E*$+$i$O30$l$k$?$a!"$3$3$G$O@bL@$7$^$;$s!#\e(B</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <p>\e$B$3$N%b%8%e!<%k$K$O%G%#%l%/%F%#%V$O$"$j$^$;$s!#\e(B</p>
+
+    <h2>\e$BM}O@\e(B</h2>
+
+    <p>\e$B$^$:$O$8$a$K!"\e(BApache \e$B%5!<%P$,\e(B Unix
+    \e$B%^%7%s$G$I$N$h$&$KF0:n$r$9$k$+$r4JC1$K@bL@$7$^$9!#\e(B
+    Unix \e$B%^%7%s$G$O\e(B Apache \e$B$O$$$/$D$+$N;R%W%m%;%9$r:n@.$7!"\e(B
+    \e$B$=$N;R%W%m%;%9$,0l$D$:$D%j%/%(%9%H$r=hM}$7$^$9!#$=$l$>$l$N;R%W%m%;%9$O!"\e(B
+    \e$B@8B84|4VCf$KJ#?t$N%j%/%(%9%H$r07$&$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$N5DO@$G$O;R%W%m%;%94V$G$O0l@Z%G!<%?$r6&M-$7$J$$$3$H$K$7$^$9!#\e(B
+    \e$B0J8e!"$3$N;R%W%m%;%9$N$3$H$r\e(B httpd \e$B%W%m%;%9$H8F$S$^$9!#\e(B</p>
+
+    <p>\e$B$"$J$?$N%&%'%V%5%$%H$K$O$"$J$?$,4IM}$9$k$$$/$D$+$N%^%7%s$,$"$k$H$7$^$9!#\e(B
+    \e$B$=$l$i$r$^$H$a$F%/%i%9%?$H8F$V$3$H$K$7$^$9!#$=$l$>$l$N%^%7%s$OJ#?t$N\e(B
+    Apache \e$B$r<B9T$9$k$3$H$b$G$-$^$9!#\e(B
+    \e$B$3$l$i$9$Y$F$r$^$H$a$?$b$N$,!V1'Ch!W$G$"$k$H9M$($i$l$^$9!#\e(B
+    \e$B$$$/$D$+$N2>Dj$N2<$G!"%/%i%9%?$N%^%7%s4V$,$?$/$5$sDL?.$r$9$k$3$H$J$/!"\e(B
+    \e$B$3$N1'Ch$NCf$G$=$l$>$l$N%j%/%(%9%H$K0l0U$J<1JL;R$r@8@.$G$-$k$3$H$r<($7$^$9!#\e(B
+    </p>
+
+    <p>\e$B%/%i%9%?$K$"$k%^%7%s$O0J2<$NMW5a$rK~$?$5$J$1$l$P$J$j$^$;$s!#\e(B
+    (\e$B%^%7%s$,0l$D$@$1$@$H$7$F$b!"\e(BNTP \e$B$G;~7W$r9g$o$;$kJ}$,NI$$$G$9!#\e(B)</p>
+
+    <ul>
+      <li>NTP \e$B$dB>$N%M%C%H%o!<%/>e$G;~4V$r9g$o$;$k%W%m%H%3%k$K$h$C$F\e(B
+      \e$B3F%^%7%s$N;~4V$NF14|$,<h$i$l$F$$$k$3$H!#\e(B</li>
+
+      <li>\e$B%b%8%e!<%k$,%[%9%HL>$r0z$$$F0c$&\e(B IP
+      \e$B%"%I%l%9$r<u$1<h$k$3$H$,$G$-$k$h$&$K!"\e(B
+      \e$B%/%i%9%?$N$=$l$>$l$N%^%7%s$N%[%9%HL>$,0c$&$3$H!#\e(B</li>
+    </ul>
+
+    <p>\e$B%*%Z%l!<%F%#%s%0%7%9%F%`$K$*$$$F$O!"\e(Bpid (\e$B%W%m%;%9\e(B ID) \e$B$,\e(B
+    32 \e$B%S%C%H$NHO0OFb$G$"$k$3$H$r2>Dj$7$^$9!#%*%Z%l!<%F%#%s%0%7%9%F%`$N\e(B
+    pid \e$B$,\e(B 32 \e$B%S%C%H$rD6$($k>l9g$O!"4JC1$J=$@5$G$O$"$j$^$9$,!"\e(B
+    \e$B%3!<%I$rJQ99$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B$3$l$i$N2>Dj$,K~$?$5$l$F$$$k$H!"$"$k;~E@$K$*$$$F!"\e(B
+    \e$B%/%i%9%?Fb$N$I$N%^%7%s$N$I$N\e(B httpd
+    \e$B%W%m%;%9$G$b!"0l0U$KF1Dj$9$k$3$H$,$G$-$^$9!#$3$l$O%^%7%s$N\e(B IP
+    \e$B%"%I%l%9$H\e(B httpd \e$B%W%m%;%9$N\e(B pid \e$B$G==J,$K9T$J$&$3$H$,$G$-$^$9!#\e(B
+    \e$B$G$9$+$i!"%j%/%(%9%H$K0l0U$J<1JL;R$r@8@.$9$k$?$a$K$O!"\e(B
+    \e$B;~9o$r6hJL$9$kI,MW$,$"$k$@$1$G$9!#\e(B</p>
+
+    <p>\e$B;~9o$r6hJL$9$k$?$a$K!"\e(BUnix \e$B$N%?%$%`%9%?%s%W\e(B (UTC \e$B$N\e(B 1970 \e$BG/\e(B
+    1 \e$B7n\e(B 1 \e$BF|$+$i$NIC?t\e(B) \e$B$H!"\e(B16 \e$B%S%C%H$N%+%&%s%?$r;H$$$^$9!#\e(B
+    \e$B%?%$%`%9%?%s%W$NN3EY$O0lIC$G$9$N$G!"0lIC4V$N\e(B 65536
+    \e$B$^$G$NCM$rI=8=$9$k$?$a$K%+%&%s%?$r;HMQ$7$^$9!#;M$D$NCM\e(B
+    <em>( ip_addr, pid, time_stamp, counter )</em> \e$B$G3F\e(B httpd
+    \e$B%W%m%;%9$G0lIC$N4V$K\e(B 65536 \e$B%j%/%(%9%H$r?t$($"$2$k$3$H$,$G$-$^$9!#\e(B
+    \e$B;~4V$,7P$D$H\e(B pid \e$B$,:FMxMQ$5$l$k$H$$$&LdBj$,$"$j$^$9$,!"\e(B
+    \e$B$3$NLdBj$r2r7h$9$k$?$a$K%+%&%s%?$,;HMQ$5$l$^$9!#\e(B</p>
+
+    <p>httpd \e$B$N;R%W%m%;%9$,:n@.$5$l$k$H!"%+%&%s%?$O\e(B
+    (\e$B$=$N;~E@$N%^%$%/%mIC\e(B \e$B!`\e(B 10) modulo 65536 \e$B$G=i4|2=$5$l$^$9\e(B
+    (\e$B$3$N<0$O$$$/$D$+$N%7%9%F%`$K$"$k!"%^%$%/%mIC$N\e(B
+    \e$B%?%$%^$N2<0L%S%C%H$,0[$J$k$H$$$&LdBj$r2r7h$9$k$?$a$KA*$P$l$^$7$?\e(B)\e$B!#\e(B
+    \e$B0l0U$J<1JL;R$,@8@.$5$l$?$H$-!";HMQ$5$l$k%?%$%`%9%?%s%W$O\e(B
+    \e$B%&%'%V%5!<%P$K%j%/%(%9%H$,E~Ce$7$?;~9o$K$J$j$^$9!#\e(B
+    \e$B%+%&%s%?$O<1JL;R$,@8@.$5$l$k$?$S$KA}2C$7$^$9\e(B 
+    (\e$B$"$U$l$?>l9g$O\e(B 0 \e$B$KLa$j$^$9\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B%+!<%M%k$O%W%m%;%9$r%U%)!<%/$9$k$H!"$=$l$>$l$N%W%m%;%9$N$?$a$K\e(B
+    pid \e$B$r@8@.$7$^$9!#\e(Bpid \e$B$O7+$jJV$5$l$k$3$H$,5v2D$5$l$F$$$^$9\e(B
+    (pid \e$B$NCM$OB?$/$N\e(B Unix \e$B$G$O\e(B 16 \e$B%S%C%H$G$9$,!"?7$7$$%7%9%F%`$G$O\e(B
+    32 \e$B%S%C%H$K3HD%$5$l$F$$$^$9\e(B)\e$B!#\e(B
+    \e$B$G$9$+$i!"$"$kDxEY$N;~4V$,7P2a$9$k$HF1$8\e(B pid \e$B$,:F$S;HMQ$5$l$^$9!#\e(B
+    \e$B$7$+$7!"0lICFb$K:F;HMQ$5$l$J$1$l$P!"\e(B
+    \e$B;M$D$NCM$N0l0U@-$OJ]$?$l$^$9!#$D$^$j!"2f!9$O%7%9%F%`$,0lIC4V\e(B
+    \e$B$K\e(B 65536 \e$B8D$N%W%m%;%9$r5/F0$7$J$$$H2>Dj$7$F$$$^$9\e(B (\e$B$$$/$D$+$N\e(B Unix
+    \e$B$G$O\e(B 32768 \e$B%W%m%;%9$G$9$,!"$=$l$G$9$i$[$H$s$I$"$jF@$J$$$G$7$g$&\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B2?$i$+$NM}M3$G!"F1$8;~9o$,7+$jJV$5$l$?$H$7$^$7$g$&!#\e(B
+    \e$B$D$^$j!"%7%9%F%`$N;~7W$,68$C$F$$$F!"$b$&0lEY2a5n$N;~9o$K$J$C$F$7$^$C$?\e(B
+    (\e$B$b$7$/$O?J$_$9$.$F$$$?$H$-$K!"\e(B
+    \e$B@5$7$$;~9o$KLa$7$?$?$a$K:F$S>-Mh$N;~9o$K$J$C$F$7$^$C$?\e(B) \e$B$H$7$^$9!#\e(B
+    \e$B$3$N>l9g!"\e(Bpid \e$B$H%?%$%`%9%?%s%W$,:F;HMQ$5$l$k$3$H$,4JC1$K<($5$l$^$9!#\e(B
+    \e$B%+%&%s%?=i4|2=MQ$N4X?t$O!"$3$NLdBj$N2sHr$r<j=u$1$7$h$&$HA*Br$5$l$F$$$^$9!#\e(B
+    \e$BK\Ev$O%+%&%s%?$N=i4|2=$r$9$k$?$a$K%i%s%@%`$J?t;z$r;H$$$?$$$N$G$9$,!"\e(B
+    \e$B$[$H$s$I$N%7%9%F%`$G$O4JC1$K;HMQ$G$-$k?t$OL5$$$3$H$KCm0U$7$F$/$@$5$$\e(B
+    (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(Brand ()\e$B$O;H$($^$;$s!#\e(Brand () \e$B$K$O\e(B seed
+    \e$B$rM?$($kI,MW$,$"$j!"\e(Bseed \e$B$K$O;~9o$r;H$($^$;$s!#0lICC10L$G$O!"\e(B
+    \e$B$=$N;~9o$O$9$G$K7+$jJV$5$l$F$$$k$+$i$G$9\e(B)\e$B!#\e(B
+    \e$B$3$l$O!"40`z$JBP:v$G$O$"$j$^$;$s!#\e(B</p>
+
+    <p>\e$B$3$NBP:v$O$I$N$/$i$$8z2L$,$"$k$G$7$g$&$+\e(B?
+    \e$B$3$3$G$O!"%^%7%s72$NCf$N0l$D$O:GBg$G0lIC$K\e(B 500
+    \e$B%j%/%(%9%H$r07$&$H2>Dj$7$^$9\e(B (\e$B$3$l$r=q$$$F$$$k;~E@$G$OBEEv$J>e8B$G$9!#\e(B
+    \e$BDL>o%7%9%F%`$,$9$k$3$H$O@EE*$J%U%!%$%k$r<h$j$@$9$@$1$G$O$"$j$^$;$s$+$i\e(B)\e$B!#\e(B
+    \e$B$=$l$r9T$J$&$?$a$K!"$=$N%^%7%s$OJB9T$7$FMh$k%/%i%$%"%s%H$N?t$K\e(B
+    \e$B1~$8$??t$N;R%W%m%;%9$rMW5a$7$^$9!#\e(B
+    \e$B$7$+$7$J$,$i!"Ha4QE*$K9M$($F!"0l$D$N;R%W%m%;%9$,0lIC$K\e(B 500
+    \e$B%j%/%(%9%H$r07$($k$H$7$^$9!#$=$&$9$k$H!"\e(B(\e$B0lIC$N@:EY$K$*$$$F\e(B)
+    \e$B;~9o$,F1$8;~$r7+$jJV$9$H!"$3$N;R%W%m%;%9$,%+%&%s%?$NCM$r:F$S;H$$!"\e(B
+    \e$B0l0U@-$,2u$l$k2DG=@-$,\e(B 1.5% \e$B$"$j$^$9!#\e(B
+    \e$B$3$l$OHs>o$KHa4QE*$JNc$G!"<B@$3&$NCM$G$O!"$[$H$s$I5/$3$j$=$&$K$"$j$^$;$s!#\e(B
+    \e$B$=$l$G$b$3$l$,5/$3$k2DG=@-$N$"$k$h$&$J%7%9%F%`$J$i!"\e(B
+    (\e$B%W%m%0%i%`%3!<%I$rJT=8$7$F\e(B) 
+    \e$B%+%&%s%?$r\e(B 32 \e$B%S%C%H$K$9$k$N$,NI$$$G$7$g$&!#\e(B
+    </p>
+
+    <p>\e$B%5%^!<%?%$%`$K$h$j;~7W$,!VLa$5$l$k!W$3$H$r5$$K$7$F$$$k?M$,\e(B
+    \e$B$$$k$+$b$7$l$^$;$s!#$3$3$G;HMQ$5$l$k;~4V$O\e(B UTC \e$B$G$"$j!"\e(B
+    \e$B$=$l$O!V>o$K!W?J$`$N$G$3$3$G$OLdBj$K$J$j$^$;$s!#\e(Bx86 \e$B>e$N\e(B Unix
+    \e$B$O$3$N>r7o$rK~$?$9$?$a$KE,@Z$J@_Dj$,I,MW$+$b$7$l$J$$$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#%^%6!<%\!<%I$N;~7W$O\e(B UTC \e$B$K$J$C$F$$$F!"\e(B
+    \e$BB>$N;~4V$O$=$3$+$iE,@Z$KJd@5$5$l$k$3$H$r2>Dj$G$-$k$h$&$K\e(B
+    \e$B@_Dj$5$l$J$1$l$P$J$j$^$;$s!#$=$N$h$&$J>l9g$G$5$(!"\e(BNTP
+    \e$B$r;H$C$F$$$k$J$i$P%j%V!<%H8e$K$9$0@5$7$$\e(B UTC \e$B$N;~4V$K$J$k$G$7$g$&!#\e(B</p>
+
+    <p><code>UNIQUE_ID</code> \e$B4D6-JQ?t$O\e(B 112 \e$B%S%C%H\e(B (32 \e$B%S%C%H\e(B IP
+    \e$B%"%I%l%9!"\e(B32 \e$B%S%C%H\e(B pid, 32 \e$B%S%C%H%?%$%`%9%?%s%W!"\e(B16
+    \e$B%S%C%H%+%&%s%?$N;M$D$NAH\e(B) \e$B$r%"%k%U%!%Y%C%H\e(B <code>[A-Za-z0-9@-]</code>
+    \e$B$rMQ$$$F\e(B MIME \e$B$N\e(B base64 \e$BId9f2=$HF1MM$NJ}K!$K$h$jId9f2=$7!"\e(B19
+    \e$B$NJ8;z$r@8@.$9$k$3$H$K$h$j:n@.$5$l$^$9!#\e(BMIME \e$B$N\e(B base64
+    \e$B$N%"%k%U%!%Y%C%H$O<B:]$O\e(B <code>[A-Za-z0-9+/]</code> \e$B$G$9$,!"\e(B
+    <code>+</code> \e$B$H\e(B <code>/</code> \e$B$H$O\e(B URL
+    \e$B$G$OFCJL$JId9f2=$,I,MW$J$N$G!"$"$^$jK>$^$7$/$"$j$^$;$s!#\e(B
+    \e$BA4$F$NCM$O%M%C%H%o!<%/%P%$%H%*!<%@$GId9f2=$5$l$^$9$N$G!"\e(B
+    \e$BId9f$O0c$C$?%P%$%H%*!<%@$N%"!<%-%F%/%A%c4V$GHf3S2DG=$G$9!#\e(B
+    \e$B<B:]$NId9f2=$N=gHV$O\e(B: \e$B%?%$%`%9%?%s%W!"\e(BIP \e$B%"%I%l%9!"\e(Bpid,
+    \e$B%+%&%s%?$G$9!#$3$N=g$K$OL\E*$,$"$j$^$9$,!"\e(B
+    \e$B%"%W%j%1!<%7%g%s$OId9f$r2r@O$9$k$Y$-$G$O$J$$$3$H$r6/D4$7$F$*$-$^$9!#\e(B
+    \e$B%"%W%j%1!<%7%g%s$OId9f2=$5$l$?\e(B <code>UNIQUE_ID</code>
+    \e$BA4BN$rF)2aE*$J%H!<%/%s$H$7$F07$&$Y$-$G$9!#\e(B
+    <code>UNIQUE_ID</code> \e$B$OB>$N\e(B <code>UNIQUE_ID</code>
+    \e$B$H$NEy2A@-$rD4$Y$k$?$a$@$1$K$N$_;HMQ$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$3$N=gHV$O>-Mh!"4{B8$N\e(B <code>UNIQUE_ID</code>
+    \e$B$N%G!<%?%Y!<%9$H$N>WFM$r?4G[$9$k$3$H$J$/Id9f$rJQ99$9$k$3$H$,\e(B
+    \e$B2DG=$K$J$k$h$&$KA*Br$7$F$$$^$9!#\e(B
+    \e$B?7$7$$Id9f$O%?%$%`%9%?%s%W$r:G=i$NMWAG$H$7$F;D$9$N$,K>$^$7$/!"\e(B
+    \e$B$=$l0J30$OF1$8%"%k%U%!%Y%C%H$H%S%C%HD9$r;H$&$3$H$,$G$-$^$9!#\e(B
+    \e$B%?%$%`%9%?%s%W$OK\<AE*$KA}2C7ONs$G$9$N$G!"\e(B
+    \e$B%/%i%9%?$NA4$F$N%^%7%s$,%j%/%(%9%H$H%5!<%P5!G=$rDd;_$7$F!"\e(B
+    \e$B8E$$Id9f2=J}<0$r;HMQ$9$k$N$r$d$a$k\e(B<em>\e$B%U%i%0IC\e(B</em>\e$B$,$"$l$P==J,$G$9!#\e(B
+    \e$B$=$N8e$O!"%j%/%(%9%H$r:F3+$7!"\e(B
+    \e$B?7$7$$Id9f$rH/9T$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B</p>
+
+    <p>\e$B2f!9$O$3$l$,!"\e(B
+    \e$B$3$NLdBj$K$*$1$kHf3SE*0\?"@-$N9b$$2r7hK!$@$H9M$($F$$$^$9!#\e(B
+    Windows NT \e$B$N$h$&$K!"%9%l%C%I\e(Bid \e$B$r\e(B ID \e$B$KDI2C$7$F!"\e(B24 \e$BJ8;z$N\e(B
+    UNIQUE_ID \e$B$N\e(B 4 \e$BG\$K$"$?$k\e(B 144-bit (32 \e$B%S%C%H$N\e(B tid \e$B$r4^$`\e(B) \e$B$N\e(B ID
+    \e$B$r:n$j=P$9$h$&$J%^%k%A%9%l%C%I%7%9%F%`MQ$K3HD%$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B>-Mh$N\e(B ID \e$B$OI,MW$K1~$8$FD9$/$9$k$3$H$,$G$-$^$9$N$G!"@8@.$5$l$?\e(B ID
+    \e$B$O<B<A>e!"L58B$KM-8z$G$9!#$^$?!"%/%i%9%?$N%^%7%s4V$NDL?.$b;v<B>eI,MW$J$/\e(B
+    (NTP \e$B$K$h$kF14|$N$_$,I,MW$G!"$3$l$O%*!<%P%X%C%I$O$"$^$j$"$j$^$;$s\e(B)\e$B!"\e(Bhttpd
+    \e$B%W%m%;%94V$NDL?.$bI,MW$"$j$^$;$s\e(B (\e$BDL?.$O%+!<%M%k$K$h$j3d$jEv$F$i$l$?\e(B
+    pid \e$B$NCM$K$h$j0EL[$NFb$K9T$J$o$F$$$^$9\e(B)\e$B!#\e(B
+    \e$B$5$i$K8B$i$l$?>u672<$G$O!"\e(BID \e$B$O$5$i$KC;$/$9$k$3$H$,$G$-$^$9$,!"\e(B
+    \e$B$h$jB?$/$N>pJs$r2>Dj$9$kI,MW$,$G$F$-$^$9\e(B (\e$BNc$($P!"\e(B32 \e$B%S%C%H\e(B
+    IP \e$B%"%I%l%9$O$I$N%5%$%H$K$*$$$F$b2a>j$J>pJs$G$9$,!"\e(B
+    \e$B$=$l$NBe$o$j$K$J$k0\?"@-$N$"$k$b$N$O$"$j$^$;$s\e(B)\e$B!#\e(B
+    \e$B$3$N%b%8%e!<%k$O!"\e(BIPv6 \e$B%"%I%l%9A4BN$r4^$`$h$&$K$b3HD%$G$-$^$9$,!"\e(B
+    \e$B$[$H$s$I$9$Y$F$N%5!<%P!<$K$H$C$F$O2a>j$J>pJs$G$9!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_userdir.html.en b/htdocs/manual/mod/mod_userdir.html.en
new file mode 100644 (file)
index 0000000..73f286b
--- /dev/null
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_userdir</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_userdir</h1>
+
+    <p>This module provides for user-specific directories.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_userdir.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    userdir_module</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#userdir">UserDir</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="userdir" name="userdir">UserDir</a> directive</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> UserDir
+    <em>directory-filename</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>UserDir
+    public_html</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_userdir<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> All forms except
+    the <code>UserDir public_html</code> form are only available in
+    Apache 1.1 or above. Use of the <samp>enabled</samp> keyword,
+    or <samp>disabled</samp> with a list of usernames, is only
+    available in Apache 1.3 and above. 
+
+    <p>The UserDir directive sets the real directory in a user's
+    home directory to use when a request for a document for a user
+    is received. <em>Directory-filename</em> is one of the
+    following:</p>
+
+    <ul>
+      <li>The name of a directory or a pattern such as those shown
+      below.</li>
+
+      <li>The keyword <samp>disabled</samp>. This turns off
+      <em>all</em> username-to-directory translations except those
+      explicitly named with the <samp>enabled</samp> keyword (see
+      below).</li>
+
+      <li>The keyword <samp>disabled</samp> followed by a
+      space-delimited list of usernames. Usernames that appear in
+      such a list will <em>never</em> have directory translation
+      performed, even if they appear in an <samp>enabled</samp>
+      clause.</li>
+
+      <li>The keyword <samp>enabled</samp> followed by a
+      space-delimited list of usernames. These usernames will have
+      directory translation performed even if a global disable is
+      in effect, but not if they also appear in a
+      <samp>disabled</samp> clause.</li>
+    </ul>
+
+    <p>If neither the <samp>enabled</samp> nor the
+    <samp>disabled</samp> keywords appear in the
+    <samp>Userdir</samp> directive, the argument is treated as a
+    filename pattern, and is used to turn the name into a directory
+    specification. A request for
+    <code>http://www.foo.com/~bob/one/two.html</code> will be
+    translated to:</p>
+<pre>
+UserDir public_html     -&gt; ~bob/public_html/one/two.html
+UserDir /usr/web        -&gt; /usr/web/bob/one/two.html
+UserDir /home/*/www     -&gt; /home/bob/www/one/two.html
+</pre>
+
+    <p>The following directives will send redirects to the
+    client:</p>
+<pre>
+UserDir http://www.foo.com/users -&gt; http://www.foo.com/users/bob/one/two.html
+UserDir http://www.foo.com/*/usr -&gt; http://www.foo.com/bob/usr/one/two.html
+UserDir http://www.foo.com/~*/   -&gt; http://www.foo.com/~bob/one/two.html
+</pre>
+
+    <blockquote>
+      <strong>Be careful when using this directive; for instance,
+      <samp>"UserDir&nbsp;./"</samp> would map
+      <samp>"/~root"</samp> to <samp>"/"</samp> - which is probably
+      undesirable. If you are running Apache 1.3 or above, it is
+      strongly recommended that your configuration include a
+      "<samp>UserDir&nbsp;disabled&nbsp;root</samp>" declaration.
+      See also the <a
+      href="core.html#directory">&lt;Directory&gt;</a> directive
+      and the <a href="../misc/security_tips.html">Security
+      Tips</a> page for more information.</strong>
+    </blockquote>
+
+<p>Additional examples:</p>
+
+<p>To allow a few users to have <code>UserDir</code> directories, but
+not anyone else, use the following:</p>
+
+<pre>
+UserDir disabled
+UserDir enabled user1 user2 user3
+</pre>
+
+<p>To allow most users to have <code>UserDir</code> directories, but
+deny this to a few, use the following:</p>
+
+<pre>
+UserDir enabled
+UserDir disabled user4 user5 user6
+</pre>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_userdir.html.html b/htdocs/manual/mod/mod_userdir.html.html
new file mode 100644 (file)
index 0000000..9f07c49
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="mod_userdir.html.en" -->
+
diff --git a/htdocs/manual/mod/mod_userdir.html.ja.jis b/htdocs/manual/mod/mod_userdir.html.ja.jis
new file mode 100644 (file)
index 0000000..80db901
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache module mod_userdir</title>
+  </head>
+  <!-- English revision: 1.20 --> 
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">mod_userdir \e$B%b%8%e!<%k\e(B</h1>
+
+    <p>\e$B$3$N%b%8%e!<%k$O!"%f!<%6$N%[!<%`%G%#%l%/%H%j$K%"%/%;%9$9$k5!G=$rDs6!$7$^$9\e(B</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a> Base<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+    mod_userdir.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+    userdir_module</p>
+
+    <h2>\e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a href="#userdir">UserDir</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="userdir" name="userdir">UserDir</a> \e$B%G%#%l%/%F%#%V\e(B</h2>
+
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> UserDir
+    <em>directory-filename</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <code>UserDir
+    public_html</code><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> \e$B%5!<%P@_Dj%U%!%$%k!"\e(B \e$B%P!<%A%c%k%[%9%H\e(B<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Base<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_userdir<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> <code>UserDir public_html</code>
+    \e$B$H$$$C$?7A<00J30$O!"\e(BApache 1.1 \e$B0J9_$G$N$_M-8z$G$9!#\e(B
+    <samp>enabled</samp> \e$B$d\e(B <samp>disabled</samp> \e$B$H$$$&%-!<%o!<%I$N5-=R5Z$S!"\e(B
+    \e$B%f!<%6L>$NNs5s$K4X$7$F$O!"\e(BApache 1.3 \e$B0J9_$G$N$_BP1~$7$F$$$^$9!#\e(B
+
+    <p>UserDir \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%f!<%6$N%I%-%e%a%s%H$KBP$9$kMW5a$,$"$C$?:]$K;HMQ$9$k!"\e(B
+    \e$B%f!<%6$N%[!<%`%G%#%l%/%H%j$NCf$N<B:]$N%G%#%l%/%H%j$NL>A0$r;XDj$7$^$9!#\e(B
+    <em>directory-filename</em> \e$B$K$O!"0J2<$N$I$l$+$r;XDj$7$^$9!#\e(B</p>
+
+    <ul>
+      <li>\e$B%G%#%l%/%H%jL>$+!"0J2<$K=R$Y$k7A<0$N%Q%?!<%s!#\e(B</li>
+
+      <li><samp>disabled</samp> \e$B$H$$$&%-!<%o!<%I!#\e(B<br />
+      \e$B$3$N@_Dj$O!"\e(B<samp>enabled</samp> \e$B%-!<%o!<%I\e(B (\e$B0J2<;2>H\e(B)
+      \e$B$K$*$$$F;XDj$5$l$?%f!<%60J30!"\e(B
+      <em>\e$B$9$Y$F\e(B</em>\e$B$N%f!<%6L>$r%G%#%l%/%H%j$KJQ49$7$J$$$h$&$K$7$^$9!#\e(B</li>
+
+      <li><samp>disabled</samp> \e$B$H$$$&%-!<%o!<%I$H!"\e(B
+      \e$B$=$N8e$K%9%Z!<%96h@Z$j$G%f!<%6L>$rNs5s!#\e(B<br />
+      \e$B;XDj$5$l$?%f!<%6$O!"\e(B<samp>enabled</samp>
+      \e$B$K$*$$$F5-=R$,$5$l$F$$$?$H$7$F$b!"\e(B
+      \e$B%G%#%l%/%H%j$X$NJQ49$,\e(B<em>\e$B$5$l$J$/\e(B</em>\e$B$J$j$^$9!#\e(B</li>
+
+      <li><samp>enabled</samp>
+      \e$B$H$$$&%-!<%o!<%I$H!"%9%Z!<%96h@Z$j$G%f!<%6L>$rNs5s\e(B<br />
+      \e$B;XDj$5$l$?%f!<%6$O!"JQ49$,$5$l$J$$$h$&$K@_Dj$5$l$F$$$?$H$7$F$b!"\e(B
+      \e$B%G%#%l%/%H%j$X$NJQ49$r9T$$$^$9!#\e(B
+      \e$B$?$@$7!"\e(B<samp>disabled</samp>
+      \e$B$K$*$$$FL@5-$5$l$F$$$k>l9g$K$O!"JQ49$,$J$5$l$^$;$s!#\e(B</li>
+    </ul>
+
+    <p><samp>enabled</samp> \e$B$d\e(B <samp>disabled</samp>
+    \e$B$H$$$C$?%-!<%o!<%I$G$J$$>l9g$K$O!"\e(B
+    \e$B%U%!%$%kL>$N%Q%?!<%s$H$7$F07$o$l!"\e(B
+    \e$BL>A0$+$i%G%#%l%/%H%j$X$NJQ49$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    <code>http://www.foo.com/~bob/one/two.html</code> \e$B$X$N\e(B URL
+    \e$B$N>l9g$NJQ49$K$D$$$F8+$F$_$^$9!#\e(B</p>
+
+<pre>
+UserDir public_html     -&gt; ~bob/public_html/one/two.html
+UserDir /usr/web        -&gt; /usr/web/bob/one/two.html
+UserDir /home/*/www     -&gt; /home/bob/www/one/two.html
+</pre>
+
+    <p>\e$B0J2<$N$h$&$K%G%#%l%/%F%#%V$r@_Dj$9$k$H!"\e(B
+    \e$B%/%i%$%"%s%H$X$O%j%@%$%l%/%H$,Aw=P$5$l$^$9!#\e(B</p>
+<pre>
+UserDir http://www.foo.com/users -&gt; http://www.foo.com/users/bob/one/two.html
+UserDir http://www.foo.com/*/usr -&gt; http://www.foo.com/bob/usr/one/two.html
+UserDir http://www.foo.com/~*/   -&gt; http://www.foo.com/~bob/one/two.html
+</pre>
+
+    <blockquote>
+      <strong>
+      \e$B$3$N%G%#%l%/%F%#%V$rMxMQ$9$k:]!"\e(B<samp>"UserDir&nbsp;./"</samp>
+      \e$B$H$$$C$?@_Dj$r$9$k$H!"\e(B<samp>"/~root"</samp> \e$B$O\e(B <samp>"/"</samp>
+      \e$B$K%^%C%T%s%0$5$l$k$3$H$K5$$r$D$1$F$/$@$5$$!#\e(B
+      \e$B$3$l$OHs>o$KK>$^$7$/$"$j$^$;$s!#\e(B
+      Apache 1.3 \e$B0J9_$rMxMQ$7$F$$$k$N$G$"$l$P!"\e(B"UserDir disabled root"
+      \e$B$H$$$&5-=R$r@_Dj%U%!%$%kCf$K4^$a$k$3$H$r6/$/?d>)$7$^$9!#\e(B
+      <a
+      href="core.html#directory">&lt;Directory&gt;</a> \e$B%G%#%l%/%F%#%V$d!"\e(B
+      <a href="../misc/security_tips.html">\e$B%;%-%e%j%F%#$K4X$9$k3P=q\e(B</a>
+      \e$B$b;2>H$7$F$/$@$5$$!#\e(B</strong>
+    </blockquote>
+
+<p>\e$B$=$NB>$N@_DjNc\e(B:</p>
+
+<p>\e$B>.?t$N%f!<%6$K$O\e(B <code>UserDir</code>
+\e$B%G%#%l%/%H%j$rMxMQ$5$;$k$b$N$N!";D$j$N%f!<%6$K$O$5$;$?$/$J$$>l9g\e(B:</p>
+
+<pre>
+UserDir disabled
+UserDir enabled user1 user2 user3
+</pre>
+
+<p>\e$BBgItJ,$N%f!<%6$K$O\e(B <code>UserDir</code>
+\e$B%G%#%l%/%H%j$rMxMQ$5$;!"0lIt$N%f!<%6$N$_L58z$K$9$k>l9g\e(B:</p>
+
+<pre>
+UserDir enabled
+UserDir disabled user4 user5 user6
+</pre>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mod/mod_usertrack.html b/htdocs/manual/mod/mod_usertrack.html
new file mode 100644 (file)
index 0000000..9283f53
--- /dev/null
@@ -0,0 +1,296 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_usertrack</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_usertrack</h1>
+
+    <p>This module uses cookies to provide for a
+    <em>clickstream</em> log of user activity on a site.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_usertrack.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    usertrack_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Known as
+    mod_cookies prior to Apache 1.3.</p>
+
+    <h2>Summary</h2>
+
+    <p>Previous releases of Apache have included a module which
+    generates a 'clickstream' log of user activity on a site using
+    cookies. This was called the "cookies" module, mod_cookies. In
+    Apache 1.2 and later this module has been renamed the "user
+    tracking" module, mod_usertrack. This module has been
+    simplified and new directives added.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a href="#cookiedomain">CookieDomain</a></li>
+
+      <li><a href="#cookieexpires">CookieExpires</a></li>
+
+      <li><a href="#cookieformat">CookieFormat</a></li>
+
+      <li><a href="#cookiename">CookieName</a></li>
+
+      <li><a href="#cookieprefix">CookiePrefix</a></li>
+
+      <li><a href="#cookiestyle">CookieStyle</a></li>
+
+      <li><a href="#cookietracking">CookieTracking</a></li>
+    </ul>
+
+    <h2>Logging</h2>
+
+    <p>Previously, the cookies module (now the user tracking
+    module) did its own logging, using the <tt>CookieLog</tt>
+    directive. In this release, this module does no logging at all.
+    Instead, a configurable log format file should be used to log
+    user click-streams. This is possible because the logging module
+    now allows <a href="../multilogs.html">multiple log files</a>.
+    The cookie itself is logged by using the text
+    <tt>%{cookie}n</tt> in the log file format. For example:</p>
+<pre>
+CustomLog logs/clickstream "%{cookie}n %r %t"
+</pre>
+    For backward compatibility the configurable log module
+    implements the old <tt>CookieLog</tt> directive, but this
+    should be upgraded to the above <tt>CustomLog</tt> directive. 
+
+    <h2>2-digit or 4-digit dates for cookies?</h2>
+    (the following is from message
+    &lt;022701bda43d$9d32bbb0$1201a8c0@christian.office.sane.com&gt;
+    in the new-httpd archives) 
+<pre>
+From: "Christian Allen" &lt;christian@sane.com&gt;
+Subject: Re: Apache Y2K bug in mod_usertrack.c
+Date: Tue, 30 Jun 1998 11:41:56 -0400
+
+Did some work with cookies and dug up some info that might be useful.
+
+True, Netscape claims that the correct format NOW is four digit dates, and
+four digit dates do in fact work... for Netscape 4.x (Communicator), that
+is.  However, 3.x and below do NOT accept them.  It seems that Netscape
+originally had a 2-digit standard, and then with all of the Y2K hype and
+probably a few complaints, changed to a four digit date for Communicator.
+Fortunately, 4.x also understands the 2-digit format, and so the best way to
+ensure that your expiration date is legible to the client's browser is to
+use 2-digit dates.
+
+However, this does not limit expiration dates to the year 2000; if you use
+an expiration year of "13", for example, it is interpreted as 2013, NOT
+1913!  In fact, you can use an expiration year of up to "37", and it will be
+understood as "2037" by both MSIE and Netscape versions 3.x and up (not sure
+about versions previous to those).  Not sure why Netscape used that
+particular year as its cut-off point, but my guess is that it was in respect
+to UNIX's 2038 problem.  Netscape/MSIE 4.x seem to be able to understand
+2-digit years beyond that, at least until "50" for sure (I think they
+understand up until about "70", but not for sure).
+
+Summary:  Mozilla 3.x and up understands two digit dates up until "37"
+(2037).  Mozilla 4.x understands up until at least "50" (2050) in 2-digit
+form, but also understands 4-digit years, which can probably reach up until
+9999.  Your best bet for sending a long-life cookie is to send it for some
+time late in the year "37".
+</pre>
+    <hr />
+
+    <h2><a id="cookiedomain" name="cookiedomain">CookieDomain</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><b>Syntax:</b></a> CookieDomain <i>domain</i><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><b>Context:</b></a> server config, virtual host,
+    directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><b>Status:</b></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><b>Module:</b></a> mod_usertrack <a
+    href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.21
+    and later 
+
+    <p>This directive controls the setting of the domain to which
+    the tracking cookie applies. If not present, no domain is
+    included in the cookie header field.</p>
+
+    <p>The domain string <b>must</b> begin with a dot, and
+    <b>must</b> include at least one embedded dot. That is,
+    ".foo.com" is legal, but "foo.bar.com" and ".com" are not.</p>
+    <hr />
+
+    <h2><a id="cookieexpires"
+    name="cookieexpires">CookieExpires</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookieExpires
+    <em>expiry-period</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> <b>1.3.20 and
+    earlier:</b> server config, virtual host; <b>1.3.21 and
+    later:</b> server config, virtual host, directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_usertrack 
+
+    <p>When used, this directive sets an expiry time on the cookie
+    generated by the usertrack module. The <em>expiry-period</em>
+    can be given either as a number of seconds, or in the format
+    such as "2 weeks 3 days 7 hours". Valid denominations are:
+    years, months, weeks, hours, minutes and seconds. If the expiry
+    time is in any format other than one number indicating the
+    number of seconds, it must be enclosed by double quotes.</p>
+
+    <p>If this directive is not used, cookies last only for the
+    current browser session.</p>
+    <hr />
+
+    <h2><a id="cookieformat"
+    name="cookieformat">CookieFormat</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookieFormat
+    <em>Normal | Compact</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual host, directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_usertrack <a
+    href="directive-dict.html#Compatibility" 
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.28
+    and later 
+
+    <p>When used, this directive determines whether the cookie
+    used for user tracking is created using the default ("normal")
+    format (eg: decimal values for items like the PID) or
+    using a more compact format (eg: hexidecimal values).</p>
+
+    <hr />
+
+    <h2><a id="cookiename" name="cookiename">CookieName</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookieName
+    <em>token</em> <br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> <em>Apache</em> <br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_usertrack <br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.7 and
+    later 
+
+    <p>This directive allows you to change the name of the cookie
+    this module uses for its tracking purposes. By default the
+    cookie is named "<code>Apache</code>".</p>
+
+    <p>You must specify a valid cookie name; results are
+    unpredictable if you use a name containing unusual characters.
+    Valid characters include A-Z, a-z, 0-9, "_", and "-".</p>
+    <hr />
+
+    <h2><a id="cookieprefix"
+    name="cookieprefix">CookiePrefix</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookiePrefix
+    <em>"string"</em><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual host, directory,
+    .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_usertrack <a
+    href="directive-dict.html#Compatibility" 
+    rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.28
+    and later 
+
+    <p>When used, this directive allows for the <em>"string"</em>
+    to be prepended to the user tracking cookie. Care must be
+    taken not to prepend a string that would result in a bogus
+    cookie.</p>
+
+    <hr />
+
+    <h2><a id="cookiestyle" name="cookiestyle">CookieStyle</a>
+    directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><b>Syntax:</b></a> CookieStyle
+    <i>Netscape|Cookie|Cookie2|RFC2109|RFC2965</i><br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><b>Context:</b></a> server config, virtual host,
+    directory, .htaccess<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><b>Status:</b></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><b>Module:</b></a> mod_usertrack 
+
+    <p>This directive controls the format of the cookie header
+    field. The three formats allowed are:</p>
+
+    <ul>
+      <li><b>Netscape</b>, which is the original but now deprecated
+      syntax. This is the default, and the syntax Apache has
+      historically used.</li>
+
+      <li><b>Cookie</b> or <b>RFC2109</b>, which is the syntax that
+      superseded the Netscape syntax.</li>
+
+      <li><b>Cookie2</b> or <b>RFC2965</b>, which is the most
+      current cookie syntax.</li>
+    </ul>
+
+    <p>Not all clients can understand all of these formats. but you
+    should use the newest one that is generally acceptable to your
+    users' browsers.</p>
+    <hr />
+
+    <h2><a id="cookietracking"
+    name="cookietracking">CookieTracking</a> directive</h2>
+    <a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CookieTracking
+    on|off<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host, directory, .htaccess<br />
+     <a href="directive-dict.html#Override"
+    rel="Help"><strong>Override:</strong></a> FileInfo<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> optional<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_usertrack 
+
+    <p>When the user track module is compiled in, and
+    "CookieTracking on" is set, Apache will start sending a
+    user-tracking cookie for all new requests. This directive can
+    be used to turn this behavior on or off on a per-server or
+    per-directory basis. By default, compiling mod_usertrack will
+    not activate cookies. <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/mod_vhost_alias.html b/htdocs/manual/mod/mod_vhost_alias.html
new file mode 100644 (file)
index 0000000..94559e6
--- /dev/null
@@ -0,0 +1,325 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache module mod_vhost_alias</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Module mod_vhost_alias</h1>
+
+    <p>This module provides support for <a
+    href="../vhosts/mass.html">dynamically configured mass virtual
+    hosting</a>.</p>
+
+    <p><a href="module-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="module-dict.html#SourceFile"
+    rel="Help"><strong>Source File:</strong></a>
+    mod_vhost_alias.c<br />
+     <a href="module-dict.html#ModuleIdentifier"
+    rel="Help"><strong>Module Identifier:</strong></a>
+    vhost_alias_module<br />
+     <a href="module-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a> Available in
+    Apache 1.3.7 and later.</p>
+
+    <h2>Summary</h2>
+
+    <p>This module creates dynamically configured virtual hosts, by
+    allowing the IP address and/or the <code>Host:</code> header of
+    the HTTP request to be used as part of the pathname to
+    determine what files to serve. This allows for easy use of a
+    huge number of virtual hosts with similar configurations.</p>
+
+    <h2>Directives</h2>
+
+    <ul>
+      <li><a
+      href="#virtualdocumentroot">VirtualDocumentRoot</a></li>
+
+      <li><a
+      href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+
+      <li><a href="#virtualscriptalias">VirtualScriptAlias</a></li>
+
+      <li><a
+      href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+    </ul>
+
+    <p>See also: <a
+    href="core.html#usecanonicalname">UseCanonicalName</a>.</p>
+
+    <h2>Directory Name Interpolation</h2>
+
+    <p>All the directives in this module interpolate a string into
+    a pathname. The interpolated string (henceforth called the
+    "name") may be either the server name (see the <a
+    href="core.html#usecanonicalname"><code>UseCanonicalName</code></a>
+    directive for details on how this is determined) or the IP
+    address of the virtual host on the server in dotted-quad
+    format. The interpolation is controlled by specifiers inspired
+    by <code>printf</code> which have a number of formats:</p>
+
+    <dl>
+      <dt><code>%%</code></dt>
+
+      <dd>insert a <code>%</code></dd>
+
+      <dt><code>%p</code></dt>
+
+      <dd>insert the port number of the virtual host</dd>
+
+      <dt><code>%N.M</code></dt>
+
+      <dd>insert (part of) the name</dd>
+    </dl>
+
+    <p><code>N</code> and <code>M</code> are used to specify
+    substrings of the name. <code>N</code> selects from the
+    dot-separated components of the name, and <code>M</code>
+    selects characters within whatever <code>N</code> has selected.
+    <code>M</code> is optional and defaults to zero if it isn't
+    present; the dot must be present if and only if <code>M</code>
+    is present. The interpretation is as follows:</p>
+
+    <dl>
+      <dt><code>0</code></dt>
+
+      <dd>the whole name</dd>
+
+      <dt><code>1</code></dt>
+
+      <dd>the first part</dd>
+
+      <dt><code>2</code></dt>
+
+      <dd>the second part</dd>
+
+      <dt><code>-1</code></dt>
+
+      <dd>the last part</dd>
+
+      <dt><code>-2</code></dt>
+
+      <dd>the penultimate part</dd>
+
+      <dt><code>2+</code></dt>
+
+      <dd>the second and all subsequent parts</dd>
+
+      <dt><code>-2+</code></dt>
+
+      <dd>the penultimate and all preceding parts</dd>
+
+      <dt><code>1+</code> and <code>-1+</code></dt>
+
+      <dd>the same as <code>0</code></dd>
+    </dl>
+
+    <p>If <code>N</code> or <code>M</code> is greater than the
+    number of parts available a single underscore is
+    interpolated.</p>
+
+    <h3>Examples</h3>
+
+    <p>For simple name-based virtual hosts you might use the
+    following directives in your server configuration file:</p>
+<pre>
+    UseCanonicalName    Off
+    VirtualDocumentRoot /usr/local/apache/vhosts/%0
+</pre>
+
+    <p>A request for
+    <code>http://www.example.com/directory/file.html</code> will be
+    satisfied by the file
+    <code>/usr/local/apache/vhosts/www.example.com/directory/file.html</code>.</p>
+
+    <p>For a very large number of virtual hosts it is a good idea
+    to arrange the files to reduce the size of the
+    <code>vhosts</code> directory. To do this you might use the
+    following in your configuration file:</p>
+<pre>
+    UseCanonicalName    Off
+    VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
+</pre>
+    A request for
+    <code>http://www.example.isp.com/directory/file.html</code>
+    will be satisfied by the file
+    <code>/usr/local/apache/vhosts/isp.com/e/x/a/example/directory/file.html</code>.
+    A more even spread of files can be achieved by hashing from the
+    end of the name, for example: 
+<pre>
+    VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
+</pre>
+    The example request would come from
+    <code>/usr/local/apache/vhosts/isp.com/e/l/p/example/directory/file.html</code>.
+    Alternatively you might use: 
+<pre>
+    VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
+</pre>
+
+    <p>The example request would come from
+    <code>/usr/local/apache/vhosts/isp.com/e/x/a/mple/directory/file.html</code>.</p>
+
+    <p>For IP-based virtual hosting you might use the following in
+    your configuration file:</p>
+<pre>
+    UseCanonicalName DNS
+    VirtualDocumentRootIP   /usr/local/apache/vhosts/%1/%2/%3/%4/docs
+    VirtualScriptAliasIP    /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
+</pre>
+
+    <p>A request for
+    <code>http://www.example.isp.com/directory/file.html</code>
+    would be satisfied by the file
+    <code>/usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html</code>
+    if the IP address of <code>www.example.com</code> were
+    10.20.30.40. A request for
+    <code>http://www.example.isp.com/cgi-bin/script.pl</code> would
+    be satisfied by executing the program
+    <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p>
+
+    <p>If you want to include the <code>.</code> character in a
+    <code>VirtualDocumentRoot</code> directive, but it clashes with
+    a <code>%</code> directive, you can work around the problem in
+    the following way:</p>
+<pre>
+    VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0
+</pre>
+
+    <p>A request for
+    <code>http://www.example.isp.com/directory/file.html</code>
+    will be satisfied by the file
+    <code>/usr/local/apache/vhosts/example.isp/directory/file.html</code>.</p>
+
+    <p>The <a href="mod_log_config.html#formats">LogFormat
+    directives</a> <code>%V</code> and <code>%A</code> are useful
+    in conjunction with this module.</p>
+    <hr />
+
+    <h2><a id="virtualdocumentroot"
+    name="virtualdocumentroot">VirtualDocumentRoot
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> VirtualDocumentRoot
+    <em>interpolated-directory</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_vhost_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    VirtualDocumentRoot is only available in 1.3.7 and later.</p>
+
+    <p>The <code>VirtualDocumentRoot</code> directive allows you to
+    determine where Apache will find your documents based on the
+    value of the server name. The result of expanding
+    <em>interpolated-directory</em> is used as the root of the
+    document tree in a similar manner to the <a
+    href="core.html#documentroot"><code>DocumentRoot</code></a>
+    directive's argument. If <em>interpolated-directory</em> is
+    <code>none</code> then <code>VirtualDocumentRoot</code> is
+    turned off. This directive cannot be used in the same context
+    as <a
+    href="#virtualdocumentrootip"><code>VirtualDocumentRootIP</code></a>.</p>
+    <hr />
+
+    <h2><a id="virtualdocumentrootip"
+    name="virtualdocumentrootip">VirtualDocumentRootIP
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> VirtualDocumentRootIP
+    <em>interpolated-directory</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_vhost_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    VirtualDocumentRootIP is only available in 1.3.7 and later.</p>
+
+    <p>The <code>VirtualDocumentRootIP</code> directive is like the
+    <a
+    href="#virtualdocumentroot"><code>VirtualDocumentRoot</code></a>
+    directive, except that it uses the IP address of the server end
+    of the connection instead of the server name.</p>
+    <hr />
+
+    <h2><a id="virtualscriptalias"
+    name="virtualscriptalias">VirtualScriptAlias directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> VirtualScriptAlias
+    <em>interpolated-directory</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_vhost_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    VirtualScriptAlias is only available in 1.3.7 and later.</p>
+
+    <p>The <code>VirtualScriptAlias</code> directive allows you to
+    determine where Apache will find CGI scripts in a similar
+    manner to <a
+    href="#virtualdocumentroot"><code>VirtualDocumentRoot</code></a>
+    does for other documents. It matches requests for URIs starting
+    <code>/cgi-bin/</code>, much like <code><a
+    href="mod_alias.html#scriptalias">ScriptAlias</a>
+    /cgi-bin/</code> would.</p>
+    <hr />
+
+    <h2><a id="virtualscriptaliasip"
+    name="virtualscriptaliasip">VirtualScriptAliasIP
+    directive</a></h2>
+
+    <p><a href="directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> VirtualScriptAliasIP
+    <em>interpolated-directory</em><br />
+     <a href="directive-dict.html#Default"
+    rel="Help"><strong>Default:</strong></a> None<br />
+     <a href="directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> Extension<br />
+     <a href="directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_vhost_alias<br />
+     <a href="directive-dict.html#Compatibility"
+    rel="Help"><strong>Compatibility:</strong></a>
+    VirtualScriptAliasIP is only available in 1.3.7 and later.</p>
+
+    <p>The <code>VirtualScriptAliasIP</code> directive is like the
+    <a
+    href="#virtualscriptalias"><code>VirtualScriptAlias</code></a>
+    directive, except that it uses the IP address of the server end
+    of the connection instead of the server name.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/module-dict.html.en b/htdocs/manual/mod/module-dict.html.en
new file mode 100644 (file)
index 0000000..151105d
--- /dev/null
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Definitions of terms used to describe Apache
+    modules</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Terms Used to Describe Apache Modules</h1>
+
+    <p>Each Apache module is described using a common format that
+    looks like this:</p>
+
+    <dl>
+      <dd><a href="#Status" rel="Help"><strong>Status:</strong></a>
+      <em>status</em><br />
+       <a href="#SourceFile" rel="Help"><strong>Source
+      File:</strong></a> <em>source-file</em><br />
+       <a href="#ModuleIdentifier" rel="Help"><strong>Module
+      Identifier:</strong></a> <em>module-identifier</em><br />
+       <a href="#Compatibility"
+      rel="Help"><strong>Compatibility:</strong></a>
+      <em>compatibility notes</em></dd>
+    </dl>
+
+    <p>Each of the attributes, complete with values where possible,
+    are described in this document.</p>
+
+    <h2>Module Terms</h2>
+
+    <ul>
+      <li><a href="#Status">Status</a></li>
+
+      <li><a href="#SourceFile">Source File</a></li>
+
+      <li><a href="#ModuleIdentifier">Module Identifier</a></li>
+
+      <li><a href="#Compatibility">Compatibility</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="Status" name="Status">Status</a></h2>
+
+    <p>This indicates how tightly bound into the Apache Web server
+    the module is; in other words, you may need to recompile the
+    server in order to gain access to the module and its
+    functionality. Possible values for this attribute are:</p>
+
+    <dl>
+      <dt><strong>Base</strong></dt>
+
+      <dd>A module labeled as having "Base" status is compiled and
+      loaded into the server by default, and is therefore normally
+      available unless you have taken steps to remove the module
+      from your configuration.</dd>
+
+      <dt><strong>Extension</strong></dt>
+
+      <dd>A module with "Extension" status is not normally compiled
+      and loaded into the server. To enable the module and its
+      functionality, you may need to change the server build
+      configuration files and re-compile Apache.</dd>
+
+      <dt><strong>Experimental</strong></dt>
+
+      <dd>"Experimental" status indicates that the module is
+      available as part of the Apache kit, but you are on your own
+      if you try to use it. The module is being documented for
+      completeness, and is not necessarily supported.</dd>
+
+      <dt><strong>External</strong></dt>
+
+      <dd>Modules which are not included with the base Apache
+      distribution ("third-party modules") may use the "External"
+      status. We are not responsible, nor do we support such
+      modules.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="SourceFile" name="SourceFile">Source File</a></h2>
+
+    <p>This quite simply lists the name of the source file which
+    contains the code for the module. This is also the name used by
+    the <a
+    href="core.html#ifmodule"><code>&lt;IfModule&gt;</code></a>
+    directive.</p>
+    <hr />
+
+    <h2><a id="ModuleIdentifier" name="ModuleIdentifier">Module
+    Identifier</a></h2>
+
+    <p>This is a string which identifies the module for use in the
+    <a href="mod_so.html#loadmodule">LoadModule</a> directive when
+    dynamically loading modules. In particular, it is the name of
+    the external variable of type module in the source file.</p>
+    <hr />
+
+    <h2><a id="Compatibility"
+    name="Compatibility">Compatibility</a></h2>
+
+    <p>If the module was not part of the original Apache version 1
+    distribution, the version in which it was introduced should be
+    listed here.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/mod/module-dict.html.html b/htdocs/manual/mod/module-dict.html.html
new file mode 100644 (file)
index 0000000..7a1ff89
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="module-dict.html.en" -->
+
diff --git a/htdocs/manual/mod/module-dict.html.ja.jis b/htdocs/manual/mod/module-dict.html.ja.jis
new file mode 100644 (file)
index 0000000..2ba6fd6
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B%b%8%e!<%k$N2r@b$G;HMQ$9$kMQ8l\e(B</title>
+
+  </head>
+  <!-- English revision: 1.2 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%b%8%e!<%k$N2r@b$G;HMQ$9$kMQ8l\e(B</h1>
+
+    <p>Apache \e$B%b%8%e!<%k$K$D$$$F$N2r@b$O!"\e(B
+    \e$B$$$:$l$b0J2<$N6&DL$N=q<0$G5-=R$5$l$F$$$^$9\e(B:</p>
+
+    <dl>
+      <dd><a href="#status" rel="help"><strong>\e$B%9%F!<%?%9\e(B:</strong></a>
+      <em>status</em><br />
+       <a href="#sourcefile" rel="help"><strong>\e$B%=!<%9%U%!%$%k\e(B:</strong></a>
+      <em>source-file</em><br />
+       <a href="#moduleidentifier"
+      rel="help"><strong>\e$B%b%8%e!<%k<1JL;R\e(B:</strong></a>
+      <em>module-identifier</em><br />
+       <a href="#Compatibility"
+      rel="help"><strong>\e$B8_49@-\e(B:</strong></a>
+      <em>compatibility notes</em></dd>
+    </dl>
+    <p>\e$B$3$N%I%-%e%a%s%H$G$O$=$l$>$l$NB0@-$r@bL@$7$F$$$^$9!#\e(B
+    \e$B<h$jF@$k$9$Y$F$NCM$b5-=R$7$F$$$^$9!#\e(B</p>
+
+    <h2>\e$B%b%8%e!<%k$NMQ8l\e(B</h2>
+
+    <ul>
+      <li><a href="#status">\e$B%9%F!<%?%9\e(B</a></li>
+
+      <li><a href="#sourcefile">\e$B%=!<%9%U%!%$%k\e(B</a></li>
+
+      <li><a href="#moduleidentifier">\e$B%b%8%e!<%k<1JL;R\e(B</a></li>
+
+      <li><a href="#Compatibility">\e$B8_49@-\e(B</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="status" name="status">\e$B%9%F!<%?%9\e(B</a></h2>
+
+    <p>\e$B$3$l$O!"$=$N%b%8%e!<%k$,\e(B Apache
+    \e$B%&%'%V%5!<%P$K$I$l$/$i$$L)@\$KAH$_9~$^$l$F$$$k$+$r<($7$^$9!#\e(B
+    \e$B8@$$49$($l$P!"%b%8%e!<%k$rAH$_9~$_!"$=$N5!G=$rMxMQ$9$k$?$a$K!"\e(B
+    \e$B%5!<%P$r:F%3%s%Q%$%k$9$kI,MW$,$"$k$+$b$7$l$J$$$H$$$&$3$H$r<($7$^$9!#\e(B
+    \e$B$3$NB0@-$,<h$jF@$kCM$O0J2<$N$b$N$G$9\e(B:</p>
+    <dl>
+      <dt><strong>Base</strong></dt>
+
+      <dd>\e$B%9%F!<%?%9$,\e(B &quot;Base&quot;
+      \e$B$N%b%8%e!<%k$O!"%G%U%)%k%H$G%3%s%Q%$%k$5$l$F!"$o$6$o$6@_Dj$+$i\e(B
+      \e$B%b%8%e!<%k$r:o=|$7$F$$$J$$8B$j!"DL>o$OMxMQ2DG=$G$9!#\e(B
+      </dd>
+
+      <dt><strong>Extension</strong></dt>
+
+      <dd>\e$B%9%F!<%?%9$,\e(B &quot;Extension&quot; \e$B$N%b%8%e!<%k$O!"\e(B
+      \e$B%G%U%)%k%H$G$O%3%s%Q%$%k$5$l$:!"%5!<%P$K$bFI$_9~$^$l$^$;$s!#\e(B
+      \e$B$=$N%b%8%e!<%k$H$=$N5!G=$rM-8z$K$9$k$K$O!"\e(B
+      \e$B%5!<%P$r%S%k%I$9$k$?$a$N@_Dj$rJQ99$7$F!"\e(BApache
+      \e$B$r:F%3%s%Q%$%k$9$kI,MW$,$"$j$^$9!#\e(B</dd>
+      <dt><strong>Experimental</strong></dt>
+
+      <dd>\e$B%9%F!<%?%9$,\e(B &quot;Experimental&quot; \e$B$N%b%8%e!<%k$O!"\e(B
+      Apache \e$BG[I[J*$KF1:-$5$l$F$$$^$9$,!"\e(B
+      \e$B;HMQ$9$k>l9g$O<+8J@UG$$G9T$J$&I,MW$,$"$j$^$9!#\e(B
+      \e$B$=$N%b%8%e!<%k$O!"%I%-%e%a%s%H$b40@.$K8~$1$F:n@.Cf$G$9$7!"\e(B
+      \e$B%5%]!<%H$5$l$k$F$$$k$H$O8B$j$^$;$s!#\e(B</dd>
+      <dt><strong>External</strong></dt>
+
+      <dd>\e$B%9%F!<%?%9$,\e(B &quot;External&quot; \e$B$N%b%8%e!<%k$O!"4pK\\e(B Apache
+      \e$BG[I[$KF1:-$5$l$^$;$s\e(B (&quot;\e$B%5!<%I%Q!<%F%#!<%b%8%e!<%k\e(B&quot;)\e$B!#\e(B
+      \e$B$=$N$?$a!"2f!9$K@UG$$O$"$j$^$;$s$7!"\e(B
+      \e$B$=$N%b%8%e!<%k$N%5%]!<%H$b$7$F$$$^$;$s!#\e(B</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="sourcefile" name="sourcefile">\e$B%=!<%9%U%!%$%k\e(B</a></h2>
+
+    <p>\e$B$3$l$OC1=c$K!"\e(B
+    \e$B$=$N%b%8%e!<%k$KI,MW$J%3!<%I$r4^$`%=!<%9%U%!%$%k$NL>A0$rNs5s$7$?$b$N$G$9!#\e(B
+    \e$B$3$l$O!"\e(B<a href="core.html#ifmodule"><code>&lt;IfModule&gt;</code></a>
+    \e$B%G%#%l%/%F%#%V$G;HMQ$5$l$kL>A0$G$b$"$j$^$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="moduleidentifier"
+    name="moduleidentifier">\e$B%b%8%e!<%k<1JL;R\e(B</a></h2>
+
+    <p>\e$B$3$NJ8;zNs$O!"%b%8%e!<%k$NF0E*FI$_9~$_$r9T$J$&$H$-$K;HMQ$9$k\e(B <a
+    href="mod_so.html#loadmodule">LoadModule</a>
+    \e$B%G%#%l%/%F%#%V$K$*$$$F;HMQ$5$l$k%b%8%e!<%k$N<1JL;R$G$9!#\e(B
+    \e$B>\$7$/=q$/$H!"%=!<%9%U%!%$%kFb$N\e(B module \e$B%?%$%W$N30ItJQ?t$NL>A0$G$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="Compatibility" name="Compatibility">\e$B8_49@-\e(B</a></h2>
+
+    <p>\e$B$"$k%b%8%e!<%k$,\e(B Apache \e$B%P!<%8%g%s\e(B 1
+    \e$B$NG[I[$K4^$^$l$F$$$J$+$C$?>l9g!"\e(B
+    \e$B$=$N%b%8%e!<%k$,F3F~$5$l$?%P!<%8%g%s$,$3$3$K=q$+$l$F$$$^$9!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/mpeix.html b/htdocs/manual/mpeix.html
new file mode 100644 (file)
index 0000000..14d7a58
--- /dev/null
@@ -0,0 +1,420 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+    <meta name="GENERATOR"
+    content="Mozilla/4.75 [en] (Win98; U) [Netscape]" />
+    <meta name="Author" content="Mark Bixby - mark@bixby.org" />
+
+    <title>Using Apache with HP MPE/iX</title>
+    <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  </head>
+
+  <body text="#000000" bgcolor="#FFFFFF" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <center>
+      <h1>Using Apache With HP MPE/iX</h1>
+    </center>
+    This document explains how to compile, install, configure and
+    run Apache 1.3 under HP MPE/iX. 
+
+    <p>The bug reporting page and new-httpd mailing list are NOT
+    provided to answer questions about configuration or running
+    Apache. Before you submit a bug report or request, first
+    consult this document, the <a href="misc/FAQ.html">Frequently
+    Asked Questions</a> page and the other relevant documentation
+    topics. If you still have a question or problem, post it to the
+    <a href="news:comp.sys.hp.mpe">comp.sys.hp.mpe</a> newsgroup or
+    the associated <a
+    href="http://jazz.external.hp.com/papers/hp3000-info.html">HP3000-L
+    mailing list</a>, where many Apache users and several
+    contributors are more than willing to answer new and obscure
+    questions about using Apache on MPE/iX.</p>
+
+    <p><a
+    href="http://groups.google.com/groups?hl=en&amp;lr=&amp;safe=off&amp;group=comp.sys.hp.mpe">
+    groups.google.com's newsgroup archive</a> offers easy browsing
+    of previous questions. Searching the newsgroup archives, you
+    will usually find your question was already asked and answered
+    by other users!</p>
+    <hr />
+
+    <ul>
+      <li><a href="#req">Requirements</a></li>
+
+      <li><a href="#implement">Implementation
+      Considerations</a></li>
+
+      <li><a href="#binaries">Binary Distributions</a></li>
+
+      <li><a href="#accounting">Create the Accounting
+      Structure</a></li>
+
+      <li><a href="#down">Downloading Apache</a></li>
+
+      <li><a href="#compile">Compiling Apache</a></li>
+
+      <li><a href="#inst">Installing Apache</a></li>
+
+      <li><a href="#config">Configuring Apache</a></li>
+
+      <li><a href="#run">Running Apache</a></li>
+
+      <li><a href="#control">Controlling Apache</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="req" name="req"></a>Requirements</h2>
+    Apache 1.3 requires MPE/iX 6.0 or greater.&nbsp; It will NOT
+    run on earlier releases of MPE/iX.&nbsp; The following MPE/iX
+    patches (or their superseding descendants) are relevant to
+    Apache: 
+
+    <ul>
+      <li>MPE/iX 6.0:</li>
+
+      <li style="list-style: none">
+        <ul>
+          <li>MPEKXT3B - fixes an MPE bug that results in transient
+          "permission denied" errors being returned by the server
+          to the browser.</li>
+
+          <li>MPELX36A - enhances the kill() function so that MPE
+          users with SM capability can send signals to Apache for
+          shutdown, restart, etc.</li>
+
+          <li>MPELX44C - fixes an MPE bug that prevents DSO modules
+          from being dynamically loaded.</li>
+
+          <li>MPELX51C - enhances the kill() function so that
+          Apache can use it when the Apache parent UID is different
+          from the Apache children UID (strongly recommended).</li>
+
+          <li>NSTxxxxx - the latest network transport patch should
+          always be installed when using TCP/IP applications such
+          as Apache.</li>
+        </ul>
+      </li>
+
+      <li>MPE/iX 6.5:</li>
+
+      <li style="list-style: none">
+        <ul>
+          <li>MPELX44D - fixes an MPE bug that prevents DSO modules
+          from being dynamically loaded.</li>
+
+          <li>MPELX51D - enhances the kill() function so that
+          Apache can use it when the Apache parent UID is different
+          from the Apache children UID (strongly recommended).</li>
+
+          <li>NSTxxxxx - the latest network transport patch should
+          always be installed when using TCP/IP applications such
+          as Apache.</li>
+        </ul>
+      </li>
+    </ul>
+    <hr width="100%" />
+
+    <h2><a id="implement" name="implement"></a>Implementation
+    Considerations</h2>
+    While MPE has a very good POSIX implementation that enables
+    fairly simple porting of Unix applications such as Apache,
+    there are some Unix concepts which just don't exist or aren't
+    fully implemented in MPE, and so this may force some
+    functionality changes in the package being ported. 
+
+    <h3>Significant MPE vs. Unix OS differences</h3>
+
+    <ul>
+      <li>MPE lacks the concept of a Unix UID=0 root user with
+      special privileges.&nbsp; Where Unix functions require a user
+      to be executing as root, MPE requires the user to be
+      executing in priv mode, so the program file must be linked
+      with PM (Priv Mode) capability, and the Unix function calls
+      must be bracketed by GETPRIVMODE() and GETUSERMODE()
+      calls.&nbsp; The following Unix functions used by Apache are
+      affected:</li>
+
+      <li style="list-style: none">
+        <ul>
+          <li>bind() for ports less than 1024</li>
+
+          <li>setgid()</li>
+
+          <li>setuid()</li>
+        </ul>
+      </li>
+
+      <li>MPE's support for UIDs and GIDs is more limited than
+      Unix.&nbsp; Every MPE account maps to a unique GID.&nbsp;
+      Each MPE account can contain multiple MPE users, and every
+      MPE user maps to a unique UID (UID 0 is not supported).&nbsp;
+      The current UID for a process must correspond to an MPE user
+      within the MPE account that corresponds to the current GID of
+      the process.</li>
+
+      <li>MPE child processes cannot survive the death of their
+      parent.&nbsp; When the parent terminates, any remaining
+      children will be killed.</li>
+
+      <li>MPE doesn't initialize the envp parameter when invoking
+      the main() of a new process.&nbsp; Use the global variable
+      environ instead of envp.</li>
+
+      <li>MPE link() exists, but always returns EIMPL.&nbsp; Use
+      rename() or symlinks instead of hard links.</li>
+
+      <li>MPE doesn't allow the @ character in filenames.</li>
+
+      <li>MPE lacks support for TCP_NODELAY, but that's the default
+      anyway.</li>
+
+      <li>MPE lacks support for SO_KEEPALIVE.</li>
+
+      <li>MPE lacks support for process groups.</li>
+
+      <li>MPE inetd only passes stdin (and NOT stdout) to the
+      invoked service.&nbsp; But you can write to stdin just
+      fine.</li>
+    </ul>
+
+    <h3>Major Apache functionality issues</h3>
+
+    <ul>
+      <li>Beginning with HP-supported Apache 1.3.9 and HP WebWise
+      MPE/iX Secure Web Server A.01.00 (based on Apache 1.3.9), the
+      User and Group directives in httpd.conf are now
+      unconditionally executed as corresponding setuid()/setgid()
+      calls.&nbsp; Previously this was only done if HTTPD was being
+      run as MANAGER.SYS.&nbsp; This functionality change was
+      submitted back to the 1.3.13-dev source tree at
+      www.apache.org.&nbsp; The Apache for Unix behavior is to only
+      honor User and Group if running as root.</li>
+
+      <li>Beginning with HP-supported Apache 1.3.9 and HP WebWise
+      MPE/iX Secure Web Server A.01.00 (based on Apache 1.3.9), the
+      SVIPC shared memory macros SHM_R and SHM_W have been modified
+      from their traditional owner-only-read and owner-only-write
+      values to be owner-and-group-read and owner-and-group-write
+      on MPE/iX in order to allow increased parent/child
+      flexibility in spite of MPE's limited POSIX UID/GID
+      support.&nbsp; This functionality change was submitted back
+      to the 1.3.13-dev source tree at www.apache.org.&nbsp; The
+      Apache for Unix behavior uses the traditional owner-only
+      values of SHM_R and SHM_W.</li>
+    </ul>
+
+    <h3>Minor Apache functionality issues</h3>
+
+    <ul>
+      <li>Apache for Unix must be run as root to bind to TCP ports
+      1-1023. Apache for MPE must call GETPRIVMODE() to bind to TCP
+      ports 1-1023; PM is not used for ports greater than 1023. The
+      standard web server HTTP port is 80.</li>
+
+      <li>Apache for Unix in standalone mode will detach itself and
+      run in the background as a system-type process. Apache for
+      MPE in standalone mode cannot detach itself and run in the
+      background because MPE POSIX doesn't allow this (the detached
+      child would be killed when the parent terminated).&nbsp;
+      Therefore you must use an MPE batch job to run Apache in
+      standalone mode.</li>
+
+      <li>Apache for Unix uses process groups to manage child
+      processes. Apache for MPE cannot use process groups because
+      MPE POSIX doesn't support this. The implications of this are
+      unknown.</li>
+
+      <li>Apache for Unix uses the setsockopt() option TCP_NODELAY.
+      Apache for MPE does not, because MPE doesn't support it. But
+      TCP_NODELAY is the default MPE behavior anyway.</li>
+
+      <li>Apache for Unix uses the setsockopt() option
+      SO_KEEPALIVE.&nbsp; Apache for MPE does not, because MPE
+      doesn't support it.</li>
+
+      <li>Apache for Unix under inetd reads from the socket via
+      stdin and writes via stdout. Apache for MPE under inetd reads
+      *AND* writes the socket via stdin. I consider MPE 5.5 inetd
+      to be broken and poorly documented, so I submitted SR
+      5003355016 to address this. If HP ever alters the MPE inetd
+      to pass the socket the way HPUX inetd does (not likely in the
+      grand scheme of things), the existing Apache for MPE code
+      will break.</li>
+
+      <li>Apache for Unix will use the @ character in proxy cache
+      filenames, but since @ is illegal in MPE filenames, Apache
+      for MPE uses the % character instead.</li>
+    </ul>
+    <hr width="100%" />
+
+    <h2><a id="binaries" name="binaries"></a>Binary
+    Distributions</h2>
+    HP ships a fully supported Apache binary distribution with the
+    Fundamental Operating System (FOS) in MPE/iX 6.5 and
+    later.&nbsp; This distribution can be found in the APACHE
+    account. 
+
+    <p>HP supplies fully supported Apache binary distributions for
+    MPE/iX 6.0 or later available for downloading from <a
+    href="http://jazz.external.hp.com/src/apache/">http://jazz.external.hp.com/src/apache/</a>.</p>
+
+    <p>Mark Bixby supplies Apache binary distributions for MPE/iX
+    available for downloading from <a
+    href="http://www.bixby.org/mark/apacheix.html">http://www.bixby.org/mark/apacheix.html</a>.&nbsp;
+    Binaries from bixby.org are NOT supported by HP.&nbsp; HP only
+    supports binaries distributed by HP.</p>
+
+    <p>All of the binary distributions mentioned above may possibly
+    include functionality that hasn't yet been submitted back to
+    the Apache Software Foundation (though submitting back is the
+    intended goal).&nbsp; Please read the documentation that comes
+    with these binaries in order to determine functionality
+    differences (if any) compared to the latest sources available
+    from the ASF.</p>
+
+    <p>If you will be using one of these binary distributions,
+    please stop reading this document and start reading the
+    specific distribution documentation for installation
+    details.</p>
+    <hr width="100%" />
+
+    <h2><a id="accounting" name="accounting"></a>Create the
+    Accounting Structure</h2>
+    Apache can be installed under the account of your choice.&nbsp;
+    For the purposes of this document, the APACHE account will be
+    used: 
+
+    <ol>
+      <li><tt><font size="+1">:HELLO MANAGER.SYS</font></tt></li>
+
+      <li><tt><font size="+1">:NEWACCT APACHE,MGR</font></tt></li>
+
+      <li><tt><font size="+1">:ALTACCT
+      APACHE;PASS=xxxxxxxx;CAP=AM,AL,ND,SF,BA,IA,PM,PH</font></tt></li>
+
+      <li><tt><font size="+1">:ALTGROUP
+      PUB.APACHE;CAP=BA,IA,PM,PH;ACCESS=(R,L,X:AC;W,A,S:AL)</font></tt></li>
+
+      <li><tt><font size="+1">:ALTUSER
+      MGR.APACHE;CAP=AM,AL,ND,SF,BA,IA,PM,PH;HOME=PUB</font></tt></li>
+
+      <li><tt><font size="+1">:NEWUSER
+      SERVER.APACHE</font></tt></li>
+
+      <li><tt><font size="+1">:ALTUSER
+      SERVER.APACHE;CAP=ND,SF,BA,IA,PH;HOME=PUB</font></tt></li>
+    </ol>
+
+    <h2><a id="down" name="down"></a>Downloading Apache</h2>
+    Use your web browser to download the Apache source tarball from
+    <a
+    href="http://www.apache.org/dist/httpd/">http://www.apache.org/dist/httpd/</a>.&nbsp;
+    Then ftp upload the tarball to your e3000 as show below: 
+<pre>
+C:\Temp&gt;ftp 3000.host.name
+Connected to 3000.host.name.
+220 HP ARPA FTP Server [A0009H09] (C) Hewlett-Packard Co. 1990
+User (3000.host.name:(none)): MGR.APACHE
+331 Password required for MGR.APACHE.  Syntax: acctpass
+Password:xxxxxxxx
+230 User logged on
+ftp&gt; quote type L 8
+200 Type set to L (byte size 8).
+ftp&gt; put apache_v.u.ff.tar.Z /tmp/apache.tar.Z
+200 PORT command ok.
+150 File: /tmp/apache.tar.Z opened; data connection will be opened
+226 Transfer complete.
+ftp: 2685572 bytes sent in 2.75Seconds 976.57Kbytes/sec.
+ftp&gt; quit
+221 Server is closing command connection
+</pre>
+    Unpack the tarball: 
+
+    <ol>
+      <li><tt>:HELLO MGR.APACHE</tt></li>
+
+      <li><tt>:XEQ SH.HPBIN.SYS -L</tt></li>
+
+      <li><tt>$ mkdir src</tt></li>
+
+      <li><tt>$ chmod 700 src</tt></li>
+
+      <li><tt>$ cd src</tt></li>
+
+      <li><tt>$ tar xvfopz /tmp/apache.tar.Z</tt></li>
+    </ol>
+
+    <h2><a id="compile" name="compile"></a>Compiling Apache</h2>
+    It is STRONGLY recommended to use gcc instead of the HP C/iX
+    compiler.&nbsp; You can obtain gcc from <a
+    href="http://jazz.external.hp.com/src/gnu/gnuframe.html">http://jazz.external.hp.com/src/gnu/gnuframe.html</a>.
+    
+
+    <ol>
+      <li><tt>$ cd apache_v.uu.ff</tt></li>
+
+      <li><tt>$ ./configure --prefix=/APACHE/PUB
+      --enable-module=xxx --enable-module=yyy ...etc...</tt></li>
+
+      <li><tt>$ make</tt></li>
+    </ol>
+
+    <h2><a id="inst" name="inst"></a>Installing Apache</h2>
+
+    <ol>
+      <li><tt>$ make install</tt></li>
+
+      <li><tt>$ cd /APACHE/PUB</tt></li>
+
+      <li><tt>$ mv bin/httpd HTTPD</tt></li>
+
+      <li><tt>$ ln -s HTTPD bin/httpd</tt></li>
+
+      <li><tt>$ callci "xeq linkedit.pub.sys 'altprog
+      HTTPD;cap=ia,ba,ph,pm'"</tt></li>
+    </ol>
+
+    <h2><a id="config" name="config"></a>Configuring Apache</h2>
+    Edit /APACHE/PUB/conf/httpd.conf and customize as needed for
+    your environment.&nbsp; Be sure to make the following mandatory
+    changes: 
+
+    <ul>
+      <li>User SERVER.APACHE</li>
+
+      <li>Group APACHE</li>
+    </ul>
+
+    <h2><a id="run" name="run"></a>Running Apache</h2>
+    Simply create and :STREAM the following standalone server job
+    in order to start Apache: 
+<pre>
+!JOB JHTTPD,MGR.APACHE;OUTCLASS=,2
+!XEQ SH.HPBIN.SYS "-c 'umask 007; ./HTTPD -f /APACHE/PUB/conf/httpd.conf'"
+!eoj
+</pre>
+
+    <h2><a id="control" name="control"></a>Controlling Apache</h2>
+    Log on as MGR.APACHE (or MANAGER.SYS or any other SM user if
+    you've installed MPELX36A on 6.0) in order to shutdown or
+    restart Apache via the use of signals. 
+
+    <p>To shut down Apache from the POSIX shell:</p>
+<pre>
+$ kill `cat /APACHE/PUB/logs/httpd.pid`
+</pre>
+    To shut down Apache from the CI: 
+<pre>
+:XEQ SH.HPBIN.SYS '-c "kill `cat /APACHE/PUB/logs/httpd.pid`"'
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/multilogs.html b/htdocs/manual/multilogs.html
new file mode 100644 (file)
index 0000000..7f3c334
--- /dev/null
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Multiple Log Files</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Multiple Log Files</h1>
+    It is now possible to specify multiple log files, each with a
+    fully customizable format. This is compatible with existing
+    configurations. Multiple log files are implemented as part of
+    the <a href="mod/mod_log_config.html">mod_log_config</a> module
+    which as of Apache 1.2 is the default log module. 
+    <hr />
+
+    <h2>Using Multiple Log Files</h2>
+    Multiple log files be created with either the
+    <code>TransferLog</code> or <code>CustomLog</code> directive.
+    These directives can be repeated to create more than one log
+    file (in previous releases, only one logfile could be given per
+    server configuration). The <code>TransferLog</code> directive
+    creates a log file in the standard "common log format",
+    although this can be customized with <code>LogFormat</code>.
+    The syntax of these two directives is the same as for the
+    config log module in previous Apache releases. 
+
+    <p>The real power of multiple log files come from the ability
+    to create log files in different formats. For example, as well
+    as a CLF transfer log, the server could log the user agent of
+    each client, or the referrer information, or any other aspect
+    of the request, such as the language preferences of the
+    user.</p>
+
+    <p>The new <code>CustomLog</code> directive takes both a
+    filename to log to, and a log file format.</p>
+    <hr />
+    <a href="mod/directive-dict.html#Syntax"
+    rel="Help"><strong>Syntax:</strong></a> CustomLog <em>filename
+    "format"</em><br />
+     <a href="mod/directive-dict.html#Context"
+    rel="Help"><strong>Context:</strong></a> server config, virtual
+    host<br />
+     <a href="mod/directive-dict.html#Status"
+    rel="Help"><strong>Status:</strong></a> base<br />
+     <a href="mod/directive-dict.html#Module"
+    rel="Help"><strong>Module:</strong></a> mod_log_config 
+
+    <p>The first argument is the filename to log to. This is used
+    exactly like the argument to <code>TransferLog</code>, that is,
+    it is either a file as a full path or relative to the current
+    server root, or |programname. Be aware that anyone who can
+    write to the directory where a log file is written can gain
+    access to the uid that starts the server. See the <a
+    href="misc/security_tips.html">security tips</a> document for
+    details.</p>
+
+    <p>The format argument specifies a format for each line of the
+    log file. The options available for the format are exactly the
+    same as for the argument of the <code>LogFormat</code>
+    directive. If the format includes any spaces (which it will do
+    in almost all cases) it should be enclosed in double
+    quotes.</p>
+
+    <h3>Use with Virtual Hosts</h3>
+    If a &lt;VirtualHost&gt; section does not contain any
+    <code>TransferLog</code> or <code>CustomLog</code> directives,
+    the logs defined for the main server will be used. If it does
+    contain one or more of these directives, requests serviced by
+    this virtual host will only be logged in the log files defined
+    within its definition, not in any of the main server's log
+    files. See the examples below. 
+    <hr />
+
+    <h3>Examples</h3>
+    To create a normal (CLF) format log file in logs/access_log,
+    and a log of user agents: 
+<pre>
+TransferLog logs/access_log
+CustomLog   logs/agents     "%{user-agent}i"
+</pre>
+    To define a CLF transfer log and a referrer log which log all
+    accesses to both the main server and a virtual host: 
+<pre>
+TransferLog logs/access_log
+CustomLog   logs/referer    "%{referer}i"
+
+&lt;VirtualHost&gt;
+  DocumentRoot   /whatever
+  ServerName     my.virtual.host
+&lt;/VirtualHost&gt;
+</pre>
+    Since no TransferLog or CustomLog directives appear inside the
+    &lt;VirtualHost&gt; section, any requests for this virtual host
+    will be logged in the main server's log files. If however the
+    directive 
+<pre>
+TransferLog logs/vhost_access_log
+</pre>
+    was added inside the virtual host definition, then accesses to
+    this virtual host will be logged in vhost_access_log file (in
+    common log format), and <em>not</em> in logs/access_log or
+    logs/referer. <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/netware.html b/htdocs/manual/netware.html
new file mode 100644 (file)
index 0000000..2822d3a
--- /dev/null
@@ -0,0 +1,402 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Using Apache with Novell NetWare</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <div align="CENTER">
+      <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server Version 1.3</h3>
+    </div>
+
+    <h1 align="CENTER">Using Apache With Novell NetWare</h1>
+
+       <p>This document explains how to install, configure and run
+          Apache 1.3 under Novell NetWare 5.x and above. If you find any bugs, 
+          or wish to contribute in other ways, please
+          use our <a HREF="http://httpd.apache.org/bug_report.html">bug reporting
+          page.</a></p>
+
+       <p>The bug reporting page and new-httpd mailing list are <em>not</em> 
+          provided to answer questions about configuration or running Apache.  
+          Before you submit a bug report or request, first consult this document, the 
+          <a HREF="misc/FAQ.html">Frequently Asked Questions</a> page and the other 
+          relevant documentation topics.  If you still have a question or problem, 
+          post it to the <a HREF="news://devforums.novell.com/novell.devsup.webserver">
+          novell.devsup.webserver</a> newsgroup, where many 
+          Apache users are more than willing to answer new 
+          and obscure questions about using Apache on NetWare.</p>
+   
+    Most of this document assumes that you are installing Apache
+    from a binary distribution. If you want to compile Apache
+    yourself (possibly to help with development, or to track down
+    bugs), see the section on <a href="#comp">Compiling Apache for
+    NetWare</a> below. 
+    <hr />
+
+    <ul>
+      <li><a href="#req">Requirements</a></li>
+
+      <li><a href="#down">Downloading Apache for NetWare</a></li>
+
+      <li><a href="#inst">Installing Apache for NetWare</a></li>
+
+      <li><a href="#run">Running Apache for NetWare</a></li>
+
+      <li><a href="#use">Configuring Apache for NetWare</a></li>
+
+      <li><a href="#comp">Compiling Apache for NetWare</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="req" name="req">Requirements</a></h2>
+    Apache 1.3 is designed to run on NetWare 5.x and above and is 
+       installed by default on all NetWare 6 servers. 
+
+    <p><strong>If running on NetWare 5.0 you must install Service
+    Pack 5 or above.</strong></p>
+
+    <p><strong>If running on NetWare 5.1 you must install Service
+    Pack 1 or above.</strong></p>
+
+    <p>NetWare service packs are available <a
+    href="http://support.novell.com/misc/patlst.htm#nw">here.</a></p>
+
+    <h2><a id="down" name="down">Downloading Apache for NetWare</a></h2>
+
+    <p>Information on the latest version of Apache can be found on
+    the Apache web server at <a
+    href="http://www.apache.org/">http://www.apache.org/</a>. This
+    will list the current release, any more recent alpha or
+    beta-test releases, together with details of mirror web and
+    anonymous ftp sites.</p>
+
+    <h2><a id="inst" name="inst">Installing Apache for
+    NetWare</a></h2>
+    There is no Apache install program for NetWare currently. You
+    will need to compile apache and copy the files over to the
+    server manually. An install program will be posted at a later
+    date. If you are running NetWare 6, Apache for NetWare has been 
+       installed by default.
+
+    <p>Follow these steps to install Apache on NetWare from the
+    binary download (assuming you will install to sys:/apache):</p>
+
+    <ul>
+      <li>Unzip the binary download file to the root of the SYS:
+      volume (may be installed to any volume)</li>
+
+      <li>Edit the httpd.conf file setting ServerRoot and
+      ServerName to reflect your correct server settings</li>
+
+      <li>Add SYS:/APACHE to the search path. EXAMPLE: SEARCH ADD
+      SYS:\APACHE</li>
+    </ul>
+
+    <p>Follow these steps to install Apache on NetWare manually
+    from your own build source (assuming you will install to
+    sys:/apache):</p>
+
+    <ul>
+      <li>Create a directory called <code>Apache</code> on a
+      NetWare volume</li>
+
+      <li>Copy Apache.nlm, Apachec.nlm, htdigest.nlm, htpasswd.nlm,
+         xmlparse.nlm, and xmltok.nlm to sys:/apache</li>
+
+      <li>Create a directory under SYS:/APACHE called CONF</li>
+
+      <li>Copy all the *.CONF-DIST-NW files to the SYS:/APACHE/CONF
+      directory and rename them all as *.CONF files</li>
+
+      <li>Copy the MIME.TYPES and magic files to SYS:/APACHE/CONF
+      directory</li>
+
+      <li>Copy all files and subdirectories in \apache-1.3\icons to
+      SYS:/APACHE/ICONS</li>
+
+      <li>Create the directory SYS:/APACHE/LOGS on the server</li>
+
+      <li>Create the directory SYS:/APACHE/CGI-BIN on the
+      server</li>
+
+      <li>Create the directory SYS:/APACHE/MODULES and copy all nlm
+      modules built into the modules directory</li>
+
+      <li>Edit the HTTPD.CONF file setting ServerRoot and
+      ServerName to reflect your correct server settings</li>
+
+      <li>Add SYS:/APACHE to the search path. EXAMPLE: SEARCH ADD
+      SYS:\APACHE</li>
+    </ul>
+
+    <p>Apache may be installed to other volumes besides the default
+    <code>sys</code> volume.</p>
+
+    <h2><a id="run" name="run">Running Apache for NetWare</a></h2>
+    To start Apache just type <strong>apache</strong> at the
+    console. This will load apache in the OS address space. If you
+    prefer to load Apache in a protected address space you may
+    specify the address space with the load statement as follows: 
+<pre>
+    load address space = apache apache
+</pre>
+
+    <p>This will load Apache into an address space called apache.
+    Running multiple instances of Apache concurrently on NetWare is
+    possible by loading each instance into its own protected
+    address space.</p>
+
+    <p>After starting Apache it will be listening to port 80
+    (unless you changed the <samp>Port</samp>, <samp>Listen</samp>
+    or <samp>BindAddress</samp> directives in the configuration
+    files). To connect to the server and access the default page,
+    launch a browser and enter the server's name or address. This
+    should respond with a welcome page, and a link to the Apache
+    manual. If nothing happens or you get an error, look in the
+    <samp>error_log</samp> file in the <samp>logs</samp>
+    directory.</p>
+
+    <p>Once your basic installation is working, you should
+    configure it properly by editing the files in the
+    <samp>conf</samp> directory.</p>
+
+    <p>To unload Apache running in the OS address space just type
+    the following at the console:</p>
+<pre>
+    unload apache
+</pre>
+    If apache is running in a protected address space specify the
+    address space in the unload statement: 
+<pre>
+    unload address space = apache apache
+</pre>
+
+    <p>When working with Apache it is important to know how it will
+    find the configuration files. You can specify a configuration
+    file on the command line in two ways:</p>
+
+    <ul>
+      <li>-f specifies a path to a particular configuration
+      file</li>
+    </ul>
+<pre>
+    apache -f "vol:/my server/conf/my.conf"
+</pre>
+<pre>
+    apache -f test/test.conf
+</pre>
+    In these cases, the proper ServerRoot should be set in the
+    configuration file. 
+
+    <p>If you don't specify a configuration file name with -f,
+    Apache will use the file name compiled into the server, usually
+    "conf/httpd.conf". Invoking Apache with the -V switch will
+    display this value labeled as SERVER_CONFIG_FILE. Apache will
+    then determine its ServerRoot by trying the following, in this
+    order:</p>
+
+    <ul>
+      <li>A ServerRoot directive via a -C switch.</li>
+
+      <li>The -d switch on the command line.</li>
+
+      <li>Current working directory</li>
+
+      <li>The server root compiled into the server.</li>
+    </ul>
+
+    <p>The server root compiled into the server is usually
+    "sys:/apache". invoking apache with the -V switch will display
+    this value labeled as HTTPD_ROOT.</p>
+
+    <h2><a id="use" name="use">Configuring Apache for
+    NetWare</a></h2>
+    Apache is configured by files in the <samp>conf</samp>
+    directory. These are the same as files used to configure the
+    Unix version, but there are a few different directives for
+    Apache on NetWare. See the <a href="./">Apache
+    documentation</a> for all the available directives. 
+
+    <p>The main differences in Apache for NetWare are:</p>
+
+    <ul>
+      <li>
+        <p>Because Apache for NetWare is multithreaded, it does not
+        use a separate process for each request, as Apache does
+        with Unix. Instead there are only threads running: a parent
+        thread, and a child which handles the requests. Within the
+        child each request is handled by a separate thread.</p>
+
+        <p>So the "process"-management directives are
+        different:</p>
+
+        <p><a
+        href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a>
+        - Like the Unix directive, this controls how many requests
+        a process will serve before exiting. However, unlike Unix,
+        a process serves all the requests at once, not just one, so
+        if this is set, it is recommended that a very high number
+        is used. The recommended default, <code>MaxRequestsPerChild
+        0</code>, does not cause the process to ever exit.</p>
+
+        <p><a
+        href="mod/core.html#threadsperchild">ThreadsPerChild</a> -
+        This directive is new, and tells the server how many
+        threads it should use. This is the maximum number of
+        connections the server can handle at once; be sure and set
+        this number high enough for your site if you get a lot of
+        hits. The recommended default is <code>ThreadsPerChild
+        50</code>.</p>
+        <a href="mod/core.html#threadstacksize">ThreadStackSize</a>
+        - This directive tells the server what size of stack to use
+        for the individual threads. The recommended default is
+        <code>ThreadStackSize 65536</code>.
+        <p>LogRotateDaily - This directive allows all custom logs to be rotated
+        on a daily basis.&nbsp; The file name of each log will contain the date
+        and time that the log was created.&nbsp; The default for this directive
+        is &quot;Off&quot;.</p>
+        <p>LogRotateInterval - This directive allows all custom logs to be
+        rotated on a specified interval.&nbsp; The file name of each log will
+        contain the date and time that the log was created.&nbsp; The interval
+        is specified as N minutes.&nbsp; The default is no interval or
+        &quot;0&quot;.</p>
+        <p>&nbsp;
+      </li>
+
+      <li>
+        <p>The directives that accept filenames as arguments now
+        must use NetWare filenames instead of Unix ones. However,
+        because Apache uses Unix-style names internally, you must
+        use forward slashes, not backslashes. Volumes can be used;
+        if omitted, the drive with the Apache executable will be
+        assumed.</p>
+      </li>
+
+      <li>
+        <p>Apache for NetWare has the ability to load modules at
+        runtime, without recompiling the server. If Apache is
+        compiled normally, it will install a number of optional
+        modules in the <code>\Apache\modules</code> directory. To
+        activate these, or other modules, the new <a
+        href="mod/mod_so.html#loadmodule">LoadModule</a> directive
+        must be used. For example, to active the status module, use
+        the following (in addition to the status-activating
+        directives in <code>access.conf</code>):</p>
+<pre>
+    LoadModule status_module modules/status
+</pre>
+
+        <p>Information on <a
+        href="mod/mod_so.html#creating">creating loadable
+        modules</a> is also available.</p>
+      </li>
+    </ul>
+
+       <H2><A id="comp" NAME="comp">Compiling Apache for NetWare</A></H2>
+       <H3><FONT SIZE=3>Requirements:</FONT></H3>
+       The following development tools are required to build Apache
+       1.3 for NetWare:<BR>
+       <UL>
+               <LI>
+                       Metowerks CodeWarrior 6.0 or higher with 
+                       <A HREF="http://developer.novell.com/ndk/cwpdk.htm">NetWare
+                       PDK 3.0</A> or higher.
+               </LI>
+               
+               <LI>
+                       <a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
+                       for C (LibC)</a>
+               </LI>
+               <LI>
+                       <a href="http://developer.novell.com/ndk/cldap.htm">LDAP Libraries
+                       for C</a>
+               </LI>
+               <LI>
+                       AWK, SED and gmake(ver. 3.78.1) utilties available at
+                       <A HREF="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</A>
+               </LI>
+       </UL>
+       
+       <H3><FONT SIZE=3>Building Apache using the NetWare makefiles:</FONT></H3>
+       <UL>
+               <LI>
+                       Set the following environment variables:
+                       <UL>
+                               <LI>
+                                       <code>set METROWERKS=&lt;Base location of the MW CodeWarrior
+                                       tools&gt;</code>
+                               </LI>
+                               <LI>
+                                       <code>set NWSDKDIR=c:\Novell\NDK\nwsdk</code> - Location of the NetWare CLib SDK
+                               </LI>
+                               <LI>
+                                       <code>set LDAPSDK=c:\Novell\NDK\cldapsdk</code> - Location of the NetWare LDAP SDK
+                               </LI>
+                               <LI>
+                                       <code>set AP_WORK=&lt;Base location of the apache-1.3 source
+                                       files&gt;</code>
+                               </LI>
+                               <LI>
+                                       <code>set GNUTOOLS=&lt;Location of the AWK, SED and GMAKE
+                                       utilities&gt;</code>
+                               </LI>
+                       </UL>
+               <LI>
+                       Unpack the Apache source code distribution into an
+                       appropriate directory.
+               </LI>
+               <LI>
+                       Change directory to \apache-1.3 and build Apache by envoking
+                       the <samp>gmake -f nwgnumakefile</samp> command. You can create a
+                       distribution directory by adding the <samp>install</samp>
+                       parameter to the command.
+               </LI>
+       </UL>
+       
+       <H3><FONT SIZE=3>Other Environment Variables:</FONT></H3>
+       <UL>
+               <LI>
+                       <code>set DEBUG=1</code> &ndash; Builds debug versions
+                       of all of the binaries and copies them to a <code>\debug</code> destination
+                       directory.
+               </LI>
+               <LI>
+                       <code>set MULTIPROC=1</code> &ndash; Builds multi-processor aware versions
+                       of all of the binaries.
+               </LI>
+       </UL>
+       
+       <H3><FONT SIZE=3>Additional make options:</FONT></H3>
+       <UL>
+               <LI>
+                       <code>gmake -f nwgnumakefile</code> &ndash; Builds release versions of all
+                       of the binaries and copies them to a <code>\release</code> destination
+                       directory.
+               </LI>
+               <LI>
+                       <code>gmake -f nwgnumakefile install</code> &ndash; Creates a complete
+                       Apache distribution with binaries, docs and additional support
+                       files in a <code>\dist\apache</code> directory.
+               </LI>
+               <LI>
+                       <code>gmake -f nwgnumakefile clean</code> &ndash; Cleans all object files
+                       and binaries from the <code>\release</code> or <code>\debug</code> build areas depending on
+                       whether <code>DEBUG</code> has been defined.
+               </LI>
+       </UL>
+
+       <HR />
+    <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+    <a href="./"><img src="images/index.gif" alt="Index" /></a>
+  </body>
+</html>
+
diff --git a/htdocs/manual/new_features_1_0.html b/htdocs/manual/new_features_1_0.html
new file mode 100644 (file)
index 0000000..54d8fed
--- /dev/null
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache extra features</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Overview of new features</h1>
+
+    <h2>New Features with Apache 1.0</h2>
+
+    <p>New features with this release, as extensions of the Apache
+    functionality (see also more detailed <code>CHANGES</code>
+    file) in the source directory. Because the core code has
+    changed so significantly, there are certain liberties that
+    earlier versions of Apache (and the NCSA daemon) took that
+    Apache 1.0 is pickier about - please check the <a
+    href="misc/compat_notes.html">compatibility notes</a> if you
+    have any problems.</p>
+
+    <ul>
+      <li>
+        API for server extensions --- see below for a brief sermon
+        on philosophy, or see <a
+        href="misc/API.html">src/API.html</a> for an actual
+        overview. Most server functionality (including includes,
+        CGI, and most forms of access control) are actually
+        implemented as API-conformant modules; you can also do
+        other neat stuff (we've included a sample module, for
+        instance, which one of us is using to track click-trails
+        using the <a
+        href="http://home.netscape.com/newsref/std/cookie_spec.html">
+        Netscape cookie mechanism</a>, for visitors who come in
+        through Netscape clients). <a
+        href="mod/mod_dld.html">Modules</a> can also be loaded
+        dynamically using GNU DLD. 
+
+        <p>The API is not yet quite stable (see src/TODO for some
+        possible changes), but anything done now will be easily
+        adapted for future versions --- after all, we have more
+        modules to adapt than you do.</p>
+      </li>
+
+      <li><a href="process-model.html">New Process Model - much
+      less forking, no fixed number of children.</a> We found that
+      many people were using values for "MaxServers" either too
+      high or too low, and were hanging themselves on it. The model
+      we adopted is still based on long-lived minimal-forking
+      processes, but instead of specifying one number of persistent
+      processes, the web-master specifies a maximum and minimum
+      number of processes to be "spare" - every couple of seconds
+      the parent checks the actual number of spare servers and
+      adjusts accordingly. This should keep the number of servers
+      concurrently running relatively low while still ensuring
+      minimal forking.</li>
+
+      <li><a href="vhosts/">&lt;VirtualHost&gt; (the configuration
+      directive for multiple-homed servers)</a> is more general
+      now. Just about any srm.conf or httpd.conf command can go in
+      a &lt;Virtualhost&gt; section, with the following specific
+      exceptions: ServerType, UserId, GroupId, StartServers,
+      MaxRequestsPerChild, BindAddress, PidFile, TypesConfig,
+      ServerRoot.</li>
+
+      <li><a href="content-negotiation.html">Support for content
+      negotiation of languages through MultiViews</a> (*.fr, *.de,
+      *.en suffixes), via the new AddLanguage and LanguagePriority
+      commands (code written by Florent Guillaume,
+      guillaum@clipper.ens.fr).</li>
+
+      <li>Significant internal cleanups and rearrangements. The two
+      externally visible consequences of this are that just about
+      all of the unchecked fixed limits are gone, and that the
+      server is somewhat pickier about config file syntax (noting
+      and complaining about extraneous command arguments or other
+      stuff at the end of command lines).</li>
+
+      <li>XBITHACK is a run-time option, and can be selectively
+      enabled per directory --- the -DXBITHACK compile-time option
+      just changes the default. The command which configures it is
+      "XBitHack", which is allowed everywhere "Options" is; this
+      takes an argument --- "XBitHack Off" turns it off; "XBitHack
+      On" gets you the NCSA -DXBITHACK behavior; and "XBitHack
+      Full" gets you the Apache GXBIT stuff on top of that.
+      (-DXBITHACK makes "Full" the default; otherwise, it defaults
+      "Off").</li>
+
+      <li>TransferLog can specify a program which gets the log
+      entries piped to it, a la 'TransferLog "|
+      /var/www/my-perl-script -arg valu"' --- this should give the
+      same SIGTERM/pause/SIGKILL treatment to the logging process
+      on server restarts that a CGI script gets on an aborted
+      request. NB the server is counting on the logging process to
+      work, and will probably hang or worse if it dies.</li>
+
+      <li><a href="mod/mod_log_config.html">Configurable logging
+      module</a> --- this is a replacement for the standard
+      plane-jane Common Log Format code, which supports a LogFormat
+      directive which allows you to control the formatting of
+      entries in the TransferLog, and add some new items if you
+      like (in particular, Referer and User-Agent).
+      EXPERIMENTAL.</li>
+    </ul>
+    <hr />
+
+    <h2>Other features of Apache</h2>
+
+    <ul>
+      <li><a href="mod/mod_dld.html">Dynamically loading modules
+      using GNU DLD</a></li>
+
+      <li><a href="mod/mod_imap.html">Imagemap Module</a></li>
+
+      <li><a href="mod/mod_dir.html#directoryindex">Multiple
+      DirectoryIndex filenames</a></li>
+
+      <li><a href="mod/mod_asis.html">"Send as is" file
+      types</a></li>
+
+      <li><a href="mod/mod_include.html#xbithack">XBITHACK last
+      modified</a></li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/new_features_1_1.html b/htdocs/manual/new_features_1_1.html
new file mode 100644 (file)
index 0000000..240558c
--- /dev/null
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>New features with Apache 1.1</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Overview of new features</h1>
+
+    <h2>API Changes</h2>
+    A few changes to the Apache API were made for 1.1. It is
+    possible that some third-party modules will no longer work with
+    1.1, though we have made every effort to provide
+    backwards-compatibility. If you encounter a module that does
+    not work with 1.1, please <a
+    href="http://httpd.apache.org/bug_report.html">let us know</a>.
+    
+
+    <h2>New Features with Apache 1.1</h2>
+
+    <p>New features with this release, as extensions of the Apache
+    functionality (see also more detailed <code>CHANGES</code> file
+    in the source directory.) Because the core code has changed so
+    significantly, there are certain liberties that earlier
+    versions of Apache (and the NCSA daemon) took that recent
+    Apache versions are pickier about - please check the <a
+    href="misc/compat_notes.html">compatibility notes</a> if you
+    have any problems.</p>
+    <hr />
+
+    <p>In addition to a number of bug fixes and internal
+    performance enhancements, <a
+    href="http://www.apache.org/dist/httpd/">Apache 1.1</a> has the
+    following specific new user features:</p>
+
+    <ul>
+      <li><strong><a href="keepalive.html">Support for Keep-Alive
+      Persistent Connections</a></strong><br />
+       Apache now has (optional) support for persistent
+      connections, as defined by the HTTP/1.1 draft. This protocol,
+      supported by a number of current HTTP servers and browsers
+      (including Netscape Navigator 2.0) has been shown to increase
+      speed of document transfer by up to 50% in certain
+      cases.</li>
+
+      <li><strong><a href="vhosts/">New non-IP
+      Intensive-VirtualHost Support</a></strong><br />
+       Apache's support for virtual hosts has been enhanced to be
+      able to use information sent by some new Web browsers to
+      determine the server being accessed, without requiring an
+      additional IP address for each host.</li>
+
+      <li><strong><a href="bind.html">Listen to Multiple Addresses
+      and Ports</a></strong><br />
+       Using the new <code>Listen</code> directive, Apache can
+      listen to more than one port and IP address, using the same
+      configuration set.</li>
+
+      <li><strong><a href="mod/mod_status.html">Status
+      Module</a></strong><br />
+       Apache now contains a module that gives the web-master
+      accurate, up-to-date information about the server's status
+      and its resource consumption. It also gives the current state
+      of each server process including the current URL being
+      processed. For an example, check out <a
+      href="http://www.apache.org/server-status">the status of the
+      www.apache.org server</a>.</li>
+
+      <li><strong><a href="mod/mod_info.html">Server Information
+      Module</a></strong> This module gives a plethora of
+      information about the other modules installed, their
+      directives, and their configurations. It is extremely helpful
+      in debugging configuration problems. For an example, check
+      out <a href="http://www.apache.org/server-info">information
+      about the www.apache.org server</a>.</li>
+
+      <li><strong><a href="mod/mod_proxy.html">Experimental Caching
+      Proxy Server</a></strong><br />
+       Apache can now act as an HTTP proxy server, allowing clients
+      behind firewalls to use the server to access the outside
+      world. In addition, it can cache documents it proxies,
+      speeding up access to frequently requested documents.</li>
+
+      <li><strong><a href="location.html">URL-based Access
+      Protection</a></strong><br />
+       In addition to access checking and authorization by filename
+      (with <code><a
+      href="mod/core.html#directory">&lt;Directory&gt;</a></code>),
+      the new <code>&lt;Location&gt;</code> directive allows
+      protection by URL.</li>
+
+      <li><strong><a href="mod/mod_actions.html">Filetype-based
+      Script "Actions"</a></strong><br />
+       You can now run CGI scripts whenever a file of a certain
+      type is requested. This makes it much easier to execute
+      scripts that process files. In addition, you can use the new
+      <a href="mod/mod_actions.html#script">Script</a> directive to
+      enable scripts for files called with HTTP methods Apache does
+      not natively support.</li>
+
+      <li><strong><a href="handler.html">New "Handler"
+      Directives</a></strong><br />
+       The new <code>AddHandler</code> and <code>SetHandler</code>
+      directive allows "handlers" to be defined for filename
+      extensions or directories. These handlers, which can either
+      be built into Apache or added with the <a
+      href="mod/mod_actions.html">Action</a> directive, extend
+      Apache's range of usability, and almost entirely remove the
+      "magic" media types.</li>
+
+      <li><strong><a href="mod/mod_env.html">Customizable CGI
+      Environment Variables</a></strong><br />
+       New <code>PassEnv</code> and <code>SetEnv</code> directives
+      allow you to modify the environment variables passed to CGI
+      scripts.</li>
+
+      <li><strong><a href="mod/mod_cern_meta.html">CERN Metafile
+      Support</a></strong><br />
+       Now emulates the CERN httpd's support for metafiles
+      containing additional HTTP headers to be supplied with a
+      document.</li>
+
+      <li><strong><a href="mod/mod_imap.html">Improved Imagemap
+      Support</a></strong><br />
+       The internal imagemap handling code has been rewritten and
+      reorganized, adding new handling of default, base and
+      relative URLs, and support for creating non-graphical menus
+      for use with clients that do not support imagemaps.</li>
+
+      <li><strong><a href="mod/mod_userdir.html">Improved UserDir
+      Directive</a></strong><br />
+       Now supports the ability to point user's files (as specified
+      by URLs beginning with the "<code>~</code>" character) at
+      directories other than those specified by the Unix password
+      file.</li>
+
+      <li><strong>Minimal DNS Now Runtime Option</strong><br />
+       New <code>HostnameLookups</code> server configuration
+      directive can be used to turn <code>On</code> or
+      <code>Off</code> DNS lookups. This supersedes the
+      -DMINIMAL_DNS compile-time configuration option. This option
+      can be set per-directory.</li>
+
+      <li><strong>IdentityCheck Now Per-Directory
+      Option</strong><br />
+       The <code>IdentityCheck</code> directive, which controls the
+      use of ident to check the remote user name, can now be set
+      per directory. The ident support is also RFC
+      1413-compliant.</li>
+
+      <li><strong>Redirect Now Usable in <code>.htaccess</code>
+      Files</strong><br />
+       The <a
+      href="mod/mod_alias.html#redirect"><code>Redirect</code></a>
+      directive can now be used in <code>.htaccess</code> files
+      when the <code>FileInfo</code> directive has been set on.
+      This allows users to redirect parts of their directories
+      without requiring CGI scripts</li>
+
+      <li><strong>ErrorDocument Now Usable in
+      <code>.htaccess</code> Files</strong><br />
+       The <a
+      href="custom-error.html"><code>ErrorDocument</code></a>
+      directive can now be used in <code>.htaccess</code> files
+      when the <code>FileInfo</code> directive has been set on.
+      This allows users to have different error messages for
+      different sections of a site.</li>
+
+      <li><strong><code>ForceType</code> Directive</strong><br />
+       This new directive, in <code>&lt;Directory&gt;</code>
+      sections or .htaccess files, allows you to override the
+      filename extensions and force a single content type.
+      (<em>e.g.</em>, <code>ForceType
+      application/octet-stream</code>)</li>
+
+      <li><strong>File Owner Available to Included CGI
+      Scripts</strong><br />
+       Server-side includes that call CGI scripts will now set a
+      <code>USER_NAME</code> environment variable that contains the
+      owner of the file which included it.</li>
+
+      <li><strong>Improved Icons</strong><br />
+       Thanks to <a href="mailto:kevinh@eit.com">Kevin Hughes</a>,
+      Apache's nifty color GIF icons for directory listings have
+      been updated. In addition, the <a
+      href="../apache_pb.gif">Powered by Apache</a>
+      (<code>apache_pb.gif</code>) logo has been included.</li>
+    </ul>
+    <hr />
+
+    <h3>New Authentication Modules</h3>
+
+    <p><strong>Note:</strong> These modules are not compiled into
+    the server by default, as they require special support on the
+    host system. They must be enabled specifically in the
+    <code>Configuration</code> file.</p>
+
+    <ul>
+      <li><strong><a href="mod/mod_auth_anon.html">Anonymous HTTP
+      Logins</a></strong><br />
+       New options allow you to allow, using Basic HTTP
+      Authentication, anonymous logins, like those of FTP. This
+      allows you to collect email addresses of people accessing
+      your site.</li>
+
+      <li><strong><a href="mod/mod_digest.html">Support for Digest
+      Authentication</a></strong><br />
+       Apache now supports digest authentication using RSA MD5
+      encryption. When used with a supporting web browser, this
+      provides a more secure alternative to Basic
+      authentication.</li>
+
+      <li><strong><a href="mod/mod_auth_db.html">Support for Unix
+      DB Authentication</a></strong> -
+      <code>mod_auth_db.c</code><br />
+       In addition to <a href="mod/mod_auth_dbm.html">DBM</a>
+      support, Apache now contains optional support for Berkeley DB
+      databases.</li>
+
+      <li><strong>mSQL Database Authentication</strong> -
+      <code>mod_auth_msql.html</code><br />
+       Support for the use of mSQL databases for user
+      authentication via HTTP is now supported.</li>
+    </ul>
+    <hr />
+
+    <h3>OS/2 Support</h3>
+
+    <p>Apache now includes support for OS/2, thanks to <a
+    href="http://www.slink.com/ApacheOS2/">Softlink
+    Services</a>.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/new_features_1_2.html b/htdocs/manual/new_features_1_2.html
new file mode 100644 (file)
index 0000000..dae0f84
--- /dev/null
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>New features with Apache 1.2</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Overview of new features</h1>
+
+    <h2>API Changes</h2>
+
+    <p>Some non-compatible changes were made to the Apache API in
+    order to deal with HTTP/1.1 compatibility. It is possible that
+    some modules will no longer work (specifically, those that
+    process input using the POST or PUT methods). If you encounter
+    a module that does not work, please contact the author. A <a
+    href="misc/client_block_api.html">programmer's note</a> on the
+    subject is available.</p>
+
+    <h2>New Features with Apache 1.2</h2>
+
+    <p>New features with this release, as extensions of the Apache
+    functionality. Because the core code has changed so
+    significantly, there are certain liberties that earlier
+    versions of Apache (and the NCSA daemon) took that recent
+    Apache versions are pickier about - please check the <a
+    href="misc/compat_notes.html">compatibility notes</a> if you
+    have any problems.</p>
+    <hr />
+
+    <p>In addition to a number of bug fixes and internal
+    performance enhancements, <a
+    href="http://www.apache.org/dist/httpd/">Apache 1.2</a> has the
+    following specific new user features:</p>
+
+    <ul>
+      <!-- change the "name" to an "href" if/when there's such a document -->
+
+      <li><strong><a id="http11.html" name="http11.html">HTTP/1.1
+      Compliance</a></strong> [Documentation to be written]<br />
+       Aside from the optional proxy module (which operates as
+      HTTP/1.0), Apache is conditionally compliant with the
+      HTTP/1.1 proposed standard, as approved by the IESG and the
+      <a href="http://www.ics.uci.edu/pub/ietf/http/">IETF HTTP
+      working group</a>. HTTP/1.1 provides a much-improved
+      protocol, and should allow for greater performance and
+      efficiency when transferring files. Apache does, however,
+      still work great with HTTP/1.0 browsers. We are very close to
+      being unconditionally compliant; if you note any deviance
+      from the proposed standard, please report it as a bug.</li>
+
+      <li><strong><a href="mod/mod_include.html">eXtended Server
+      Side Includes (XSSI)</a></strong><br />
+       A new set of server-side include directives allows the user
+      to better create WWW pages. This includes number of powerful
+      new features, such as the ability to set variables and use
+      conditional HTML.</li>
+
+      <li><strong><a href="mod/core.html#files">File-based and
+      Regex-enabled Directive Sections</a></strong><br />
+       The new <a
+      href="mod/core.html#files"><code>&lt;Files&gt;</code></a>
+      section allows directives to be enabled based on full
+      filename, not just directory and URL. In addition,
+      <code>&lt;Files&gt;</code> sections can appear in
+      <code>.htaccess</code> files. <code>&lt;Files&gt;</code>,
+      along with <a
+      href="mod/core.html#directory"><code>&lt;Directory&gt;</code></a>
+      and <a
+      href="mod/core.html#location"><code>&lt;Location&gt;</code></a>,
+      can also now be based on regular expressions, not just simple
+      prefix matching.</li>
+
+      <li><strong><a href="mod/mod_browser.html">Browser-based
+      Environment Variables</a></strong><br />
+       Environment variables can now be set based on the
+      <code>User-Agent</code> string of the browser. Combined with
+      <a href="mod/mod_include.html">XSSI</a>, this allows you to
+      write browser-based conditional HTML documents.</li>
+
+      <li><strong><a href="suexec.html">SetUID CGI
+      Execution</a></strong><br />
+       Apache now supports the execution of CGI scripts as users
+      other than the server user. A number of security checks are
+      built in to try and make this as safe as possible.</li>
+
+      <li><strong><a href="mod/mod_rewrite.html">URL Rewriting
+      Module</a></strong><br />
+       The optional <code>mod_rewrite</code> module is now
+      included. This module can provide powerful URL mapping, using
+      regular expressions. There's nothing this module can't
+      do!</li>
+
+      <li><strong><a href="mod/mod_log_config.html">Enhanced,
+      Configurable Logging</a></strong><br />
+       The optional <code>mod_log_config</code> included with
+      earlier versions of Apache is now standard, and has been
+      enhanced to allow logging of much more detail about the
+      transaction, and can be used to open <a
+      href="multilogs.html">more than one log file</a> at once
+      (each of which can have a different log format). If you have
+      Apache write any logs to a directory which is writable by
+      anyone other than the user that starts the server, see the <a
+      href="misc/security_tips.html">security tips</a> document to
+      be sure you aren't putting the security of your server at
+      risk.</li>
+
+      <li><strong><a href="mod/mod_usertrack.html">User Tracking
+      (Cookies) Revisions</a></strong><br />
+       The <code>mod_cookies</code> included with previous versions
+      of Apache has been renamed <code>mod_usertrack</code>, to
+      more accurately reflect its function (some people
+      inadvertently thought it enabled cookie support in Apache,
+      which is not true - Apache supports the use of cookies
+      directly). It is also now possible to disable the generation
+      of cookies, even when the cookie module is compiled in. Also,
+      an expiry time can be set on the cookies.</li>
+
+      <li><strong><a
+      href="mod/core.html#virtualhost">&lt;VirtualHost&gt;
+      Enhancements</a></strong><br />
+       The &lt;VirtualHost&gt; directive can now take more than one
+      IP address or hostname. This lets a single vhost handles
+      requests for multiple IPs or hostnames. Also the special
+      section &lt;VirtualHost _default_&gt; can be used to handle
+      requests normally left for the main server
+      configuration.</li>
+
+      <li><strong><a href="mod/mod_cgi.html#cgi_debug">CGI
+      Debugging Environment</a></strong><br />
+       <code>ScriptLog</code> allows you to now set up a log that
+      records all input and output to failed CGI scripts. This
+      includes environment variables, input headers, POST data,
+      output, and more. This makes CGI scripts much easier to
+      debug.</li>
+
+      <li><strong><a href="mod/core.html#rlimit">Resource Limits
+      for CGI Scripts</a></strong><br />
+       New directives allow the limiting of resources used by CGI
+      scripts (<em>e.g.</em>, max CPU time). This is helpful in
+      preventing 'runaway' CGI processes.</li>
+
+      <li><strong><a href="mod/mod_alias.html">Redirect Directive
+      Can Return Alternate Status</a></strong><br />
+       The Redirect directive can return permanent or temporary
+      redirects, "Gone" or "See Other" HTTP status. For
+      NCSA-compatibility, RedirectTemp and RedirectPermanent are
+      also implemented.</li>
+
+      <li><strong><a href="install.html">Simplified
+      Compilation</a></strong><br />
+       The process of configuring Apache for compilation has been
+      simplified.</li>
+
+      <li><strong><a href="mod/core.html#options">Add or Remove
+      Options</a></strong><br />
+       The <code>Options</code> directive can now add or remove
+      options from those currently in force, rather than always
+      replacing them.</li>
+
+      <li><strong><a href="invoking.html#help">Command-line
+      Help</a></strong><br />
+       The <code>-h</code> command-line option now lists all the
+      available directives.</li>
+
+      <li><strong><a href="mod/mod_headers.html">Optional Headers
+      Module to Set or Remove HTTP Headers</a></strong><br />
+       The optional <code>mod_headers</code> module can be used to
+      set custom headers in the HTTP response. It can append to
+      existing headers, replace them, or remove headers from the
+      response.</li>
+
+      <li><strong><a href="mod/core.html#ifmodule">Conditional
+      Config Directives</a></strong><br />
+       A new <code>&lt;IfModule&gt;</code> section allows
+      directives to be enabled only if a given module is loaded
+      into the server.</li>
+
+      <li><strong><a href="mod/core.html#satisfy">NCSA Satisfy
+      authentication directive now implemented</a></strong><br />
+       <code>Satisfy</code> allows for more flexible access control
+      configurations.</li>
+
+      <li><strong>Better NCSA Compatibility</strong><br />
+       Apache directives are now more compatible with NCSA 1.5 to
+      make moving between servers easier. In particular, Apache now
+      implements the <a
+      href="mod/core.html#satisfy"><code>Satisfy</code></a>, <a
+      href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a>,
+      <a
+      href="mod/mod_alias.html#redirectperm">RedirectPermanent</a>
+      and <a
+      href="mod/mod_alias.html#redirecttemp">RedirectTemp</a>,
+      directives, and the following directives are now
+      syntax-compatible with NCSA: <a
+      href="mod/mod_auth.html#authuserfile">AuthUserFile</a>, <a
+      href="mod/mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+      href="mod/mod_digest.html#authdigestfile">AuthDigestFile</a>,
+      <a href="mod/core.html#keepalive">KeepAlive</a> and <a
+      href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a>.</li>
+
+      <li>
+        <strong><a href="mod/mod_proxy.html">Optional proxy
+        module</a></strong><br />
+         An improved FTP, HTTP, and CONNECT mode SSL proxy is
+        included with Apache 1.2. Some of the changes visible to
+        users: 
+
+        <dl>
+          <dd>
+            <dl>
+              <dt>- Improved FTP proxy supporting PASV mode</dt>
+
+              <dt>- ProxyBlock directive for excluding sites to
+              proxy</dt>
+
+              <dt>- NoCache * directive for disabling proxy
+              caching</dt>
+
+              <dt>- Numerous bug fixes</dt>
+            </dl>
+          </dd>
+        </dl>
+      </li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/new_features_1_3.html.en b/htdocs/manual/new_features_1_3.html.en
new file mode 100644 (file)
index 0000000..60f298e
--- /dev/null
@@ -0,0 +1,890 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>New features with Apache 1.3</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Overview of New Features in Apache 1.3</h1>
+
+    <p>New features with this release, as extensions of the Apache
+    functionality. Because the core code has changed so
+    significantly, there are certain liberties that earlier
+    versions of Apache (and the NCSA daemon) took that recent
+    Apache versions are pickier about - please check the <a
+    href="misc/compat_notes.html">compatibility notes</a> if you
+    have any problems.</p>
+
+    <p>If you're upgrading from Apache 1.2, you may wish to read
+    the <a href="upgrading_to_1_3.html">upgrade notes</a>.</p>
+
+    <p>Enhancements: <a href="#core">Core</a> | <a
+    href="#performance">Performance</a> | <a
+    href="#config">Configuration</a> | <a href="#mod">Modules</a> |
+    <a href="#api">API</a> | <a href="#misc">Misc</a></p>
+    <hr />
+
+    <h2><a id="core" name="core">Core Enhancements:</a></h2>
+
+    <dl>
+      <dt><strong><a href="dso.html">Dynamic Shared Object (DSO)
+      support</a></strong></dt>
+
+      <dd>Apache modules may now be loaded at runtime; this means
+      that modules can be loaded into the server process space only
+      when necessary, thus overall memory usage by Apache will be
+      significantly reduced. DSO currently is supported on FreeBSD,
+      OpenBSD, NetBSD, Linux, Solaris, SunOS, Digital UNIX, IRIX,
+      HP/UX, UnixWare, NetWare, AIX, ReliantUnix and generic SVR4
+      platforms.</dd>
+
+      <dt><strong><a href="windows.html">Support for Windows
+      NT/95</a></strong></dt>
+
+      <dd>Apache now supports the Windows NT and Windows 2000
+      operating systems. While Apache may run on Windows 95, 98, or
+      ME, these consumer products are never recommended for
+      production environments, and their use remains experimental.
+      All versions of Apache running on Windows prior to 1.3.15
+      should be considered beta quality releases.</dd>
+
+      <dt><strong><a href="cygwin.html">Support for
+      Cygwin</a></strong></dt>
+
+      <dd>Apache now supports the Cygwin platform for the Windows
+      NT and Windows 2000 operating systems. The Cygwin versions
+      should be considered as stable and reliable as the <a
+      href="windows.html">Windows</a> native counterpart.</dd>
+
+      <dt><strong><a href="netware.html">Support for NetWare
+      5.x</a></strong></dt>
+
+      <dd>Apache now supports NetWare 5.x and above
+      operating systems.</dd>
+
+      <dt><strong><a href="sourcereorg.html">Re-organized
+      Sources</a></strong></dt>
+
+      <dd>The source files for Apache have been re-organized. The
+      main difference for Apache users is that the "Module" lines
+      in <code>Configuration</code> have been replaced with
+      "AddModule" with a slightly different syntax. For module
+      authors there are some changes designed to make it easier for
+      users to add their module.</dd>
+
+      <dt><strong>Reliable Piped Logs</strong></dt>
+
+      <dd>On almost all Unix architectures Apache now implements
+      "reliable" piped logs in <a
+      href="mod/mod_log_config.html">mod_log_config</a>. Where
+      reliable means that if the logging child dies for whatever
+      reason, Apache will recover and respawn it without having to
+      restart the entire server. Furthermore if the logging child
+      becomes "stuck" and isn't reading its pipe frequently enough
+      Apache will also restart it. This opens up more opportunities
+      for log rotation, hit filtering, real-time splitting of
+      multiple vhosts into separate logs, and asynchronous DNS
+      resolving on the fly.</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="performance" name="performance">Performance
+    Improvements</a></h2>
+
+    <ul>
+      <li>IP-based virtual hosts are looked up via hash table.</li>
+
+      <li>&lt;Directory&gt; parsing speedups.</li>
+
+      <li>The critical path for static requests has fewer system
+      calls. This generally helps all requests. (45 syscalls for a
+      static request in 1.2 versus 22 in 1.3 in a well tuned
+      configuration).</li>
+
+      <li><a
+      href="mod/mod_proxy.html#proxyreceivebuffersize"><code>ProxyReceiveBufferSize</code></a>
+      directive gives <code>mod_proxy</code>'s outgoing connections
+      larger network buffers, for increased throughput.</li>
+
+      <li>The low level I/O routines use <code>writev</code> (where
+      available) to issue multiple writes with a single system
+      call. They also avoid copying memory into buffers as much as
+      possible. The result is less CPU time spent on transferring
+      large files.</li>
+
+      <li>Static requests are served using <code>mmap</code>, which
+      means bytes are only copied from the disk buffer to the
+      network buffer directly by the kernel. The program never
+      copies bytes around, which reduces CPU time. (Only where
+      available/tested.)</li>
+
+      <li>When presented with a load spike, the server quickly
+      adapts by spawning children at faster rates.</li>
+
+      <li>The code which dispatches modules was optimized to avoid
+      repeatedly skipping over modules that don't implement certain
+      phases of the API. (This skipping showed up as 5% of the CPU
+      time on profiles of a server with the default module
+      mix.)</li>
+
+      <li>Revamp of the Unix scoreboard management code so that
+      less time is spent counting children in various states.
+      Previously a scan was performed for each hit, now it is
+      performed only once per second. This should be noticeable on
+      servers running with hundreds of children and high
+      loads.</li>
+
+      <li>New serialization choices improve performance on Linux,
+      and IRIX.</li>
+
+      <li><code><a
+      href="mod/mod_log_config.html">mod_log_config</a></code> can
+      be compile-time configured to buffer writes.</li>
+
+      <li>Replaced <code>strncpy()</code> with
+      <code>ap_cpystrn()</code>, a routine which doesn't have to
+      zero-fill the entire result. This has dramatic effects on
+      <code>mod_include</code> speed.</li>
+
+      <li>Additions to the internal "table" API (used for keeping
+      lists of key/value string pairs) provide for up to 20%
+      performance improvement in many situations.</li>
+    </ul>
+
+    <p>See <a href="misc/perf-tuning.html">the new performance
+    documentation</a> for more information.</p>
+    <hr />
+
+    <h2><a id="config" name="config">Configuration
+    Enhancements</a></h2>
+
+    <dl>
+      <dt><strong>Unified Server Configuration Files</strong></dt>
+
+      <dd><em>(Apache 1.3.4)</em> The contents of the three server
+      configuration files (<samp>httpd.conf</samp>,
+      <samp>srm.conf</samp>, and <samp>access.conf</samp>) have
+      been merged into a single <samp>httpd.conf</samp> file. The
+      <samp>srm.conf</samp> and <samp>access.conf</samp> files are
+      now empty except for comments directing the Webmaster to look
+      in <samp>httpd.conf</samp>. In addition, the merged
+      <samp>httpd.conf</samp> file has been restructured to allow
+      directives to appear in a hopefully more intuitive and
+      meaningful order.</dd>
+
+      <dt><strong>Continuation Lines in config files</strong></dt>
+
+      <dd>Directive lines in the server configuration files may now
+      be split onto multiple lines by using the canonical Unix
+      continuation mechanism, namely a '\' as the last non-blank
+      character on the line to indicate that the next line should
+      be concatenated.</dd>
+
+      <dt><strong>Apache Autoconf-style Interface
+      (APACI)</strong></dt>
+
+      <dd>Until Apache 1.3 there was no real out-of-the-box
+      batch-capable build and installation procedure for the
+      complete Apache package. This is now provided by a top-level
+      <code>configure</code> script and a corresponding top-level
+      <code>Makefile.tmpl</code> file. The goal is to provide a GNU
+      Autoconf-style frontend which is capable to both drive the
+      old <code>src/Configure</code> stuff in batch and
+      additionally installs the package with a GNU-conforming
+      directory layout. Any options from the old configuration
+      scheme are available plus a lot of new options for flexibly
+      customizing Apache.<br />
+       <strong>Note:</strong> The default installation layout has
+      changed for Apache 1.3.4. See the files
+      <code>README.configure</code> and <code>INSTALL</code> for
+      more information.</dd>
+
+      <dt><strong>APache eXtenSion (APXS) support
+      tool</strong></dt>
+
+      <dd>Now that Apache provides full support for loading modules
+      under runtime from dynamic shared object (DSO) files, a new
+      support tool <code>apxs</code> was created which provides
+      off-source building, installing and activating of those
+      DSO-based modules. It completely hides the platform-dependent
+      DSO-build commands from the user and provides an easy way to
+      build modules outside the Apache source tree. To achieve this
+      APACI installs the Apache C header files together with the
+      <code>apxs</code> tool.</dd>
+
+      <dt><a href="install.html#installing"><strong>Default Apache
+      directory path changed to
+      <code>/usr/local/apache/</code></strong></a><br />
+      </dt>
+
+      <dd>The default directory for the Apache ServerRoot changed
+      from the NCSA-compatible <code>/usr/local/etc/httpd/</code>
+      to <code>/usr/local/apache/</code>. This change covers only
+      the default setting (and the documentation); it is of course
+      possible to override it using the <a href="invoking.html">-d
+      <em>ServerRoot</em> and -f <em>httpd.conf</em></a> switches
+      when starting apache.</dd>
+
+      <dt><strong>Improved HTTP/1.1-style Virtual
+      Hosts</strong></dt>
+
+      <dd>The new <a
+      href="mod/core.html#namevirtualhost"><code>NameVirtualHost</code></a>
+      directive is used to list IP address:port pairs on which
+      HTTP/1.1-style virtual hosting occurs. This is vhosting based
+      on the <code>Host:</code> header from the client. Previously
+      this address was implicitly the same as the "main address" of
+      the machine, and this caused no end of problems for users,
+      and was not powerful enough. Please see the <a
+      href="vhosts/">Apache Virtual Host documentation</a> for
+      further details on configuration.</dd>
+
+      <dt><strong><code>Include</code> directive</strong></dt>
+
+      <dd>The <a
+      href="mod/core.html#include"><code>Include</code></a>
+      directive includes other config files immediately at that
+      point in parsing.</dd>
+
+      <dt><strong>-S command line option for debugging vhost
+      setup</strong></dt>
+
+      <dd>If Apache is invoked with the <code>-S</code> command
+      line option it will dump out information regarding how it
+      parsed the <code>VirtualHost</code> sections. This is useful
+      for folks trying to debug their virtual host
+      configuration.</dd>
+
+      <dt><strong>Control of HTTP methods</strong></dt>
+
+      <dd><a href="mod/core.html#limitexcept">&lt;LimitExcept&gt;
+      and &lt;/LimitExcept&gt;</a> are used to enclose a group of
+      access control directives which will then apply to any HTTP
+      access method not listed in the arguments; i.e., it is the
+      opposite of a &lt;Limit&gt; section and can be used to
+      control both standard and nonstandard/unrecognized
+      methods.</dd>
+    </dl>
+    <hr />
+
+    <h3><a id="mod" name="mod">Module Enhancements</a></h3>
+
+    <dl>
+      <dt><a href="mod/mod_negotiation.html"><strong>Improved
+      mod_negotiation</strong></a><br />
+      </dt>
+
+      <dd>The optional content negotiation (MultiViews) module has
+      been completely overhauled for Apache 1.3.4, incorporating
+      the latest HTTP/1.1 revisions and the experimental
+      Transparent Content Negotion features of RFC 2295 and RFC
+      2296.</dd>
+
+      <dt><a href="mod/mod_speling.html"><strong>NEW - Spelling
+      correction module</strong></a><br />
+      </dt>
+
+      <dd>This optional module corrects frequently occurring
+      spelling and capitalization errors in document names
+      requested from the server.</dd>
+
+      <dt><a href="mod/mod_setenvif.html"><strong>NEW - Conditional
+      setting of environment variables</strong></a><br />
+      </dt>
+
+      <dd>The addition of <a
+      href="mod/mod_setenvif.html#setenvif"><code>SetEnvIf</code></a>
+      and <a
+      href="mod/mod_setenvif.html#setenvifnocase"><code>SetEnvIfNoCase</code></a>.
+      These allow you to set environment variables for server and
+      CGI use based upon attributes of the request.</dd>
+
+      <dt><strong><a href="mod/mod_mime_magic.html">NEW - "Magic"
+      MIME-typing</a></strong></dt>
+
+      <dd>The optional <code>mod_mime_magic</code> has been added.
+      It uses "magic numbers" and other hints from a file's
+      contents to figure out what the contents are. It then uses
+      this information to set the file's media type, if it cannot
+      be determined by the file's extension.</dd>
+
+      <dt><strong><a href="mod/mod_unique_id.html">NEW - Unique
+      Request Identifiers</a></strong></dt>
+
+      <dd><a href="mod/mod_unique_id.html">mod_unique_id</a> can be
+      included to generate a unique identifier that distinguishes a
+      hit from every other hit. ("Unique" has some restrictions on
+      it.) The identifier is available in the environment variable
+      <code>UNIQUE_ID</code>.</dd>
+
+      <dt><strong>mod_proxy enhancements:</strong></dt>
+
+      <dd>
+        <ul>
+          <li>Easier and safer authentication for ftp proxy logins:
+          When no ftp user name and/or password is specified in the
+          URL, but the destination ftp server requires one, Apache
+          now returns a "[401] Authorization Required" status. This
+          status code usually makes the client browser pop up an
+          "Enter user name and password" dialog, and the request is
+          retried with the given user authentification. That is
+          slightly more secure than specifying the authentication
+          information as part of the request URL, where it could be
+          logged in plaintext by older proxy servers.</li>
+
+          <li>The new <samp>AllowCONNECT</samp> directive allows
+          configuration of the port numbers to which the proxy
+          CONNECT method may connect. That allows proxying to
+          https://some.server:8443/ which resulted in an error
+          message prior to Apache version 1.3.2.</li>
+
+          <li>The proxy now supports the HTTP/1.1 "Via:" header as
+          specified in RFC2068. The new <a
+          href="mod/mod_proxy.html#proxyvia"><code>ProxyVia</code></a>
+          directive allows switching "Via:" support off or on, or
+          suppressing outgoing "Via:" header lines altogether for
+          privacy reasons.</li>
+
+          <li>The "Max-Forwards:" TRACE header specified in
+          HTTP/1.1 is now supported. With it, you can trace the
+          path of a request along a chain of proxies (if they, too,
+          support it).</li>
+
+          <li><a
+          href="mod/mod_proxy.html#noproxy"><code>NoProxy</code></a>
+          and <a
+          href="mod/mod_proxy.html#proxydomain"><code>ProxyDomain</code></a>
+          directives added to proxy, useful for intranets.</li>
+
+          <li>New <code><a
+          href="mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
+          directive. It lets Apache adjust the URL in the
+          <tt>Location</tt> header on HTTP redirect responses.</li>
+
+          <li>Easier navigation in ftp server directory trees.</li>
+        </ul>
+      </dd>
+
+      <dt><a href="mod/mod_include.html#flowctrl"><strong>Enhanced
+      <code>mod_include</code> string
+      comparisons</strong></a><br />
+      </dt>
+
+      <dd>The string-based server-side include (SSI) flow-control
+      directives now include comparison for less-than (&lt;),
+      less-than-or-equal (&lt;=), greater-than (&gt;), and
+      greater-than-or-equal (&gt;=). Previously comparisons could
+      only be made for equality or inequality.</dd>
+
+      <dt><strong>ServerRoot relative auth filenames</strong></dt>
+
+      <dd>Auth filenames for the various authentication modules are
+      now treated as relative to the ServerRoot if they are not
+      full paths.</dd>
+
+      <dt><a href="mod/mod_autoindex.html"><strong>Enhancements to
+      directory indexing:</strong></a></dt>
+
+      <dd>
+        <ul>
+          <li><strong>Code split:</strong>The <code>mod_dir</code>
+          module has been split in two, with <a
+          href="mod/mod_dir.html">mod_dir</a> handling directory
+          index files, and <a
+          href="mod/mod_autoindex.html">mod_autoindex</a> creating
+          directory listings. Thus allowing folks to remove the
+          indexing function from critical servers.</li>
+
+          <li><strong>Sortable:</strong> Clicking on a column title
+          will now sort the listing in order by the values in that
+          column. This feature can be disabled using the
+          <code>SuppressColumnSorting</code> <a
+          href="mod/mod_autoindex.html#indexoptions">IndexOptions</a>
+          keyword.</li>
+
+          <li><a
+          href="mod/mod_autoindex.html#indexoptions:suppresshtmlpreamble">
+          <code><strong>SuppressHTMLPreamble</strong></code></a>
+          can be used if your README.html file includes its own
+          HTML header.</li>
+
+          <li>The <a
+          href="mod/mod_autoindex.html#indexoptions"><code><strong>IndexOptions</strong></code></a>
+          directive now allows the use of incremental prefixes (+/-
+          to add/remove the respective keyword feature, as was
+          already possible for the <a
+          href="mod/core.html#options">Options</a> directive) to
+          its keyword arguments. Multiple IndexOptions directives
+          applying to the same directory will now be merged.</li>
+
+          <li><a
+          href="mod/mod_autoindex.html#indexoptions:iconheight"><strong>
+          <code>IconHeight</code></strong></a> and <a
+          href="mod/mod_autoindex.html#indexoptions:iconwidth"><strong>
+          <code>IconWidth</code></strong></a> let you set height
+          and width attributes to the <code>&lt;IMG&gt;</code> tag
+          in directory listings.</li>
+
+          <li>The new <a
+          href="mod/mod_autoindex.html#indexoptions:namewidth"><strong>
+          <code>NameWidth</code></strong></a> keyword to the <a
+          href="mod/mod_autoindex.html#indexoptions">IndexOptions</a>
+          directive lets you set the number of columns for <a
+          href="mod/mod_autoindex.html#indexoptions:fancyindexing">"fancy"
+          directory listings</a>. If set to an '*' asterisk, the
+          name width will be adjusted automatically.</li>
+
+          <li>The <a
+          href="mod/mod_autoindex.html#fancyindexing"><samp>FancyIndexing</samp></a>
+          directive now correctly has the same impact as <a
+          href="mod/mod_autoindex.html#indexoptions:fancyindexing"><samp>
+          IndexOptions&nbsp;FancyIndexing</samp></a> without
+          replacing the effect of any existing
+          <samp>IndexOptions</samp> directive.</li>
+
+          <li>Starting with 1.3.15, the server will satisfy
+          directory requests with the cache controls ETag and
+          LastModified, if IndexOptions includes the <a
+          href="mod/mod_autoindex.html#indexoptions:trackmodified"><samp>TrackModified</samp></a>
+          directive. The server will not need to generate the
+          listing if the client determines the request has not
+          changed, improving performance. Due to its experimental
+          nature, this feature is not enabled by default.</li>
+        </ul>
+      </dd>
+
+      <dt><strong>Less Buffering of CGI Script Output</strong></dt>
+
+      <dd>In previous versions of Apache, the output from CGI
+      scripts would be internally buffered by the server, and
+      wouldn't be forwarded to the client until either the buffers
+      were full or the CGI script completed. As of Apache 1.3, the
+      buffer to the client is flushed any time it contains
+      something and the server is waiting for more information from
+      the script. This allows CGI script to provide partial status
+      reports during long processing operations.</dd>
+
+      <dt><strong><a href="mod/mod_alias.html">Regular Expression
+      support for <code>Alias</code> and
+      <code>Redirect</code></a></strong></dt>
+
+      <dd>New <a
+      href="mod/mod_alias.html#aliasmatch"><code>AliasMatch</code></a>,
+      <a
+      href="mod/mod_alias.html#scriptaliasmatch"><code>ScriptAliasMatch</code></a>,
+      and <a
+      href="mod/mod_alias.html#redirectmatch"><code>RedirectMatch</code></a>
+      directives allow for the use of regular expression matching.
+      Additionally, new <a
+      href="mod/core.html#directorymatch"><code>&lt;DirectoryMatch&gt;</code></a>,
+      <a
+      href="mod/core.html#locationmatch"><code>&lt;LocationMatch&gt;</code></a>,
+      and <a
+      href="mod/core.html#filesmatch"><code>&lt;FilesMatch&gt;</code></a>
+      sections provide a new syntax for regular expression
+      sectioning.</dd>
+
+      <dt><strong><a
+      href="mod/mod_info.html#addmoduleinfo"><code>AddModuleInfo</code></a>
+      directive added to <a
+      href="mod/mod_info.html">mod_info</a></strong></dt>
+
+      <dd>Allows additional information to be listed along with a
+      specified module.</dd>
+
+      <dt><strong>Absence of any <code>TransferLog</code> disables
+      logging</strong></dt>
+
+      <dd>If no <a
+      href="mod/mod_log_config.html#transferlog"><code>TransferLog</code></a>
+      directive is given then no log is written. This supports
+      co-existence with other logging modules.</dd>
+
+      <dt><strong>Ability to name logging formats</strong></dt>
+
+      <dd>The <a
+      href="mod/mod_log_config.html#logformat"><code>LogFormat</code></a>
+      directive has been enhanced to allow you to give nicknames to
+      specific logging formats. You can then use these nicknames in
+      other <code>LogFormat</code> and <a
+      href="mod/mod_log_config.html#customlog"><code>CustomLog</code></a>
+      directives, rather than having to spell out the complete log
+      format string each time.</dd>
+
+      <dt><strong>Conditional logging</strong></dt>
+
+      <dd><a
+      href="mod/mod_log_config.html#customlog-conditional">mod_log_config</a>
+      now supports logging based upon environment variables.
+      mod_log_referer and mod_log_agent are now deprecated.</dd>
+
+      <dt><strong>mod_cern_meta configurable
+      per-directory</strong></dt>
+
+      <dd><a href="mod/mod_cern_meta.html">mod_cern_meta</a> is now
+      configurable on a per-directory basis.</dd>
+
+      <dt><strong>New map types for <a
+      href="mod/mod_rewrite.html#RewriteMap"><code>RewriteMap</code></a>
+      directive</strong></dt>
+
+      <dd>The new map types `Randomized Plain Text' and `Internal
+      Function' were added to the <code>RewriteMap</code> directive
+      of mod_rewrite. They provide two new features: First, you now
+      can randomly choose a sub-value from a value which was
+      looked-up in a rewriting map (which is useful when choosing
+      between backend servers in a Reverse Proxy situation).
+      Second, you now can translate URL parts to fixed (upper or
+      lower) case (which is useful when doing mass virtual hosting
+      by the help of mod_rewrite).</dd>
+
+      <dt><strong>CIDR and Netmask access control</strong></dt>
+
+      <dd><a href="mod/mod_access.html">mod_access</a> directives
+      now support CIDR (Classless Inter-Domain Routing) style
+      prefixes, and netmasks for greater control over IP access
+      lists.</dd>
+    </dl>
+    <hr />
+
+    <h3><a id="api" name="api">API Additions and Changes</a></h3>
+
+    <p>For all those module writers and code hackers:</p>
+
+    <dl>
+      <dt><strong><code>child_init</code></strong></dt>
+
+      <dd>A new phase for Apache's API is called once per
+      "heavy-weight process," before any requests are handled. This
+      allows the module to set up anything that need to be done
+      once per processes. For example, connections to
+      databases.</dd>
+
+      <dt><strong><code>child_exit</code></strong></dt>
+
+      <dd>A new phase called once per "heavy-weight process," when
+      it is terminating. Note that it can't be called in some fatal
+      cases (such as segfaults and kill -9). The
+      <code>child_init</code> and <code>child_exit</code> functions
+      are passed a pool whose lifetime is the same as the lifetime
+      of the child (modulo completely fatal events in which Apache
+      has no hope of recovering). In contrast, the module
+      <code>init</code> function is passed a pool whose lifetime
+      ends when the parent exits or restarts.</dd>
+
+      <dt><strong><code>child_terminate</code></strong></dt>
+
+      <dd>Used in the child to indicate the child should exit after
+      finishing the current request.</dd>
+
+      <dt><strong><code>register_other_child</code></strong></dt>
+
+      <dd>See <code>http_main.h</code>. This is used in the parent
+      to register a child for monitoring. The parent will report
+      status to a supplied callback function. This allows modules
+      to create their own children which are monitored along with
+      the httpd children.</dd>
+
+      <dt><strong><code>piped_log</code></strong></dt>
+
+      <dd>See <code>http_log.h</code>. This API provides the common
+      code for implementing piped logs. In particular it implements
+      a reliable piped log on architectures supporting it
+      (<em>i.e.</em>, Unix at the moment).</dd>
+
+      <dt><strong>scoreboard format changed</strong></dt>
+
+      <dd>The scoreboard format is quite different. It is
+      considered a "private" interface in general, so it's only
+      mentioned here as an FYI.</dd>
+
+      <dt><strong><code>set_last_modified</code> split into
+      three</strong></dt>
+
+      <dd>The old function <code>set_last_modified</code> performed
+      multiple jobs including the setting of the
+      <code>Last-Modified</code> header, the <code>ETag</code>
+      header, and processing conditional requests (such as IMS).
+      These functions have been split into three functions:
+      <code>set_last_modified</code>, <code>set_etag</code>, and
+      <code>meets_conditions</code>. The field <code>mtime</code>
+      has been added to <code>request_rec</code> to facilitate
+      <code>meets_conditions</code>.</dd>
+
+      <dt><strong>New error logging function:
+      <code>ap_log_error</code></strong></dt>
+
+      <dd>All old logging functions are deprecated, we are in the
+      process of replacing them with a single function called
+      <code>ap_log_error</code>. This is still a work in
+      progress.</dd>
+
+      <dt><strong><code>set_file_slot</code> for config
+      parsing</strong></dt>
+
+      <dd>The <code>set_file_slot</code> routine provides a
+      standard routine that prepends ServerRoot to non-absolute
+      paths.</dd>
+
+      <dt><strong><code>post_read_request</code> module
+      API</strong></dt>
+
+      <dd>This request phase occurs immediately after reading the
+      request (headers), and immediately after creating an internal
+      redirect. It is most useful for setting environment variables
+      to affect future phases.</dd>
+
+      <dt><strong><code>psocket</code>, and
+      <code>popendir</code></strong></dt>
+
+      <dd>The <code>psocket</code> and <code>pclosesocket</code>
+      functions allow for race-condition free socket creation with
+      resource tracking. Similarly <code>popendir</code> and
+      <code>pclosedir</code> protect directory reading.</dd>
+
+      <dt><strong><code>is_initial_req</code></strong></dt>
+
+      <dd>Test if the request is the initial request
+      (<em>i.e.</em>, the one coming from the client).</dd>
+
+      <dt><strong><code>kill_only_once</code></strong></dt>
+
+      <dd>An option to <code>ap_spawn_child</code> functions which
+      prevents Apache from aggressively trying to kill off the
+      child.</dd>
+
+      <dt><strong><code>alloc debugging code</code></strong></dt>
+
+      <dd>Defining <code>ALLOC_DEBUG</code> provides a rudimentary
+      memory debugger which can be used on live servers with low
+      impact -- it sets all allocated and freed memory bytes to
+      0xa5. Defining <code>ALLOC_USE_MALLOC</code> will cause the
+      alloc code to use <code>malloc()</code> and
+      <code>free()</code> for each object. This is far more
+      expensive and should only be used for testing with tools such
+      as Electric Fence and Purify. See <code>main/alloc.c</code>
+      for more details.</dd>
+
+      <dt><strong><code>ap_cpystrn</code></strong></dt>
+
+      <dd>The new <code>strncpy</code> "lookalike", with slightly
+      different semantics is much faster than <code>strncpy</code>
+      because it doesn't have to zero-fill the entire buffer.</dd>
+
+      <dt><strong><code>table_addn</code>, <code>table_setn</code>,
+      <code>table_mergen</code></strong></dt>
+
+      <dd>These new functions do <strong>not</strong> call
+      <code>pstrdup</code> on their arguments. This provides for
+      big speedups. There is also some debugging support to ensure
+      code uses them properly. See <code>src/CHANGES</code> for
+      more information.</dd>
+
+      <dt><strong><code>construct_url</code></strong></dt>
+
+      <dd>The function prototype for this changed from taking a
+      <code>server_rec *</code> to taking a <code>request_rec
+      *</code>.</dd>
+
+      <dt><strong><code>get_server_name</code>,
+      <code>get_server_port</code></strong></dt>
+
+      <dd>These are wrappers which deal with the <a
+      href="mod/core.html#usecanonicalname">UseCanonicalName</a>
+      directive when retrieving the server name and port for a
+      request.</dd>
+
+      <dt><strong>Change to prototype for
+      <code>ap_bspawn_child</code> and
+      <code>ap_call_exec</code></strong></dt>
+
+      <dd>Added a <code>child_info *</code> to <code>spawn</code>
+      function (as passed to <code>ap_bspawn_child</code>) and to
+      <code>ap_call_exec</code> to allow children to work correctly
+      on Win32. We also cleaned up the nomenclature a bit,
+      replacing <code>spawn_child_err</code> with simply
+      <code>ap_spawn_child</code> and
+      <code>spawn_child_err_buff</code> with simply
+      <code>ap_bspawn_child</code>.</dd>
+
+      <dt>
+      <strong><code>ap_add_version_component()</code></strong></dt>
+
+      <dd>This API function allows for modules to add their own
+      additional server tokens which are printed on the on the
+      <code>Server:</code> header line. Previous 1.3beta versions
+      had used a <code>SERVER_SUBVERSION</code> compile-time
+      <code>#define</code> to perform this function. Whether the
+      tokens are actually displayed is controlled by the new
+      <code>ServerTokens</code> directive.</dd>
+    </dl>
+    <hr />
+
+    <h3><a id="misc" name="misc">Miscellaneous
+    Enhancements</a></h3>
+
+    <dl>
+      <dt><strong><a href="ebcdic.html">Port to EBCDIC mainframe
+      machine running BS2000/OSD</a></strong></dt>
+
+      <dd>As a premiere, this version of Apache comes with a beta
+      version of a port to a mainframe machine which uses the
+      EBCDIC character set as its native codeset (It is the SIEMENS
+      family of mainframes running the BS2000/OSD operating system
+      on a IBM/390 compatible processor. This mainframe OS nowadays
+      features a SVR4-like POSIX subsystem).</dd>
+
+      <dt><strong><a
+      href="mod/core.html#accessfilename"><code>AccessFileName</code>
+      Enhancement</a></strong></dt>
+
+      <dd>The <code>AccessFileName</code> directive can now take
+      more than one filename. This lets sites serving pages from
+      network file systems and more than one Apache web server,
+      configure access based on the server through which shared
+      pages are being served.</dd>
+
+      <dt><strong><code>HostnameLookups</code> now defaults to
+      "Off"</strong></dt>
+
+      <dd>The <a
+      href="mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
+      directive now defaults to "Off". This means that, unless
+      explicitly turned on, the server will not resolve IP
+      addresses into names. This was done to spare the Internet
+      from unnecessary DNS traffic.</dd>
+
+      <dt><strong>Double-Reverse DNS enforced</strong></dt>
+
+      <dd>The <a
+      href="mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
+      directive now supports double-reverse DNS. (Known as
+      <em>PARANOID</em> in the terminology of tcp_wrappers.) An IP
+      address passes a double-reverse DNS test if the forward map
+      of the reverse map includes the original IP. Regardless of
+      the HostnameLookups setting, <a
+      href="mod/mod_access.html">mod_access</a> access lists using
+      DNS names <strong>require</strong> all names to pass a
+      double-reverse DNS test. (Prior versions of Apache required a
+      compile-time switch to enable double-reverse DNS.)</dd>
+
+      <dt><strong>LogLevel and syslog support</strong></dt>
+
+      <dd>Apache now has <a
+      href="mod/core.html#loglevel">configurable error logging
+      levels</a> and supports <a
+      href="mod/core.html#errorlog">error logging via
+      syslogd(8)</a>.</dd>
+
+      <dt><strong>Detaching from stdin/out/err</strong></dt>
+
+      <dd>On boot Apache will now detach from stdin, stdout, and
+      stderr. It does not detach from stderr until it has
+      successfully read the config files. So you will see errors in
+      the config file. This should make it easier to start Apache
+      via rsh or crontab.</dd>
+
+      <dt><a id="y2k" name="y2k"><strong>Year-2000
+      Improvements</strong></a></dt>
+
+      <dd>The default <code>timefmt</code> string used by <a
+      href="mod/mod_include.html"><code>mod_include</code></a> has
+      been modified to display the year using four digits rather
+      than the two-digit format used previously. The <a
+      href="mod/mod_autoindex.html"><code>mod_autoindex</code></a>
+      module has also been modified to display years using four
+      digits in FancyIndexed directory listings.</dd>
+
+      <dt><strong>Common routines Moving to a Separate
+      Library</strong></dt>
+
+      <dd>There are a number of functions and routines that have
+      been developed for the Apache project that supplement or
+      supersede library routines that differ from one operating
+      system to another. While most of these are used only by the
+      Apache server itself, some are referenced by supporting
+      applications (such as <code>htdigest</code>), and these other
+      applications would fail to build because the routines were
+      built only into the server. These routines are now being
+      migrated to a separate subdirectory and library so they can
+      be used by other applications than just the server. See the
+      <code>src/ap/</code> subdirectory.</dd>
+
+      <dt><strong>New <code><a
+      href="mod/core.html#serversignature">ServerSignature</a></code>
+      directive</strong></dt>
+
+      <dd>This directive optionally adds a line containing the
+      server version and virtual host name to server-generated
+      pages (error documents, ftp directory listings, mod_info
+      output <em>etc.</em>). This makes it easier for users to tell
+      which server produced the error message, especially in a
+      proxy chain (often found in intranet environments).</dd>
+
+      <dt><strong>New <code><a
+      href="mod/core.html#usecanonicalname">UseCanonicalName</a></code>
+      directive</strong></dt>
+
+      <dd>This directive gives control over how Apache creates
+      self-referential URLs. Previously Apache would always use the
+      <a href="mod/core.html#servername">ServerName</a> and <a
+      href="mod/core.html#port">Port</a> directives to construct a
+      "canonical" name for the server. With <code>UseCanonicalName
+      off</code> Apache will use the hostname and port supplied by
+      the client, if available.</dd>
+
+      <dt><strong><code>SERVER_VERSION</code> definition
+      abstracted, and server build date added</strong></dt>
+
+      <dd>In earlier versions, the Apache server version was
+      available to modules through the <code>#define</code>d value
+      for <code>SERVER_VERSION</code>. In order to keep this value
+      consistent when modules and the core server are compiled at
+      different times, this information is now available through
+      the core API routine <code>ap_get_server_version()</code>.
+      The use of the <code>SERVER_VERSION</code> symbol is
+      deprecated. Also, <code>ap_get_server_built()</code> returns
+      a string representing the time the core server was
+      linked.</dd>
+
+      <dt><a href="mod/core.html#servertokens"><strong>Including
+      the operating system in the server
+      identity</strong></a><br />
+      </dt>
+
+      <dd>A new directive, <code>ServerTokens</code>, allows the
+      Webmaster to change the value of the <code>Server</code>
+      response header field which is sent back to clients. The
+      <code>ServerTokens</code> directive controls whether the
+      server will include a non-specific note in the server
+      identity about the type of operating system on which the
+      server is running as well as included module information. As
+      of Apache 1.3, this additional information is included by
+      default.<br />
+      <br />
+      </dd>
+
+      <dt><strong>Support for Netscape style SHA1 encrypted
+      passwords</strong><br />
+      </dt>
+
+      <dd>To facilitate migration or integration of BasicAuth
+      password schemes where the password is encrypted using SHA1
+      (as opposed to Apache's built in MD5 and/or the OS specific
+      crypt(3) function ) passwords prefixed with with
+      <code>{SHA1}</code> are taken as Base64 encoded SHA1
+      passwords. More information and some utilities to convert
+      Netscape ldap/ldif entries can be found in support/SHA1.</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/new_features_1_3.html.html b/htdocs/manual/new_features_1_3.html.html
new file mode 100644 (file)
index 0000000..87669a1
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="new_features_1_3.html.en" -->
+
diff --git a/htdocs/manual/new_features_1_3.html.ja.jis b/htdocs/manual/new_features_1_3.html.ja.jis
new file mode 100644 (file)
index 0000000..23ffd49
--- /dev/null
@@ -0,0 +1,890 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>New features with Apache 1.3</title>
+
+  </head>
+  <!-- English revision: 1.91 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache 1.3 \e$B$N?75!G=$N35MW\e(B</h1>
+
+    <p>\e$B:#2s$N%j%j!<%9$G$N?7$7$$FCD'$H$7$F!"\e(BApache
+    \e$B$N5!G=@-$N3HD%$K$D$$$F$3$3$G$O@bL@$7$^$9!#\e(B
+    \e$B%3%"ItJ,$N%3!<%I$,Bg$-$/JQ$o$j$^$7$?$N$G!"=i4|$N%P!<%8%g%s$N\e(B Apache
+    (\e$B$*$h$S\e(B NCSA httpd) \e$B$,<u$1IU$1$?$b$N$G$b!"?7$7$$\e(B Apache
+    \e$B$G$O<u$1$D$1$J$$$b$N$,$"$j$^$9!#$J$s$i$+$NLdBj$,$"$k>l9g$K$O\e(B
+    <a href="misc/compat_notes.html">\e$B8_49@-$K4X$7$F\e(B</a>
+    \e$B$G%A%'%C%/$7$F$/$@$5$$!#\e(B</p>
+
+    <p>Apache 1.2 \e$B$+$i$N%"%C%W%0%l!<%I$O\e(B<a href="upgrading_to_1_3.html"
+    >\e$B!V%"%C%W%0%l!<%I$K4X$7$F!W\e(B</a>\e$B$rFI$`$HNI$$$G$7$g$&!#\e(B</p>
+
+    <p>\e$B3HD%\e(B: <a href="#core">\e$B%3%"\e(B</a> | <a
+    href="#performance">\e$B%Q%U%)!<%^%s%9\e(B</a> | <a
+    href="#config">\e$B@_Dj\e(B</a> | <a href="#mod">\e$B%b%8%e!<%k\e(B</a> |
+    <a href="#api">API</a> | <a href="#misc">\e$B$=$NB>\e(B</a></p>
+    <hr />
+
+    <h2><a id="core" name="core">\e$B%3%"$N3HD%\e(B:</a></h2>
+
+    <dl>
+      <dt><strong><a href="dso.html">Dynamic Shared Object (DSO)
+      \e$B$N%5%]!<%H\e(B</a></strong></dt>
+
+      <dd>\e$B<B9T;~$K\e(BApache \e$B$N%b%8%e!<%k$r%m!<%I$9$k$3$H$,2DG=$K$J$j$^$7$?!#\e(B
+      \e$B$3$l$K$h$j!"%b%8%e!<%k$OI,MW$J$H$-$@$1%5!<%P$N%a%b%jNN0h$K\e(B
+      \e$BFI$_$3$^$l$k$3$H$K$J$j!"\e(BApache
+      \e$BA4BN$N%a%b%j$N;HMQ$r$+$J$j8:$i$9$3$H$K$J$j$^$9!#\e(BDSO \e$B$O8=:_\e(B
+      FreeBSD, OpenBSD, NetBSD, Linux, Solaris, SunOS, Digital UNIX,
+      IRIX, HP/UX, UnixWare, NetWare, AIX, ReliantUnix, \e$B=c?h$J\e(B SVR4
+      \e$B%W%i%C%H%U%)!<%`$G%5%]!<%H$5$l$F$$$^$9!#\e(B</dd>
+
+      <dt><strong><a href="windows.html">Windows NT/95 \e$B$N%5%]!<%H\e(B</a
+      ></strong></dt>
+
+      <dd>Apache \e$B$O\e(B Windows NT \e$B$H\e(B Windows 2000 \e$B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#\e(B
+      Windows 95, 98, ME \e$B$G$b\e(B Apache \e$B$OF0:n$9$k$+$b$7$l$^$;$s$,!"\e(B
+      \e$B$3$l$i$N%3%s%7%e!<%^@=IJ$N4D6-$G$N;HMQ$O?d>)$7$F$$$^$;$s!#\e(B
+      \e$B$=$7$F!"$=$N;HMQ$K$D$$$F$N>uBV$O!"<B83E*$J$b$N$H$7$?$^$^$G$9!#\e(B
+      Windows \e$B>e$GF0:n$7$F$$$k\e(B 1.3.15 \e$B$h$jA0$N$9$Y$F$N%P!<%8%g%s$N\e(B
+      Apache \e$B$O!"%Y!<%?HGIJ<A$N%j%j!<%9$@$H9M$($F$/$@$5$$!#\e(B</dd>
+
+      <dt><strong><a href="cygwin.html">Cygwin
+      \e$B$N%5%]!<%H\e(B</a></strong></dt>
+      <dd>Apache \e$B$O\e(B Windows NT \e$B$H\e(B Windows 2000 \e$B>e$N\e(B Cygwin
+      \e$B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#0BDj@-$d?.Mj@-$NLL$+$i!"\e(B
+      <a href="windows.html">Windows</a> \e$B<+BN$HJ;$;$F\e(B Cygwin
+      \e$B$N%P!<%8%g%s$r9MN8$9$Y$-$G$9!#\e(B</dd>
+
+      <dt><strong><a href="netware.html">NetWare 5.x
+      \e$B$N%5%]!<%H\e(B</a></strong></dt>
+
+      <dd>Apache \e$B$O\e(B NetWare 5.x
+      \e$B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#\e(B</dd>
+
+      <dt><strong><a href="sourcereorg.html"
+      >\e$B%=!<%9$N:F9=@.\e(B</a></strong></dt>
+
+      <dd>Apache \e$B$N%=!<%9%U%!%$%k$O:F9=@.$5$l$^$7$?!#\e(BApache
+      \e$B$N%f!<%6$K$H$C$F<gMW$JJQ99E@$O\e(B <code>Configuration</code>
+      \e$B$K$*$1$k\e(B "Module" \e$B9T$,\e(B "AddModule" \e$B$GCV$-49$o$j!"\e(B
+      \e$B9=J8$,>/$7JQ$o$C$?$3$H$G$9!#%b%8%e!<%k$N:n<T$K$H$C$F$O!"\e(B
+      \e$B%f!<%6$,%b%8%e!<%k$rMF0W$KDI2C$G$-$k$h$&$K$9$k$?$a$NJQ99$,\e(B
+      \e$B$$$/$D$+$J$5$l$F$$$^$9!#\e(B</dd>
+
+      <dt><strong>\e$B?.Mj@-$N$"$k%Q%$%W$5$l$?%m%0\e(B</strong></dt>
+
+      <dd>\e$B$[$H$s$I$9$Y$F$N\e(B Unix \e$B%"!<%-%F%/%A%c$G\e(B Apache
+      \e$B$O!V?.Mj@-$N$"$k!W%Q%$%W$5$l$?%m%0$r\e(B <a
+      href="mod/mod_log_config.html">mod_log_config</a> \e$B$G<BAu$7$F$$$^$9!#\e(B
+      \e$B$3$3$G!"?.Mj@-$N$"$k$H$O!"%m%0$r<}=8$7$F$$$k;R%W%m%;%9$,\e(B
+      \e$B2?$i$+$NM}M3$G;`$s$@$H$-$K!"\e(BApache \e$B$O%5!<%PA4BN$r:F5/F0$9$k$3$H$J$/!"\e(B
+      \e$B$=$3$+$i2sI|$7$F%m%0MQ%W%m%;%9$r:F5/F0$9$k$3$H$,$G$-$k$H$$$&0UL#$G$9!#\e(B
+      \e$B99$K!"%m%0$r<}=8$7$F$$$k;R%W%m%;%9$,\e(B "\e$B5M$^$C$F\e(B" \e$B$7$^$$!"\e(B
+      \e$B%Q%$%W$r==J,$J2s?tFI$s$G$$$J$$$H$-$b\e(B Apache \e$B$O$=$l$r:F5/F0$7$^$9!#\e(B
+      \e$B$3$l$G!"%m%0$N%m!<%F!<%7%g%s$d%R%C%H$NA*JL$r$7$?$j!"J#?t$N\e(B vhost
+      (\e$BLuCm\e(B: \e$B%P!<%A%c%k%[%9%H\e(B) \e$B$N%m%0$rJL!9$K%j%"%k%?%$%`$GJ,$1$?$j!"\e(B
+      \e$B$=$N>l$G$NHsF14|$N\e(B DNS \e$B2r7h$r$7$?$j$9$k5!2q$,$G$-$^$9!#\e(B</dd>
+    </dl>
+    <hr />
+
+    <h2><a id="performance" name="performance">\e$B@-G=$N2~A1\e(B</a></h2>
+
+
+    <ul>
+      <li>IP \e$B$K4p$E$$$?%P!<%A%c%k%[%9%H$O%O%C%7%e%F!<%V%k$rMQ$$$FD4$Y$i$l$^$9!#\e(B</li>
+
+      <li>&lt;Directory&gt; \e$B2r@O$NB.EY8~>e!#\e(B</li>
+
+      <li>\e$B@EE*$J%j%/%(%9%H$KBP$9$k%/%j%F%#%+%k%Q%9$N%7%9%F%`%3!<%k\e(B
+      \e$B?t$,8:$j$^$7$?!#$3$l$ODL>o$9$Y$F$N%j%/%(%9%H$GLrN)$A$^$9!#\e(B
+      (\e$B$h$/%A%e!<%s$5$l$?@_Dj$K$*$$$F!"\e(B1.2 \e$B$G$O@EE*$J%j%/%(%9%H$G%7%9%F%`%3!<%k$,\e(B
+      45 \e$B$"$C$?$N$KBP$7$F!"\e(B1.3 \e$B$G$O\e(B 22 \e$B$G$9\e(B)\e$B!#\e(B</li>
+
+      <li>\e$B%9%k!<%W%C%H8~>e$N$?$a$K\e(B<a 
+      href="mod/mod_proxy.html#proxyreceivebuffersize">
+      <code>ProxyReceiveBufferSize</code></a> \e$B%G%#%l%/%F%#%V$O!"\e(B
+      <code>mod_proxy</code> \e$B$+$i$N30It@\B3$KBP$7$F!"\e(B
+      \e$B$h$jBg$-$J%M%C%H%o!<%/%P%C%U%!$rM?$($^$9!#\e(B</li>
+
+      <li>\e$BJ#?t$N=q$-9~$_$r0l$D$N%7%9%F%`%3!<%k$G$9$^$;$k$?$a$KDc%l%Y%k\e(B
+      I/O \e$B$N%k!<%A%s$G$O\e(B (\e$B;HMQ2DG=$G$"$l$P\e(B) <code>writev</code>
+      \e$B$r;H$&$h$&$K$J$C$F$$$^$9!#$3$N%k!<%A%s$G$O%a%b%j$N%P%C%U%!$X$N\e(B
+      \e$B%3%T!<$b$G$-$k$@$1Hr$1$F$$$^$9!#$=$N7k2L!"Bg$-$J%U%!%$%k$NE>Aw$K;H$o$l$k\e(B
+      CPU \e$B;~4V$,>/$J$/$J$j$^$9!#\e(B</li>
+
+      <li>\e$B@EE*$J%j%/%(%9%H$O\e(B <code>mmap</code> \e$B$rMQ$$$F=hM}$5$l$^$9!#\e(B
+      \e$B$3$l$G!"%P%$%H$O%+!<%M%k$K$h$j%G%#%9%/$N%P%C%U%!$+$i%M%C%H%o!<%/$N\e(B
+      \e$B%P%C%U%!$XD>@\%3%T!<$5$l$k$@$1$K$J$j$^$9!#%W%m%0%i%`$O!"\e(B
+      \e$B%P%$%H$N$"$A$3$A$X$N%3%T!<$r$7$^$;$s!#\e(B(\e$B;HMQ2DG=$+$D%F%9%H\e(B
+      \e$B$5$l$F$$$k$H$-$N$_!#\e(B) \e$B$=$l$O\e(B CPU \e$B;~4V$r8:>/$5$;$F$7$^$$$^$9!#\e(B</li>
+
+      <li>\e$BIi2Y$,5^7c$KA}2C$7$?$H$-!"%5!<%P$OB.$/;R%W%m%;%9$r5/F0$7$F!"\e(B
+      \e$BAGAa$/E,1~$7$^$9!#\e(B</li>
+
+      <li>\e$B%b%8%e!<%k$r%G%#%9%Q%C%A$9$k%3!<%I$O\e(B API
+      \e$B$NFCDj$NItJ,$r<BAu$7$J$$%b%8%e!<%k$r7+$jJV$7%9%-%C%W\e(B
+      \e$B$9$k$N$rHr$1$k$h$&:GE,2=$5$l$F$$$^$9!#\e(B(\e$B%G%U%)%k%H$N%b%8%e!<%k\e(B
+      \e$B$rAH9g$;$?%5!<%P$N%W%m%U%!%$%k$G$O!"$3$N%9%-%C%W$G\e(B CPU \e$B;~4V$N\e(B
+      5% \e$B$r;HMQ$7$F$$$^$7$?!#\e(B)</li>
+
+      <li>Unix \e$B$N%9%3%"%\!<%I$N4IM}%3!<%I$r:F9=@.$7$^$7$?!#\e(B
+      \e$B$3$l$K$h$j!"B?$/$N>l9g$G;R%W%m%;%9$N?t$r?t$($k;~4V$,C;$/$J$j$^$7$?!#\e(B
+      \e$B0JA0$O3F%R%C%H$KBP$7$F%9%-%c%s$,<B9T$5$l$F$$$^$7$?$,!":#$O\e(B 1
+      \e$BIC$K\e(B 1 \e$B2s<B9T$5$l$^$9!#B?$/$N;R%W%m%;%9$N$"$kIi2Y$N9b$$%5!<%P$G$O!"\e(B
+      \e$B$=$N0c$$$,82Cx$@$H;W$$$^$9!#\e(B</li>
+
+      <li>\e$B?7$7$$%7%j%"%i%$%:$NJ}K!$rA*Br$7$?$3$H$G\e(B Linux \e$B$H\e(B IRIX
+      \e$B$G$N@-G=$,2~A1$5$l$^$7$?!#\e(B</li>
+
+      <li><code><a
+      href="mod/mod_log_config.html">mod_log_config</a></code> \e$B$O%3%s%Q%$%k;~$K\e(B
+      \e$B%P%C%U%!$X=q$-9~$_$r$9$k$h$&$K@_Dj$G$-$k$h$&$K$J$j$^$7$?!#\e(B</li>
+
+      <li><code>strncpy()</code> \e$B$r7k2LA4BN$r\e(B 0 \e$B$GKd$a$kI,MW$N$J$$\e(B
+      <code>ap_cpystrn()</code> \e$B$GCV$-49$($^$7$?!#$3$l$O\e(B
+      <code>mod_include</code> \e$B$NB.EY$K7`E*$J8z2L$,$"$j$^$9!#\e(B
+      </li>
+
+      <li>\e$BFbIt$N\e(B "table" API (\e$B%-!<\e(B/\e$BCM\e(B \e$B$NJ8;zNs$NBP$rJ];}$9$k$N$K;H$o$l$F$$$^$9\e(B)
+      \e$B$X$NDI2C$K$h$j!"B?$/$N>u67$G:GBg\e(B 20% \e$B$N@-G=$N2~A1$r$b$?$i$9$h$&$K\e(B
+      \e$B$J$j$^$7$?!#\e(B</li>
+    </ul>
+
+    <p>\e$B>\$7$$>pJs$O\e(B<a href="misc/perf-tuning.html"
+    >\e$B@-G=$K$D$$$F$N?7$7$$%I%-%e%a%s%H\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="config" name="config">\e$B@_Dj$N3HD%\e(B</a></h2>
+
+
+    <dl>
+      <dt><strong>\e$B%5!<%P$N@_Dj%U%!%$%k$N0l852=\e(B</strong></dt>
+
+      <dd><em>(Apache 1.3.4)</em> \e$B;0$D$N%5!<%P@_Dj%U%!%$%k\e(B
+      (<samp>httpd.conf</samp>, <samp>srm.conf</samp>, 
+      <samp>access.conf</samp>) \e$B$,\e(B <samp>httpd.conf</samp>
+      \e$B%U%!%$%k0l$D$K$^$H$a$i$l$^$7$?!#\e(B<samp>srm.conf</samp> \e$B$H\e(B
+      <samp>access.conf</samp> \e$B%U%!%$%k$O!"%&%'%V%^%9%?!<$,\e(B
+      <samp>httpd.conf</samp> \e$B$r8+$k$h$&%3%a%s%H$,$"$k$@$1$G!"\e(B
+      \e$B8e$O6u$K$J$C$F$$$^$9!#\e(B
+      \e$B99$K!"$^$H$a$i$l$?\e(B <samp>httpd.conf</samp> \e$B%U%!%$%k$G$O!"\e(B
+      \e$B%G%#%l%/%F%#%V\e(B
+      \e$B$,$h$jD>46E*$G0UL#$N$"$k=gHV$K$J$k$h$&$K:F9=@.$5$l$^$7$?!#\e(B</dd>
+
+      <dt><strong>\e$B@_Dj%U%!%$%k$G$N7QB3$7$?9T\e(B</strong></dt>
+
+      <dd>\e$B@_Dj%U%!%$%k$K$*$1$k%G%#%l%/%F%#%V$N9T$O\e(B Unix
+      \e$B$N7QB39T$r07$&DL>o$NJ}K!!"$9$J$o$A\e(B '\'
+      \e$B$r$=$N9T$N6uGr0J30$N:G8e$NJ8;z$H$7$FCV$/$3$H$G!"\e(B
+      \e$B<!$N9T$r$D$J$07A<0$rMQ$$$F!"\e(B
+      \e$BJ#?t$N9T$KJ,$1$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#\e(B</dd>
+
+      <dt><strong>Apache Autoconf-style Interface
+      (APACI)</strong></dt>
+
+      <dd>Apache 1.3 \e$B$K$J$k$^$G$O!"\e(B Apache
+      \e$B%Q%C%1!<%8A4It$rE83+$7$?$i$9$0$K!"%S%k%I$7$F%$%s%9%H!<%k\e(B
+      \e$B$9$k$h$&$J%P%C%AE*<j=g$ODs6!$5$l$F$$$^$;$s$G$7$?!#\e(B
+      \e$B$7$+$7!"%H%C%W%G%#%l%/%H%j$K$"$k\e(B <code>configure</code>
+      \e$B%9%/%j%W%H$H!"$=$l$KBP1~$9$k%H%C%W%G%#%l%/%H%j$N\e(B
+      <code>Makefile.tmpl</code> \e$B%U%!%$%k$G!"$=$l$,<B8=$5$l$^$7$?!#\e(B
+      \e$B$3$NL\E*$O!"\e(BGNU \e$B$N\e(B Autoconf \e$B7A<0$N%U%m%s%H%(%s%I$rDs6!$9$k$3$H$G$9!#\e(B
+      \e$B$=$7$F!"$3$l$^$G$N\e(B <code>src/Configure</code> \e$B4XO"MWAG$N%P%C%A=hM}$H!"\e(B
+      GNU \e$BN.$N%G%#%l%/%H%j9=@.$G$N%Q%C%1!<%8%$%s%9%H!<%k$NN>J}$,2DG=$K$J$j$^$9!#\e(B
+      \e$B8E$$@_DjJ}K!$G2DG=$@$C$?$b$N%*%W%7%g%s$9$Y$F$K2C$($F!"\e(BApache
+      \e$B$r=@Fp$K%+%9%?%^%$%:$9$k$?$a$N$?$/$5$s$N?7$7$$%*%W%7%g%s$,\e(B
+      \e$B;HMQ2DG=$G$9!#\e(B<br />
+       <strong>\e$BCm0U\e(B:</strong> \e$B%G%U%)%k%H$N%$%s%9%H!<%k$N9=@.$O\e(B Apache
+      1.3.4 \e$B$GJQ99$5$l$^$7$?!#>\:Y$K$D$$$F$O\e(B <code>README.configure</code>
+      \e$B$H\e(B <code>INSTALL</code> \e$B%U%!%$%k$r;2>H$7$F$/$@$5$$!#\e(B</dd>
+
+      <dt><strong>APache eXtenSion (APXS)
+      \e$B%5%]!<%H%D!<%k\e(B</strong></dt>
+
+      <dd>Apache \e$B$O<B9T;~$K\e(B dynamic shared object (DSO) \e$B%U%!%$%k$+$i\e(B
+      \e$B%b%8%e!<%k$r%m!<%I$9$k$3$H$r40A4$K%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#\e(B
+      \e$B$=$3$G!"\e(BDSO \e$B$K4p$E$$$?%b%8%e!<%k$r\e(B Apache \e$B$N%=!<%9$H$OJL$N>l=j$G\e(B
+      \e$B%S%k%I!"%$%s%9%H!<%k!"%"%/%F%#%V2=$r9T$J$&?7$7$$%5%]!<%H%D!<%k\e(B 
+      <code>apxs</code> \e$B$,:n@.$5$l$^$7$?!#$3$l$K$h$j!"%W%i%C%H%U%)!<%`\e(B
+      \e$B$K0MB8$7$?\e(B DSO \e$B%S%k%IMQ$N%3%^%s%I$O%f!<%6$+$i40A4$K1#$5$l!"\e(BApache
+      \e$B$N%=!<%9%D%j!<$N30$G%b%8%e!<%k$r%S%k%I$9$k$3$H$,MF0W$K$J$C$F$$$^$9!#\e(B
+      \e$B$3$l$rC#@.$9$k$?$a$K!"\e(BAPACI \e$B$O\e(B Apache \e$B$N\e(B C \e$B$N%X%C%@%U%!%$%k$r\e(B
+      <code>apxs</code> \e$B$H0l=o$K%$%s%9%H!<%k$7$^$9!#\e(B</dd>
+
+      <dt><a href="install.html#installing"><strong>Apache
+      \e$B$N%G%U%)%k%H%G%#%l%/%H%j%Q%9$r\e(B <code>/usr/local/apache/</code>
+      \e$B$XJQ99\e(B</strong></a><br />
+      </dt>
+
+      <dd>Apache \e$B$N%G%U%)%k%H$N\e(B ServerRoot \e$B%G%#%l%/%H%j$,!"\e(BNCSA \e$B8_49$N\e(B
+      <code>/usr/local/etc/httpd/</code>\e$B$+$i\e(B
+      <code>/usr/local/apache/</code> \e$B$KJQ99$5$l$^$7$?!#\e(B
+      \e$B$3$l$O%G%U%)%k%H$N@_Dj\e(B (\e$B$H%I%-%e%a%s%H\e(B) \e$B$NJQ99$@$1$G$9!#$b$A$m$s!"\e(B
+      Apache \e$B$r5/F0$9$k$H$-$K\e(B <a href="invoking.html">-d
+      <em>ServerRoot</em> \e$B$H\e(B -f <em>httpd.conf</em></a>
+      \e$B$r;XDj$9$k$3$H$GJQ99$9$k$3$H$,$G$-$^$9!#\e(B</dd>
+
+      <dt><strong>HTTP/1.1
+      \e$B7A<0$N%P!<%A%c%k%[%9%H$N2~A1\e(B</strong></dt>
+
+      <dd><a
+      href="mod/core.html#namevirtualhost"><code>NameVirtualHost</code></a>
+      \e$B$H$$$&?7$7$$%G%#%l%/%F%#%V$r;HMQ$7$F\e(B IP \e$B%"%I%l%9\e(B:\e$B%]!<%H\e(B
+      \e$B$NBP$r;XDj$9$k$3$H$G!"\e(BHTTP/1.1 \e$B7A<0$N%P!<%A%c%k%[%9%H$r<B8=$7$^$9!#\e(B
+      \e$B$3$l$O%/%i%$%"%s%H$+$i$N\e(B <code>Host:</code> \e$B%X%C%@$K4p$E$/\e(B
+      \e$B%P!<%A%c%k%[%9%H$G$9!#0JA0$O$3$N%"%I%l%9$O0EL[$N$&$A$K%^%7%s$N\e(B
+      "\e$B%a%$%s%"%I%l%9\e(B" \e$B$HF1$8$K$7$F$$$^$7$?$,!"$3$l$O?tB?$/$NLdBj$r0z$-5/$3$7!"\e(B
+      \e$B$^$?5!G=$b==J,$G$O$"$j$^$;$s$G$7$?!#@_Dj$N>\:Y$K$D$$$O\e(B
+      <a href="vhosts/">\e$B!V\e(BApache \e$B%P!<%A%c%k%[%9%H%I%-%e%a%s%H!W\e(B</a>
+      \e$B$r;2>H$7$F$/$@$5$$!#\e(B</dd>
+
+      <dt><strong><code>Include</code> \e$B%G%#%l%/%F%#%V\e(B</strong></dt>
+
+      <dd>\e$B@_Dj%U%!%$%k$N%Q!<%9$NESCf$G\e(B <a
+      href="mod/core.html#include"><code>Include</code></a>
+      \e$B%G%#%l%/%F%#%V$K=P2q$&$H!"\e(B
+      \e$BD>$A$KB>$N@_Dj%U%!%$%k$r$=$N>l=j$KA^F~$7$^$9!#\e(B</dd>
+
+      <dt><strong>\e$B%P!<%A%c%k%[%9%H$N@_Dj$N%G%P%C%0$N$?$a$N\e(B -S
+      \e$B%3%^%s%I%i%$%s%*%W%7%g%s\e(B</strong></dt>
+
+      <dd>\e$B%3%^%s%I%i%$%s%*%W%7%g%s\e(B <code>-S</code> \e$B$rIU$1$F\e(B Apache
+      \e$B$r5/F0$9$k$H!"\e(B<code>VirtualHost</code>
+      \e$B$r$I$N$h$&$K%Q!<%9$7$?$+$H$$$&>pJs$rI=<($7$^$9!#\e(B
+      \e$B$3$l$O%P!<%A%c%k%[%9%H$N@_Dj$r%G%P%C%0$7$h$&$H$9$k>l9g$KJXMx$G$9!#\e(B
+      </dd>
+
+      <dt><strong>HTTP \e$B%a%C%=%I$N@)8f\e(B</strong></dt>
+
+      <dd><a href="mod/core.html#limitexcept">&lt;LimitExcept&gt;
+      \e$B$H\e(B &lt;/LimitExcept&gt;</a> \e$B$O%"%/%;%9@)8fL?Na$N%0%k!<%W$r0O$_!"\e(B
+      \e$B0z?t$H$7$F;XDj$7$F$$$J$$\e(B HTTP
+      \e$B%"%/%;%9%a%=%C%I$K$D$$$F$=$N%"%/%;%9@)8fL?Na$,E,MQ$5$l$^$9!#\e(B
+      \e$B$9$J$o$A!"$3$l$O\e(B &lt;Limit&gt; \e$B%;%/%7%g%s$N5U$G!"\e(B
+      \e$BI8=`$N%a%=%C%I$HHsI8=`$J$$$7$OG'<1$G$-$J$$\e(B
+      \e$B%a%=%C%I$NN>J}$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#\e(B</dd>
+    </dl>
+    <hr />
+
+    <h3><a id="mod" name="mod">\e$B%b%8%e!<%k$N3HD%\e(B</a></h3>
+
+    <dl>
+      <dt><a href="mod/mod_negotiation.html"><strong>mod_negotiation
+      \e$B$N2~A1\e(B</strong></a><br />
+      </dt>
+
+      <dd>\e$B%*%W%7%g%J%k$N%3%s%F%s%H%M%4%7%(!<%7%g%s\e(B (MultiViews)
+      \e$B%b%8%e!<%k$,\e(B Apache 1.3.4 \e$B$GA4BNE*$K=$@5$5$l!":G?7$N\e(B HTTP/1.1
+      \e$B2~D{HG$H<B83E*$K\e(B RFC 2295 \e$B$H\e(B RFC 2296 \e$B$N\e(B Transparent Content
+      Negotiation \e$B5!G=$,DI2C$5$l$^$7$?!#\e(B
+      </dd>
+
+      <dt><a href="mod/mod_speling.html"><strong>NEW -
+      \e$BDV$j=$@5%b%8%e!<%k\e(B (\e$BLuCm\e(B: mod_speling)</strong></a><br />
+      </dt>
+
+      <dd>\e$B$3$N%*%W%7%g%J%k$J%b%8%e!<%k$O!"%5!<%P$+$iMW5a$5$l$?\e(B
+      \e$B%I%-%e%a%s%H$N%Q%9L>$G$7$P$7$P8+$i$l$kDV$j$dBgJ8;z>.J8;z$N\e(B
+      \e$B4V0c$$$r=$@5$7$^$9!#\e(B</dd>
+
+      <dt><a href="mod/mod_setenvif.html"><strong>NEW -
+      \e$B>r7oIU$-4D6-JQ?t$N@_Dj\e(B (\e$BLuCm\e(B: mod_setenvif)</strong></a><br />
+      </dt>
+
+      <dd><a
+      href="mod/mod_setenvif.html#setenvif"><code>SetEnvIf</code></a>
+      \e$B%G%#%l%/%F%#%V$H\e(B <a href="mod/mod_setenvif.html#setenvifnocase">
+      <code>SetEnvIfNoCase</code></a> \e$B%G%#%l%/%F%#%V$,DI2C$5$l$^$7$?!#\e(B
+      \e$B$3$l$K$h$j!"%j%/%(%9%H$NB0@-$K1~$8$F%5!<%P$H\e(B CGI
+      \e$B$N4D6-JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B</dd>
+
+      <dt><strong><a href="mod/mod_mime_magic.html">NEW - "Magic"
+      MIME \e$B%?%$%W\e(B (\e$BLuCm\e(B: mod-mime_magic)</a></strong></dt>
+
+      <dd>\e$B%*%W%7%g%J%k$J\e(B <code>mod_mime_magic</code> \e$B$,DI2C$5$l$^$7$?!#\e(B
+      \e$B$3$N%b%8%e!<%k$O!"\e(B"\e$B%^%8%C%/%J%s%P!<\e(B" \e$B$d%U%!%$%k$NFbMF$+$i\e(B
+      \e$BF@$i$l$k>pJs$r;HMQ$7$F!"BP>]$H$J$k%3%s%F%s%D$NB0@-$rD4$Y$^$9!#\e(B
+      \e$B$3$N>pJs$O!"%U%!%$%k$N3HD%;R$+$i$=$N%U%!%$%k$N%a%G%#%"%?%$%W$r\e(B
+      \e$B7hDj$G$-$J$$>l9g$K;HMQ$5$l$^$9!#\e(B</dd>
+
+      <dt><strong><a href="mod/mod_unique_id.html">NEW -
+      \e$B0l0U$K<1JL2DG=$J\e(B ID (\e$BLuCm\e(B: mod_unique_id)</a></strong></dt>
+
+      <dd><a href="mod/mod_unique_id.html">mod_unique_id</a>
+      mod_unique_id \e$B$rAH$_9~$`$3$H$G!"$"$k%R%C%H$HB>$N%R%C%H$H$r6hJL$9$k\e(B
+      \e$B%f%K!<%/$J<1JL;R$r@8@.$9$k$h$&$K$J$j$^$9\e(B (\e$B$3$3$G$N\e(B \e$B!V%f%K!<%/$J!W\e(B
+      \e$B$K$O$$$/$D$+@)8B$,$"$j$^$9!#\e(B) \e$B$=$N<1JL;R$O!"4D6-JQ?t\e(B
+      <code>UNIQUE_ID</code> \e$B$H$7$F;2>H$9$k$3$H$,$G$-$^$9!#\e(B</dd>
+
+      <dt><strong>mod_proxy \e$B$N3HD%\e(B:</strong></dt>
+
+      <dd>
+        <ul>
+          <li>ftp proxy \e$B$N%m%0%$%s$G$N$h$j4JC1$+$D0BA4$JG'>Z\e(B:\e$B@\B3@h$N\e(B
+          ftp \e$B%5!<%P$,MW5a$7$F$$$k$N$K!"\e(BURL \e$B$H$7$F\e(B ftp \e$B$K%f!<%6L>$H\e(B
+          \e$B%Q%9%o!<%I$,;XDj$5$l$F$$$J$$>l9g!"\e(BApache \e$B$O\e(B "[401] Authorization
+          Required" \e$B%9%F!<%?%9$rJV$9$h$&$K$J$j$^$7$?!#$3$N%9%F!<%?%9%3!<%I$r\e(B
+          \e$B%/%i%$%"%s%H$,<u$1<h$k$H!"DL>o$O!V%f!<%6L>$H%Q%9%o!<%I$rF~NO\e(B
+          \e$B$7$F$/$@$5$$!W$H$$$&%@%$%"%m%0$rI=<($7!"$=$3$GF~NO$5$l$?\e(B
+          \e$B%f!<%6G'>Z$rMQ$$$?%j%/%(%9%H$,:F$S9T$J$o$l$^$9!#$3$&$9$k$3$H$G!"\e(B
+          \e$B%j%/%(%9%H\e(B URL \e$B$KG'>Z>pJs$r4^$^$;$F;XDj$9$kJ}K!\e(B (\e$B8E$$\e(B proxy
+          \e$B%5!<%P$G$OJ?J8$G%m%0$K5-O?$5$l$F$7$^$&2DG=@-$,$"$j$^$9\e(B)
+          \e$B$h$j$b<c430BA4$K$J$C$F$$$^$9!#\e(B</li>
+
+          <li>\e$B?75,$N\e(B <samp>AllowCONNECT</samp> \e$B%G%#%l%/%F%#%V$K$h$j!"\e(Bproxy
+          CONNECT \e$B%a%=%C%I$,@\B32DG=$J%]!<%H$,;XDj$G$-$k$h$&$K$J$j$^$7$?!#\e(B
+          \e$B$3$l$K$h$j!"\e(BApache 1.3.2 \e$B0JA0$G$O%(%i!<%a%C%;!<%8$,JV$5$l$F$$$?\e(B
+          https://some.server:8443/ \e$B$K$D$$$F\e(B proxy
+          \e$B$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B</li>
+
+          <li>RFC2068 \e$B$G;XDj$5$l$F$$$k\e(B HTTP/1.1 \e$B$N\e(B "Via:" \e$B%X%C%@$r\e(B
+          \e$B%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#?75,$N\e(B <a
+          href="mod/mod_proxy.html#proxyvia"><code>ProxyVia</code></a>
+          \e$B%G%#%l%/%F%#%V$G\e(B "Via:" \e$B$N%5%]!<%H$N%*%s\e(B/\e$B%*%U$r@Z$jBX$($k$3$H$,$G$-$^$9!#\e(B
+          \e$B$^$?!"%W%i%$%P%7!<>e$NM}M3$+$i!"30$K=P$F9T$/%X%C%@$+$i\e(B "Via:"
+          \e$B$r:o$k$h$&$K$9$k$3$H$,$G$-$^$9!#\e(B</li>
+
+          <li>HTTP/1.1 \e$B$G5,Dj$5$l$F$$$k\e(B "Max-Forwards:" TRACE
+          \e$B%X%C%@$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#$=$l$K$h$j!"\e(B(\e$BB>$N\e(B proxy
+          \e$B%5!<%P$G$b%5%]!<%H$7$F$$$l$P\e(B) \e$B%W%m%-%7!<$NO":?$r$?$I$C$F\e(B
+          \e$B%j%/%(%9%H$N%Q%9$r%H%l!<%9$9$k$3$H$,$G$-$^$9!#\e(B</li>
+
+          <li><a href="mod/mod_proxy.html#noproxy"><code>NoProxy</code></a>
+          \e$B%G%#%l%/%F%#%V$H\e(B <a href="mod/mod_proxy.html#proxydomain"><code
+          >ProxyDomain</code></a>\e$B%G%#%l%/%F%#%V$,DI2C$5$l$^$7$?!#\e(B
+          \e$B%$%s%H%i%M%C%H$G$NMxMQ$KJXMx$G$9!#\e(B</li>
+
+
+          <li><code><a href="mod/mod_proxy.html#proxypassreverse"
+          >ProxyPassReverse</a></code> \e$B%G%#%l%/%F%#%VL?Na$,?75,$KDI2C$5$l$^$7$?!#\e(B
+          \e$B$3$l$K$h$j!"\e(BHTTP \e$B$N%j%@%$%l%/%H%l%9%]%s%9$K$*$1$k\e(B <tt>Location:</tt>
+          \e$B%X%C%@Cf$N\e(B URL \e$B$rD4@0$9$k$3$H$,$G$-$^$9!#\e(B</li>
+
+          <li>FTP \e$B%5!<%P$N%G%#%l%/%H%j%D%j!<$G$N0\F0$,!"$h$j4JC1$K$J$j$^$7$?!#\e(B</li>
+        </ul>
+      </dd>
+
+      <dt><a href="mod/mod_include.html#flowctrl"><strong><code
+      >mod_include</code>\e$B$NJ8;zNsHf3S$N3HD%\e(B</strong></a><br />
+      </dt>
+
+
+      <dd>\e$BJ8;zNs$K4p$E$$$?\e(B server-side include (SSI) \e$B$N%U%m!<@)8f\e(B
+      \e$B%G%#%l%/%F%#%V$KL$K~\e(B (&lt;)\e$B!"0J2<\e(B (&lt;=)\e$B!"$h$jBg$-$$\e(B (&gt;)\e$B!"\e(B
+      \e$B0J>e\e(B (&gt;=) \e$B$,4^$a$i$l$^$7$?!#0JA0$OEy$7$$$+Ey$7$/$J$$$+$N\e(B
+      \e$BHf3S$7$+$G$-$^$;$s$G$7$?!#\e(B</dd>
+
+
+      <dt><strong>ServerRoot \e$B$+$i$NAjBP%Q%9$G$N\e(B auth \e$B%U%!%$%kL>;XDj\e(B</strong></dt>
+
+      <dd>\e$BMM!9$JG'>Z%b%8%e!<%k$N\e(B auth \e$B%U%!%$%kL>$N;XDj$O!"\e(B
+      \e$B%U%k%Q%9$GL5$$>l9g$O\e(B ServerRoot \e$B$+$i$NAjBP%Q%9$H$7$F\e(B
+      \e$B07$o$l$k$h$&$K$J$j$^$7$?!#\e(B</dd>
+
+
+      <dt><a href="mod/mod_autoindex.html"><strong
+      >\e$B%G%#%l%/%H%j$N%$%s%G%C%/%9$N3HD%\e(B:(\e$BLuCm\e(B: mod_autoindex)</strong></a></dt>
+
+      <dd>
+        <ul>
+          <li><strong>\e$B%3!<%I$NJ,3d\e(B:</strong> <code>mod_dir</code>
+          \e$B%b%8%e!<%k$,!"%G%#%l%/%H%j$N%$%s%G%C%/%9%U%!%$%k$r07$&\e(B <a
+          href="mod/mod_dir.html">mod_dir</a> \e$B$H!"\e(B
+          \e$B%G%#%l%/%H%jFb$N%U%!%$%k0lMw$r:n@.$9$k\e(B <a
+          href="mod/mod_autoindex.html">mod_autoindex</a>
+          \e$B$NFs$D$KJ,3d$5$l$^$7$?!#$3$l$K$h$j!"%/%j%F%#%+%k$J%5!<%P$+$i\e(B
+          \e$B%$%s%G%C%/%9$N5!G=$r30$9$3$H$,$G$-$^$9!#\e(B</li>
+
+          <li><strong>\e$B%=!<%H2DG=\e(B:</strong> \e$B%+%i%`$N%?%$%H%k$r\e(B
+          \e$B%/%j%C%/$9$k$H$=$N%+%i%`CM$K$h$k%j%9%H$N%=!<%H$r9T$J$$$^$9!#\e(B
+          \e$B$3$N5!G=$O\e(B <a href="mod/mod_autoindex.html#indexoptions"
+          >IndexOptions</a> \e$B$N\e(B <code>SuppressColumnSorting</code>
+          \e$B%-!<%o!<%I$GL58z$K$G$-$^$9!#\e(B
+          </li>
+
+          <li>README.html \e$B%U%!%$%k$K\e(B HTML \e$B$N%X%C%@$,5-=R$5$l$F$$$k>l9g$O!"\e(B
+          <a href="mod/mod_autoindex.html#indexoptions:suppresshtmlpreamble"
+          ><code><strong>SuppressHTMLPreamble</strong></code></a>
+          \e$B$r;H$&$3$H$,$G$-$^$9!#\e(B
+          </li>
+
+          <li>The <a href="mod/mod_autoindex.html#indexoptions"
+          ><code><strong>IndexOptions</strong></code></a>
+          \e$B%G%#%l%/%F%#%V$O!"%-!<%o!<%I0z?t$KBP$7$F\e(B
+          \e$B%$%s%/%j%a%s%?%k%W%l%U%#%C%/%9$r;HMQ$G$-$k$h$&$K$J$j$^$7$?\e(B
+          (<a href="mod/core.html#options">Options</a> \e$B%G%#%l%/%F%#%V$HF1MM$K!"\e(B
+          \e$B5!G=$KBP$9$k%-!<%o!<%I$N5!G=$NDI2C$r\e(B +/- \e$B$G;XDj$7$^$9\e(B)\e$B!#\e(B
+          \e$B$3$l$K$h$j!"F1$8%G%#%l%/%H%j$KE,MQ$5$l$kJ#?t$N\e(B IndexOptions
+          \e$B%G%#%l%/%F%#%V$r0l$D$K$^$H$a$k$3$H$,$G$-$^$9!#\e(B</li>
+
+          <li><a href="mod/mod_autoindex.html#indexoptions:iconheight"
+          ><strong><code>IconHeight</code></strong></a> \e$B$H\e(B <a
+          href="mod/mod_autoindex.html#indexoptions:iconwidth"
+          ><strong><code>IconWidth</code></strong></a>
+          \e$B$G%G%#%l%/%H%j$N0lMwI=<($G$N\e(B <code>&lt;IMG&gt;</code>
+          \e$B%?%0$N\e(B height \e$BB0@-$H\e(B width \e$BB0@-$r@_Dj$G$-$^$9!#\e(B
+          </li>
+
+          <li><a href="mod/mod_autoindex.html#indexoptions">IndexOptions</a>
+          \e$B%G%#%l%/%F%#%V$K?75,$KDI2C$5$l$?\e(B <a
+          href="mod/mod_autoindex.html#indexoptions:namewidth"
+          ><strong><code>NameWidth</code></strong></a> \e$B%-!<%o!<%I$G!"\e(B<a
+          href="mod/mod_autoindex.html#indexoptions:fancyindexing"
+          >"\e$B6E$C$?\e(B" \e$B%G%#%l%/%H%jFbMF0lMw\e(B</a> \e$B$N7e?t$r@_Dj$G$-$^$9!#\e(B
+          \e$B%"%9%?%j%9%/\e(B `*' \e$B$K@_Dj$9$k$H!"L>A0\e(B (\e$BLuCm\e(B: Name \e$B$NItJ,\e(B) 
+          \e$B$NI}$O<+F0E*$KD4@0$5$l$^$9!#\e(B</li>
+
+          <li><a href="mod/mod_autoindex.html#fancyindexing"
+          ><samp>FancyIndexing</samp></a> \e$B%G%#%l%/%F%#%V$O@_Dj:Q$_$N\e(B
+          <samp>IndexOptions</samp>
+          \e$B%G%#%l%/%F%#%V$N8z2L$rCV$-49$($F$7$^$&$3$H$J$/!"@5$7$/\e(B
+          <a href="mod/mod_autoindex.html#indexoptions:fancyindexing"
+          ><samp>IndexOptions&nbsp;FancyIndexing</samp></a>
+          \e$B$HF1$88z2L$K$J$k$h$&$K$J$j$^$7$?!#\e(B</li>
+
+          <li>1.3.15 \e$B$+$i$O!"\e(BIndexOptions \e$B$K\e(B <a
+          href="mod/mod_autoindex.html#indexoptions:trackmodified"><samp>TrackModified</samp
+          ></a> \e$B%G%#%l%/%F%#%V$,4^$^$l$F$$$k>l9g$O!"%5!<%P$O%G%#%l%/%H%j$N\e(B
+          \e$B%j%/%(%9%H$r<u$1$?$H$-$K!"%-%c%C%7%e$r@)8f$9$k\e(B ETag \e$B$H\e(B LastModified
+          \e$B$rIU$1$FJV$7$^$9!#$=$N%j%/%(%9%H$,JQ99$5$l$F$$$J$$$H%/%i%$%"%s%H\e(B
+          \e$B$,H=CG$7$?$H$-$K$O!"%5!<%P$O$=$N0lMw$r@8@.$9$kI,MW$,$"$j$^$;$s!#\e(B
+          \e$B$3$l$K$h$j!"@-G=$,8~>e$7$^$9!#$3$N5!G=$O<B83E*$J$b$N$J$N$G!"\e(B
+          \e$B%G%U%)%k%H$G$O;HMQ2DG=$K$O$J$C$F$$$^$;$s!#\e(B</li>
+        </ul>
+      </dd>
+
+      <dt><strong>CGI \e$B%9%/%j%W%H$N=PNO$N%P%C%U%!%j%s%0$N8:>/\e(B</strong></dt>
+
+      <dd>\e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$G$O!"\e(BCGI \e$B%9%/%j%W%H$+$i$N=PNO$O!"\e(B
+      \e$B%5!<%P$,FbItE*$K%P%C%U%!$r$7$F$$$F!"%P%C%U%!$,0lGU$K$J$k$+\e(B CGI
+      \e$B%9%/%j%W%H$,=*N;$9$k$^$G$O%/%i%$%"%s%H$KAw$i$l$^$;$s$G$7$?!#\e(B
+      Apache 1.3 \e$B$G$O!"%/%i%$%"%s%H$X$N%G!<%?$N%P%C%U%!$O!"\e(B
+      \e$B%P%C%U%!Cf$K2?$+$,$"$C$F!"%5!<%P$,%9%/%j%W%H$+$i$N$5$i$J$k=PNO$r\e(B
+      \e$BBT$C$F$$$k$H$-$K$$$D$G$b%U%i%C%7%e$5$l$^$9!#$3$l$K$h$j!"\e(BCGI
+      \e$B%9%/%j%W%H$OD9$$=hM}A`:n$N4V$KItJ,E*$J%9%F!<%?%9Js9p$,2DG=$K$J$j$^$9!#\e(B
+      </dd>
+
+      <dt><strong><a href="mod/mod_alias.html"><code>Alias</code>
+      \e$B$H\e(B <code>Redirect</code> \e$B$G$N@55,I=8=$N%5%]!<%H\e(B</a></strong>
+      </dt>
+
+      <dd>\e$B?75,$N\e(B <a
+      href="mod/mod_alias.html#aliasmatch"><code>AliasMatch</code></a>,
+      <a
+      href="mod/mod_alias.html#scriptaliasmatch"><code>ScriptAliasMatch</code></a>,
+      \e$B$H\e(B <a
+      href="mod/mod_alias.html#redirectmatch"><code>RedirectMatch</code></a>
+      \e$B%G%#%l%/%F%#%V$G!"@55,I=8=$G$N%Q%?!<%s%^%C%A$r;XDj$G$-$k$h$&$K$J$j$^$7$?!#\e(B
+      \e$B99$K!"?75,$N\e(B <a
+      href="mod/core.html#directorymatch"><code>&lt;DirectoryMatch&gt;</code></a>,
+      <a
+      href="mod/core.html#locationmatch"><code>&lt;LocationMatch&gt;</code></a>,
+      <a
+      href="mod/core.html#filesmatch"><code>&lt;FilesMatch&gt;</code></a>
+      \e$B%;%/%7%g%s$K$h$j!"\e(B
+      \e$B@55,I=8=$rMQ$$$?%;%/%7%g%s;XDj$,$G$-$k?7$7$$9=J8$,Ds6!$5$l$^$9!#\e(B</dd>
+
+      <dt><strong><a
+      href="mod/mod_info.html">mod_info</a> \e$B$X$N\e(B <a
+      href="mod/mod_info.html#addmoduleinfo"><code>AddModuleInfo</code></a>
+      \e$B%G%#%l%/%F%#%V$NDI2C\e(B</strong></dt>
+
+      <dd>\e$B;XDj$5$l$?%b%8%e!<%k$K$D$$$F!"I=<($5$;$kDI2C>pJs$r;XDj$G$-$k$h$&$K\e(B
+      \e$B$J$j$^$7$?!#\e(B</dd>
+
+      <dt><strong><code>TransferLog</code> \e$B$,L5$$>l9g$N%m%0<}=8$NM^@)\e(B</strong>
+      </dt>
+
+      <dd><a href="mod/mod_log_config.html#transferlog"
+      ><code>TransferLog</code></a> \e$B%G%#%l%/%F%#%V$,L5$$>l9g$O%m%0$O\e(B
+      \e$B<}=8$5$l$^$;$s!#$3$l$OB>$N%m%0MQ%b%8%e!<%k$H$N6&MQ$r%5%]!<%H$7$^$9!#\e(B
+      </dd>
+
+      <dt><strong>\e$B%m%0$N=q<0$KL>A0$rIU$1$k5!G=\e(B</strong></dt>
+
+      <dd><a
+      href="mod/mod_log_config.html#logformat"><code>LogFormat</code></a>
+      \e$B%G%#%l%/%F%#%V$,3HD%$5$l!"FCDj$N%m%0%U%)!<%^%C%H$K%K%C%/%M!<%`$r\e(B
+      \e$BIU$1$k$3$H$r2DG=$K$J$j$^$7$?!#Kh2s%m%0%U%)!<%^%C%H$NJ8;zNs$r=q$/Be$o$j$K!"\e(B
+      \e$B$3$N%K%C%/%M!<%`$rB>$N\e(B <code>LogFormat</code> \e$B%G%#%l%/%F%#%V$N;XDj$d\e(B
+      <a href="mod/mod_log_config.html#customlog"
+      ><code>CustomLog</code></a> \e$B%G%#%l%/%F%#%V$N;XDj$G;H$&$3$H$,$G$-$^$9!#\e(B
+      </dd>
+
+      <dt><strong>\e$B>r7oIU$-%m%0<}=8\e(B</strong></dt>
+
+      <dd><a href="mod/mod_log_config.html#customlog-conditional"
+      >mod_log_config</a> \e$B$,4D6-JQ?t$K4p$E$$$?%m%0<}=8$r%5%]!<%H\e(B
+      \e$B$9$k$h$&$K$J$j$^$7$?!#\e(Bmod_log_referer \e$B$H\e(B mod_log_agent
+      \e$B$O;HMQ$7$J$$$3$H$,?d>)$5$l$F$$$^$9!#\e(B</dd>
+
+      <dt><strong>mod_cern_meta
+      \e$B$r%G%#%l%/%H%jKh$K@_Dj2DG=\e(B</strong></dt>
+
+      <dd><a href="mod/mod_cern_meta.html">mod_cern_meta</a>
+      \e$B$r%G%#%l%/%H%jKh$K@_Dj$9$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#\e(B</dd>
+
+      <dt><strong><a href="mod/mod_rewrite.html#rewritemap"
+      ><code>RewriteMap</code></a>\e$B%G%#%l%/%F%#%V$N?7$7$$%^%C%W%?%$%W\e(B</strong>
+      </dt>
+
+      <dd>mod_rewrite \e$B$N\e(B <code>RewriteMap</code>
+      \e$B%G%#%l%/%F%#%V$K?7$7$$%^%C%W7?\e(B `Randomized Plain Text' \e$B$H\e(B
+      `Internal Function' \e$B$,DI2C$5$l$^$7$?!#$3$l$i$N%^%C%W7?$O\e(B
+      \e$BFs$D$N5!G=$rDs6!$7$^$9\e(B: \e$B0l$D$O!"=q$-49$(MQ%^%C%W$G;2>H$5$l$k\e(B
+      \e$BCM$+$iBP1~$9$kCM$r%i%s%@%`$KA*Br$9$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?\e(B
+      (Reverse Proxy \e$B$K$*$$$F!"%P%C%/%(%s%I$N%5!<%P$rA*$V>l9g$KJXMx$G$9\e(B)\e$B!#\e(B
+      \e$B$b$&0l$D$O!"\e(BURL \e$B$N0lIt$rBgJ8;z$+>.J8;z$N$I$A$i$+$KJQ49$9$k$3$H$,\e(B
+      \e$B$G$-$k$h$&$K$J$j$^$7$?\e(B (mod_rewrite \e$B$rMQ$$$FBg5,LO$J\e(B
+      \e$B%P!<%A%c%k%[%9%F%#%s%0$r9T$J$&>l9g$KJXMx$G$9\e(B)\e$B!#\e(B</dd>
+
+      <dt><strong>CIDR \e$B$H\e(B Netmask \e$B$K$h$k%"%/%;%9@)8f\e(B</strong></dt>
+
+      <dd><a href="mod/mod_access.html">mod_access</a>
+      \e$B%G%#%l%/%F%#%V$O\e(B CIDR (Classless Inter-Domain Routing)
+      \e$B7A<0$N%W%l%U%#%C%/%9$N;XDj$H!"\e(BIP \e$B$N%"%/%;%9%j%9%H$N@)8f$r\e(B
+      \e$B$h$j:Y$+$/@_Dj$G$-$k%M%C%H%^%9%/$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#\e(B</dd>
+    </dl>
+    <hr />
+
+    <h3><a id="api" name="api">API \e$B$NDI2C$HJQ99\e(B</a></h3>
+
+    <p>\e$B%b%8%e!<%k:n<T$H%3!<%I%O%C%+!<8~$1>pJs\e(B:</p>
+
+    <dl>
+      <dt><strong><code>child_init</code></strong></dt>
+
+      <dd>"heavy-weight process" \e$B$K$D$-\e(B1\e$B2s8F$P$l$k\e(B Apache API
+      \e$B$N?75,%U%'!<%:$G$9!#$3$N8e$G%j%/%(%9%H$N=hM}$r9T$J$$$^$9!#\e(B
+      \e$B$3$l$r$9$k$3$H$G!"%b%8%e!<%k$,%W%m%;%9Kh$K9T$J$&I,MW$N$"$k$3$H$r\e(B
+      \e$B$9$Y$F@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+      \e$B$?$H$($P!"%G!<%?%Y!<%9$X$N@\B3$,$"$j$^$9!#\e(B</dd>
+
+      <dt><strong><code>child_exit</code></strong></dt>
+
+      <dd>"heavy-weight process" \e$B$K$D$-\e(B1\e$B2s8F$P$l$k?75,$N%U%'!<%:$G!"\e(B
+      \e$B%W%m%;%9$N=*N;;~$K8F$P$l$^$9!#CWL?E*$J>u67$G$O\e(B
+      (\e$B$?$H$($P%;%0%a%s%F!<%7%g%s%U%)!<%k%H$d\e(B kill -9 \e$B$5$l$?>l9g\e(B)
+      \e$B8F$P$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B<code>child_init</code> \e$B4X?t$H\e(B
+      <code>child_exit</code> \e$B4X?t$O!";R%W%m%;%9$N@8B84|4V$H\e(B (Apache
+      \e$B$,2sI|$G$-$k8+9~$_$N$J$$40A4$KCWL?E*$J%$%Y%s%H$r=|$$$F\e(B)
+      \e$BF1$8@8B84|4V$r;}$D%W!<%k$rEO$5$l$^$9!#BP>HE*$K!"%b%8%e!<%k$N\e(B
+      <code>init</code> \e$B4X?t$O?F%W%m%;%9$,=*N;$7$?$j:F5/F0$7$?$j$9$k$H\e(B
+      \e$B>CLG$9$k%W!<%k$rEO$5$l$^$9!#\e(B</dd>
+
+      <dt><strong><code>child_terminate</code></strong></dt>
+
+      <dd>\e$B8=:_$N%j%/%(%9%H$r=*N;$7$?8e$K;R%W%m%;%9$,=*N;$9$Y$-$G$"$k$3$H$r\e(B
+      \e$B<($9$?$a$K;R%W%m%;%9$G;H$o$l$^$9!#\e(B</dd>
+
+      <dt><strong><code>register_other_child</code></strong></dt>
+
+      <dd><code>http_main.h</code> \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+      \e$B$3$l$O?F%W%m%;%9$G;HMQ$7!"4F;k$9$k;R%W%m%;%9$rEPO?$7$^$9!#\e(B
+      \e$B?F%W%m%;%9$OM?$($i$l$?%3!<%k%P%C%/4X?t$K>uBV$rJs9p$7$^$9!#\e(B
+      \e$B$3$N4X?t$r;HMQ$9$k$H!"%b%8%e!<%k$,@8@.$9$k;R%W%m%;%9$O!"\e(B
+      httpd \e$B$NB>$N;R%W%m%;%9$H6&$K4F;k$5$l$k$h$&$K$J$j$^$9!#\e(B</dd>
+
+      <dt><strong><code>piped_log</code></strong></dt>
+
+      <dd><code>http_log.h</code> \e$B$r;2>H$7$F$/$@$5$$!#$3$N\e(B API
+      \e$B$O!"%Q%$%W$5$l$?%m%0$r<BAu$9$k$?$a$N6&DL$N%3!<%I$rDs6!$7$^$9!#\e(B
+      \e$BFC$K!"%"!<%-%F%/%A%c$,%5%]!<%H$7$F$$$k>l9g$O\e(B (<em>\e$B$D$^$j\e(B</em>
+      \e$B8=;~E@$G$O\e(B Unix)\e$B!"?.Mj@-$N$"$k%Q%$%W$5$l$?%m%0$r<BAu$7$F$$$^$9!#\e(B</dd>
+
+      <dt><strong>\e$B%9%3%"%\!<%I$N7A<0JQ99\e(B</strong></dt>
+
+      <dd>\e$B%9%3%"%\!<%I$N7A<0$O$+$J$jJQ99$5$l$^$7$?!#\e(B
+      \e$BIaDL%9%3%"%\!<%I$O\e(B "private" \e$B$J%$%s%?!<%U%'!<%9$@$H$5$l$F$$$k$N$G!"\e(B
+      \e$B$3$3$G$O>R2p$9$k$K$H$I$a$F$*$-$^$9!#\e(B</dd>
+
+      <dt><strong><code>set_last_modified</code>
+      \e$B$r;0$D$KJ,3d\e(B</strong></dt>
+
+      <dd>\e$B8E$$\e(B <code>set_last_modified</code> \e$B4X?t$O!"\e(B
+      <code>Last-Modified</code> \e$B%X%C%@$d!"\e(B<code>Etag</code> \e$B%X%C%@$N@_Dj!"\e(B
+      (If-Modified-Since \e$B$N$h$&$J\e(B ) \e$B>r7oIU$-%j%/%(%9%H$N=hM}$J$I!"\e(B
+      \e$BJ#?t$N;E;v$r$7$F$$$^$7$?!#$3$l$i$N5!G=$O;0$D$N4X?t!"\e(B
+      <code>set_last_modified</code>, <code>set_etag</code>,
+      <code>meets_conditions</code> \e$B$KJ,3d$5$l$^$7$?!#\e(B
+      <code>meets_conditions</code> \e$B4X?t$N=hM}$r4JC1$K$9$k$?$a$K\e(B
+      <code>requrest_rec</code> \e$B9=B$BN$K\e(B <code>mtime</code>
+      \e$B$,%U%#!<%k%I$,DI2C$5$l$^$7$?!#\e(B</dd>
+
+      <dt><strong>\e$B%(%i!<%m%0<}=8MQ$N?75,4X?t\e(B:
+      <code>ap_log_error</code></strong></dt>
+
+      <dd>\e$B%m%0<}=8MQ$N8E$$4X?t$O$9$Y$FHs?d>)$H$J$C$F$$$^$9!#\e(B
+      \e$B$3$l$i$N4X?t$r\e(B <code>ap_log_error</code>
+      \e$B$H$$$&C1FH$N4X?t$GCV$-49$($h$&$H$7$F$$$^$9!#\e(B
+      \e$B$3$l$O$^$@:n6HCf$G$9!#\e(B</dd>
+
+      <dt><strong>\e$B@_Dj2r@O$N$?$a$N\e(B
+      <code>set_file_slot</code></strong></dt>
+
+      <dd><code>set_file_slot</code> \e$B%k!<%A%s$O!"\e(B
+      \e$B@dBP%Q%9$K$J$C$F$$$J$$%Q%9$NA0$K\e(B ServerRoot
+      \e$B$rDI2C$9$k$?$a$NI8=`%k!<%A%s$rDs6!$7$^$9!#\e(B</dd>
+
+      <dt><strong><code>post_read_request</code>
+      \e$B%b%8%e!<%k\e(B API</strong></dt>
+
+      <dd>\e$B$3$N%j%/%(%9%H%U%'!<%:$O%j%/%(%9%H\e(B (\e$B%X%C%@\e(B)
+      \e$B$rFI$_9~$s$@D>8e$d!"FbIt%j%@%$%l%/%H$r:n@.$7$?D>8e$K5/$3$j$^$9!#\e(B
+      \e$B$=$N8e$NCJ3,$K1F6A$9$k4D6-JQ?t$r@_Dj$9$k$?$a$K0lHVLr$KN)$A$^$9!#\e(B
+      </dd>
+
+      <dt><strong><code>psocket</code> \e$B$H\e(B
+      <code>popendir</code></strong></dt>
+
+      <dd>socket \e$B$N@8@.$K$*$$$F!"6%9g>uBV$,5/$3$i$J$$$h$&$K%j%=!<%9$N\e(B
+      \e$B%H%i%C%-%s%0$r$9$k\e(B <code>psocket</code> \e$B4X?t$H\e(B <code>pclosesocket</code>
+      \e$B4X?t$,MQ0U$5$l$^$7$?!#F1MM$K!"\e(B<code>popendir</code> \e$B4X?t$H\e(B
+      <code>pclosedir</code> \e$B4X?t$O%G%#%l%/%H%j$NFI$_9~$_$rJ]8n$7$^$9!#\e(B</dd>
+
+      <dt><strong><code>is_initial_req</code></strong></dt>
+
+      <dd>\e$B%j%/%(%9%H$,=i4|%j%/%(%9%H\e(B (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B
+      \e$B%/%i%$%"%s%H$+$iMh$k$b$N\e(B)\e$B$G$"$k$+$I$&$+$rH=Dj$7$^$9!#\e(B</dd>
+
+      <dt><strong><code>kill_only_once</code></strong></dt>
+
+      <dd><code>ap_spawn_child</code> \e$B4X?t$N%*%W%7%g%s$G!"\e(B
+      Apache \e$B$,;R%W%m%;%9$r@Q6KE*$K\e(B kill \e$B$7$h$&$H$9$k$3$H$rM^@)$7$^$9!#\e(B
+      </dd>
+
+      <dt><strong><code>alloc \e$B%G%P%C%0MQ%3!<%I\e(B</code></strong></dt>
+
+      <dd><code>ALLOC_DEBUG</code>
+      \e$B$rDj5A$9$k$H86;OE*$J%a%b%j%G%P%C%,$,Ds6!$5$l$^$9!#\e(B
+      \e$B$3$l$r;H$&>l9g!"@8B8Cf$N%5!<%P$KM?$($k1F6A$,>/$J$/:Q$_$^$9!#\e(B
+      \e$B$=$l$O!"3d$jEv$F$i$l$F$k%a%b%j$*$h$S2rJ|$5$l$k%a%b%j$N%P%$%H?t$r$9$Y$F\e(B
+      0xa5 \e$B$K@_Dj$7$^$9!#\e(B<code>ALLOC_USE_MALLOC</code> \e$B$rDj5A$9$k$H!"\e(B
+      alloc \e$B%3!<%I$,$=$l$>$l$N%*%V%8%'%/%H$KBP$7$F\e(B <code>malloc()</code>
+      \e$B$H\e(B <code>free()</code> \e$B$r;H$&$h$&$K$J$j$^$9!#$3$l$O$:$C$H%3%9%H$,9b$/!"\e(B
+      Electric Fence \e$B$d\e(B Purify \e$B$N$h$&$J%D!<%k$r;H$C$F%F%9%H$r$9$k$H$-$K$N$_\e(B
+      \e$B;H$o$l$k$Y$-$b$N$G$9!#>\:Y$O\e(B <code>main/alloc.c</code> \e$B$r;2>H$7$F$/$@$5$$!#\e(B</dd>
+
+      <dt><strong><code>ap_cpystrn</code></strong></dt>
+
+      <dd>\e$B?7$7$$\e(B <code>strncpy</code> \e$B$N$h$&$J$b$N$G$9$,!"%P%C%U%!A4BN$r\e(B
+      0 \e$B$GK~$?$9I,MW$,L5$$$?$a$K\e(B <code>strncpy</code>
+      \e$B$h$j$:$C$HB.$$E@$G<c430c$$$^$9!#\e(B</dd>
+
+      <dt><strong><code>table_addn</code>, <code>table_setn</code>,
+      <code>table_mergen</code></strong></dt>
+
+      <dd>\e$B$3$l$i$N?7$7$$4X?t$O!"0z?t$KBP$7$F\e(B <code>pstrdup</code>
+      \e$B$r8F$S\e(B<strong>\e$B$^$;$s\e(B</strong>\e$B!#$3$l$OBg$-$JB.EY8~>e$r$b$?$i$7$^$9!#\e(B
+      \e$B%3!<%I$,$=$l$i$rE,@Z$K;HMQ$7$F$$$k$3$H$r3N$+$a$k$?$a$N%G%P%C%0$N\e(B
+      \e$B%5%]!<%H$b$"$j$^$9!#>\$7$$>pJs$O\e(B <code>src/CHANGES</code>
+      \e$B$r;2>H$7$F$/$@$5$$!#\e(B</dd>
+
+      <dt><strong><code>construct_url</code></strong></dt>
+
+      <dd>\e$B$3$N4X?t$N%W%m%H%?%$%W$,\e(B <code>server_rec *</code> \e$B$+$i\e(B
+      <code>request_rec *</code> \e$B$r0z?t$H$7$F<h$k$h$&$KJQ$o$j$^$7$?!#\e(B
+      </dd>
+
+      <dt><strong><code>get_server_name</code>,
+      <code>get_server_port</code></strong></dt>
+
+      <dd>\e$B%j%/%(%9%H$KBP1~$9$k%5!<%PL>$H%]!<%HHV9f$r<hF@$9$k:]$K\e(B
+      <a href="mod/core.html#usecanonicalname">UseCanonicalName</a>
+      \e$B%G%#%l%/%F%#%V$r07$&$?$a$N%i%C%Q!<$G$9!#\e(B
+      </dd>
+
+      <dt><strong><code>ap_bspawn_child</code> \e$B$H\e(B
+      <code>ap_call_exec</code> \e$B$N%W%m%H%?%$%W$NJQ99\e(B</strong></dt>
+
+      <dd>Win32 \e$B$G;R%W%m%;%9$,@5$7$/F0:n$9$k$h$&$K!"\e(B
+      <code>spawn</code> \e$B4X?t\e(B (<code>ap_bspawn_child</code>
+      \e$B$KEO$5$l$k\e(B) \e$B$H\e(B <code>ap_call_exec</code> \e$B4X?t$K\e(B
+      <code>child_info *</code> \e$B$rDI2C$7$^$7$?!#\e(B
+      \e$B$^$?!"\e(B<code>spawn_child_err</code> \e$B$rC1$K\e(B
+      <code>ap_spawn_child</code> \e$B$GCV$-49$(!"\e(B
+      <code>spawn_child_err_buff</code> \e$B$rC1$K\e(B
+      <code>ap_bspawn_child</code> \e$B$GCV$-49$($k$3$H$G!"\e(B
+      \e$B4X?tL>$r>/$7@0M}$7$^$7$?!#\e(B</dd>
+
+      <dt><strong><code>ap_add_version_component()</code></strong>
+      </dt>
+
+      <dd>\e$B$3$N\e(B API \e$B4X?t$O\e(B <code>Server:</code>
+      \e$B%X%C%@$K=PNO$5$l$k%5!<%P%H!<%/%s$r!"\e(B
+      \e$B%b%8%e!<%k<+?H$,DI2C$G$-$k$h$&$K$7$^$9!#0JA0$N\e(B 1.3beta
+      \e$B%P!<%8%g%s$G$O%3%s%Q%$%k;~$K\e(B <code>#define</code> \e$B$5$l$?\e(B
+      <code>SERVER_SUBVERSION</code> \e$B$rDj5A$7$F$3$N5!G=$r<B8=$7$F$$$^$7$?!#\e(B
+      \e$B%H!<%/%s$,<B:]$KI=<($5$l$k$+$I$&$+$O?7$7$$\e(B <code>SeverTokens</code>
+      \e$B%G%#%l%/%F%#%V$G@)8f$5$l$^$9!#\e(B</dd>
+    </dl>
+    <hr />
+
+    <h3><a name="misc" id="misc">\e$B$=$NB>$N3HD%\e(B</a></h3>
+
+    <dl>
+      <dt><strong><a href="ebcdic.html">BS2000/OSD \e$B$r<B9T$7$F$$$k\e(B
+      EBCDIC \e$B%a%$%s%U%l!<%`%^%7%s$X$N0\?"\e(B</a></strong></dt>
+
+      <dd>(\e$BLuCm\e(B: \e$B%a%$%s%U%l!<%`%^%7%s$X$N0\?"$N\e(B ) \e$B<j;O$a$H$7$F!"\e(B
+      \e$B$3$N%P!<%8%g%s$N\e(B Apache \e$B$G$O!"\e(BEBCDIC \e$BJ8;z%;%C%H$r\e(B
+      \e$B%M%$%F%#%V%3!<%I%;%C%H$H$7$F;HMQ$9$k%a%$%s%U%l!<%`%^%7%s$X$N\e(B
+      \e$B0\?"$N%Y!<%?HG$,IU$$$F$$$^$9\e(B (IBM/390 \e$B8_49$N%W%m%;%C%5!<>e$G\e(B
+      BS2000/OSD \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$r<B9T$7$F$$$k\e(B SIEMENS
+      \e$B$N%a%$%s%U%l!<%`%U%!%_%j!<$G$9!#$3$N%a%$%s%U%l!<%`$N\e(B OS
+      \e$B$O!":G6a$G$O\e(B SVR4 \e$B%i%$%/$N\e(B POSIX \e$B$N%5%V%7%9%F%`$N5!G=$,$"$j$^$9\e(B)\e$B!#\e(B</dd>
+
+      <dt><strong><a
+      href="mod/core.html#accessfilename"><code>AccessFileName</code>
+      \e$B$N3HD%\e(B</a></strong></dt>
+
+      <dd><code>AccessFileName</code> \e$B%G%#%l%/%F%#%V$O!"J#?t$N%U%!%$%kL>$r\e(B
+      \e$B<u$1IU$1$k$h$&$K$J$j$^$7$?!#$3$l$K$h$j!"\e(BNFS \e$B$rMQ$$$FJ#?t$N\e(B Apache
+      \e$B%5!<%P$G%Z!<%8$rDs6!$7$F$$$k%5!<%P$G$N@_Dj$K1~$8$?%"%/%;%9$r@_Dj\e(B
+      \e$B$G$-$k$h$&$K$J$j$^$9!#\e(B(\e$BLuCm\e(B: NFS \e$B$rMQ$$$F!"F1$8%3%s%F%s%D6u4V$rJ#?t$N\e(B
+      \e$B%5!<%P$G6&M-$7$F$$$k$H!"$=$l$i$N%5!<%P$N\e(B AccessFileName \e$B$,F1$8$H$O8B$j$^$;$s!#\e(B
+      \e$B6&M-$7$F$$$k%3%s%F%s%D$KBP$9$k%"%/%;%9@)8f$OF1$8@_Dj$r;H$$$?$$$H$-$K!"\e(B
+      \e$B$3$N5!G=$,Lr$KN)$A$^$9\e(B)\e$B!#\e(B</dd>
+
+      <dt><strong><code>HostnameLookups</code> \e$B$N%G%U%)%k%H$r\e(B "Off" \e$B$KJQ99\e(B</strong></dt>
+
+      <dd><a
+      href="mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
+      \e$B%G%#%l%/%F%#%V$O%G%U%)%k%H$G\e(B "Off" \e$B$K$J$j$^$7$?!#L@<(E*$K\e(B on
+      \e$B$K$7$J$$8B$j!"%5!<%P$O\e(B IP \e$B%"%I%l%9$NL>A02r7h$r9T$J$o$J$$$H$$$&$3$H$G$9!#\e(B
+      \e$B$3$NJQ99$O%$%s%?!<%M%C%H$K$*$$$F$rITI,MW$J\e(B DNS \e$B%H%i%U%#%C%/$r\e(B
+      \e$BH/@8$5$;$J$$$?$a$K9T$J$o$l$^$7$?!#\e(B</dd>
+
+      <dt><strong>DNS \e$B$NFs=E5U0z$-$N6/@)5!G=\e(B</strong></dt>
+
+      <dd><a
+      href="mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
+      \e$B%G%#%l%/%F%#%V$O\e(B DNS \e$B$NFs=E5U0z$-$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#\e(B
+      (tcp_wrapper \e$B$NMQ8l$G$O\e(B <em>PARANOID</em> \e$B$H$7$FCN$i$l$F$$$k$b$N$G$9\e(B)\e$B!#\e(B
+      IP \e$B%"%I%l%9$KBP$7$F5U0z$-$r9T$J$$!"$5$i$K@50z$-$7$FF@$i$l$k\e(B IP
+      \e$B%"%I%l%9$N%j%9%H$K85$N\e(B IP \e$B%"%I%l%9$,4^$^$l$F$$$l$P!"\e(B
+      \e$BFs=E5U0z$-$N%F%9%H$rDL2a$7$^$9!#\e(BHostnameLookup \e$B$N@_Dj$K4X$o$i$:!"\e(B
+      <a href="mod/mod_access.html">mod_access</a> \e$B%"%/%;%9@)8f$N@_Dj$G\e(B DNS
+      \e$BL>$r;HMQ$7$F$$$k>l9g!"$9$Y$F$NL>A0$,\e(B DNS \e$B$NFs=E5U0z$-%F%9%H$K9g3J$9$k\e(B
+      \e$B$3$H$r\e(B<strong>\e$BMW5a\e(B</strong>\e$B$7$^$9!#\e(B(\e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$G$O!"\e(BDNS
+      \e$B$NFs=E5U0z$-$r2DG=$K$9$k$?$a$K%3%s%Q%$%k;~$N%9%$%C%A$,I,MW$G$7$?!#\e(B)</dd>
+
+      <dt><strong>LogLevel \e$B$H\e(B syslog \e$B$N%5%]!<%H\e(B</strong></dt>
+
+      <dd>Apache \e$B$O\e(B<a
+      href="mod/core.html#loglevel">\e$B%(%i!<$N%m%0<}=8%l%Y%k$r@_Dj\e(B</a>
+      \e$B$G$-$k5!G=$,DI2C$5$l$^$7$?!#$^$?!"\e(B<a href="mod/core.html#errorlog">syslogd(8)
+      \e$B$K$h$k%(%i!<$N%m%0<}=8\e(B</a>\e$B$r%5%]!<%H$9$k$h$&$K$J$j$^$7$?!#\e(B</dd>
+
+      <dt><strong>\e$BI8=`F~NO\e(B/\e$BI8=`=PNO\e(B/\e$BI8=`%(%i!<=PNO$+$i$N@ZN%$7\e(B</strong></dt>
+
+      <dd>Apache \e$B$O!"%V!<%H;~$KI8=`F~NO\e(B/\e$BI8=`=PNO\e(B/\e$BI8=`%(%i!<=PNO$r\e(B
+      \e$B@Z$jN%$9$h$&$K$J$j$^$7$?!#I8=`%(%i!<=PNO$O!"@_Dj%U%!%$%k$N\e(B
+      \e$BFI$_9~$_$K@.8y$9$k$^$G@Z$jN%$7$^$;$s!#$G$9$+$i!"@_Dj%U%!%$%k$N\e(B
+      \e$B%(%i!<$OL\$K$9$k$3$H$K$J$k$G$7$g$&!#$3$l$K$h$j!"\e(Brsh \e$B$d\e(B crontab
+      \e$B$G\e(B Apache \e$B$r5/F0$7$d$9$/$J$C$F$$$k$O$:$G$9!#\e(B</dd>
+
+      <dt><a name="y2k" id="y2k"><strong>2000 \e$BG/LdBj$N2~A1\e(B</strong></a></dt>
+
+      <dd><a
+      href="mod/mod_include.html"><code>mod_include</code></a>
+      \e$B$G;H$o$l$k%G%U%)%k%H$N\e(B <code>timefmt</code>
+      \e$BJ8;zNs$,!"0JA0;H$o$l$F$$$?\e(B 2 \e$B7e$G$O$J$/\e(B 4 \e$B7e$r;H$&$h$&$K\e(B
+      \e$B=$@5$5$l$^$7$?!#\e(B<a href="mod/mod_autoindex.html"
+      ><code>mod_autoindex</code></a> \e$B%b%8%e!<%k$b\e(B FancyIndex
+      \e$B$5$l$?%G%#%l%/%H%j0lMwI=<($K\e(B 4 \e$B7e$NG/$rI=<($9$k$h$&$K=$@5$5$l$^$7$?!#\e(B
+      </dd>
+
+      <dt><strong>\e$B6&DL$N%k!<%A%s$rFHN)$7$?%i%$%V%i%j$KJ,N%\e(B</strong></dt>
+
+      <dd>\e$B%*%Z%l!<%F%#%s%0%7%9%F%`$K$h$k%i%$%V%i%j$N%k!<%A%s$N0c$$$r\e(B
+      \e$BJd40$7$?$jCV$-49$($?$j$9$k4X?t$d%k!<%A%s$,!"\e(BApache
+      \e$B%W%m%8%'%/%H$N$?$a$K?tB?$/3+H/$5$l$F$$$^$9!#$[$H$s$I$N$b$N$O\e(B
+      Apache \e$B%5!<%P<+?H$G$N$_$G;HMQ$5$l$F$$$^$9$,!"Cf$K$O\e(B
+      <code>htdigest</code>
+      \e$B$N$h$&$J%5%]!<%HMQ%"%W%j%1!<%7%g%s$G;2>H$5$l$F$$$k$b$N$b$"$j$^$9!#\e(B
+      \e$B$=$7$F!"$=$N%k!<%A%s$O%5!<%P$K$N$_AH9~$^$l$F$$$k$?$a$K!"\e(B
+      \e$B$3$N$h$&$JJL%"%W%j%1!<%7%g%s$O%S%k%I$K<:GT$7$^$9!#$3$l$i$N%k!<%A%s$r\e(B
+      \e$BJL$N%5%V%G%#%l%/%H%j$GJL$N%i%$%V%i%j$K0\F0$7$^$7$?!#$3$l$K$h$j!"\e(B
+      \e$B%5!<%P$@$1$G$J$/B>$N%"%W%j%1!<%7%g%s$+$i$b;H$($k$h$&$K$J$j$^$7$?!#\e(B
+      <code>src/ap/</code> \e$B%5%V%G%#%l%/%H%j$r;2>H$7$F$/$@$5$$!#\e(B
+      </dd>
+
+      <dt><strong>\e$B?7$7$$\e(B <code><a
+      href="mod/core.html#serversignature">ServerSignature</a></code>
+      \e$B%G%#%l%/%F%#%V\e(B</strong></dt>
+
+      <dd>\e$B$3$N%G%#%l%/%F%#%V$O%5!<%P$,:n@.$7$?%Z!<%8\e(B (\e$B%(%i!<%I%-%e%a%s%H!"\e(B
+      FTP \e$B$N%G%#%l%/%H%jFbMF0lMw!"\e(Bmod_info \e$B$N=PNO\e(B <em>\e$B$J$I\e(B</em>)
+      \e$B$K%5!<%P$N%P!<%8%g%s$H%P!<%A%c%k%[%9%HL>$r4^$`9T$r%*%W%7%g%s$GDI2C$7$^$9!#\e(B
+      \e$B$3$l$K$h$j!"FC$K\e(B pxory \e$B$NO":?\e(B (\e$B%$%s%H%i%M%C%H$N4D6-$G$O$h$/$"$j$^$9\e(B)
+      \e$B$,$"$k$H$-$K!"$I$N%5!<%P$,%(%i!<%a%C%;!<%8$r=P$7$?$N$+$r%f!<%6$,\e(B
+      \e$B4JC1$KCN$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B</dd>
+
+      <dt><strong>\e$B?7$7$$\e(B <code><a href="mod/core.html#usecanonicalname"
+      >UseCanonicalName</a></code> \e$B%G%#%l%/%F%#%V\e(B</strong>
+      </dt>
+
+      <dd>\e$B$3$N%G%#%l%/%F%#%V$O!"\e(BApache \e$B$,$I$N$h$&$K<+J,<+?H$r;2>H$9$k\e(B
+      URL \e$B$r:n@.$9$k$+$r@)8f$7$^$9!#0JA0$N\e(B Apache \e$B$G$O!"\e(B<a
+      href="mod/core.html#servername"> ServerName</a> \e$B%G%#%l%/%F%#%V$H\e(B <a
+      href="mod/core.html#port">Port</a> \e$B%G%#%l%/%F%#%V$r>o$K;XDj$9$k$3$H$G\e(B
+      "\e$B@55,2=$5$l$?\e(B" \e$B%5!<%P$NL>$r@8@.$7$F$$$^$7$?!#\e(B<code>UseCanonicalName
+      off</code> \e$B$G!"%/%i%$%"%s%H$+$iDs6!$5$l$?%[%9%HL>$H%]!<%HHV9f$,$"$k>l9g!"\e(B
+      Apache \e$B$O$=$l$r;HMQ$9$k$h$&$K$J$j$^$9!#\e(B</dd>
+
+      <dt><strong><code>SERVER_VERSION</code> \e$B$NDj5A$NCj>]2=$H\e(B
+      \e$B%5!<%P$N%S%k%IF|;~$NDI2C\e(B</strong> </dt>
+
+      <dd>\e$B0JA0$N%P!<%8%g%s$G$O!"\e(B<code>SERVER_VERSION</code>
+      \e$B$GDj5A$5$l$?CM$rDL$8$F!"%b%8%e!<%k$O\e(B Apache
+      \e$B%5!<%P$N%P!<%8%g%s$r;2>H$9$k$3$H$,$G$-$^$7$?!#\e(B
+      \e$B%3%"%5!<%P$H%b%8%e!<%k$,0c$&;~$K%3%s%Q%$%k$5$l$?>l9g$G$b\e(B
+      \e$B$3$NCM$N0l4S@-$rJ]$D$?$a$K!"$3$N>pJs$O%3%"\e(B API \e$B%k!<%A%s\e(B
+      <code>ap_get_server_version()</code>
+      \e$B$GF@$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?!#\e(B<code>SERVER_VERSION</code>
+      \e$B%7%s%\%k$N;EMM$OHs?d>)$G$9!#\e(B
+      \e$B$^$?!"\e(B<code>ap_get_server_built()</code> \e$B$O%3%"%5!<%P$,%j%s%/$5$l$?\e(B
+      \e$B;~9o$rI=$9J8;zNs$rJV$7$^$9!#\e(B</dd>
+      <dt><a href="mod/core.html#servertokens"><strong>\e$B%5!<%P$N\e(B ID
+      \e$B$K%*%Z%l!<%F%#%s%0%7%9%F%`$r4^$a$k\e(B</strong></a><br />
+      </dt>
+
+
+      <dd>\e$B?7$7$$%G%#%l%/%F%#%V\e(B <code>ServerTokens</code> \e$B$K$h$j!"\e(B
+      \e$B%/%i%$%"%s%H$KAw$jJV$5$l$k\e(B <code>Server</code>
+      \e$B%l%9%]%s%9%X%C%@%U%#!<%k%I$NCM$r%&%'%V%^%9%?!<$,\e(B
+      \e$BJQ99$G$-$k$h$&$K$J$j$^$7$?!#\e(B<code>ServerTokens</code>
+      \e$B%G%#%l%/%F%#%V$G$O!"%5!<%P$,F0:n$7$F$$$k%*%Z%l!<%F%#%s%0%7%9%F%`$N\e(B
+      \e$B<oN`$K$D$$$F$N>\$7$9$.$J$$DxEY$N>pJs$r!"%b%8%e!<%k>pJs$HF1MM$K%5!<%P\e(B
+      ID \e$B$K4^$a$k$+$I$&$+$r@)8f$7$^$9!#\e(BApache 1.3 \e$B$G$O!"\e(B
+      \e$B$3$NDI2C$N>pJs$,%G%U%)%k%H$G4^$^$l$k$h$&$K$J$C$F$$$^$9!#\e(B
+      <br />
+      <br />
+      </dd>
+
+      <dt><strong>Netscape \e$B7A<0$N\e(B SHA1
+      \e$B$G0E9f2=$5$l$?%Q%9%o!<%I$N%5%]!<%H\e(B</strong><br />
+      </dt>
+
+      <dd>(Apache \e$B$KAH9~$^$l$F$$$k\e(B MD5 \e$B$d!"\e(BOS \e$B8GM-$N\e(B crypt(3)
+      \e$B4X?t$H0[$J$j\e(B) \e$B%Q%9%o!<%I$,\e(B SHA1 \e$B$G0E9f2=$5$l$k$h$&$J\e(B BasicAuth
+      \e$B%Q%9%o!<%IJ}<0$N0\9T$dE}9g$rB%?J$9$k$?$a!"\e(B<code>{SHA1}</code>
+      \e$B$,A0$KIU$$$F$$$k%Q%9%o!<%I$O\e(B Base64 \e$B$GId9f2=$5$l$?\e(B SHA1
+      \e$B%Q%9%o!<%I$H$7$F2r<a$5$l$^$9!#$5$i$J$k>pJs$d\e(B Netscape \e$B$N\e(B
+      ldap/ldif \e$B%(%s%H%j$rJQ49$9$k$?$a$N%f!<%F%#%j%F%#!<$O!"\e(B
+      support/SHA1 \e$B$K$"$j$^$9!#\e(B</dd>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/process-model.html.en b/htdocs/manual/process-model.html.en
new file mode 100644 (file)
index 0000000..ff61cf5
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Server Pool Management</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Server Pool Management</h1>
+    <hr />
+
+    <p>We found that many people were using values for "MaxServers"
+    either too high or too low, and were hanging themselves on it.
+    The model we adopted is still based on long-lived
+    minimal-forking processes, but instead of specifying one number
+    of persistent processes, the web-master specifies a maximum and
+    minimum number of processes to be "spare" - every couple of
+    seconds the parent checks the actual number of spare servers
+    and adjusts accordingly. This should keep the number of servers
+    concurrently running relatively low while still ensuring
+    minimal forking.</p>
+
+    <p>We renamed the current StartServers to MinSpareServers,
+    created separate StartServers parameter which means what it
+    says, and renamed MaxServers to MaxSpareServers (though the old
+    name still works, for NCSA 1.4 back-compatibility). The old
+    names were generally regarded as too confusing.</p>
+
+    <p>The defaults for each variable are:</p>
+<pre>
+MinSpareServers         5
+MaxSpareServers         10
+StartServers            5
+</pre>
+    There is an absolute maximum number of simultaneous children
+    defined by a compile-time limit which defaults to 256 and a
+    "MaxClients" directive which specifies the number of
+    simultaneous children that will be allowed. MaxClients can be
+    adjusted up to the compile-time limit (HARD_SERVER_LIMIT,
+    defined in httpd.h). If you need more than 256 simultaneous
+    children, you need to modify both HARD_SERVER_LIMIT and
+    MaxClients. 
+
+    <p>In versions before 1.2, HARD_SERVER_LIMIT defaulted to
+    150.</p>
+
+    <p>We do not recommend changing either of these values
+    unless:</p>
+
+    <ol>
+      <li>You know you have the server resources to handle
+      more</li>
+
+      <li>You use the machine for other purposes and must limit the
+      amount of memory Apache uses</li>
+    </ol>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/process-model.html.html b/htdocs/manual/process-model.html.html
new file mode 100644 (file)
index 0000000..08fc554
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="process-model.html.en" -->
+
diff --git a/htdocs/manual/process-model.html.ja.jis b/htdocs/manual/process-model.html.ja.jis
new file mode 100644 (file)
index 0000000..e800ef5
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Server Pool Management</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.12 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">\e$BM=Hw%5!<%P$N4IM}\e(B</h1>
+    <hr />
+
+    <p>\e$BB?$/$N?M$,\e(B &quot;MaxServers&quot;
+    \e$B$KBP$7$F9b$9$.$k$^$?$ODc$9$.$kCM$r@_Dj$7!"\e(B
+    \e$B$=$l$r;H$$B3$1$F$$$?$H$$$&$3$H$,$o$+$j$^$7$?!#\e(B
+    \e$B;dC#$,:NMQ$7$F$$$k%b%G%k$O!"\e(B
+    \e$B$J$k$Y$/\e(B fork \e$B$r:G>.$K$7!"%W%m%;%9$,D9$/@8B8$9$k$h$&$JJ}K!$K\e(B
+    \e$B4p$E$$$?$^$^$G$9$,!"\e(B
+    \e$B0JA0$N7h$^$C$??t$N;}B3E*$J%W%m%;%9$r;XDj$9$k$H$$$&J}K!$NBe$o$j$K!"\e(B
+    \e$B!VM=Hw!W$H$J$k%W%m%;%9$N:GBgCM$H:G>.CM$r%&%'%V%^%9%?!<$,\e(B
+    \e$B;XDj$G$-$k$h$&$K$7$^$7$?!#$D$^$j!"?F%W%m%;%9$,?tIC$4$H$KM=Hw$N\e(B
+    \e$B%5!<%P$N<B:]$N?t$r%A%'%C%/$7!"$=$l$K1~$8$F%5!<%P$N?t$rD4@0$7$^$9!#\e(B
+    \e$B$3$l$K$h$j!"\e(Bfork \e$B$N?t$r:G>.8B$KM^$($D$D!"\e(B
+    \e$B%5!<%P$N?t$rHf3SE*>/$J$$>uBV$KJ]$D$3$H$,$G$-$k$O$:$G$9!#\e(B</p>
+
+    <p>\e$B8=:_$N\e(B StartServers \e$B$O\e(B MinSpareServers \e$B$H$$$&L>A0$K$J$j!"\e(B
+    \e$BJL8D$K!"L>A0$NDL$j$N0UL#$r$b$D!"\e(BStartServers \e$B%Q%i%a!<%?$,:n@.$5$l!"\e(B
+    MaxServers \e$B$O\e(B MaxSpareServers \e$B$H$$$&L>A0$K$J$j$^$7$?\e(B (\e$B8E$$L>A0$b\e(B
+    NCSA 1.4 \e$B$+$i$N8_49@-$rJ]$D$?$a$K$^$@F0:n$7$^$9\e(B)\e$B!#\e(B
+    \e$B8E$$L>A0$O0lHL$KJ6$i$o$7$9$.$k$H9M$($i$l$F$$$^$7$?!#\e(B</p>
+
+    <p>\e$B$=$l$>$l$N%G%U%)%k%H$NCM$O0J2<$N$H$*$j$G$9\e(B</p>
+<pre>
+MinSpareServers         5
+MaxSpareServers         10
+StartServers            5
+</pre>
+    <p>\e$BF1;~$K5vMF$5$l$k;R%W%m%;%9$N?t$O%3%s%Q%$%k;~$K@)8B$5$l$k\e(B
+    \e$B@dBPE*$J:GBgCM\e(B (\e$B%G%U%)%k%H$G\e(B 256 \e$B$H$J$C$F$$$^$9\e(B) \e$B$H\e(B
+    &quot;MaxClients&quot; \e$B%G%#%l%/%F%#%V$K$h$jDj5A$5$l$^$9!#\e(B
+    MaxClients \e$B$O:GBg$G%3%s%Q%$%k;~$N@)8BCM\e(B (httpd.h \e$B$GDj5A$5$l$k\e(B
+    HARD_SERVER_LIMIT) \e$B$^$GD4@0$G$-$^$9!#F1;~$K\e(B 256
+    \e$B0J>e$N;R%W%m%;%9$,I,MW$J>l9g$O\e(B HARD_SERVER_LIMIT \e$B$H\e(B MaxClients
+    \e$B$NN>J}$rJQ99$9$kI,MW$,$"$j$^$9!#\e(B
+    </p>
+
+    <p>1.2 \e$B0JA0$N%P!<%8%g%s$G$O\e(B HARD_SERVER_LIMIT \e$B$N%G%U%)%k%H$O\e(B
+    150 \e$B$K$J$C$F$$$^$9!#\e(B</p>
+
+    <p>\e$B0J2<$,Ev$F$O$^$i$J$$>l9g$O!"\e(B
+    \e$B$3$NCM$N$I$A$i$+$rJQ99$9$k$3$H$OA&$a$i$l$^$;$s!#\e(B</p>
+
+    <ol>
+      <li>\e$B$h$jB?$/$r07$&$?$a$N%5!<%P$N%j%=!<%9$,M-$k$3$H$,J,$+$C$F$$$k!#\e(B
+      </li>
+
+      <li>\e$B%^%7%s$rB>$NL\E*$K$b;HMQ$9$k$N$G\e(B Apache \e$B$,;HMQ$9$k\e(B
+      \e$B%a%b%j$NNL$r@)8B$7$J$/$F$O$J$i$J$$!#\e(B</li>
+    </ol>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/programs/ab.html b/htdocs/manual/programs/ab.html
new file mode 100644 (file)
index 0000000..652fff0
--- /dev/null
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: ab - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: ab</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     ab - Apache HTTP server benchmarking tool
+
+<strong>SYNOPSIS</strong>
+     <strong>ab</strong> [ -<strong>k</strong> ] [ -<strong>i</strong> ] [ -<strong>n</strong> <em>requests</em> ] [ -<strong>t</strong> <em>timelimit</em> ] [ -<strong>c</strong>  <em>con-</em>
+     <em>currency</em>   ]   [   -<strong>p</strong>   <em>POST   file</em>   ]  [  -<strong>A</strong>  <em>Authenticate</em>
+     <em>username</em>:<em>password </em>   ]    [    -<strong>P  </strong>   <em>Proxy     Authenticate</em>
+     <em>username</em>:<em>password</em>  ]  [  -<strong>H</strong>  <em>Custom  header</em>  ]  [  -<strong>C</strong> <em>Cookie</em>
+     <em>name</em>=<em>value</em> ] [ -<strong>T</strong> <em>content</em>-<em>type</em> ] [ -<strong>v</strong> <em>verbosity</em>  ]  [  -<strong>w</strong>
+     <em>output HTML</em> ] [ -<strong>x</strong> &lt;<em>table</em>&gt; <em>attributes</em> ] [ -<strong>X</strong> <em>proxy[:port]</em> ]
+     [ -<strong>y</strong> &lt;<em>tr</em>&gt; <em>attributes  </em>   ]   [     -<strong>z</strong>  &lt;<em>td</em>&gt;  <em>attributes  </em> ]
+     [<em>http</em>://]<em>hostname</em>[:<em>port</em>]/<em>path</em>
+
+     <strong>ab</strong> [ -<strong>V</strong> ] [ -<strong>h</strong> ]
+
+<strong>DESCRIPTION</strong>
+     <strong>ab</strong> is a tool for benchmarking the performance of your Apache
+     HyperText  Transfer Protocol (HTTP) server.  It does this by
+     giving you an indication of how  many  requests  per  second
+     your Apache installation can serve.
+
+<strong>OPTIONS</strong>
+     -<strong>k       </strong>   Enable the HTTP KeepAlive feature; that is, per-
+                 form  multiple requests within one HTTP session.
+                 Default is no KeepAlive.
+
+     -<strong>i       </strong>   Use an HTTP 'HEAD' instead of  the  GET  method.
+                 Cannot be mixed with POST.
+
+     -<strong>n</strong> <em>requests</em> The number of requests to perform for the bench-
+                 marking session.  The default is to perform just
+                 one  single  request,  which   will   not   give
+                 representative benchmarking results.
+
+     -<strong>t</strong> <em>timelimit</em>
+                 The number of  seconds  to  spend  benchmarking.
+                 Using  this  option automatically set the number
+                 of requests  for  the  benchmarking  session  to
+                 50000.   Use  this to benchmark the server for a
+                 fixed period of time.  By default, there  is  no
+                 timelimit.
+
+     -<strong>c</strong> <em>concurrency</em>
+                 The number of simultaneous requests to  perform.
+                 The default is to perform one HTTP request at a
+                 time, that is, no concurrency.
+
+     -<strong>p</strong> <em>POST file</em>
+                 A file containing data  that  the  program  will
+                 send  to  the  Apache  server  in  any HTTP POST
+                 requests. The contents of the file  should  look
+                 like  <code>name=value&amp;something=other</code>,  with  special
+                 characters URL encoded.
+
+     -<strong>A</strong> <em>Authorization username</em>:<em>password</em>
+                 Supply Basic Authentication credentials  to  the
+                 server.  The username and password are separated
+                 by a single ':', and  sent  as  uuencoded  data.
+                 The  string  is  sent  regardless of whether the
+                 server needs it; that is, has sent a 401 Authen-
+                 tication needed.
+
+     -<strong>P</strong> <em>Proxy</em>-<em>Authorization username</em>:<em>password</em>
+                 Supply Basic  Authentication  credentials  to  a
+                 proxy  en-route.  The  username and password are
+                 separated by a single ':', and sent as uuencoded
+                 data.   The string is sent regardless of whether
+                 the proxy needs it; that  is,  has  sent  a  407
+                 Proxy authentication needed.
+
+     -<strong>C</strong> <em>Cookie name</em>=<em>value</em>
+                 Add a 'Cookie:' line to the request.  The  argu-
+                 ment  is  typically  a  'name=value'  pair. This
+                 option may be repeated.
+
+     -<strong>H</strong> <em>Header string</em>
+                 Append extra headers to the request.  The  argu-
+                 ment  is typically in the form of a valid header
+                 line, usually  a  colon  separated  field  value
+                 pair,     for     example,     'Accept-Encoding:
+                 zip/zop;8bit'.
+
+     -<strong>T</strong> <em>content</em>-<em>type</em>
+                 The content-type header to use for POST data.
+
+     -<strong>v       </strong>   Sets the verbosity level.   Level  4  and  above
+                 prints information on headers, level 3 and above
+                 prints response codes (for example,  404,  200),
+                 and level 2 and above prints warnings and infor-
+                 mational messages.
+
+     -<strong>w       </strong>   Print out results in HTML tables.   The  default
+                 table  is  two  columns wide, with a white back-
+                 ground.
+
+     -<strong>x</strong> <em>attributes</em>
+                 The string to use  as  attributes  for  &lt;table&gt;.
+                 Attributes are inserted &lt;table <strong>here</strong> &gt;
+
+     -<strong>X</strong> <em>proxy:port</em>
+                 Use the specified proxy server, running on the
+                 specified port.
+
+     -<strong>y</strong> <em>attributes</em>
+                 The string to use as attributes for &lt;tr&gt;.
+
+     -<strong>z</strong> <em>attributes</em>
+                 The string to use as attributes for &lt;td&gt;.
+
+     -<strong>V       </strong>   Display the version number and exit.
+
+     -<strong>h       </strong>   Display usage information.
+
+<strong>BUGS</strong>
+     There are  various  statically  declared  buffers  of  fixed
+     length.  Combined  with  inefficient  parsing of the command
+     line arguments, the response headers from  the  server,  and
+     other external inputs, these buffers might overflow.
+
+     <strong>Ab</strong> does not  implement  HTTP/1.x  fully;  instead,  it  only
+     accepts some 'expected' forms of responses.
+
+     The rather heavy use of <strong>strstr(3)</strong> by the  program  may  skew
+     performance   results,   since   it   uses  significant  CPU
+     resources.  Make sure that performance limits are not hit by
+     <strong>ab</strong> before your server's limit is reached.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/apachectl.html.en b/htdocs/manual/programs/apachectl.html.en
new file mode 100644 (file)
index 0000000..3fe276f
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: apachectl - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: apachectl</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     apachectl - Apache HTTP server control interface
+
+<strong>SYNOPSIS</strong>
+     <strong>apachectl</strong> <em>command</em> [...]
+
+<strong>DESCRIPTION</strong>
+     <strong>apachectl</strong> is a front end to the  Apache  HyperText  Transfer
+     Protocol (HTTP) server.  It is designed to help the adminis-
+     trator control the functioning of the Apache <strong>httpd</strong> daemon.
+
+     <strong>NOTE:</strong> If your Apache installation uses  non-standard  paths,
+     you  will  need  to  edit  the  <strong>apachectl</strong>  script to set the
+     appropriate paths to your PID file and  your  <strong>httpd</strong>  binary.
+     See the comments in the script for details.
+
+     The <strong>apachectl</strong> script returns a 0 exit value on success,  and
+     &gt;0  if an error occurs.  For more details, view the comments
+     in the script.
+
+     Full   documentation   for   Apache    is    available    at
+     <strong>http://www.apache.org/</strong>
+
+<strong>OPTIONS</strong>
+     The <em>command</em> can be any one or more of the following options:
+
+     <strong>start    </strong>   Start the Apache daemon.  Gives an error  if  it
+                 is already running.
+
+     <strong>stop     </strong>   Stops the Apache daemon.
+
+     <strong>restart  </strong>   Restarts the  Apache  daemon  by  sending  it  a
+                 SIGHUP.   If  the  daemon  is not running, it is
+                 started.  This command automatically checks  the
+                 configuration  files  via <strong>configtest</strong> before ini-
+                 tiating the restart to make sure Apache  doesn't
+                 die.
+
+     <strong>fullstatus</strong>  Displays a full status report  from  <strong>mod_status.</strong>
+                 For  this  to  work, you need to have mod_status
+                 enabled on your server and a text-based  browser
+                 such  as <em>lynx</em> available on your system.  The URL
+                 used to access the status report can be  set  by
+                 editing the <strong>STATUSURL</strong> variable in the script.
+
+     <strong>status   </strong>   Displays a brief status report.  Similar to  the
+                 fullstatus  option,  except  that  the  list  of
+                 requests currently being served is omitted.
+
+     <strong>graceful </strong>   Gracefully restarts the Apache daemon by sending
+                 it  a SIGUSR1.  If the daemon is not running, it
+                 is started.  This differs from a normal  restart
+                 in  that  currently  open  connections  are  not
+                 aborted.  A side effect is that  old  log  files
+                 will not be closed immediately.  This means that
+                 if used in a log rotation script, a  substantial
+                 delay  may  be  necessary to ensure that the old
+                 log files are  closed  before  processing  them.
+                 This command automatically checks the configura-
+                 tion files via <strong>configtest</strong> before initiating  the
+                 restart to make sure Apache doesn't die.
+
+     <strong>configtest</strong>  Run a configuration file syntax test. It  parses
+                 the  configuration files and either reports <strong>Syn-</strong>
+                 <strong>tax Ok</strong> or detailed information about the partic-
+                 ular syntax error.
+
+     <strong>help     </strong>   Displays a short help message.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/apachectl.html.html b/htdocs/manual/programs/apachectl.html.html
new file mode 100644 (file)
index 0000000..b782c2a
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="apachectl.html.en" -->
+
diff --git a/htdocs/manual/programs/apachectl.html.ja.jis b/htdocs/manual/programs/apachectl.html.ja.jis
new file mode 100644 (file)
index 0000000..9680dd0
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Manual Page: apachectl  - Apache HTTP Server</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.5 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: apachectl</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>\e$BL>>N\e(B</strong>
+       apachectl - Apache HTTP \e$B%5!<%P%3%s%H%m!<%k%$%s%?!<%U%'!<%9\e(B
+
+<strong>\e$B=q<0\e(B</strong>
+       <strong>apachectl </strong><em>command </em>[...]
+
+<strong>\e$B2r@b\e(B</strong>
+       <strong>apachectl</strong> \e$B$O\e(B Apache HyperText Transfer Protocol
+       (HTTP) \e$B%5!<%P$N%U%m%s%H%(%s%I$G$9!#4IM}<T$,\e(B Apache <strong>httpd</strong>
+       \e$B%G!<%b%s$r%3%s%H%m!<%k$9$k5!G=$r=u$1$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B
+
+       <strong>NOTE:</strong> Apache \e$B$N%$%s%9%H!<%k$GI8=`$G$O$J$$%Q%9\e(B
+       \e$B$r;HMQ$9$k>l9g!"\e(BPID \e$B%U%!%$%k$H\e(B <strong>httpd</strong> \e$B%P%$%J%j$r\e(B
+       \e$BE,@Z$J%Q%9$K@_Dj$9$k$?$a\e(B <strong>apachectl</strong> \e$B%9%/%j%W%H\e(B
+       \e$B$rJT=8$9$kI,MW$,$"$j$^$9!#>\:Y$O%9%/%j%W%HFb$N%3%a%s%H$r8+$F$/$@$5$$!#\e(B
+
+       <strong>apachectl</strong> \e$B%9%/%j%W%H$O@.8y$7$?>l9g$O\e(B 0 \e$B=*N;CM!"\e(B
+       \e$B%(%i!<$,5/$3$C$?>l9g\e(B 0 \e$B0J>e$rJV$7$^$9!#\e(B
+       \e$B$5$i$J$k>\:Y$O%9%/%j%W%HFb$N%3%a%s%H$r$_$F$/$@$5$$!#\e(B
+
+       Apache \e$B$N$?$a$NA4J8>O$O\e(B <strong>http://www.apache.org/</strong>
+       \e$B$GMxMQ2DG=$G$9!#\e(B
+
+<strong>\e$B%*%W%7%g%s\e(B</strong>
+     <em>command</em> \e$B$O<!$N%*%W%7%g%s0l$D$^$?$O$=$l0J>e$r$D$1$F!"\e(B
+     \e$B<B9T$9$k$3$H$,$G$-$^$9!#\e(B
+     <strong>start       </strong>Apache \e$B%G!<%b%s$r5/F0$7$^$9!#\e(B
+                 \e$B4{$K<B9T$5$l$F$$$k>l9g$O!"%(%i!<$rJV$7$^$9!#\e(B
+
+     <strong>stop        </strong>Apache \e$B%G!<%b%s$rDd;_$7$^$9!#\e(B
+
+     <strong>restart     </strong>Apache \e$B%G!<%b%s$K\e(B SIGHUP
+                 \e$B$rAw$k$3$H$K$h$j:F5/F0$5$;$^$9!#\e(B
+                 \e$B%G!<%b%s$,<B9T$5$l$F$$$J$$>l9g$O5/F0$7$^$9!#\e(B
+                 \e$B$3$N%3%^%s%I$O\e(B Apache \e$B$,Dd;_$7$J$$$3$H$r3NG'$9$k$?$a\e(B
+                 \e$B:F5/F0$r3+;O$9$kA0$K\e(B <strong>configtest</strong>
+                 \e$B$K$h$j%U%!%$%k$r<+F0E*$K%A%'%C%/$7$^$9!#\e(B
+
+     <strong>fullstatus  mod_status  </strong>\e$B$K$h$jA4>uBV$rJs9p$7$^$9!#\e(B
+                 \e$B$3$l$,5!G=$9$k$?$a$K$O!"%5!<%P>e$G\e(B mod_status \e$B$,MxMQ2DG=$G\e(B
+                 \e$B%7%9%F%`>e$K$O\e(B <em>lynx</em> \e$B$N$h$&$J%F%-%9%H%Y!<%9$N\e(B
+                 \e$B%V%i%&%6$,I,MW$G$9!#>uBVJs9p$rF@$k$?$a$K;HMQ$5$l$k\e(B URL \e$B$O!"\e(B
+                 \e$B%9%/%j%W%H$G\e(B <strong>STATUSURL</strong> \e$BJQ?t$rJT=8$9$k\e(B
+                 \e$B$3$H$K$h$C$F@_Dj$5$l$^$9!#\e(B
+
+     <strong>status      </strong>\e$BC;$$>uBVJs9p$rI=<($7$^$9!#\e(B
+                 \e$B8=:_Ds6!$5$l$F$$$k%j%/%(%9%H$N%j%9%H$r>JN,$9$k$H\e(B
+                 \e$B$$$&$3$H$r=|$1$P!"\e(B fullstatus \e$B%*%W%7%g%s$H;w$F$$$^$9!#\e(B
+
+     <strong>graceful    </strong>Apache \e$B%G!<%b%s$K\e(B SIGUSR1 \e$B$rAw$k$3$H\e(B
+                 \e$B$K$h$jCJ3,E*$K:F5/F0$7$^$9!#\e(B
+                 \e$B%G!<%b%s$,<B9T$5$l$F$$$J$$>l9g$O5/F0$7$^$9!#\e(B
+                 \e$B8=:_MxMQCf$N@\B3$OCfCG$5$l$J$$$H$$$&E@$GDL>o$N\e(B
+                 \e$B:F5/F0$H$O0[$J$j$^$9!#I{:nMQ$O!"$9$0$K$O8E$$\e(B
+                 \e$B%m%0%U%!%$%k$rJD$8$k$3$H$,$G$-$J$$$3$H$G$9!#\e(B
+                 \e$B$3$l$O%m%0$N8r49%9%/%j%W%H$r;HMQ$9$k>l9g!"<B:]$NCY1d$,!"\e(B
+                 \e$B%m%0%U%!%$%k$r=hM}$9$kA0$KJD$8$i$l$k$3$H$rJ]>Z$9$k$N$K\e(B
+                 \e$BI,MW$+$b$7$l$J$$$3$H$r0UL#$7$^$9!#\e(B
+                 \e$B$3$N%3%^%s%I$O\e(B Apache \e$B$,Dd;_$7$J$$$3$H$r3NG'$9$k$?$a\e(B
+                 \e$B:F5/F0$r3+;O$9$kA0$K\e(B <strong>configtest</strong>
+                 \e$B$K$h$j%U%!%$%k$r<+F0E*$K%A%'%C%/$7$^$9!#\e(B
+
+     <strong>configtest  </strong>\e$B@_Dj%U%!%$%k$NJ8K!%F%9%H$r9T$$$^$9!#\e(B
+                 \e$B@_Dj%U%!%$%k$rJ,@O$7$F\e(B <strong>Syntax Ok</strong> \e$B$+!"\e(B
+                 \e$BFCDj$NJ8K!%(%i!<$K$D$$$F$N>\:Y>pJs$rJs9p$7$^$9!#\e(B
+
+     <strong>help        </strong>\e$BC;$$%X%k%W%a%C%;!<%8$rI=<($7$^$9!#\e(B
+
+<strong>\e$B4XO"9`L\\e(B</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/programs/apxs.html b/htdocs/manual/programs/apxs.html
new file mode 100644 (file)
index 0000000..577df8b
--- /dev/null
@@ -0,0 +1,280 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: apxs - Apache HTTP Server</title>
+  </head>
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: apxs</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     apxs - APache eXtenSion tool
+
+<strong>SYNOPSIS</strong>
+     <strong>apxs</strong> -<strong>g</strong> [ -<strong>S</strong> <em>variable</em>=<em>value</em> ] -<strong>n</strong> <em>name</em>
+
+     <strong>apxs</strong> -<strong>q</strong> [ -<strong>S</strong> <em>variable</em>=<em>value</em> ] <em>query</em> ...
+
+     <strong>apxs</strong> -<strong>c</strong> [ -<strong>S</strong> <em>variable</em>=<em>value</em> ] [ -<strong>o</strong> <em>dsofile</em> ] [ -<strong>I</strong> <em>incdir</em> ] [
+     -<strong>D</strong>  <em>variable</em>[=<em>value</em>]  ]  [  -<strong>L</strong>  <em>libdir</em>  ]  [  -<strong>l</strong> <em>libname</em> ] [
+     -<strong>Wc,</strong><em>compiler</em>-<em>flags</em> ] [ -<strong>Wl,</strong><em>linker</em>-<em>flags</em> ] <em>files</em> ...
+
+     <strong>apxs</strong> -<strong>i</strong> [ -<strong>S</strong> <em>variable</em>=<em>value</em> ] [ -<strong>n</strong> <em>name</em> ] [ -<strong>a</strong> ] [ -<strong>A</strong> ] <em>dso-</em>
+     <em>file</em> ...
+
+     <strong>apxs</strong> -<strong>e</strong> [ -<strong>S</strong> <em>variable</em>=<em>value</em> ] [ -<strong>n</strong> <em>name</em> ] [ -<strong>a</strong> ] [ -<strong>A</strong> ] <em>dso-</em>
+     <em>file</em> ...
+
+<strong>DESCRIPTION</strong>
+     <strong>apxs</strong> is a tool for building and installing extension modules
+     for  the  Apache  HyperText Transfer Protocol (HTTP) server.
+     This is achieved by building a Dynamic Shared  Object  (DSO)
+     from  one  or  more source or object <em>files</em> which then can be
+     loaded into the Apache server under runtime via the  <strong>LoadMo-</strong>
+     <strong>dule</strong> directive from <strong>mod_so.</strong>
+
+     So to use this extension mechanism,  your  platform  has  to
+     support  the DSO feature and your Apache <strong>httpd</strong> binary has to
+     be built with the <strong>mod_so</strong> module.  The  <strong>apxs</strong>  tool  automati-
+     cally complains if this is not the case.  You can check this
+     yourself by manually running the command
+
+       $ httpd -l
+
+     The module <strong>mod_so</strong> should be part of the displayed list.   If
+     these requirements are fulfilled, you can easily extend your
+     Apache server's functionality by installing your own modules
+     with the DSO mechanism by the help of this <strong>apxs</strong> tool:
+
+       $ apxs -i -a -c mod_foo.c
+       gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
+       ld -Bshareable -o mod_foo.so mod_foo.o
+       cp mod_foo.so /path/to/apache/libexec/mod_foo.so
+       chmod 755 /path/to/apache/libexec/mod_foo.so
+       [activating module `foo' in /path/to/apache/etc/httpd.conf]
+       $ apachectl restart
+       /path/to/apache/sbin/apachectl restart: httpd not running, trying to start
+       [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+       /path/to/apache/sbin/apachectl restart: httpd started
+       $ _
+
+     The arguments <em>files</em> can be any C source file (.c), a  object
+     file  (.o)  or  even  a  library archive (.a). The <strong>apxs</strong> tool
+     automatically recognizes these extensions and  automatically
+     uses  the  C source files for compilation while it just uses
+     the object and archive files for the linking phase. But when
+     using such pre-compiled objects, make sure they are compiled
+     for Position Independent Code (PIC) to be able to  use  them
+     for a DSO. For instance with GCC you always just have to use
+     <strong>-fpic</strong>.  For other C compilers please consult its manual page
+     or  watch  for  the  flags  <strong>apxs</strong>  uses to compile the object
+     files.
+
+     For more details about DSO support in Apache, first read the
+     background  information about DSO in htdocs/manual/dso.html,
+     then read the documentation of <strong>mod_so</strong>.
+
+<strong>OPTIONS</strong>
+     Common options:
+
+     -<strong>n</strong> <em>name  </em>   This explicitly sets the module name for the  -<strong>i</strong>
+                 (install)  and  -<strong>g</strong> (template generation) option.
+                 Use this to explicitly specify the module  name.
+                 For  option  -<strong>g</strong>  this is required, for option -<strong>i</strong>
+                 the <strong>apxs</strong> tool tries to determine the  name  from
+                 the source or (as a fallback) at least by guess-
+                 ing it from the filename.
+
+     Query options:
+
+     -<strong>q       </strong>   Performs a query for <strong>apxs</strong>'s knowledge about cer-
+                 tain  settings.  The <em>query</em> parameters can be one
+                 or more of the following variable names:
+                   CC              TARGET
+                   CFLAGS          SBINDIR
+                   CFLAGS_SHLIB    INCLUDEDIR
+                   LD_SHLIB        LIBEXECDIR
+                   LDFLAGS_SHLIB   SYSCONFDIR
+                   LIBS_SHLIB      PREFIX
+                 Use this for manually determining settings.  For
+                 instance use
+                   INC=-I`apxs -q INCLUDEDIR`
+                 inside your own Makefiles  if  you  need  manual
+                 access to Apache's C header files.
+
+     Configuration options:
+
+     -<strong>S</strong> <em>variable</em>=<em>value</em>
+                 This option changes the <strong>apxs</strong> settings  described
+                 above.
+
+     Template Generation options:
+     -<strong>g       </strong>   This generates a subdirectory <em>name</em>  (see  option
+                 -<strong>n</strong>)  and there two files: A sample module source
+                 file named <strong>mod_</strong><em>name</em>.<em>c</em> which can  be  used  as  a
+                 template  for  creating your own modules or as a
+                 quick start for playing with the <strong>apxs</strong> mechanism.
+                 And  a  corresponding  <strong>Makefile</strong>  for even easier
+                 building and installing of this module.
+
+     DSO compilation options:
+
+     -<strong>c       </strong>   This indicates  the  compilation  operation.  It
+                 first  compiles the C source files (.c) of <em>files</em>
+                 into corresponding object files  (.o)  and  then
+                 builds  a DSO in <em>dsofile</em> by linking these object
+                 files plus the remaining object  files  (.o  and
+                 .a)  of  <em>files</em>  If no -<strong>o</strong> option is specified the
+                 output file is guessed from the  first  filename
+                 in   <em>files</em>   and   thus   usually   defaults  to
+                 <strong>mod_</strong><em>name</em>.<em>so</em>
+
+     -<strong>o</strong> <em>dsofile</em>  Explicitly specifies the filename of the created
+                 DSO  file.  If not specified and the name cannot
+                 be guessed from the  <em>files</em>  list,  the  fallback
+                 name <strong>mod_unknown.so</strong> is used.
+
+     -<strong>D</strong> <em>variable</em>[=<em>value</em>]
+                 This option is directly passed  through  to  the
+                 compilation  command(s).   Use  this to add your
+                 own defines to the build process.
+
+     -<strong>I</strong> <em>incdir</em>   This option is directly passed  through  to  the
+                 compilation  command(s).   Use  this to add your
+                 own include directories to search to  the  build
+                 process.
+
+     -<strong>L</strong> <em>libdir</em>   This option is directly passed  through  to  the
+                 linker  command.   Use  this  to  add  your  own
+                 library directories to search to the build  pro-
+                 cess.
+
+     -<strong>l</strong> <em>libname</em>  This option is directly passed  through  to  the
+                 linker  command.   Use  this  to  add  your  own
+                 libraries to search to the build process.
+
+     -<strong>Wc,</strong><em>compiler</em>-<em>flags</em>
+                 This option passes <em>compiler</em>-<em>flags</em> as  additional
+                 flags  to the compiler command.  Use this to add
+                 local compiler-specific options.
+
+     -<strong>Wl,</strong><em>linker</em>-<em>flags</em>
+                 This option passes  <em>linker</em>-<em>flags</em>  as  additional
+                 flags  to  the  linker command.  Use this to add
+                 local linker-specific options.
+
+     DSO installation and configuration options:
+
+     -<strong>i       </strong>   This indicates the  installation  operation  and
+                 installs  one  or  more  DSOs  into the server's
+                 <em>libexec</em> directory.
+
+     -<strong>a       </strong>   This  activates  the  module  by   automatically
+                 adding   a   corresponding  <strong>LoadModule</strong>  line  to
+                 Apache's <strong>httpd.conf</strong> configuration  file,  or  by
+                 enabling it if it already exists.
+
+     -<strong>A       </strong>   Same as option -<strong>a</strong>  but  the  created  <strong>LoadModule</strong>
+                 directive is prefixed with a hash sign (#), i.e.
+                 the module is just prepared for later activation
+                 but initially disabled.
+
+     -<strong>e       </strong>   This indicates the editing operation, which  can
+                 be  used with the -<strong>a</strong> and -<strong>A</strong> options similarly to
+                 the -<strong>i</strong> operation  to  edit  Apache's  <strong>httpd.conf</strong>
+                 configuration file without attempting to install
+                 the module.
+
+<strong>EXAMPLES</strong>
+     Assume you have an Apache module named  mod_foo.c  available
+     which should extend Apache's server functionality. To accom-
+     plish this you first have to compile the C source into a DSO
+     suitable  for  loading  into the Apache server under runtime
+     via the following command:
+
+       $ apxs -c mod_foo.c
+       gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
+       ld -Bshareable -o mod_foo.so mod_foo.o
+       $ _
+
+     Then you have to update the Apache configuration  by  making
+     sure  a <strong>LoadModule</strong> directive is present to load this DSO. To
+     simplify this step <strong>apxs</strong> provides an automatic way to install
+     the   DSO  in  the  "libexec"  directory  and  updating  the
+     <strong>httpd.conf</strong> file accordingly. This can be  achieved  by  run-
+     ning:
+
+       $ apxs -i -a mod_foo.c
+       cp mod_foo.so /path/to/apache/libexec/mod_foo.so
+       chmod 755 /path/to/apache/libexec/mod_foo.so
+       [activating module `foo' in /path/to/apache/etc/httpd.conf]
+       $ _
+
+     This way a line named
+
+       LoadModule foo_module libexec/mod_foo.so
+
+     is added to the configuration file if still not present.  If
+     you  want  to have this operation to be disabled, use the -<strong>A</strong>
+     option, i.e.
+
+       $ apxs -i -A mod_foo.c
+
+     For a quick test of the <strong>apxs</strong> mechanism you can create a sam-
+     ple  Apache  module  template  plus a corresponding <strong>Makefile</strong>
+     via:
+
+       $ apxs -g -n foo
+       Creating [DIR]  foo
+       Creating [FILE] foo/Makefile
+       Creating [FILE] foo/mod_foo.c
+       $ _
+
+     Then you can immediately compile this sample module  into  a
+     DSO and load it into the Apache server:
+
+       $ cd foo
+       $ make all reload
+       apxs -c mod_foo.c
+       gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
+       ld -Bshareable -o mod_foo.so mod_foo.o
+       apxs -i -a -n "foo" mod_foo.so
+       cp mod_foo.so /path/to/apache/libexec/mod_foo.so
+       chmod 755 /path/to/apache/libexec/mod_foo.so
+       [activating module `foo' in /path/to/apache/etc/httpd.conf]
+       apachectl restart
+       /path/to/apache/sbin/apachectl restart: httpd not running, trying to start
+       [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+       /path/to/apache/sbin/apachectl restart: httpd started
+       $ _
+
+     You can even use <strong>apxs</strong> to compile complex modules outside the
+     Apache  source  tree,  like PHP3, because <strong>apxs</strong> automatically
+     recognized C source files and object files.
+
+       $ cd php3
+       $ ./configure --with-shared-apache=../apache-1.3
+       $ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a
+       gcc -fpic -DSHARED_MODULE -I/tmp/apache/include  -c mod_php3.c
+       ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a
+       $ _
+
+     Only C source files  are  compiled  while  remaining  object
+     files are used for the linking phase.
+
+<strong>SEE ALSO</strong>
+     <strong>apachectl(1), httpd(8).</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/dbmmanage.html b/htdocs/manual/programs/dbmmanage.html
new file mode 100644 (file)
index 0000000..409b882
--- /dev/null
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: dbmmanage - Apache HTTP Server</title>
+  </head>
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: dbmmanage</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     dbmmanage - Create and update user authentication  files  in
+     DBM format
+
+<strong>SYNOPSIS</strong>
+     <strong>dbmmanage</strong> <em>filename</em> [ <em>command</em> ] [ <em>username</em> [ <em>encpasswd</em> ] ]
+
+<strong>DESCRIPTION</strong>
+     <strong>dbmmanage</strong> is used to create and update the DBM format  files
+     used  to  store usernames and password for basic authentica-
+     tion of HTTP users.   Resources  available  from  the  <strong>httpd</strong>
+     Apache web server can be restricted to just the users listed
+     in the files created by <strong>dbmmanage.</strong> This program can only  be
+     used  when  the usernames are stored in a DBM file. To use a
+     flat-file database see <strong>htpasswd</strong>.
+
+     This manual page only lists the command line arguments.  For
+     details  of  the  directives  necessary  to  configure  user
+     authentication in <strong>httpd</strong> see the Apache manual, which is part
+     of   the   Apache   distribution   or   can   be   found  at
+     http://www.apache.org/.
+
+<strong>OPTIONS</strong>
+     <em>filename</em>
+          The filename of the DBM format  file.  Usually  without
+          the extension .db, .pag, or .dir.
+
+     <em>command</em>
+          This selects the operation to perform:
+
+     <strong>add      </strong>   Adds an entry for <em>username</em> to <em>filename</em> using the
+                 encrypted password <em>encpassword</em>.
+
+     <strong>adduser  </strong>   Asks for a password and then adds an  entry  for
+                 <em>username</em> to <em>filename</em> .
+
+     <strong>check    </strong>   Asks for a password and then checks if  <em>username</em>
+                 is  in <em>filename</em> and if it's password matches the
+                 specified one.
+
+     <strong>delete   </strong>   Deletes the <em>username</em> entry from <em>filename</em>.
+
+     <strong>import   </strong>   Reads username:password entries (one  per  line)
+                 from  STDIN and adds them to <em>filename</em>. The pass-
+                 words already has to be crypted.
+
+     <strong>update   </strong>   Same as the "adduser" command,  except  that  it
+                 makes sure <em>username</em> already exists in <em>filename</em>.
+
+     <strong>view     </strong>   Just displays the complete contents of  the  DBM
+                 file.
+
+     <em>username </em>   The user for which the update operation is  per-
+                 formed.
+
+<strong>BUGS</strong>
+     One should be aware that there are a number of different DBM
+     file   formats   in  existence,  and  with  all  likelihood,
+     libraries for more than one format may exist on your system.
+     The three primary examples are NDBM, the GNU project's GDBM,
+     and Berkeley DB 2.  Unfortunately, all these  libraries  use
+     different file formats, and you must make sure that the file
+     format used by <em>filename</em> is the same  format  that  <strong>dbmmanage</strong>
+     expects  to see. <strong>dbmmanage</strong> currently has no way of determin-
+     ing what type of DBM file it is looking at.  If used against
+     the  wrong format, will simply return nothing, or may create
+     a different DBM file with a different name, or at worst,  it
+     may  corrupt the DBM file if you were attempting to write to
+     it.
+
+     <strong>dbmmanage</strong> has a list of DBM format preferences,  defined  by
+     the  <strong>@AnyDBM::ISA</strong>  array  near the beginning of the program.
+     Since we prefer the Berkeley DB 2 file format, the order  in
+     which  <strong>dbmmanage</strong>  will look for system libraries is Berkeley
+     DB 2, then NDBM, and then GDBM.   The  first  library  found
+     will  be  the  library <strong>dbmmanage</strong> will attempt to use for all
+     DBM file transactions.  This ordering is slightly  different
+     than  the standard <strong>@AnyDBM::ISA</strong> ordering in perl, as well as
+     the ordering used by the simple dbmopen() call in  Perl,  so
+     if  you  use  any  other utilities to manage your DBM files,
+     they must also follow  this  preference  ordering.   Similar
+     care  must  be  taken  if using programs in other languages,
+     like C, to access these files.
+
+     Apache's <strong>mod_auth_db.c</strong> module corresponds to Berkeley  DB  2
+     library,   while  <strong>mod_auth_dbm.c</strong>  corresponds  to  the  NDBM
+     library.  Also, one can usually use the  <strong>file</strong>  program  sup-
+     plied  with  most Unix systems to see what format a DBM file
+     is in.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/footer.html b/htdocs/manual/programs/footer.html
new file mode 100644 (file)
index 0000000..10a731d
--- /dev/null
@@ -0,0 +1,6 @@
+    <hr />
+
+    <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+    <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+    <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
diff --git a/htdocs/manual/programs/header.html b/htdocs/manual/programs/header.html
new file mode 100644 (file)
index 0000000..09a28d8
--- /dev/null
@@ -0,0 +1,5 @@
+    <div align="CENTER">
+      <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server Version 1.3</h3>
+    </div>
diff --git a/htdocs/manual/programs/htdigest.html b/htdocs/manual/programs/htdigest.html
new file mode 100644 (file)
index 0000000..303b2a5
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: htdigest - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: htdigest</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     htdigest - Create and update user authentication files
+
+<strong>SYNOPSIS</strong>
+     <strong>htdigest</strong> [ -<strong>c</strong> ] <em>passwdfile realm username</em>
+
+<strong>DESCRIPTION</strong>
+     <strong>htdigest</strong> is used to create and update the flat-files used to
+     store  usernames,  realm and password for digest authentica-
+     tion of HTTP users.   Resources  available  from  the  <strong>httpd</strong>
+     Apache web server can be restricted to just the users listed
+     in the files created by <strong>htdigest.</strong>
+
+     This manual page only lists the command line arguments.  For
+     details  of  the  directives  necessary  to configure digest
+     authentication in <strong>httpd</strong> see the Apache manual, which is part
+     of   the   Apache   distribution   or   can   be   found  at
+     http://www.apache.org/.
+
+<strong>OPTIONS</strong>
+     -c   Create the <em>passwdfile</em>. If <em>passwdfile</em> already exists, it
+          is deleted first.
+
+     <em>passwdfile</em>
+          Name of the file to contain  the  username,  realm  and
+          password.  If  -c is specified, this file is created if
+          it does not already exist, or deleted and recreated  if
+          it does exist.
+
+     <em>realm</em>
+          The realm name to which the user name belongs.
+
+     <em>username</em>
+          The user name to create or  update  in  <strong>passwdfile</strong>.  If
+          <em>username</em>  does  not  exist  is  this  file, an entry is
+          added. If it does exist, the password is changed.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/htpasswd.html.en b/htdocs/manual/programs/htpasswd.html.en
new file mode 100644 (file)
index 0000000..67de07d
--- /dev/null
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: htpasswd - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: htpasswd</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     htpasswd - Create and update user authentication files
+
+<strong>SYNOPSIS</strong>
+     <strong>htpasswd</strong> [ -<strong>c</strong> ] [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>passwdfile username</em>
+     <strong>htpasswd</strong> -<strong>b</strong> [ -<strong>c</strong> ] [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>passwdfile username</em>
+     <em>password</em>
+     <strong>htpasswd</strong> -<strong>n</strong> [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>username</em>
+     <strong>htpasswd</strong> -<strong>nb</strong> [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>username password</em>
+
+<strong>DESCRIPTION</strong>
+     <strong>htpasswd</strong> is used to create and update the flat-files used to
+     store  usernames  and  password  for basic authentication of
+     HTTP users.  If <strong>htpasswd</strong> cannot access a file, such  as  not
+     being  able to write to the output file or not being able to
+     read the file in order to update it,  it  returns  an  error
+     status and makes no changes.
+
+     Resources available from the <strong>httpd</strong> Apache web server can  be
+     restricted  to just the users listed in the files created by
+     <strong>htpasswd.</strong> This program can only manage usernames  and  pass-
+     words  stored  in  a  flat-file.  It can encrypt and display
+     password information for use in other types of data  stores,
+     though.  To use a DBM database see <strong>dbmmanage</strong>.
+
+     <strong>htpasswd</strong> encrypts passwords using either a  version  of  MD5
+     modified for Apache, or the system's <em>crypt</em>() routine.  Files
+     managed by <strong>htpasswd</strong> may contain  both  types  of  passwords;
+     some  user  records  may  have MD5-encrypted passwords while
+     others in the same file may have  passwords  encrypted  with
+     <em>crypt</em>().
+
+     This manual page only lists the command line arguments.  For
+     details  of  the  directives  necessary  to  configure  user
+     authentication in <strong>httpd</strong> see the Apache manual, which is part
+     of   the   Apache   distribution   or   can   be   found  at
+     &lt;URL:http://www.apache.org/&gt;.
+
+<strong>OPTIONS</strong>
+     -b   Use batch mode; <em>i</em>.<em>e</em>., get the password from the command
+          line  rather  than prompting for it. <strong>This option should</strong>
+          <strong>be used  with  extreme  care,  since  the  password  is</strong>
+          <strong>clearly visible on the command line.</strong>
+
+     -c   Create the <em>passwdfile</em>. If <em>passwdfile</em> already exists, it
+          is rewritten and truncated.  This option cannot be com-
+          bined with the <strong>-n</strong> option.
+
+     -n   Display the results  on  standard  output  rather  than
+          updating  a  file.  This is useful for generating pass-
+          word records acceptable  to  Apache  for  inclusion  in
+          non-text  data  stores.  This option changes the syntax
+          of the command  line,  since  the  <em>passwdfile</em>  argument
+          (usually  the first one) is omitted.  It cannot be com-
+          bined with the <strong>-c</strong> option.
+
+     -m   Use Apache's  modified  MD5  algorithm  for  passwords.
+          Passwords  encrypted with this algorithm are transport-
+          able to any platform (Windows, Unix, BeOS,  et  cetera)
+          running  Apache  1.3.9  or  later.  On Windows and TPF,
+          this flag is the default.
+
+     -d   Use crypt() encryption for passwords.  The  default  on
+          all platforms but Windows and TPF. Though possibly sup-
+          ported by <strong>htpasswd</strong> on all platforms,  it  is  not  sup-
+          ported by the <strong>httpd</strong> server on Windows and TPF.
+
+     -s   Use SHA encryption for passwords. Faciliates  migration
+          from/to  Netscape  servers  using  the  LDAP  Directory
+          Interchange Format (ldif).
+
+     -p   Use plaintext passwords. Though <strong>htpasswd</strong>  will  support
+          creation  on  all platforms, the <strong>httpd</strong> deamon will only
+          accept plain text passwords on Windows and TPF.
+
+     <em>passwdfile</em>
+          Name of the file to contain the user name and password.
+          If  -c  is  given,  this file is created if it does not
+          already exist, or rewritten and truncated  if  it  does
+          exist.
+
+     <em>username</em>
+          The username to create  or  update  in  <strong>passwdfile</strong>.  If
+          <em>username</em>  does  not  exist  in  this  file, an entry is
+          added. If it does exist, the password is changed.
+
+     <em>password</em>
+          The plaintext password to be encrypted  and  stored  in
+          the file.  Only used with the -<em>b</em> flag.
+
+<strong>EXIT STATUS</strong>
+     <strong>htpasswd</strong> returns a zero status ("true") if the username  and
+     password  have  been  successfully  added  or updated in the
+     <em>passwdfile</em>.  <strong>htpasswd</strong> returns 1 if it encounters some  prob-
+     lem  accessing  files,  2 if there was a syntax problem with
+     the command line, 3 if the  password  was  entered  interac-
+     tively  and  the  verification  entry didn't match, 4 if its
+     operation was interrupted, 5 if a value is too  long  (user-
+     name,  filename,  password, or final computed record), and 6
+     if the username contains illegal characters  (see  the  <strong>RES-</strong>
+     <strong>TRICTIONS</strong> section).
+
+<strong>EXAMPLES</strong>
+     <strong>htpasswd /usr/local/etc/apache/.htpasswd-users jsmith</strong>
+
+          Adds or modifies the password for user <em>jsmith</em>. The user
+          is prompted for the password.  If executed on a Windows
+          system, the password will be encrypted using the  modi-
+          fied  Apache  MD5  algorithm;  otherwise,  the system's
+          <em>crypt</em>() routine will be used.  If  the  file  does  not
+          exist, <strong>htpasswd</strong> will do nothing except return an error.
+
+     <strong>htpasswd -c /home/doe/public_html/.htpasswd jane</strong>
+
+          Creates a new file and stores a record in it  for  user
+          <em>jane</em>.   The  user is prompted for the password.  If the
+          file exists and cannot be read, or cannot  be  written,
+          it  is  not altered and <strong>htpasswd</strong> will display a message
+          and return an error status.
+
+     <strong>htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve</strong>
+
+          Encrypts the password from the command line (<em>Pwd4Steve</em>)
+          using the MD5 algorithm, and stores it in the specified
+          file.
+
+<strong>SECURITY CONSIDERATIONS</strong>
+     Web password files such as those managed by <strong>htpasswd</strong>  should
+     <strong>not</strong>  be  within  the Web server's URI space -- that is, they
+     should not be fetchable with a browser.
+
+     The use of the -<em>b</em> option is discouraged, since  when  it  is
+     used the unencrypted password appears on the command line.
+
+<strong>RESTRICTIONS</strong>
+     On the Windows and MPE platforms, passwords  encrypted  with
+     <strong>htpasswd</strong>  are  limited  to  no  more  than 255 characters in
+     length.  Longer passwords will be truncated to  255  charac-
+     ters.
+
+     The MD5 algorithm used by <strong>htpasswd</strong> is specific to the Apache
+     software;  passwords  encrypted  using it will not be usable
+     with other Web servers.
+
+     Usernames are limited to 255 bytes and may not  include  the
+     character ':'.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong> and the scripts in support/SHA1 which come with the
+     distribution.
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/htpasswd.html.html b/htdocs/manual/programs/htpasswd.html.html
new file mode 100644 (file)
index 0000000..4b9d23c
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="htpasswd.html.en" -->
+
diff --git a/htdocs/manual/programs/htpasswd.html.ja.jis b/htdocs/manual/programs/htpasswd.html.ja.jis
new file mode 100644 (file)
index 0000000..a68a01c
--- /dev/null
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Manual Page: htpasswd  - Apache HTTP Server</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.3 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: htpasswd</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>\e$BL>>N\e(B</strong>
+     htpasswd - \e$B%f!<%6G'>Z%U%!%$%k$N:n@.$H99?7\e(B
+
+<strong>\e$B=q<0\e(B</strong>
+     <strong>htpasswd</strong> [ -<strong>c</strong> ] [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>passwdfile username</em>
+     <strong>htpasswd</strong> -<strong>b</strong> [ -<strong>c</strong> ] [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>passwdfile username</em>
+     <em>password</em>
+     <strong>htpasswd</strong> -<strong>n</strong> [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>username</em>
+     <strong>htpasswd</strong> -<strong>nb</strong> [ -<strong>m</strong> | -<strong>d</strong> | -<strong>s</strong> | -<strong>p</strong> ] <em>username password</em>
+
+<strong>\e$B2r@b\e(B</strong>
+     <strong>htpasswd </strong>\e$B$O!"\e(BHTTP \e$B%f!<%6$N4pK\G'>Z$N$?$a%f!<%6L>$H\e(B
+       \e$B%Q%9%o!<%I$r5-O?$9$k$?$a$N%U%i%C%H%U%!%$%k$N:n@.$H99?7$K;HMQ$5$l$^$9!#\e(B
+       <strong>htpasswd</strong>\e$B$,=PNO%U%!%$%k$K=q$-9~$a$J$$!"$^$?99?7$9$k$?$a$K\e(B
+       \e$BFI$_$H$k$3$H$,$G$-$J$$$J$I!"%U%!%$%k$K%"%/%;%9$9$k$3$H$,$G$-$J$$>l9g!"\e(B
+       \e$B%(%i!<%9%F!<%?%9$rJV$7!"JQ99$r9T$$$^$;$s!#\e(B
+
+       <strong>httpd</strong> Apache \e$B%&%'%V%5!<%P$O\e(B \e$B%j%=!<%9$N;HMQ$r\e(B <strong>htpasswd</strong>
+       \e$B$K$h$C$F:n@.$5$l$k%U%!%$%k$K%j%9%H$5$l$?%f!<%6$@$1$K@)8B$9$k\e(B
+       \e$B$3$H$,$G$-$^$9!#$3$N%W%m%0%i%`$O%U%i%C%H%U%!%$%k$K5-O?$5$l$?\e(B
+       \e$B%f!<%6L>$H%Q%9%o!<%I$N4IM}$N$_$r9T$J$&$3$H$,$G$-$^$9!#\e(B
+       \e$B$H$O8@$C$F$b!"B>$N%?%$%W$N%G!<%?$N5-O?$N$?$a$K;HMQ$7$F$b\e(B
+       \e$B%Q%9%o!<%I>pJs$r0E9f2=$7$FI=<($9$k$3$H$,$G$-$^$9!#\e(B 
+       DBM \e$B%G!<%?%Y!<%9$r;HMQ$9$k$?$a$K$O\e(B <strong>dbmmanage</strong> \e$B$r8+$F$/$@$5$$!#\e(B
+
+       <strong>htpasswd</strong> \e$B$O\e(B Apache \e$BMQ$K2~B$$5$l$?%P!<%8%g%s$N\e(B MD5 \e$B$+$^$?$O\e(B
+       \e$B%7%9%F%`$N\e(B <em>crypt()</em> \e$B%k!<%A%s$r;HMQ$7$F%Q%9%o!<%I$r0E9f2=$7$^$9!#\e(B
+       <strong>htpasswd</strong> \e$B$G4IM}$5$l$?%U%!%$%k$ON>J}$N%?%$%W$N%Q%9%o!<%I\e(B
+       \e$B$r4^$`$+$b$7$l$^$;$s\e(B; \e$B$"$k%f!<%6%l%3!<%I$,\e(B MD5 \e$B$G0E9f2=$5$l$?\e(B
+       \e$B%Q%9%o!<%I$G$"$k$N$KBP$7!"F1$8%U%!%$%k$NB>$N%f!<%6$O\e(B <em>crypt()</em> \e$B$K$h$j\e(B
+       \e$B0E9f2=$5$l$?%Q%9%o!<%I$G$"$k$+$b$7$l$^$;$s!#\e(B
+
+       \e$B$3$N%^%K%e%"%k%Z!<%8$O%3%^%s%I%i%$%s$N0z?t$r5s$2$F$$$k$@$1$G$9!#\e(B
+       <strong>httpd</strong> \e$B$N%f!<%6G'>Z@_Dj$KI,MW$J%G%#%l%/%F%#%V\e(B \e$B$N>\:Y$O!"\e(B
+       Apache \e$BG[I[J*$d\e(B &lt;URL:http://www.apache.org/&gt; \e$B$G8+$D$1$k$3$H$,$G$-$k\e(B
+       Apache \e$B%^%K%e%"%k$r;2>H$7$F$/$@$5$$!#\e(B
+
+
+<strong>\e$B%*%W%7%g%s\e(B</strong>
+     -b   \e$B%P%C%A%b!<%I$N;HMQ\e(B <em>\e$B$9$J$o$A\e(B</em> \e$B!"%W%m%s%W%H$G$O$J$/\e(B
+          \e$B%3%^%s%I%i%$%s$+$i%Q%9%o!<%I$rF@$^$9!#\e(B<strong>\e$B%Q%9%o!<%I$,\e(B</strong>
+          <strong>\e$B%3%^%s%I%i%$%s>e$GL@3N$KL\$K8+$($k$N$G!"\e(B</strong>
+          <strong>\e$B$3$N%*%W%7%g%s$O6K$a$FCm0U$7$F;HMQ$5$l$k$Y$-$G$9!#\e(B</strong>
+
+     -c   <em>\e$B%Q%9%o!<%I%U%!%$%k\e(B</em>\e$B$r:n@.$7$^$9!#\e(B<em>\e$B%Q%9%o!<%I%U%!%$%k\e(B</em>
+          \e$B$,$9$G$K$"$k>l9g!">e=q$-$5$l$F@Z$j<N$F$i$l$^$9!#\e(B \e$B$3$N%*%W%7%g%s$O\e(B
+          <strong>-n </strong>\e$B%*%W%7%g%s$HAH$_9g$o$;$k$3$H$,$G$-$^$;$s!#\e(B
+
+     -n   \e$B%U%!%$%k$r99?7$9$k$N$G$O$J$/I8=`=PNO$K7k2L$rI=<($7$^$9!#\e(B
+          \e$BHs%F%-%9%H%G!<%?$,4^$^$l$F$$$F\e(B Apache \e$B$K<u$1F~$l$i$l$k\e(B
+          \e$B%Q%9%o!<%I%l%3!<%I$r@8@.$9$k$N$KM-1W$G$9!#\e(B
+          \e$B$3$N%*%W%7%g%s$O\e(B<em>\e$B%Q%9%o!<%I%U%!%$%k\e(B</em>\e$B$N0z?t\e(B
+          (\e$BDL>o$O:G=i$N$b$N\e(B)\e$B$,>JN,$5$l$k$N$G!"%3%^%s%I%i%$%s$NJ8K!$,\e(B
+          \e$B@Z$jBX$o$j$^$9!#\e(B
+          <strong>-c </strong>\e$B%*%W%7%g%s$HAH$_9g$o$;$k$3$H$O$G$-$^$;$s!#\e(B
+
+     -m   \e$B%Q%9%o!<%I$K\e(B Apache \e$BMQ$K2~B$$5$l$?\e(B MD5 \e$B%"%k%4%j%:%`$r;HMQ\e(B
+          \e$B$7$^$9!#$3$N%"%k%4%j%:%`$K$h$j0E9f2=$5$l$?%Q%9%o!<%I$O!"\e(B
+          Apache 1.3.9 \e$B$^$?$O$=$l0J9_$,F0$$$F$$$k$"$i$f$k%W%i%C%H\e(B
+          \e$B%[!<%`\e(B (Windows, Unix, BeOS, \e$B$=$NB>\e(B) \e$B$K0\?"2DG=$G$9!#\e(B
+          Windows \e$B$H\e(B TPF \e$B$G$O$3$N%U%i%0$,%G%U%)%k%H$G$9!#\e(B
+
+     -d   \e$B%Q%9%o!<%I$K\e(B crypt() \e$B0E9f2=$r;HMQ$7$^$9!#\e(BWindows \e$B$H\e(B TPF
+          \e$B0J30$N$9$Y$F$N%W%i%C%H%U%)!<%`$G%G%U%)%k%H$G$9!#\e(B
+          \e$B$*$=$i$/$9$Y$F$N%W%i%C%H%U%)!<%`$G$N\e(B <strong>htpasswd</strong>
+          \e$B$K$h$j%5%]!<%H$5$l$^$9$,!"\e(BWindows \e$B$H\e(B TPF \e$B$N\e(B <strong>httpd</strong>
+          \e$B%5!<%P$K$h$k%5%]!<%H$O$"$j$^$;$s!#\e(B
+
+     -s   \e$B%Q%9%o!<%I$K\e(B SHA \e$B0E9f2=$r;HMQ$7$^$9!#\e(BLDAP \e$B%G%#%l%/%H%j\e(B
+          \e$BJQ49%U%)!<%^%C%H\e(B (ldif) \e$B$r;HMQ$9$k\e(B Netscape \e$B%5!<%P\e(B
+          \e$B$+$i$N\e(B/\e$B$X$N\e(B \e$B0\9T$rMF0W$K$7$^$9!#\e(B
+
+     -p   \e$B%W%l!<%s%F%-%9%H%Q%9%o!<%I$r;HMQ$7$^$9!#\e(B <strong>htpasswd</strong>
+          \e$B$,$9$Y$F$N%W%i%C%H%U%)!<%`$G$N:n@.$r%5%]!<%H$7$F$b\e(B <strong>httpd</strong>
+          \e$B%G!<%b%s$O\e(B Windows \e$B$H\e(B TPF \e$B>e$G$O!"%W%l!<%s%F%-%9%H$N%Q%9%o!<%I\e(B
+          \e$B$N$_<uIU$1$k$G$7$g$&!#\e(B
+
+     <em>passwdfile</em>
+          \e$B%f!<%6L>$H%Q%9%o!<%I$,4^$^$l$F$$$k%U%!%$%kL>$G$9!#\e(B
+          \e$B$b$7\e(B -c \e$B$,M?$($i$l$?>l9g!"%U%!%$%k$,B8:_$7$J$$$J$i$P\e(B
+          \e$B%U%!%$%k$r:n@.$7!"$^$?B8:_$7$F$$$k$J$i!">e=q$-$5$l$^$9!#\e(B
+
+     <em>username</em>
+          <strong>passwdfile</strong> \e$B$K:n@.$^$?$O99?7$9$k%f!<%6L>$G$9!#\e(B
+          <em>username</em> \e$B$,B8:_$7$J$$>l9g$O%(%s%H%j$rDI2C$7$^$9!#\e(B
+          \e$BB8:_$9$k>l9g$K$O%Q%9%o!<%I$rJQ99$7$^$9!#\e(B
+
+     <em>password</em>
+          \e$B%U%!%$%k$K0E9f2=$5$l$F5-O?$5$l$k%W%l!<%s%F%-%9%H$N\e(B
+          \e$B%Q%9%o!<%I$G$9!#\e(B -<em>b</em> \e$B%U%i%0$G$N$_;HMQ$5$l$^$9!#\e(B
+
+<strong>\e$B=*N;%9%F!<%?%9\e(B</strong>
+     \e$B%f!<%6L>$H%Q%9%o!<%I$,<sHx$h$/\e(B <em>passwdfile</em> \e$B$KDI2C$^$?$O99?7\e(B
+     \e$B$5$l$?>l9g!"\e(B<strong>htpasswd</strong> \e$B$O%<%m%9%F!<%?%9\e(B ("\e$B??\e(B") \e$B$rJV$7$^$9!#\e(B
+     <strong>htpasswd</strong> \e$B$O!"%U%!%$%k%"%/%;%9$NLdBj$KAx6x$7$?>l9g$O\e(B 1\e$B!"\e(B
+     \e$B%3%^%s%I%i%$%s$K4X$9$kJ8K!$NLdBj$,$"$C$?>l9g$O\e(B 2\e$B!"\e(B
+     \e$BBPOC<0$G%Q%9%o!<%I$rF~NO$7$?:]$K3NG'$N%(%s%H%j$,%^%C%A$7$J$+$C$?>l9g$O\e(B 3\e$B!"\e(B
+     \e$BA`:n$,CfCG$5$l$?>l9g$O\e(B 4\e$B!"\e(B(\e$B%f!<%6L>!"%U%!%$%kL>!"%Q%9%o!<%I!"$^$?$O\e(B
+     \e$B:G8e$K7W;;$5$l$?%l%3!<%I\e(B) \e$B$K$*$$$FCM$,D9$9$.$k>l9g$O\e(B 5\e$B!"\e(B
+     \e$B%f!<%6L>$KIT@5$JJ8;z$,4^$^$l$F$$$k\e(B(<strong>RESTRICTIONS</strong>
+     \e$B%;%/%7%g%s$r8+$F$/$@$5$$\e(B) \e$B>l9g$O\e(B 6 \e$B$rJV$7$^$9!#\e(B
+
+<strong>\e$BNc\e(B</strong>
+     <strong>htpasswd /usr/local/etc/apache/.htpasswd-users jsmith</strong>
+
+          \e$B%f!<%6\e(B <em>jsmith</em> \e$B$N%Q%9%o!<%I$rDI2C$^$?$O=$@5$7$^$9!#\e(B
+          \e$B%f!<%6$O%Q%9%o!<%I$NF~NO$rB%$5$l$^$9!#\e(BWindows \e$B%7%9%F%`>e$G\e(B
+          \e$B<B9T$5$l$?>l9g!"%Q%9%o!<%I$O\e(B Apache MD5 \e$B%"%k%4%j%:%`$r;HMQ$7$F\e(B
+          \e$B0E9f2=$5$l$k$G$7$g$&!#B>$N>l9g$O!"%7%9%F%`$N\e(B <em>crypt()</em>
+          \e$B%k!<%A%s$,;HMQ$5$l$k$G$7$g$&!#%U%!%$%k$,B8:_$7$J$$>l9g!"\e(B
+          <strong>htpasswd</strong> \e$B$O%(%i!<$rJV$90J30$K$O2?$b$7$J$$$G$7$g$&!#\e(B
+
+     <strong>htpasswd -c /home/doe/public_html/.htpasswd jane</strong>
+
+          \e$B?7$7$$%U%!%$%k$r:n@.$7!"%f!<%6\e(B <em>jane</em> \e$B$N%l%3!<%I$r5-O?$7$^$9!#\e(B
+          \e$B%f!<%6$O%Q%9%o!<%I$NF~NO$rB%$5$l$^$9!#\e(B
+          \e$B%U%!%$%k$,B8:_$9$k$1$l$IFI$a$J$$$^$?$O=q$-9~$_$,$G$-$J$$>l9g$O\e(B
+          \e$BJQ99$5$l$:!"\e(B<strong>htpasswd</strong> \e$B$O%a%C%;!<%8$rI=<($7$F\e(B
+          \e$B%(%i!<%9%F!<%?%9$rJV$9$G$7$g$&!#\e(B
+
+     <strong>htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve</strong>
+
+          MD5 \e$B%"%k%4%j%:%`$r;H$C$F%3%^%s%I%i%$%s$+$i$N%Q%9%o!<%I\e(B
+          (<em>Pwd4Steve</em>) \e$B$r0E9f2=$7!";XDj$5$l$?%U%!%$%k$K5-O?$7$^$9!#\e(B
+
+<strong>\e$B%;%-%e%j%F%#$N=EMW@-\e(B</strong>
+       <strong>htpasswd</strong> \e$B$K$h$C$F4IM}$5$l$k$h$&$J%&%'%V%Q%9%o!<%I%U%!%$%k\e(B
+       \e$B$O%&%'%V%5!<%P$N\e(B URI \e$B$N>l=jFb$K$"$k$Y$-$G$O$"$j$^$;$s!#\e(B--
+       \e$B$9$J$o$A!"%&%'%V%V%i%&%6$K$h$C$F8F$S=P$72DG=$H$9$k$Y$-$G$O$"$j$^$;$s!#\e(B
+
+       -<em>b</em> \e$B%*%W%7%g%s$N;HMQ$9$kJ}K!$O!"0E9f2=$5$l$F$$$J$$%Q%9%o!<%I$,\e(B
+       \e$B%3%^%s%I%i%$%s$K8=$l$?$H$-$+$iM^;_$5$l$^$9!#\e(B
+
+<strong>\e$B@)8B\e(B</strong>
+       Windows \e$B$H\e(B MPE \e$B%W%i%C%H%U%)!<%`$G\e(B <strong>htpasswd</strong> \e$B$G0E9f2=$5$l$?\e(B
+       \e$B%Q%9%o!<%I$O\e(B 255 \e$BJ8;z$ND9$5$@$1$K@)8B$5$l$F$$$^$9!#\e(B
+       \e$B$h$jD9$$%Q%9%o!<%I$O\e(B 255 \e$BJ8;z$K@Z$j<N$F$i$l$k$G$7$g$&!#\e(B
+
+       <strong>htpasswd </strong>\e$B$K$h$C$F;HMQ$5$l$k\e(B MD5 \e$B%"%k%4%j%:%`$O\e(B Apache
+       \e$B%=%U%H%&%'%"$KFCM-$G!"$=$l$rMQ$$$F0E9f2=$5$l$?%Q%9%o!<%I$O\e(B
+       \e$BB>$N%&%'%V%5!<%P$G$O;HMQ$G$-$J$$$G$7$g$&!#\e(B
+
+       \e$B%f!<%6L>$O\e(B 255 \e$B%P%$%H$K@)8B$5$l!"%-%c%i%/%?\e(B ':' \e$B$r4^$^$l$J\e(B
+       \e$B$$$+$b$7$l$^$;$s!#\e(B
+
+<strong>\e$B4XO"9`L\\e(B</strong>
+       SHA1 \e$B%5%]!<%H$N\e(B <strong>httpd(8)</strong> \e$B$H%9%/%j%W%H$OG[I[J*$H6&$K\e(B
+       \e$B=PMh>e$,$j$^$9!#\e(B
+
+</pre>
+
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/programs/httpd.html.en b/htdocs/manual/programs/httpd.html.en
new file mode 100644 (file)
index 0000000..84dcd8f
--- /dev/null
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: httpd - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: httpd</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     httpd - Apache hypertext transfer protocol server
+
+<strong>SYNOPSIS</strong>
+     <strong>httpd</strong> [ -<strong>X</strong> ] [ -<strong>R</strong> <em>libexecdir</em> ] [ -<strong>d</strong> <em>serverroot</em> ] [ -<strong>f</strong> <em>config</em>
+     ] [ -<strong>C</strong> <em>directive</em> ] [ -<strong>c</strong> <em>directive</em> ] [ -<strong>D</strong> <em>parameter</em> ]
+
+     <strong>httpd</strong> [ -<strong>h</strong> ] [ -<strong>l</strong> ] [ -<strong>L</strong> ] [ -<strong>v</strong> ] [ -<strong>V</strong> ] [ -<strong>S</strong> ] [ -<strong>t</strong> ] [  -<strong>T</strong>
+     ]
+
+<strong>DESCRIPTION</strong>
+     <strong>httpd</strong> is  the  Apache  HyperText  Transfer  Protocol  (HTTP)
+     server  program.  It  is  designed to be run as a standalone
+     daemon process. When used like this it will create a pool of
+     child  processes to handle requests. To stop it, send a TERM
+     signal to the initial (parent) process. The PID of this pro-
+     cess  is  written  to  a  file as given in the configuration
+     file.  Alternatively <strong>httpd</strong> may be invoked  by  the  Internet
+     daemon  inetd(8)  each time a connection to the HTTP service
+     is made.
+
+     This manual page only lists the command line arguments.  For
+     details  of  the directives necessary to configure <strong>httpd</strong> see
+     the Apache manual, which is part of the Apache  distribution
+     or  can  be  found  at http://www.apache.org/. Paths in this
+     manual may not reflect those compiled into <strong>httpd.</strong>
+
+<strong>OPTIONS</strong>
+     -<strong>R</strong> <em>libexecdir</em>
+                 This option is  only  available  if  Apache  was
+                 built  with  the  <em>SHARED</em>_<em>CORE</em> rule enabled which
+                 forces the Apache core code to be placed into  a
+                 dynamic  shared  object (DSO) file. This file is
+                 searched in a hardcoded  path  under  ServerRoot
+                 per  default.  Use  this  option  if you want to
+                 override it.
+
+     -<strong>d</strong> <em>serverroot</em>
+                 Set the initial value for the ServerRoot  direc-
+                 tive  to  <em>serverroot</em>.  This can be overridden by
+                 the  ServerRoot  command  in  the  configuration
+                 file. The default is <strong>/usr/local/apache</strong>.
+
+     -<strong>f</strong> <em>config</em>   Execute the  commands  in  the  file  <em>config</em>  on
+                 startup. If <em>config</em> does not begin with a /, then
+                 it is taken to be a path relative to the Server-
+                 Root. The default is <strong>conf/httpd.conf</strong>.
+
+     -<strong>C</strong> <em>directive</em>
+                 Process the configuration <em>directive</em> before read-
+                 ing config files.
+
+     -<strong>c</strong> <em>directive</em>
+                 Process the configuration <em>directive</em> after  read-
+                 ing config files.
+
+     -<strong>D</strong> <em>parameter</em>
+                 Sets a configuration <em>parameter</em> which can be used
+                 with  &lt;IfDefine&gt;...&lt;/IfDefine&gt;  sections  in the
+                 configuration files  to  conditionally  skip  or
+                 process commands.
+
+     -<strong>h       </strong>   Output a short summary of available command line
+                 options.
+
+     -<strong>l       </strong>   Output a  list  of  modules  compiled  into  the
+                 server.
+
+     -<strong>L       </strong>   Output  a  list  of  directives  together   with
+                 expected  arguments  and places where the direc-
+                 tive is valid.
+
+     -<strong>S       </strong>   Show the settings as parsed from the config file
+                 (currently only shows the virtualhost settings).
+
+     -<strong>t       </strong>   Run syntax tests for configuration  files  only.
+                 The program immediately exits after these syntax
+                 parsing with either a return code of  0  (Syntax
+                 OK)  or  return  code  not  equal  to  0 (Syntax
+                 Error).
+
+     -<strong>T       </strong>   Same as option -<strong>t</strong> but does not check the config-
+                 ured document roots.
+
+     -<strong>X       </strong>   Run in single-process mode, for internal  debug-
+                 ging  purposes  only; the daemon does not detach
+                 from the terminal or fork any children.  Do  NOT
+                 use this mode to provide ordinary web service.
+
+     -<strong>v       </strong>   Print the version of <strong>httpd</strong> , and then exit.
+
+     -<strong>V       </strong>   Print the version and build parameters of  <strong>httpd</strong>
+                 , and then exit.
+
+<strong>FILES</strong>
+     <strong>/usr/local/apache/conf/httpd.conf</strong>
+     <strong>/usr/local/apache/conf/srm.conf</strong>
+     <strong>/usr/local/apache/conf/access.conf</strong>
+     <strong>/usr/local/apache/conf/mime.types</strong>
+     <strong>/usr/local/apache/conf/magic</strong>
+     <strong>/usr/local/apache/logs/error_log</strong>
+     <strong>/usr/local/apache/logs/access_log</strong>
+     <strong>/usr/local/apache/logs/httpd.pid</strong>
+
+<strong>SEE ALSO</strong>
+     <strong>inetd</strong>(8).
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/httpd.html.html b/htdocs/manual/programs/httpd.html.html
new file mode 100644 (file)
index 0000000..ae902c9
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="httpd.html.en" -->
+
diff --git a/htdocs/manual/programs/httpd.html.ja.jis b/htdocs/manual/programs/httpd.html.ja.jis
new file mode 100644 (file)
index 0000000..206f797
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Manual Page: httpd  - Apache HTTP Server</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.3 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: httpd</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>\e$BL>>N\e(B</strong>
+       httpd - Apache \e$B%O%$%Q!<%F%-%9%HE>Aw%W%m%H%3%k\e(B (HTTP) \e$B%5!<%P\e(B
+
+<strong>\e$B=q<0\e(B</strong>
+     <strong>httpd</strong> [ -<strong>X</strong> ] [ -<strong>R</strong> <em>libexecdir</em> ] [ -<strong>d</strong> <em>serverroot</em> ] [ -<strong>f</strong> <em>config</em>
+     ] [ -<strong>C</strong> <em>directive</em> ] [ -<strong>c</strong> <em>directive</em> ] [ -<strong>D</strong> <em>parameter</em> ]
+
+     <strong>httpd</strong> [ -<strong>h</strong> ] [ -<strong>l</strong> ] [ -<strong>L</strong> ] [ -<strong>v</strong> ] [ -<strong>V</strong> ] [ -<strong>S</strong> ] [ -<strong>t</strong> ] [  -<strong>T</strong>
+     ]
+
+<strong>\e$B2r@b\e(B</strong>
+       <strong>httpd</strong> \e$B$O\e(B Apache \e$B%O%$%Q!<%F%-%9%HE>Aw%W%m%H%3%k\e(B (HTTP) \e$B%5!<%P\e(B
+       \e$B%W%m%0%i%`$G$9!#%9%?%s%I%"%m%s%G!<%b%s%W%m%;%9$H$7$F<B9T$9$k$h$&\e(B
+       \e$B@_7W$5$l$F$$$^$9!#$=$N$h$&$KMxMQ$5$l$k>l9g!"%j%/%(%9%H$r=hM}$9$k\e(B
+       \e$B$?$a$K;R%W%m%;%9$N%W!<%k$r:n@.$7$^$9!#Dd;_$5$;$k$?$a$K$O\e(B TERM
+       \e$B%7%0%J%k$r:G=i$N\e(B (\e$B?F\e(B) \e$B%W%m%;%9$XAw$C$F$/$@$5$$!#?F%W%m%;%9$N\e(B
+       PID \e$B$O!"@_Dj%U%!%$%kCf$G;XDj$5$l$?%U%!%$%k$K=q$-9~$^$l$^$9!#\e(B
+       <strong>httpd</strong> \e$B$O!"%9%?%s%I%"%m%s%G!<%b%s%W%m%;%9$H$7$F\e(B
+       \e$B$G$O$J$/!"\e(BHTTP \e$B%5!<%S%9$X@\B3$5$l$k$?$S$K%$%s%?!<%M%C%H%9!<%Q!<\e(B
+       \e$B%5!<%P\e(B inetd(8) \e$B$+$i5/F0$5$;$k$3$H$b$G$-$^$9!#\e(B
+
+       \e$B$3$N%^%K%e%"%k%Z!<%8$O%3%^%s%I%i%$%s$N0z?t$r%j%9%H$7$F$$$k$@$1$G$9!#\e(B
+       <strong>httpd</strong> \e$B$N@_Dj$KI,MW$J%G%#%l%/%F%#%V$N>\:Y$O!"\e(BApache \e$BG[I[J*$d\e(B
+       http://www.apache.org/ \e$B$G8+$D$1$k$3$H$,$G$-$k\e(B Apache \e$B%^%K%e%"%k$r\e(B
+       \e$B;2>H$7$F$/$@$5$$!#$3$N%^%K%e%"%k$N%Q%9$O!"\e(B<strong>httpd</strong> \e$B$K%3%s%Q%$%k$5$l$F$$$k$b$N$H$O0c$&$+$b$7$l$^$;$s!#\e(B
+
+<strong>\e$B%*%W%7%g%s\e(B</strong>
+     -<strong>R</strong> <em>libexecdir</em>
+                 \e$B$3$N%*%W%7%g%s$O\e(B Apache \e$B$r\e(B <em>SHARED</em>_<em>CORE</em> \e$B%k!<%k$r2DG=$K\e(B
+                 \e$B$7$F%S%k%I$7$?>l9g$N$_MxMQ2DG=$G$9!#$=$N>l9g!"\e(BApache \e$B%3%"%3!<%I\e(B
+                 \e$B$KF0E*$J6&M-%*%V%8%'%/%H\e(B (DSO) \e$B%U%!%$%k$KCV$+$l$^$9!#\e(B
+                 \e$B$=$N%U%!%$%k$O%G%U%)%k%H$G\e(B ServerRoot \e$BG[2<$N\e(B
+                 \e$B%O!<%I%3!<%I$5$l$?%Q%9Cf$+$i8!:w$5$l$^$9!#\e(B
+                 \e$B$=$l$r>e=q$-$7$?$$>l9g$K$3$N%*%W%7%g%s$r;HMQ$7$F$/$@$5$$!#\e(B
+
+     -<strong>d</strong> <em>serverroot</em>
+                   ServerRoot \e$B%G%#%l%/%F%#%V$N=i4|CM$r\e(B <em>serverroot</em> \e$B$G@_Dj\e(B
+                   \e$B$7$^$9!#$3$NCM$O@_Dj%U%!%$%k$N\e(B Server-Root \e$B%3%^%s%I$G\e(B
+                   \e$B>e=q$-2DG=$G$9!#%G%U%)%k%H$O\e(B <strong>/usr/local/apache</strong> \e$B$G$9!#\e(B
+
+     -<strong>f</strong> <em>config</em>
+                   \e$B5/F0;~$K!"\e(B<em>config</em> \e$B$G;XDj$5$l$?%U%!%$%kCf$N%3%^%s%I$r\e(B
+                   \e$B<B9T$7$^$9!#\e(B<em>config</em> \e$B$,\e(B / \e$B$G;O$^$i$J$$>l9g!"\e(BServerRoot
+                   \e$B$+$i$NAjBP%Q%9$H2r<a$7$^$9!#\e(B
+                   \e$B%G%U%)%k%H$O\e(B <strong>conf/httpd.conf</strong> \e$B$G$9!#\e(B
+
+     -<strong>C</strong> <em>directive</em>
+                   \e$B@_Dj%U%!%$%k$rFI$_$3$`A0$K\e(B <em>directive</em> \e$B$r=hM}$7$^$9!#\e(B
+
+     -<strong>c</strong> <em>directive</em>
+                   \e$B@_Dj%U%!%$%k$rFI$_$3$s$@8e$K\e(B <em>directive</em> \e$B$r=hM}$7$^$9!#\e(B
+
+     -<strong>D</strong> <em>parameter</em>
+                   \e$B@_Dj%U%!%$%k$G>r7o$K$h$C$F%3%^%s%I$r%9%-%C%W$^$?$O=hM}\e(B
+                   \e$B$9$k\e(B &lt;IfDefine&gt;...&lt;/IfDefine&gt; \e$B%;%/%7%g%s$H6&$K;HMQ$9$k\e(B
+                   \e$B$3$H$,$G$-$k\e(B <em>parameter</em> \e$B$r@_Dj$7$^$9!#\e(B
+
+     -<strong>h          </strong>
+                   \e$BMxMQ2DG=$J%3%^%s%I%i%$%s%*%W%7%g%s$NC;$$MWLs$r=PNO$7$^$9!#\e(B
+
+     -<strong>l          </strong>
+                   \e$B%5!<%P$K%3%s%Q%$%k$5$l$F$$$k%b%8%e!<%k$N%j%9%H$r=PNO$7$^$9!#\e(B
+
+     -<strong>L          </strong>
+                   \e$B%G%#%l%/%F%#%V$N%j%9%H$r4|BT$5$l$k0z?t$H%G%#%l%/%F%#%V$,\e(B
+                   \e$BM-8z$J>l=j$H6&$K=PNO$7$^$9!#\e(B
+
+     -<strong>S          </strong>
+                   \e$B@_Dj%U%!%$%k$+$i2r@O$5$l$?@_Dj$rI=<($7$^$9\e(B
+                   (\e$B8=:_$O%P!<%A%c%k%[%9%H$N@_Dj$N$_$rI=<($7$^$9\e(B)\e$B!#\e(B
+
+     -<strong>t          </strong>
+                   \e$B@_Dj%U%!%$%k$NJ8K!%F%9%H$N$_$r9T$J$$$^$9!#%W%m%0%i%`$O\e(B
+                   \e$BJ8K!2r@O$K$h$j\e(B 0 \e$B$N%j%?!<%s%3!<%I\e(B (\e$BJ8K!\e(B OK) \e$B$+Hs\e(B 0 \e$B$N\e(B
+                   \e$B=*N;%3!<%I\e(B (\e$BJ8K!%(%i!<\e(B) \e$B$rJV$7$F$9$0$K=*N;$7$^$9!#\e(B
+
+     -<strong>T          </strong>
+                   \e$B%*%W%7%g%s\e(B -<strong>t</strong> \e$B$HF1MM$G$9$,!"@_Dj$5$l$?%I%-%e%a%s%H\e(B
+                   \e$B%k!<%H$r%A%'%C%/$7$^$;$s!#\e(B
+
+     -<strong>X          </strong>
+                   \e$BFbIt$N%G%P%C%0L\E*$N$?$a$N$_$N%7%s%0%k%W%m%;%9%b!<%I$G\e(B
+                   \e$B<B9T$7$^$9!#%G!<%b%s$O%?!<%_%J%k$+$iN%$l$:!";R%W%m%;%9\e(B
+                   \e$B$r\e(B fork \e$B$7$^$;$s!#DL>o$N%&%'%V%5!<%S%9$r9T$J$&>l9g!"\e(B
+                   \e$B$3$N%b!<%I$r;HMQ$7$F$O$$$1$^$;$s!#\e(B
+
+     -<strong>v          httpd</strong> \e$B$N%P!<%8%g%s$r=PNO$7$F=*N;$7$^$9!#\e(B
+
+     -<strong>V          httpd</strong> \e$B$N%P!<%8%g%s$H%S%k%I%Q%i%a!<%?$r=PNO$7$F=*N;$7$^$9!#\e(B
+
+<strong>\e$B4XO"%U%!%$%k\e(B</strong>
+       <strong>/usr/local/apache/conf/httpd.conf</strong>
+       <strong>/usr/local/apache/conf/srm.conf</strong>
+       <strong>/usr/local/apache/conf/access.conf</strong>
+       <strong>/usr/local/apache/conf/mime.types</strong>
+       <strong>/usr/local/apache/conf/magic</strong>
+       <strong>/usr/local/apache/logs/error_log</strong>
+       <strong>/usr/local/apache/logs/access_log</strong>
+       <strong>/usr/local/apache/logs/httpd.pid</strong>
+
+<strong>\e$B4XO"9`L\\e(B</strong>
+       <strong>inetd</strong>(8)
+
+</pre>
+
+
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/programs/index.html.en b/htdocs/manual/programs/index.html.en
new file mode 100644 (file)
index 0000000..3da74a5
--- /dev/null
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache HTTP Server and Supporting Programs</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Server and Supporting Programs</h1>
+
+    <p>This page documents all the executable programs included
+    with the Apache HTTP Server.</p>
+
+    <dl>
+      <dt><a href="httpd.html">httpd</a></dt>
+
+      <dd>Apache hypertext transfer protocol server</dd>
+
+      <dt><a href="apachectl.html">apachectl</a></dt>
+
+      <dd>Apache HTTP server control interface</dd>
+
+      <dt><a href="ab.html">ab</a></dt>
+
+      <dd>Apache HTTP server benchmarking tool</dd>
+
+      <dt><a href="apxs.html">apxs</a></dt>
+
+      <dd>APache eXtenSion tool</dd>
+
+      <dt><a href="dbmmanage.html">dbmmanage</a></dt>
+
+      <dd>Create and update user authentication files in DBM format
+      for basic authentication</dd>
+
+      <dt><a href="htdigest.html">htdigest</a></dt>
+
+      <dd>Create and update user authentication files for digest
+      authentication</dd>
+
+      <dt><a href="htpasswd.html">htpasswd</a></dt>
+
+      <dd>Create and update user authentication files for basic
+      authentication</dd>
+
+      <dt><a href="logresolve.html">logresolve</a></dt>
+
+      <dd>Resolve hostnames for IP-addresses in Apache
+      logfiles</dd>
+
+      <dt><a href="rotatelogs.html">rotatelogs</a></dt>
+
+      <dd>Rotate Apache logs without having to kill the server</dd>
+
+      <dt><a href="suexec.html">suexec</a></dt>
+
+      <dd>Switch User For Exec</dd>
+
+      <dt><a href="other.html">Other Programs</a></dt>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/index.html.html b/htdocs/manual/programs/index.html.html
new file mode 100644 (file)
index 0000000..f271091
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="index.html.en" -->
+
diff --git a/htdocs/manual/programs/index.html.ja.jis b/htdocs/manual/programs/index.html.ja.jis
new file mode 100644 (file)
index 0000000..c5a844f
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache HTTP Server and Supporting Programs</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.3 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">\e$B%5!<%P$H%5%]!<%H%W%m%0%i%`\e(B</h1>
+
+    <p>\e$B$3$N%Z!<%8$G$O!"\e(BApache HTTP \e$B%5!<%P$H$H$b$KDs6!$5$l$F$$$k<B9T\e(B
+    \e$B%W%m%0%i%`$rA4$F:\$;$F$$$^$9!#\e(B</p>
+
+    <dl>
+      <dt><a href="httpd.html">httpd</a></dt>
+
+      <dd>Apache \e$B%O%$%Q!<%F%-%9%HE>Aw%W%m%H%3%k%5!<%P\e(B</dd>
+
+      <dt><a href="apachectl.html">apachectl</a></dt>
+
+      <dd>Apache HTTP \e$B%5!<%P%3%s%H%m!<%k%$%s%?!<%U%'!<%9\e(B</dd>
+
+      <dt><a href="ab.html">ab</a></dt>
+
+      <dd>Apache HTTP \e$B%5!<%P%Y%s%A%^!<%/%D!<%k\e(B</dd>
+
+      <dt><a href="apxs.html">apxs</a></dt>
+
+      <dd>Apache \e$B3HD%%D!<%k\e(B</dd>
+
+      <dt><a href="dbmmanage.html">dbmmanage</a></dt>
+
+      <dd>Basic \e$BG'>Z$K$*$$$FMxMQ$9$k\e(B DBM \e$B=q<0$G$N%f!<%6G'>ZMQ%U%!%$%k$N\e(B
+      \e$B:n@.$H99?7\e(B</dd>
+
+      <dt><a href="htdigest.html">htdigest</a></dt>
+
+
+      <dd>Digest \e$BG'>Z$K$*$$$FMxMQ$9$k%f!<%6G'>ZMQ%U%!%$%k$N:n@.$H99?7\e(B</dd>
+
+      <dt><a href="htpasswd.html">htpasswd</a></dt>
+
+      <dd>Basic \e$BG'>Z$K$*$$$FMxMQ$9$k%f!<%6G'>ZMQ%U%!%$%k$N:n@.$H99?7\e(B</dd>
+
+
+      <dt><a href="logresolve.html">logresolve</a></dt>
+
+      <dd>Apache \e$B%m%0%U%!%$%kFb$K$*$1$k\e(B IP \e$B%"%I%l%9$N%[%9%HL>2r7h\e(B</dd>
+
+
+      <dt><a href="rotatelogs.html">rotatelogs</a></dt>
+
+      <dd>\e$B%5!<%P$r!!\e(Bkill \e$B$7$J$$$G\e(B Apache \e$B%m%0$r%m!<%F!<%H$9$k\e(B</dd>
+
+      <dt><a href="suexec.html">suexec</a></dt>
+
+      <dd>Apache \e$B$,\e(B Exec \e$B$9$k:]$N%f!<%6@ZBX\e(B</dd>
+
+      <dt><a href="other.html">\e$B$=$NB>$N%W%m%0%i%`\e(B</a></dt>
+    </dl>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/programs/logresolve.html b/htdocs/manual/programs/logresolve.html
new file mode 100644 (file)
index 0000000..2d21a94
--- /dev/null
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: logresolve - Apache HTTP Server</title>
+  </head>
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+    <!-- This document was autogenerated from the man page -->
+
+    <h1 align="center">Manual Page: logresolve</h1>
+<pre>
+<strong>NAME</strong>
+     logresolve - resolve hostnames  for  IP-addresses  in  Apache
+     logfiles
+
+<strong>SYNOPSIS</strong>
+     <strong>logresolve</strong>  [  -<strong>s</strong>  <em>filename</em>  ]  [  -<strong>c</strong>  ]  &lt;   <em>access</em>_<em>log</em>   &gt;
+     <em>access</em>_<em>log</em>.<em>new</em>
+
+<strong>DESCRIPTION</strong>
+     <strong>logresolve</strong> is  a  post-processing  program  to  resolve  IP-
+     addresses in Apache's access logfiles.  To minimize impact on
+     your nameserver, logresolve has its very own internal  hash-
+     table  cache.  This  means  that each IP number will only be
+     looked up the first time it is found in the log file.
+
+<strong>OPTIONS</strong>
+     -<strong>s</strong> <em>filename</em> Specifies a filename to record statistics.
+
+     -<strong>c       </strong>   This causes <strong>logresolve</strong> to apply some DNS checks:
+                 after  finding the hostname from the IP address,
+                 it looks up the IP addresses  for  the  hostname
+                 and  checks that one of these matches the origi-
+                 nal address.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/other.html b/htdocs/manual/programs/other.html
new file mode 100644 (file)
index 0000000..a788047
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Other Programs - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Other Programs</h1>
+
+    <p>The following programs are simple support programs included
+    with the Apache HTTP Server which do not have their own manual
+    pages.</p>
+
+    <h2><a id="log_server_status"
+    name="log_server_status">log_server_status</a></h2>
+
+    <p>This Perl script is designed to be run at a frequent
+    interval by something like cron. It connects to the server and
+    downloads the status information. It reformats the information
+    to a single line and logs it to a file. Adjust the variables at
+    the top of the script to specify the location of the resulting
+    logfile.</p>
+
+    <h2><a id="split-logfile"
+    name="split-logfile">split-logfile</a></h2>
+
+    <p>This Perl script will take a combined Web server access log
+    file and break its contents into separate files. It assumes
+    that the first field of each line is the virtual host identity
+    (put there by "%v"), and that the logfiles should be named
+    that+".log" in the current directory.</p>
+
+    <p>The combined log file is read from stdin. Records read will
+    be appended to any existing log files.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/rotatelogs.html b/htdocs/manual/programs/rotatelogs.html
new file mode 100644 (file)
index 0000000..82e14ba
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: rotatelogs - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: rotatelogs</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     rotatelogs - rotate Apache logs without having to  kill  the
+     server
+
+<strong>SYNOPSIS</strong>
+     <strong>rotatelogs</strong> <em>logfile rotationtime</em> [ <em>offset</em> ]
+
+<strong>DESCRIPTION</strong>
+     <strong>rotatelogs</strong> is a simple program for use in  conjunction  with
+     Apache's piped logfile feature which can be used like this:
+
+        TransferLog "|rotatelogs /path/to/logs/access_log 86400"
+
+     This creates the files  /path/to/logs/access_log.nnnn  where
+     nnnn  is  the  system time at which the log nominally starts
+     (this time will always be a multiple of the  rotation  time,
+     so you can synchronize cron scripts with it).  At the end of
+     each rotation time (here  after  24  hours)  a  new  log  is
+     started.
+
+<strong>OPTIONS</strong>
+     <em>logfile</em>
+          The path plus basename of the logfile. The suffix .nnnn
+          is automatically added.
+
+     <em>rotationtime</em>
+          The rotation time in seconds.
+
+     <em>offset</em>
+          The number of minutes offset from UTC. If omitted, zero
+          is assumed and UTC is used.  For example, to use local
+          time in the zone UTC -5 hours, specify a value of -300
+          for this argument.
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/suexec.html.en b/htdocs/manual/programs/suexec.html.en
new file mode 100644 (file)
index 0000000..f3f89f4
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Manual Page: suexec - Apache HTTP Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: suexec</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>NAME</strong>
+     suexec - Switch User For Exec
+
+<strong>SYNOPSIS</strong>
+     No synopsis for usage, because this program is  used  inter-
+     nally by Apache only.
+
+<strong>DESCRIPTION</strong>
+     <strong>suexec</strong> is the  "wrapper"  support  program  for  the  suEXEC
+     behavior for Apache.  It is run from within Apache automat-
+     ically to switch the user when an external program has to be
+     run  under  a  different  user.  For  more information about
+     suEXEC  see  the  document  `Apache  suEXEC  Support'  under
+     http://www.apache.org/docs/suexec.html .
+
+<strong>SEE ALSO</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/programs/suexec.html.html b/htdocs/manual/programs/suexec.html.html
new file mode 100644 (file)
index 0000000..1551afa
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="suexec.html.en" -->
+
diff --git a/htdocs/manual/programs/suexec.html.ja.jis b/htdocs/manual/programs/suexec.html.ja.jis
new file mode 100644 (file)
index 0000000..4fe1415
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Manual Page: suexec  - Apache HTTP Server</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.4 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Manual Page: suexec</h1>
+    <!-- This document was autogenerated from the man page -->
+<pre>
+<strong>\e$BL>>N\e(B</strong>
+     suexec - Apache \e$B$,\e(B Exec \e$B$9$k:]$N%f!<%6@ZBX\e(B
+
+<strong>\e$B=q<0\e(B</strong>
+     \e$B;HMQJ}K!$N=q<0$O$"$j$^$;$s!#$J$<$J$i$3$N%W%m%0%i%`$O\e(B
+     Apache \e$BFbIt$G$N$_;HMQ$5$l$k$+$i$G$9!#\e(B
+
+<strong>\e$B2r@b\e(B</strong>
+     <strong>suexec</strong> \e$B$O\e(B Apache \e$B$N\e(B suEXEC \e$B:nMQ$N$?$a$N\e(B "wrapper" \e$B%5%]!<%H\e(B
+     \e$B%W%m%0%i%`$G$9!#30It$N%W%m%0%i%`$,0[$J$k%f!<%6$N2<$G<B9T$5$l\e(B
+     \e$B$J$1$l$P$J$i$J$$$H$-!"\e(BApache \e$BFb$+$i<+F0E*$K%f!<%6$N@ZBX$,<B9T\e(B
+     \e$B$5$l$^$9!#\e(B suEXEC \e$B$K$D$$$F$N99$J$k>pJs$O!"\e(B
+     http://www.apache.org/docs/suexec.html \e$B0J2<$N%I%-%e%a%s%H\e(B
+     `Apache suEXEC Support' \e$B$r8+$F$/$@$5$$!#\e(B
+
+<strong>\e$B4XO"9`L\\e(B</strong>
+     <strong>httpd(8)</strong>
+
+</pre>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/readme-tpf.html b/htdocs/manual/readme-tpf.html
new file mode 100644 (file)
index 0000000..5d2d5ac
--- /dev/null
@@ -0,0 +1,788 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=us-ascii" />
+
+    <title>The Apache TPF Port</title>
+    <style type="text/css">
+    /*<![CDATA[*/
+    <!-- 
+            .indented { margin-left: 25pt; } 
+            .output { padding-left: 20px; padding-right: 20px; background-color: #dadada;  }
+            .nobr { white-space: nowrap; } 
+            --> 
+    /*]]>*/
+    </style>
+</head>
+
+<body>
+    <center>
+        <h2><a id="top"
+           name="top"></a> Overview of the Apache TPF Port</h2>
+        <hr />
+        [
+        <a href="#configuration_files">Configuration&nbsp;Files</a>
+        | <a href="#whats_available">What's&nbsp;Available</a> |
+        <a href="#cgi">CGI&nbsp;Scripts</a> |
+        <a href="#options">Options</a> |
+        <a href="#syslog">Syslog</a> |
+        <a href="#porting_notes">Porting&nbsp;Notes</a>&nbsp;] 
+        <hr />
+    </center>
+
+    <p>Apache includes changes allowing it to run on IBM's
+    EBCDIC-based
+    <a href="http://www.ibm.com/software/ts/tpf/index.html">TPF</a>
+    (Transaction Processing Facility) operating system. This builds
+    on the
+    <a href="http://httpd.apache.org/docs/ebcdic.html">EBCDIC
+    changes</a> previously made to Apache.</p>
+
+    <p>Refer to either the <a href="install-tpf.html">TPF4.1
+    installation</a> or <a href="install-ztpf.html">z/TPF1.1
+    installation</a> documents for step-by-step build
+    instructions.</p>
+
+    <p>If you would like to be notified when new versions of Apache
+    are released consider joining the
+    <a href="http://httpd.apache.org/lists.html">announcements
+    list</a>.</p><br />
+     
+
+    <center>
+        <h2><a id="configuration_files"
+           name="configuration_files"></a>Apache Configuration
+           Files</h2>
+    </center>
+
+    <p>The distributed configuration files (httpd.conf-dist and
+    mime.types, both located in the conf subdirectory) work on TPF
+    with the following caveats:</p>
+
+    <ul>
+        <li>Apache on TPF does not support listening on multiple
+        ports.</li>
+
+        <li>Performance considerations may dictate setting
+        KeepAlive to "Off" (the default is "On") or lowering the
+        Timeout value from the default 300 seconds (5 minutes) in
+        order to reduce the number of active ECBs on your
+        system.</li>
+
+        <li>The default value of MaxRequestsPerChild is zero
+        (infinity). A non-zero value is recommended on TPF to
+        control resource utilization (such as heap storage) by the
+        long running Apache child ECBs.</li>
+
+        <li>Unlike on Unix systems, newly created Apache child
+        processes on TPF re-read the various configuration files
+        (such as httpd.conf and mime.types). Be sure to stop and
+        restart Apache after changing configuration files so that
+        the Apache parent process and all child processes are in
+        sync.</li>
+    </ul><br />
+     
+
+    <center>
+        <h2><a id="whats_available"
+           name="whats_available"></a> What's Available in this
+           Version</h2>
+    </center>
+
+    <p>Unless otherwise noted either TPF4.1&nbsp;PUT09 or z/TPF1.1
+    is required for the server to function on TPF.</p>
+
+    <p>The Apache organization provides
+    <a href="http://httpd.apache.org/docs/">online
+    documentation</a> describing the various modules and components
+    of the server.</p>
+
+    <h3>Components/modules tested on TPF:</h3>
+
+    <ul>
+        <li>alloc.c</li>
+
+        <li>ap_base64.c</li>
+
+        <li>ap_checkpass.c</li>
+
+        <li>ap_cpystrn.c</li>
+
+        <li>ap_ebcdic.c</li>
+
+        <li>ap_fnmatch.c</li>
+
+        <li>ap_md5c.c</li>
+
+        <li>ap_sha1.c</li>
+
+        <li>ap_signal.c</li>
+
+        <li>ap_slack.c</li>
+
+        <li>ap_snprintf.c</li>
+
+        <li>buff.c</li>
+
+        <li>buildmark.c</li>
+
+        <li>http_config.c</li>
+
+        <li>http_core.c</li>
+
+        <li>http_log.c</li>
+
+        <li>http_main.c</li>
+
+        <li>http_protocol.c</li>
+
+        <li>http_request.c</li>
+
+        <li>http_vhost.c</li>
+
+        <li>logresolve.c <em>(requires TPF4.1&nbsp;PUT 10 or
+        z/TPF1.1)</em></li>
+
+        <li>mod_access.c <em>(Use of mod_access directives
+        "<tt>allow&nbsp;from</tt>" &amp; "<tt>deny&nbsp;from</tt>"
+        with host <u>names</u> (versus ip addresses) requires
+        TPF4.1&nbsp;PUT 10 or z/TPF1.1)</em></li>
+
+        <li>mod_actions.c</li>
+
+        <li>mod_alias.c</li>
+
+        <li>mod_asis.c</li>
+
+        <li>mod_auth.c</li>
+
+        <li>mod_auth_anon.c</li>
+
+        <li>mod_autoindex.c</li>
+
+        <li>mod_cern_meta.c</li>
+
+        <li>mod_cgi.c <em>(requires TPF4.1&nbsp;PUT 10 or
+        z/TPF1.1)</em></li>
+
+        <li>mod_digest.c</li>
+
+        <li>mod_dir.c</li>
+
+        <li>mod_env.c</li>
+
+        <li>mod_example.c</li>
+
+        <li>mod_expires.c</li>
+
+        <li>mod_headers.c</li>
+
+        <li>mod_imap.c</li>
+
+        <li>mod_include.c <em>(CGI execution requires
+        TPF4.1&nbsp;PUT 10 or z/TPF1.1)</em></li>
+
+        <li>mod_info.c</li>
+
+        <li>mod_log_agent.c</li>
+
+        <li>mod_log_config.c</li>
+
+        <li>mod_log_forensic.c</li>
+
+        <li>mod_log_referer.c</li>
+
+        <li>mod_mime.c</li>
+
+        <li>mod_mime_magic.c</li>
+
+        <li>mod_negotiation.c</li>
+
+        <li>
+        <a href="http://hpwww.ec-lyon.fr/~vincent/apache/mod_put.html"
+        >mod_put.c</a> <em>(third party module)</em></li>
+
+        <li>mod_setenvif.c</li>
+
+        <li>mod_speling.c</li>
+
+        <li>mod_status.c</li>
+
+        <li>mod_tpf_shm_static.c <em>(third party module, requires
+        TPF4.1&nbsp;PUT 10 or z/TPF1.1)</em></li>
+
+        <li>mod_unique_id.c <em>(requires TPF4.1&nbsp;PUT 10 or
+        z/TPF1.1)</em></li>
+
+        <li>mod_userdir.c</li>
+
+        <li>mod_usertrack.c</li>
+
+        <li>os.c</li>
+
+        <li>os-inline.c</li>
+
+        <li>regular expression parser <em>(used only on
+        TPF4.1)</em></li>
+
+        <li>regular expression test tool <em>(used only on TPF4.1;
+        requires TPF4.1&nbsp;PUT 10 )</em></li>
+
+        <li>rfc1413.c</li>
+
+        <li>rotatelogs.c <em>(requires TPF4.1&nbsp;PUT 10 or
+        z/TPF1.1; on TPF4.1, if PJ27214 is implemented be sure to
+        apply PJ28367)</em></li>
+
+        <li>syslog <em>(requires TPF4.1&nbsp;PUT13 or z/TPF1.1; see
+        <a href="#syslog">usage</a> instructions)</em></li>
+
+        <li>util.c</li>
+
+        <li>util_date.c</li>
+
+        <li>util_md5.c</li>
+
+        <li>util_script.c</li>
+
+        <li>util_uri.c</li>
+    </ul>
+
+    <h3>Components/modules not yet supported on TPF:</h3>
+
+    <ul>
+        <li>htdigest.c</li>
+
+        <li>htpasswd.c</li>
+
+        <li>lib/expat-lite</li>
+
+        <li>lib/sdbm</li>
+
+        <li>mod_auth_digest.c</li>
+
+        <li>mod_proxy.c</li>
+
+        <li>mod_rewrite.c</li>
+
+        <li>mod_vhost_alias.c</li>
+
+        <li>proxy_cache.c</li>
+
+        <li>proxy_connect.c</li>
+
+        <li>proxy_ftp.c</li>
+
+        <li>proxy_http.c</li>
+
+        <li>proxy_util.c</li>
+    </ul>
+
+    <h3>Components/modules that don't apply or that probably won't
+    ever be available on TPF:</h3>
+
+    <ul>
+        <li>ab.c</li>
+
+        <li>ap_getpass.c</li>
+
+        <li>mod_auth_db.c</li>
+
+        <li>mod_auth_dbm.c</li>
+
+        <li>mod_auth_db.module</li>
+
+        <li>mod_mmap_static.c</li>
+
+        <li>mod_so.c</li>
+
+        <li>suexec.c</li>
+    </ul><br />
+     
+
+    <center>
+        <h2><a id="cgi"
+           name="cgi"></a>How to Use CGI Scripts</h2>
+    </center>
+
+    <p>The following is a very simple example of a CGI script
+    ("Hello World") and the necessary steps to run it.<br />
+     Refer to the
+    <a href="http://httpd.apache.org/docs/mod/mod_cgi.html">mod_cgi
+    module</a> for additional information.</p>
+
+    <h3>Add necessary directives to httpd.conf:</h3>
+
+    <p>Example:</p>
+
+    <p class="indented"><tt>ScriptLog logs/script_log<br />
+     ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/</tt></p>
+
+    <p>A request for
+    <tt>http://</tt><i>myserver</i><tt>/cgi-bin/filename.cgi</tt>
+    would cause the server to run the script
+    <span class="nobr"><tt>/usr/local/apache/cgi-bin/filename.cgi</tt></span></p>
+
+    <h3>Create the CGI script:</h3>
+
+    <p>For this example <tt>QZZ1</tt> is the name of the TPF
+    program that will be executed by the CGI script.<br />
+     The directory path must match what is in the httpd.conf file
+    for <tt>ScriptAlias</tt> directive.</p>
+
+    <p class="indented"><b><tt>zfile echo "#!QZZ1" &gt;
+    /usr/local/apache/cgi-bin/filename.cgi<br />
+     zfile cat
+    /usr/local/apache/cgi-bin/filename.cgi&nbsp;&nbsp;&nbsp;&nbsp;</tt></b>
+    (expected output:&nbsp;<tt>#!QZZ1</tt>)</p>
+
+    <h3>Mark the script as executable:</h3>
+
+    <p class="indented"><b><tt>zfile chmod 755
+    /usr/local/apache/cgi-bin/filename.cgi</tt></b></p>
+
+    <h3>Create, load, and activate the CGI program (QZZ1) on
+    TPF:</h3>
+
+    <table class="indented">
+        <tr>
+            <td class="output">
+                <pre>
+/* QZZ1-- simple "Hello world" program to demonstrate basic CGI output */
+
+#include &lt;stdio.h&gt;
+#include &lt;stdlib.h&gt;
+
+int main() {
+
+   /* Print the CGI response header, required for all HTML output. */
+   /* Note the extra \n, to send the blank line.                   */
+   /* Print the HTML response page to STDOUT.                      */
+   printf("Content-type: text/html\n\n");
+
+   printf("&lt;html&gt;\n");
+   printf("&lt;head&gt;&lt;title&gt;CGI Output&lt;title&gt;&lt;head&gt;\n");
+   printf("&lt;body&gt;\n");
+   printf("&lt;h1&gt;Hello world.&lt;h1&gt;\n");
+   printf("&lt;body&gt;\n");
+   printf("&lt;html&gt;\n");
+
+   exit(0);
+}
+                </pre>
+            </td>
+        </tr>
+    </table>
+
+    <h3>Request the CGI script from a browser:</h3>
+
+    <p class="indented">
+    <tt>http://</tt><i>myserver</i><tt>/cgi-bin/filename.cgi</tt></p>
+
+    <center>
+        <br />
+         
+
+        <h2><a id="options"
+           name="options">How to Use Apache's "Dash"
+           Options</a></h2>
+    </center>
+
+    <h3>Overview of Apache's "dash" options:</h3>
+
+    <p>Apache can be invoked with various options, such as "-f".
+    Some of these options display information about the server or
+    perform syntax checks but they don't actually start the server.
+    These "information only" options are useful with TPF's ZFILE
+    command line feature: -h, -l, -L, -S, -t, -T, -v, and -V.</p>
+
+    <p>Another option, -X, is used when actually running the
+    server. It is passed to Apache through the ZINET XPARM field
+    since ZINET is the only way to start the server on TPF.</p>
+
+    <p>A third group of options apply to both the informational
+    displays (ZFILE) and running the server (ZINET XPARM): -d, -D
+    and -f.</p>
+
+    <p>The rest of Apache's options are either not applicable or
+    are not supported on TPF.</p>
+
+    <p>On TPF4.1 using dash options requires PJ27277 which shipped
+    on PUT13.</p>
+
+    <h3>Table of supported Apache options</h3>
+
+    <table border="1"
+           cellpadding="5">
+        <tr>
+            <td>
+            <b>Option&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></td>
+
+            <td><b>ZFILE</b></td>
+
+            <td><b>ZINET</b></td>
+
+            <td><b>Description</b></td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-d</b> <i>path</i></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">ZINET</td>
+
+            <td valign="top">Set the initial value for the
+            ServerRoot directive.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-D</b> <i>define</i></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">ZINET</td>
+
+            <td valign="top">Set a configuration parameter which
+            can be used with &lt;IfDefine&gt;...&lt;/IfDefine&gt;
+            sections in the configuration file to conditionally
+            skip or process commands.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-f</b> <i>filename</i></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">ZINET</td>
+
+            <td valign="top">Use an alternate configuration file
+            instead of the default conf/httpd.conf file.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-h</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">List a short summary of available
+            command line options then exit. Note that this outputs
+            all options, not just those supported on TPF.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-l</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">List modules compiled into the server
+            then exit.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-L</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">List available configuration
+            directives then exit. Note that this outputs all
+            configuration directives, not just those supported on
+            TPF.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-S</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">Show the settings as parsed from the
+            configuration file then exit. Currently Apache only
+            shows the virtual host settings.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-t</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">Run syntax tests for configuration
+            files with document root checks then exit.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-T</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">Run syntax tests for configuration
+            files <i>without</i> document root checks then
+            exit.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-v</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">Show the version number then
+            exit.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-V</b></td>
+
+            <td valign="top">ZFILE</td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">Show the version number and various
+            compile settings then exit.</td>
+        </tr>
+
+        <tr>
+            <td valign="top"><b>-X</b></td>
+
+            <td valign="top">&nbsp;</td>
+
+            <td valign="top">ZINET</td>
+
+            <td valign="top">Run in single-process mode for
+            internal debugging purposes only. The parent process
+            does not tpf_fork any children.</td>
+        </tr>
+    </table>
+
+    <p>See
+    <a href="http://httpd.apache.org/docs/programs/httpd.html">http://httpd.apache.org/docs/programs/httpd.html</a>
+    for more information about these command line options.</p>
+
+    <h3>Setup for ZFILE examples:</h3>
+
+    <p>Ensure Apache (CHTA) is loaded.</p>
+
+    <p>Create the httpd script:</p>
+
+    <p class="indented"><b><tt>zfile echo "#!CHTA" &gt;
+    /bin/httpd<br />
+     zfile cat /bin/httpd&nbsp;&nbsp;</tt></b> (expected
+    output:&nbsp;&nbsp;<tt>#!CHTA</tt>)</p>
+
+    <p class="indented">(See "ZFILE-Activate a TPF Segment or
+    Script" in the
+    <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM TPF
+    Information Center</a> for additional information.)</p>
+
+    <p>Mark the script as executable:</p>
+
+    <p class="indented"><b><tt>zfile chmod 755
+    /bin/httpd</tt></b></p>
+
+    <h3>ZFILE example 1:</h3>
+
+    <p class="indented"><b><tt>zfile httpd -v</tt></b></p>
+
+    <table class="indented">
+        <tr>
+            <td class="output">
+                <pre>
+FILE0001I 11.43.09 START OF DISPLAY FROM httpd -v          
+Server version: Apache/1.3.20 (TPF)
+Server built: May 23 2001 09:39:22
+END OF DISPLAY
+                </pre>
+            </td>
+        </tr>
+    </table>
+
+    <h3>ZFILE example 2:</h3>
+
+    <p class="indented"><b><tt>zfile httpd -t -f
+    /usr/local/apache/conf/alt.conf</tt></b></p>
+
+    <table class="indented">
+        <tr>
+            <td class="output">
+                <pre>
+FILE0002I 11.47.26 START OF ERROR DISPLAY FROM httpd -t ...
+Syntax OK
+END OF DISPLAY
+                </pre>
+            </td>
+        </tr>
+    </table>
+
+    <h3>ZINET XPARM example:</h3>
+
+    <p>This example uses an alternate configuration file called
+    /usr/local/apache/conf/alt.conf.</p>
+
+    <p>Create and transfer your alternate configuration file to
+    your TPF test system.</p>
+
+    <p>Add and start Apache using <tt>zinet</tt> commands:</p>
+
+    <p class="indented"><b><tt>zinet add s-apache pgm-chta
+    model-daemon user-root xparm--f conf/alt.conf<br />
+     zinet start s-apache</tt></b></p>
+
+    <p>(See "ZINET ADD-Add an Internet Server Application Entry"
+    and "ZINET ALTER-Change an Internet Server Application Entry"
+    in the <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM
+    TPF Information Center</a> for more information about using the
+    XPARM field.)</p>
+
+    <center>
+        <h2><a id="syslog"
+           name="syslog"></a>Syslog Daemon</h2>
+    </center>
+
+    <h3>Syslog overview:</h3>
+
+    <p>The syslog daemon is a server process that provides a
+    message logging facility for application and system processes.
+    It can be used to write messages to log files or to tapes. See
+    "Operating the Syslog Daemon" in the
+    <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM TPF
+    Information Center</a>. And see the Apache ErrorLog
+    <a href="http://httpd.apache.org/docs/mod/core.html">directive
+    documentation</a> for details on how to use syslog with
+    Apache.</p>
+
+    <p>On TPF4.1 syslog capabilities were added with PJ27214 which
+    shipped with PUT13. You must follow the
+    <a href="install-tpf.html#syslog">TPF4.1 syslog-specific
+    installation instructions</a> in order to have the option of
+    using syslog with Apache on a TPF4.1 system. No additional
+    installation steps are needed for z/TPF1.1 systems.</p>
+
+    <h3>Tips on using syslog with your Apache error log:</h3>
+
+    <p>This section provides some tips on using syslog with Apache.
+    It is not meant to replace the syslog documentation in the TPF
+    TCP/IP publication.</p>
+
+    <ul>
+        <li>The syslog daemon will not create files. If you are
+        logging to a file (as specified in the <tt>syslog.conf</tt>
+        configuration file) that file must already exist and have
+        permissions that allow the syslog daemon to write to
+        it.</li>
+
+        <li>You must restart the syslog daemon for it to recognize
+        changes to its <tt>syslog.conf</tt> configuration
+        file.</li>
+
+        <li>The syslog daemon must be active prior to starting
+        Apache.</li>
+
+        <li>To indicate you want to use syslog with your Apache
+        error log add the following directive to your
+        <tt>httpd.conf</tt> file:
+        "<tt>ErrorLog&nbsp;syslog:</tt><i>facility</i>" where
+        <i>facility</i> is "local0" through "local7".</li>
+
+        <li>Apache will default the facility to "local7" if you
+        omit the facility name from the ErrorLog directive (that is
+        "<tt>ErrorLog&nbsp;syslog</tt>").</li>
+
+        <li>The syslog facility name must be one that is recognized
+        by both Apache and the syslog.h header file. The facility
+        names "local0" through "local7" are explicitly set aside
+        for your use.</li>
+
+        <li>Although "local0" through "local7" are recommended user
+        facility names, here is the complete list of names
+        recognized by both Apache and TPF's syslog.h: auth, cron,
+        daemon, kern, local0, local1, local2, local3, local4,
+        local5, local6, local7, lpr, mail, news, syslog, user, and
+        uucp.</li>
+
+        <li>You won't see the normal Apache startup/shutdown
+        messages when you use syslog with your Apache error
+        log.</li>
+
+        <li>Syslog does not support TCP/IP Offload devices (ZCLAW;
+        <em>used only on TPF4.1</em>)</li>
+    </ul><br />
+     
+
+    <center>
+        <h2><a id="porting_notes"
+           name="porting_notes"></a>Porting Notes</h2>
+    </center>
+
+    <h3>Changes made due to differences between UNIX and TPF's
+    process models:</h3>
+
+    <ul>
+        <li>
+            <p><b>Signals</b>: On TPF a signal that is sent to a
+            process remains unhandled until the process explicitly
+            requests that signals be handled using the
+            <tt>tpf_process_signals()</tt> function. Additionally,
+            the default action for an alarm on TPF is to take an
+            OPR-7777 dump and exit. (On UNIX the default is the
+            equivalent of <tt>exit()</tt> with no dump taken.)
+            These differences necessitated a few modifications:</p>
+
+            <ul>
+                <li>bypass the use of <tt>ap_block_alarms()</tt>
+                &amp; <tt>ap_unblock_alarms()</tt></li>
+
+                <li>add <tt>tpf_process_signals()</tt> calls</li>
+
+                <li>add <tt>select()</tt> calls to prevent
+                blocking.<br /></li>
+            </ul>
+        </li>
+
+        <li style="list-style: none"><br /></li>
+
+        <li>
+            <p><b>Find that function...</b> Some simple functions
+            &amp; definitions needed to be added on TPF. They are
+            in src/os/tpf/os.h.</p>
+        </li>
+
+        <li>
+            <p><b>EBCDIC changes:</b> TPF-specific conversion
+            tables between US-ASCII and EBCDIC (character set
+            IBM-1047 to be exact) were created.</p>
+        </li>
+
+        <li>
+            <p><b>Miscellaneous, minor changes:</b> Various minor
+            changes (such as casting) were made due to differences
+            in how some functions are implemented on TPF.</p>
+        </li>
+    </ul>
+    <hr />
+
+    <center>
+        [ <a href="#top">top</a> |
+        <a href="#configuration_files">Configuration&nbsp;Files</a>
+        | <a href="#whats_available">What's&nbsp;Available</a> |
+        <a href="#cgi">CGI&nbsp;Scripts</a> |
+        <a href="#options">Options</a> |
+        <a href="#syslog">Syslog</a> |
+        <a href="#porting_notes">Porting&nbsp;Notes</a>&nbsp;]
+    </center>
+</body>
+</html>
diff --git a/htdocs/manual/sections.html.en b/htdocs/manual/sections.html.en
new file mode 100644 (file)
index 0000000..c3a1498
--- /dev/null
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>How Directory, Location and Files sections work</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">How Directory, Location and Files sections
+    work</h1>
+
+    <p>The sections <a
+    href="mod/core.html#directory"><code>&lt;Directory&gt;</code></a>,
+    <a
+    href="mod/core.html#location"><code>&lt;Location&gt;</code></a>
+    and <a
+    href="mod/core.html#files"><code>&lt;Files&gt;</code></a> can
+    contain directives which only apply to specified directories,
+    URLs or files respectively. Also htaccess files can be used
+    inside a directory to apply directives to that directory. This
+    document explains how these different sections differ and how
+    they relate to each other when Apache decides which directives
+    apply for a particular directory or request URL.</p>
+
+    <h2>Directives allowed in the sections</h2>
+
+    <p>Everything that is syntactically allowed in
+    <code>&lt;Directory&gt;</code> is also allowed in
+    <code>&lt;Location&gt;</code> (except a
+    sub-<code>&lt;Files&gt;</code> section). Semantically, however
+    some things, most notably <code>AllowOverride</code> and the
+    two options <code>FollowSymLinks</code> and
+    <code>SymLinksIfOwnerMatch</code>, make no sense in
+    <code>&lt;Location&gt;</code>,
+    <code>&lt;LocationMatch&gt;</code> or
+    <code>&lt;DirectoryMatch&gt;</code>. The same for
+    <code>&lt;Files&gt;</code> -- syntactically everything is fine,
+    but semantically some things are different.</p>
+
+    <h2>How the sections are merged</h2>
+
+    <p>The order of merging is:</p>
+
+    <ol>
+      <li><code>&lt;Directory&gt;</code> (except regular
+      expressions) and .htaccess done simultaneously (with
+      .htaccess, if allowed, overriding
+      <code>&lt;Directory&gt;</code>)</li>
+
+      <li><code>&lt;DirectoryMatch&gt;</code>, and
+      <code>&lt;Directory&gt;</code> with regular expressions</li>
+
+      <li><code>&lt;Files&gt;</code> and
+      <code>&lt;FilesMatch&gt;</code> done simultaneously</li>
+
+      <li><code>&lt;Location&gt;</code> and
+      <code>&lt;LocationMatch&gt;</code> done simultaneously</li>
+    </ol>
+
+    <p>Apart from <code>&lt;Directory&gt;</code>, each group is
+    processed in the order that they appear in the configuration
+    files. <code>&lt;Directory&gt;</code> (group 1 above) is
+    processed in the order shortest directory component to longest.
+    If multiple <code>&lt;Directory&gt;</code> sections apply to
+    the same directory they are processed in the configuration
+    file order. The configuration files are read in the order
+    httpd.conf, srm.conf and access.conf. Configurations included
+    via the <code>Include</code> directive will be treated as if
+    they were inside the including file at the location of the
+    <code>Include</code> directive.</p>
+
+    <p>Sections inside <code>&lt;VirtualHost&gt;</code> sections
+    are applied <em>after</em> the corresponding sections outside
+    the virtual host definition. This allows virtual hosts to
+    override the main server configuration. (Note: this only works
+    correctly from 1.2.2 and 1.3a2 onwards. Before those releases
+    sections inside virtual hosts were applied <em>before</em> the
+    main server).</p>
+
+    <p>Later sections override earlier ones.</p>
+
+    <h2>Notes about using sections</h2>
+
+    <p>The general guidelines are:</p>
+
+    <ul>
+      <li>If you are attempting to match objects at the filesystem
+      level then you must use <code>&lt;Directory&gt;</code> and/or
+      <code>&lt;Files&gt;</code>.</li>
+
+      <li>If you are attempting to match objects at the URL level
+      then you must use <code>&lt;Location&gt;</code></li>
+    </ul>
+
+    <p>But a notable exception is:</p>
+
+    <ul>
+      <li>proxy control is done via <code>&lt;Directory&gt;</code>.
+      This is a legacy mistake because the proxy existed prior to
+      <code>&lt;Location&gt;</code>. A future version of the config
+      language should probably switch this to
+      <code>&lt;Location&gt;</code>.</li>
+    </ul>
+
+    <p>Note about .htaccess parsing:</p>
+
+    <ul>
+      <li>Modifying .htaccess parsing during Location doesn't do
+      anything because .htaccess parsing has already occurred.</li>
+    </ul>
+
+    <p><code>&lt;Location&gt;</code> and symbolic links:</p>
+
+    <ul>
+      <li>It is not possible to use "<code>Options
+      FollowSymLinks</code>" or "<code>Options
+      SymLinksIfOwnerMatch</code>" inside a
+      <code>&lt;Location&gt;</code>,
+      <code>&lt;LocationMatch&gt;</code> or
+      <code>&lt;DirectoryMatch&gt;</code> section (the options are
+      simply ignored). Using the options in question is only
+      possible inside a <code>&lt;Directory&gt;</code> section (or
+      a <code>.htaccess</code> file).</li>
+    </ul>
+
+    <p><code>&lt;Files&gt;</code> and <code>Options</code>:</p>
+
+    <ul>
+      <li>Apache won't check for it, but using an
+      <code>Options</code> directive inside a
+      <code>&lt;Files&gt;</code> section has no effect.</li>
+    </ul>
+
+    <p>Another note:</p>
+
+    <ul>
+      <li>There is actually a
+      <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code>
+      sequence performed just before the name translation phase
+      (where <code>Aliases</code> and <code>DocumentRoots</code>
+      are used to map URLs to filenames). The results of this
+      sequence are completely thrown away after the translation has
+      completed.</li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/sections.html.html b/htdocs/manual/sections.html.html
new file mode 100644 (file)
index 0000000..3a717eb
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="sections.html.en" -->
+
diff --git a/htdocs/manual/sections.html.ja.jis b/htdocs/manual/sections.html.ja.jis
new file mode 100644 (file)
index 0000000..41f08c5
--- /dev/null
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>How Directory, Location and Files sections work</title>
+
+  </head>
+  <!-- English revision: 1.13 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Directory, Location, Files
+    \e$B%;%/%7%g%s$NF0:nJ}K!\e(B</h1>
+
+    <p>\e$B%;%/%7%g%s\e(B <a
+    href="mod/core.html#directory"><code>&lt;Directory&gt;</code></a>, 
+    <a
+    href="mod/core.html#location"><code>&lt;Location&gt;</code></a>, <a
+    href="mod/core.html#files"><code>&lt;Files&gt;</code></a>
+    \e$B$K$O!"$=$l$>$l;XDj$5$l$?%G%#%l%/%H%j!"\e(BURL,
+    \e$B%U%!%$%k$K$N$_E,MQ$5$l$k%G%#%l%/%F%#%V$r=q$/$3$H$,$G$-$^$9!#\e(B
+    \e$B$^$?!"%G%#%l%/%H%j$K%G%#%l%/%F%#%V$rE,MQ$9$k$?$a$K%G%#%l%/%H%jCf$K\e(B
+    .htaccess \e$B%U%!%$%k$r;HMQ$9$k$3$H$b$G$-$^$9!#$3$N%I%-%e%a%s%H$O\e(B
+    \e$B$3$l$i$N%;%/%7%g%s$N0c$$$r@bL@$7!"$=$l$i$H!"%G%#%l%/%H%j$d\e(B
+    \e$B%j%/%(%9%H$5$l$?\e(B URL \e$B$K\e(B Apache \e$B$,$I$N%G%#%l%/%F%#%V$r\e(B
+    \e$BE,MQ$9$k$+$r7hDj$9$kJ}K!$H$N4X78$r@bL@$7$^$9!#\e(B</p>
+
+    <h2>\e$B%;%/%7%g%sCf$K5v2D$5$l$F$$$k%G%#%l%/%F%#%V\e(B</h2>
+
+    <p>\e$B9=J8>e\e(B <code>&lt;Directory&gt;</code>
+    \e$B$K=q$1$k$b$N$O$9$Y$F\e(B <code>&lt;Location&gt;</code>
+    \e$B$K$b=q$/$3$H$,$G$-$^$9\e(B (<code>&lt;Files&gt;</code>
+    \e$B%;%/%7%g%s$ONc30$G$9\e(B)\e$B!#$7$+$7!"Cf$K$O\e(B
+    <code>AllowOverride</code> \e$B$d\e(B <code>FollowSymLinks</code>
+    \e$B$H\e(B <code>SymLinksIfOwnerMatch</code>
+    \e$B$H$$$&Fs$D$N%*%W%7%g%s$N$h$&$K!"\e(B<code>&lt;Location&gt;</code>,
+    <code>&lt;LocationMatch&gt;</code>,
+    <code>&lt;DirectoryMatch&gt;</code> \e$BCf$G$O0UL#$N$J$$$b$N$b$"$j$^$9!#\e(B
+    \e$BF1MM$N$3$H$,\e(B <code>&lt;Files&gt;</code>
+    \e$B$K$b8@$($^$9!#9=J8E*$K$O$9$Y$FBg>fIW$G$9$,!"\e(B
+    \e$B0UL#E*$K$O$=$&$G$J$$$b$N$b$"$j$^$9!#\e(B</p>
+
+    <h2>\e$B%;%/%7%g%s$N%^!<%8J}K!\e(B</h2>
+
+    <p>\e$B%^!<%8$N=gHV$O0J2<$N$h$&$K$J$C$F$$$^$9\e(B:</p>
+
+    <ol>
+      <li><code>&lt;Directory&gt;</code> (\e$B@55,I=8=L5$7\e(B) \e$B$H\e(B
+      .htaccess \e$B$rF1;~$K\e(B (.htaccess \e$B$,5v2D$5$l$F$$$l$P!"$=$l$,\e(B
+      <code>&lt;Directory&gt;</code> \e$B$r\e(B \e$B>e=q$-$7$^$9\e(B)
+      </li>
+
+      <li><code>&lt;DirectoryMatch&gt;</code> \e$B$H@55,I=8=$N$"$k\e(B
+      <code>&lt;Directory&gt;</code></li>
+
+      <li><code>&lt;Files&gt;</code> \e$B$H\e(B
+      <code>&lt;FilesMatch&gt;</code> \e$B$rF1;~$K\e(B</li>
+
+      <li><code>&lt;Location&gt;</code> \e$B$H\e(B
+      <code>&lt;LocationMatch&gt;</code> \e$B$rF1;~$K\e(B</li>
+    </ol>
+
+    <p><code>&lt;Directory&gt;</code>
+    \e$B0J30$O!"$=$l$>$l$N%0%k!<%W$O@_Dj%U%!%$%k$K8=$l$?=gHV$K=hM}$5$l$^$9!#\e(B
+    <code>&lt;Directory&gt;</code> (\e$B>e$N%0%k!<%W\e(B 1)
+    \e$B$O%G%#%l%/%H%j$,C;$$$b$N$+$iD9$$$b$N$X$H=hM}$5$l$^$9!#J#?t$N\e(B
+    <code>&lt;Directory&gt;</code> \e$B%;%/%7%g%s$,F1$8%G%#%l%/%H%j$K\e(B
+    \e$BE,MQ$5$l$k>l9g$O!"@_Dj%U%!%$%kCf$N=gHV$K=>$C$F=hM}$5$l$^$9!#\e(B
+    \e$B@_Dj%U%!%$%k$O\e(B httpd.conf, srm.conf, access.conf
+    \e$B$N=g$K=hM}$5$l$^$9!#\e(B<code>Include</code>
+    \e$B$K$h$C$FA^F~$5$l$?@_Dj$O\e(B \e$BA^F~$7$F$$$k%U%!%$%k$N\e(B
+    <code>Include</code>
+    \e$B%G%#%l%/%F%#%V$N0LCV$K$"$C$?$+$N$h$&$K07$o$l$^$9!#\e(B</p>
+
+    <p><code>&lt;VirtualHost&gt;</code> \e$B%;%/%7%g%sCf$N%;%/%7%g%s$O\e(B
+    \e$B%P!<%A%c%k%[%9%H$NDj5A$N30B&$NBP1~$9$k%;%/%7%g%s$N\e(B
+    <em>\e$B8e\e(B</em>\e$B$KE,MQ$5$l$^$9!#$3$l$K$h$j%P!<%A%c%k%[%9%H$,\e(B
+    \e$B%a%$%s$N%5!<%P@_Dj$r>e=q$-$G$-$k$h$&$J$j$^$9!#\e(B(\e$BCm0U\e(B: \e$B$3$l$O\e(B
+    1.2.2 \e$B0J9_$H\e(B 1.3a2 \e$B0J9_$G$N$_@5$7$/F0:n$7$^$9!#\e(B
+    \e$B$3$l$i$N%j%j!<%9$h$jA0$N$b$N$O%P!<%A%c%k%[%9%H$NCf$N%;%/%7%g%s$O\e(B
+    \e$B%a%$%s%5!<%P$N\e(B<em>\e$BA0\e(B</em>\e$B$KE,MQ$5$l$F$$$^$7$?\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B8e$N%;%/%7%g%s$N%G%#%l%/%F%#%V$,A0$N%;%/%7%g%s$N$b$N$r>e=q$-$7$^$9!#\e(B</p>
+
+    <h2>\e$B%;%/%7%g%s$r;H$&:]$NCm0U\e(B</h2>
+
+    <p>\e$B0lHLE*$J%,%$%I%i%$%s$O\e(B:</p>
+
+    <ul>
+      <li>\e$B%U%!%$%k%7%9%F%`%l%Y%k$G%*%V%8%'%/%H$N%^%C%A$r9T$J$&$H$-$O!"\e(B
+      <code>&lt;Directory&gt;</code> \e$B$H\e(B <code>&lt;Files&gt;</code>
+      \e$B$r;H$&I,MW$,$"$j$^$9!#\e(B</li>
+
+      <li>URL \e$B%l%Y%k$G%*%V%8%'%/%H$N%^%C%A$r9T$J$&$H$-$O\e(B
+      <code>&lt;Location&gt;</code> \e$B$r;H$&I,MW$,$"$j$^$9!#\e(B</li>
+    </ul>
+
+    <p>\e$B=EMW$JNc30$O\e(B:</p>
+
+    <ul>
+      <li>\e$B%W%m%-%7$N@)8f$O\e(B <code>&lt;Directory&gt;</code>
+      \e$B$rDL$7$F9T$J$o$l$^$9!#$3$l$O%W%m%-%7$,\e(B
+      <code>&lt;Location&gt;</code>
+      \e$B$h$jA0$+$iB8:_$7$?$3$H$K$h$k%_%9$G$9!#>-Mh$N@_Dj8@8l$G$O$*$=$i$/\e(B
+      <code>&lt;Location&gt;</code> \e$B$K@Z$jBX$($i$l$k$G$7$g$&!#\e(B</li>
+    </ul>
+
+    <p>.htaccess \e$B%U%!%$%k$N2r@O$K4X$9$kCm0U\e(B:</p>
+
+    <ul>
+      <li>Location \e$BCf$G\e(B .htaccess \e$B$N2r@OJ}K!$rJQ99$7$F$b!"\e(B
+      \e$B2?$bJQ$o$j$^$;$s!#\e(B.htaccess \e$B$N2r@O$O4{$K=*$o$C$F$$$k$+$i$G$9!#\e(B</li>
+    </ul>
+
+    <p><code>&lt;Location&gt;</code> \e$B$H%7%s%\%j%C%/%j%s%/\e(B:</p>
+
+    <ul>
+      <li>&quot;<code>Options FollowSymLinks</code>&quot; \e$B$d\e(B
+      &quot;<code>Options SymLinksIfOwnerMatch</code>&quot; \e$B$O\e(B
+      <code>&lt;Location&gt;</code>,
+      <code>&lt;LocationMatch&gt;</code>,
+      <code>&lt;DirectoryMatch&gt;</code>
+      \e$B%;%/%7%g%s$G$O;H$&$3$H$,$G$-$^$;$s\e(B
+      (\e$B$=$l$i$N%*%W%7%g%s$OC1$KL5;k$5$l$^$9\e(B)\e$B!#$=$l$i$N%*%W%7%g%s$O\e(B
+      <code>&lt;Directory&gt;</code> \e$B%;%/%7%g%s\e(B (\e$B$b$7$/$O\e(B
+      <code>.htaccess</code> \e$B%U%!%$%k\e(B) \e$B$NCf$G$N$_;HMQ2DG=$G$9!#\e(B</li>
+    </ul>
+
+    <p><code>&lt;Files&gt;</code> \e$B$H\e(B <code>Options</code>:</p>
+
+    <ul>
+      <li>Apache \e$B$O$3$N>u67$O%A%'%C%/$7$^$;$s$,!"\e(B
+      <code>&lt;Files&gt;</code> \e$B%;%/%7%g%s$NCf$G\e(B <code>Options</code>
+      \e$B%G%#%l%/%F%#%V$r;HMQ$7$F$b8z2L$O$"$j$^$;$s!#\e(B</li>
+    </ul>
+
+    <p>\e$BB>$NCm0U\e(B:</p>
+
+    <ul>
+      <li>\e$B<B:]$K$O!"L>A0$rJQ49$9$kCJ3,\e(B (URL
+      \e$B$r%U%!%$%kL>$K%^%C%W$9$k$?$a$K\e(B <code>Alias</code> \e$B$d\e(B
+      <code>DocumentRoot</code> \e$B$,;HMQ$5$l$k$H$3$m\e(B) \e$B$ND>A0$K\e(B
+      <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code>
+      \e$B$,9T$J$o$l$^$9!#\e(B
+      \e$B$3$l$i$rE,MQ$7$?7k2L$OJQ49$,=*$o$C$?8e$K40A4$K<N$F$i$l$^$9!#\e(B
+      </li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/server-wide.html.en b/htdocs/manual/server-wide.html.en
new file mode 100644 (file)
index 0000000..ee4f631
--- /dev/null
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Server-Wide Configuration</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Server-Wide Configuration</h1>
+
+    <p>This document explains some of the directives provided by
+    the <a href="mod/core.html">core</a> server which are used to
+    configure the basic operations of the server.</p>
+
+    <ul>
+      <li><a href="#identification">Server Identification</a></li>
+
+      <li><a href="#locations">File Locations</a></li>
+
+      <li><a href="#process">Process Creation</a></li>
+
+      <li><a href="#network">Network Configuration</a></li>
+
+      <li><a href="#resource">Limiting Resource Usage</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="identification" name="identification">Server
+    Identification</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/core.html#servername">ServerName</a><br />
+         <a href="mod/core.html#serveradmin">ServerAdmin</a><br />
+         <a
+        href="mod/core.html#serversignature">ServerSignature</a><br />
+         <a
+        href="mod/core.html#servertokens">ServerTokens</a><br />
+         <a
+        href="mod/core.html#usecanonicalname">UseCanonicalName</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>The <code>ServerAdmin</code> and <code>ServerTokens</code>
+    directives control what information about the server will be
+    presented in server-generated documents such as error messages.
+    The <code>ServerTokens</code> directive sets the value of the
+    Server HTTP response header field.</p>
+
+    <p>The <code>ServerName</code> and
+    <code>UseCanonicalName</code> directives are used by the server
+    to determine how to construct self-referential URLs. For
+    example, when a client requests a directory, but does not
+    include the trailing slash in the directory name, Apache must
+    redirect the client to the full name including the trailing
+    slash so that the client will correctly resolve relative
+    references in the document.</p>
+    <hr />
+
+    <h2><a id="locations" name="locations">File Locations</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br />
+         <a
+        href="mod/core.html#documentroot">DocumentRoot</a><br />
+         <a href="mod/core.html#errorlog">ErrorLog</a><br />
+         <a href="mod/core.html#lockfile">Lockfile</a><br />
+         <a href="mod/core.html#pidfile">PidFile</a><br />
+         <a
+        href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br />
+         <a href="mod/core.html#serverroot">ServerRoot</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>These directives control the locations of the various files
+    that Apache needs for proper operation. When the pathname used
+    does not begin with a slash "/", the files are located relative
+    to the <code>ServerRoot</code>. Be careful about locating files
+    in paths which are writable by non-root users. See the <a
+    href="misc/security_tips.html">security tips</a> documentation
+    for more details.</p>
+    <hr />
+
+    <h2><a id="process" name="process">Process Creation</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/core.html#bs2000account">BS2000Account</a><br />
+         <a href="mod/core.html#group">Group</a><br />
+         <a href="mod/core.html#maxclients">MaxClients</a><br />
+         <a
+        href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br />
+         <a
+        href="mod/core.html#maxspareservers">MaxSpareServers</a><br />
+         <a
+        href="mod/core.html#minspareservers">MinSpareServers</a><br />
+         <a href="mod/core.html#servertype">ServerType</a><br />
+         <a
+        href="mod/core.html#startservers">StartServers</a><br />
+         <a
+        href="mod/core.html#threadsperchild">ThreadsPerChild</a><br />
+         <a href="mod/core.html#user">User</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>When <code>ServerType</code> is set to its recommended value
+    of <code>Standalone</code>, Apache 1.3 for Unix is a
+    pre-forking web server. A single control process is responsible
+    for launching child processes which listen for connections and
+    serve them when they arrive. Apache always tries to maintain
+    several <em>spare</em> or idle server processes, which stand
+    ready to serve incoming requests. In this way, clients do not
+    need to wait for a new child processes to be forked before
+    their requests can be served.</p>
+
+    <p>The <code>StartServers</code>, <code>MinSpareServers</code>,
+    <code>MaxSpareServers</code>, and <code>MaxServers</code>
+    regulate how the parent process creates children to serve
+    requests. In general, Apache is very self-regulating, so most
+    sites do not need to adjust these directives from their default
+    values. Sites which need to serve more than 256 simultaneous
+    requests may need to increase <code>MaxClients</code>, while
+    sites with limited memory may need to decrease
+    <code>MaxClients</code> to keep the server from thrashing
+    (swapping memory to disk and back). More information about
+    tuning process creation is provided in the <a
+    href="misc/perf-tuning.html">performance hints</a>
+    documentation.</p>
+
+    <p>While the parent process is usually started as root under
+    Unix in order to bind to port 80, the child processes are
+    launched by Apache as a less-privileged user. The
+    <code>User</code> and <code>Group</code> directives are used to
+    set the privileges of the Apache child processes. The child
+    processes must be able to read all the content that will be
+    served, but should have as few privileges beyond that as
+    possible. In addition, unless <a href="suexec.html">suexec</a>
+    is used, these directives also set the privileges which will be
+    inherited by CGI scripts.</p>
+
+    <p><code>MaxRequestsPerChild</code> controls how frequently the
+    server recycles processes by killing old ones and launching new
+    ones.</p>
+
+    <p>Under Windows, Apache launches one control process and one
+    child process. The child process creates multiple threads to
+    serve requests. The number of threads is controlled by the
+    <code>ThreadsPerChild</code> directive.</p>
+    <hr />
+
+    <h2><a id="network" name="network">Network
+    Configuration</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/core.html#bindaddress">BindAddress</a><br />
+         <a href="mod/core.html#keepalive">KeepAlive</a><br />
+         <a
+        href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br />
+         <a href="mod/core.html#listen">Listen</a><br />
+         <a
+        href="mod/core.html#listenbacklog">ListenBackLog</a><br />
+         <a
+        href="mod/core.html#acceptfilter">AcceptFilter</a><br />
+         <a href="mod/core.html#acceptmutex">AcceptMutex</a><br />
+         <a
+        href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br />
+         <a href="mod/core.html#port">Port</a><br />
+         <a
+        href="mod/core.html#sendbuffersize">SendBufferSize</a><br />
+         <a href="mod/core.html#timeout">TimeOut</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>When Apache starts, it connects to some port and address on
+    the local machine and waits for incoming requests. By default,
+    it listens to all addresses on the machine, and to the port as
+    specified by the <code>Port</code> directive in the server
+    configuration. However, it can be told to listen to more than
+    one port, to listen to only selected addresses, or a
+    combination. This is often combined with the <a
+    href="vhosts/">Virtual Host</a> feature which determines how
+    Apache responds to different IP addresses, hostnames and
+    ports.</p>
+
+    <p>There are two directives used to restrict or specify which
+    addresses and ports Apache listens to. The
+    <code>BindAddress</code> directive is used to restrict the
+    server to listening to a single IP address. The
+    <code>Listen</code> directive can be used to specify multiple
+    IP addresses and/or Ports to which Apache will listen.</p>
+
+    <p>The <code>ListenBackLog</code>, <code>SendBufferSize</code>,
+    and <code>TimeOut</code> directives are used to adjust how
+    Apache interacts with the network.<code>AcceptFilter</code>
+    controls a BSD specific filter optimization. See the BSD
+    section on <a href="misc/perf-bsd44.html">performance hints</a>
+    documentation. <code>AcceptMutex</code> controls which accept
+    mutex method will be used. For an explanation of what this is
+    and why it's needed, see the <a
+    href="misc/perf-tuning.html">performance tuning guide</a></p>
+
+    <p>The <code>KeepAlive</code>, <code>KeepAliveTimeout</code>,
+    and <code>MaxKeepAliveRequests</code> directives are used to
+    configure how Apache handles persistent connections.</p>
+    <hr />
+
+    <h2><a id="resource" name="resource">Limiting Resource
+    Usage</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a
+        href="mod/core.html#limitrequestbody">LimitRequestBody</a><br />
+         <a
+        href="mod/core.html#limitrequestfields">LimitRequestFields</a><br />
+         <a
+        href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br />
+         <a
+        href="mod/core.html#limitrequestline">LimitRequestLine</a><br />
+         <a href="mod/core.html#rlimitcpu">RLimitCPU</a><br />
+         <a href="mod/core.html#rlimitmem">RLimitMEM</a><br />
+         <a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br />
+         <a
+        href="mod/core.html#threadstacksize">ThreadStackSize</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>The <code>LimitRequest</code>* directives are used to place
+    limits on the amount of resources Apache will use in reading
+    requests from clients. By limiting these values, some kinds of
+    denial of service attacks can be mitigated.</p>
+
+    <p>The <code>RLimit</code>* directives are used to limit the
+    amount of resources which can be used by processes forked off
+    from the Apache children. In particular, this will control
+    resources used by CGI scripts and SSI exec commands.</p>
+
+    <p>The <code>ThreadStackSize</code> directive is used only on
+    Netware to control the stack size.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/server-wide.html.fr b/htdocs/manual/server-wide.html.fr
new file mode 100644 (file)
index 0000000..bdc4246
--- /dev/null
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--English revision 1.8 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" />
+
+    <title>Configuration globale du serveur</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Configuration globale du serveur</h1>
+
+    <p>Ce document d&eacute;crit certaines directives
+    trait&eacute;es par le <a href="mod/core.html">noyau</a> du
+    serveur qui sont utilis&eacute;es pour configurer les
+    op&eacute;rations de base du serveur.</p>
+
+    <ul>
+      <li><a href="#identification">Identification du
+      serveur</a></li>
+
+      <li><a href="#locations">Emplacement des fichiers</a></li>
+
+      <li><a href="#process">Cr&eacute;ation des processus</a></li>
+
+      <li><a href="#network">Configuration r&eacute;seau</a></li>
+
+      <li><a href="#resource">Limitation de l'utilisation des
+      ressources</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="identification" name="identification">Identification
+    du serveur</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        associ&eacute;es</strong><br />
+         <br />
+         <a href="mod/core.html#servername">ServerName</a><br />
+         <a href="mod/core.html#serveradmin">ServerAdmin</a><br />
+         <a
+        href="mod/core.html#serversignature">ServerSignature</a><br />
+         <a
+        href="mod/core.html#servertokens">ServerTokens</a><br />
+         <a
+        href="mod/core.html#usecanonicalname">UseCanonicalName</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Les directives <code>ServerAdmin</code> and
+    <code>ServerTokens</code> contr&ocirc;lent quelles informations
+    du serveur seront pr&eacute;sent&eacute;es dans les pages
+    g&eacute;n&eacute;r&eacute;es par le serveur telles que les
+    messages d'erreur. La directive <code>ServerTokens</code>
+    assigne la valeur du champ serveur dans les en-t&ecirc;tes de
+    r&eacute;ponse HTTP.</p>
+
+    <p>Les directives <code>ServerName</code> and
+    <code>UseCanonicalName</code> sont utilis&eacute;es pour
+    d&eacute;terminer comment former les URLs s'auto
+    r&eacute;f&eacute;ren&ccedil;ant. Par exemple, quand un client
+    requiert un r&eacute;pertoire, mais n'inclut pas de barre
+    oblique finale dans le nom du r&eacute;pertoire, Apache doit
+    rediriger le client vers le nom complet, incluant la barre
+    oblique finale permettant ainsi au client de r&eacute;soudre
+    correctement les r&eacute;f&eacute;rences relatives contenues
+    dans le document.</p>
+    <hr />
+
+    <h2><a id="locations" name="locations">Emplacement des
+    fichiers</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        associ&eacute;es</strong><br />
+         <br />
+         <a
+        href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br />
+         <a
+        href="mod/core.html#documentroot">DocumentRoot</a><br />
+         <a href="mod/core.html#errorlog">ErrorLog</a><br />
+         <a href="mod/core.html#lockfile">Lockfile</a><br />
+         <a href="mod/core.html#pidfile">PidFile</a><br />
+         <a
+        href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br />
+         <a href="mod/core.html#serverroot">ServerRoot</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Ces directives contr&ocirc;lent les emplacements des
+    diff&eacute;rents fichiers qu'Apache utilise pour ses propres
+    besoins. Quand le chemin employ&eacute; ne commence pas par une
+    barre oblique, les fichiers sont localis&eacute;s relativement
+    &agrave; <code>ServerRoot</code>. Soyez attentifs &agrave;
+    placer ces fichiers dans des chemins qui sont autoris&eacute;s
+    en &eacute;criture aux utilisateurs autres que root. Voir les
+    <a href="misc/security_tips.html">trucs sur la
+    s&eacute;curit&eacute;</a> pour plus de d&eacute;tails.</p>
+    <hr />
+
+    <h2><a id="process" name="process">Cr&eacute;ation des
+    processus</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        associ&eacute;es</strong><br />
+         <br />
+         <a
+        href="mod/core.html#bs2000account">BS2000Account</a><br />
+         <a href="mod/core.html#group">Group</a><br />
+         <a href="mod/core.html#maxclients">MaxClients</a><br />
+         <a
+        href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br />
+         <a
+        href="mod/core.html#maxspareservers">MaxSpareServers</a><br />
+         <a
+        href="mod/core.html#minspareservers">MinSpareServers</a><br />
+         <a href="mod/core.html#servertype">ServerType</a><br />
+         <a
+        href="mod/core.html#startservers">StartServers</a><br />
+         <a
+        href="mod/core.html#threadsperchild">ThreadsPerChild</a><br />
+         <a href="mod/core.html#user">User</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Si la directive <code>ServerType</code> est d&eacute;finie
+    avec la valeur recommand&eacute;e de <code>Standalone</code>,
+    Apache 1.3 sur Unix est bas&eacute; sur un mod&egrave;le de
+    pr&eacute;lancement des processus. Un unique processus de
+    contr&ocirc;le est responsable de lancer des processus fils qui
+    &eacute;coutent les connexions et les traitent &agrave; leur
+    arriv&eacute;e. Apache essaye de maintenir un certain nombre de
+    processus en r&eacute;serve ou inactifs, qui restent toujours
+    pr&ecirc;ts &agrave; traiter les requ&ecirc;tes arrivantes. De
+    cette mani&egrave;re, les clients n'ont pas &agrave; attendre
+    que de nouveaux processus fils soient lanc&eacute;s avant que
+    leurs requ&ecirc;tes soient trait&eacute;es.</p>
+
+    <p>Les directives <code>StartServers</code>,
+    <code>MinSpareServers</code>, <code>MaxSpareServers</code>, et
+    <code>MaxServers</code> r&eacute;gissent comment le processus
+    p&egrave;re cr&eacute;e les processus fils pour traiter les
+    requ&ecirc;tes. En g&eacute;n&eacute;ral Apache se r&eacute;git
+    seul correctement, et la plupart des sites n'ont pas besoin
+    d'ajuster la valeur de ces directives. Les sites qui veulent
+    servir plus de 256 requ&ecirc;tes simultan&eacute;es doivent
+    augmenter la valeur de <code>MaxClients</code>, tandis que les
+    sites tournant sur des machines limit&eacute;es en
+    m&eacute;moire doivent r&eacute;duire la valeur de
+    <code>MaxClients</code> afin d'&eacute;viter d'utiliser le
+    fichier d'&eacute;change. Plus d'informations sur le
+    param&eacute;trage de la cr&eacute;ation des processus se
+    trouvent dans la documentation <a
+    href="misc/perf-tuning.html">Aide sur les performances
+    g&eacute;n&eacute;rales</a>.</p>
+
+    <p>Tandis que le processus p&egrave;re est
+    g&eacute;n&eacute;ralement lanc&eacute; en tant que root sous
+    Unix pour se connecter sur le port 80, les processus fils sont
+    lanc&eacute;s sous un utilisateur moins
+    privil&eacute;gi&eacute;. Les directives <code>User</code> et
+    <code>Group</code> servent &agrave; d&eacute;finir les
+    privil&egrave;ges des processus fils. Les processus fils
+    doivent &ecirc;tre capable de lire le contenu devant &ecirc;tre
+    servi, mais doivent avoir le minimum de privil&egrave;ges
+    possibles. De plus, &agrave; moins que <a
+    href="suexec.html">suexec</a> soit utilis&eacute;, ces
+    directives d&eacute;finissent &eacute;galement les droits qui
+    seront h&eacute;rit&eacute;s par les scripts CGI.</p>
+
+    <p><code>MaxRequestsPerChild</code> contr&ocirc;le la
+    fr&eacute;quence de r&eacute;novation des processus, en
+    supprimant les anciens et en lan&ccedil;ant de nouveaux.</p>
+
+    <p>Sous Windows, Apache lance un processus p&egrave;re et un
+    processus fils. Le processus fils cr&eacute;e un ensemble de
+    threads pour traiter les requ&ecirc;tes. Le nombre de threads
+    est contr&ocirc;l&eacute; par la directive
+    <code>ThreadsPerChild</code>.</p>
+    <hr />
+
+    <h2><a id="network" name="network">Configuration
+    r&eacute;seau</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        associ&eacute;es</strong><br />
+         <br />
+         <a href="mod/core.html#bindaddress">BindAddress</a><br />
+         <a href="mod/core.html#keepalive">KeepAlive</a><br />
+         <a
+        href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br />
+         <a href="mod/core.html#listen">Listen</a><br />
+         <a
+        href="mod/core.html#listenbacklog">ListenBackLog</a><br />
+         <a
+        href="mod/core.html#acceptfilter">AcceptFilter</a><br />
+         <a
+        href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br />
+         <a href="mod/core.html#port">Port</a><br />
+         <a
+        href="mod/core.html#sendbuffersize">SendBufferSize</a><br />
+         <a href="mod/core.html#timeout">TimeOut</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Au d&eacute;marrage d'Apache, celui ci se connecte &agrave;
+    un port et une adresse donn&eacute;s sur la machine locale et
+    attend l'arriv&eacute;e de requ&ecirc;tes. Par d&eacute;faut,
+    il &eacute;coute sur toutes les adresses, et sur le port
+    d&eacute;fini par la directive <code>Port</code>. Toutefois, on
+    peut lui indiquer d'&eacute;couter sur plus d'un port, de
+    n'&eacute;couter qu'&agrave; partir d'une seule adresse, ou une
+    combinaison des deux. Ceci est g&eacute;n&eacute;ralement
+    combin&eacute; avec la fonction d' <a href="vhosts/">h&ocirc;te
+    virtuel</a> qui d&eacute;termine comment Apache r&eacute;pond
+    aux diff&eacute;rentes adresses IP, noms d'h&ocirc;tes et
+    ports.</p>
+
+    <p>Il y a deux directives qui permettent de restreindre ou de
+    sp&eacute;cifier quelles adresses et quels ports Apache doit
+    &eacute;couter. La directive <code>BindAddress</code> restreint
+    le serveur &agrave; n'&eacute;couter qu'une seule adresse IP.
+    La directive <code>Listen</code> peut &ecirc;tre
+    utilis&eacute;e pour sp&eacute;cifier un ensemble d'adresses et
+    de ports qu'Apache doit &eacute;couter.</p>
+
+    <p>Les directives <code>ListenBackLog</code>,
+    <code>SendBufferSize</code>, et <code>TimeOut</code> permettent
+    d'adjuster comment Apache interagit avec le r&eacute;seau. La
+    directive <code>AcceptFilter</code> contr&ocirc;le une
+    optimisation sp&eacute;cifique &agrave; BSD. Veuillez vous
+    r&eacute;f&eacute;rer &agrave; la section concernant BSD dans
+    la <a href="misc/perf-bsd44.html">documentation sur la
+    performance. --&gt;</a></p>
+    <br />
+     <br />
+     
+
+    <p>Les directives <code>KeepAlive</code>,
+    <code>KeepAliveTimeout</code>, et
+    <code>MaxKeepAliveRequests</code> d&eacute;finissent comment
+    Apache g&egrave;re les connexions persistantes.</p>
+    <hr />
+
+    <h2><a id="resource" name="resource">Limitation de
+    l'utilisation des Ressources</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Directives
+        associ&eacute;es</strong><br />
+         <br />
+         <a
+        href="mod/core.html#limitrequestbody">LimitRequestBody</a><br />
+         <a
+        href="mod/core.html#limitrequestfields">LimitRequestFields</a><br />
+         <a
+        href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br />
+         <a
+        href="mod/core.html#limitrequestline">LimitRequestLine</a><br />
+         <a href="mod/core.html#rlimitcpu">RLimitCPU</a><br />
+         <a href="mod/core.html#rlimitmem">RLimitMEM</a><br />
+         <a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br />
+         <a
+        href="mod/core.html#threadstacksize">ThreadStackSize</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <p>Les directives commen&ccedil;ant par
+    <code>LimitRequest</code> sont employ&eacute;es pour fixer des
+    limites sur la quantit&eacute; de ressources qui seront
+    utilis&eacute;es pendant la lecture des requ&ecirc;tes
+    clientes. En limitant ces valeurs, certains types de
+    d&eacute;ni de service peuvent &ecirc;tre
+    att&eacute;nu&eacute;s.</p>
+
+    <p>Les directives commen&ccedil;ant par <code>RLimit</code>
+    sont employ&eacute;es pour fixer des limites sur la
+    quantit&eacute; de ressources qu'utiliseront les processus
+    lanc&eacute;s par les processus enfants Apache. En particulier,
+    elles contr&ocirc;le les ressources utilis&eacute;es par les
+    scripts CGI et les commandes exec SSI.</p>
+
+    <p>La directive <code>ThreadStackSize</code> est
+    utilis&eacute;e seulement sur Netware pour contr&ocirc;ler la
+    taille de la pile.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/server-wide.html.html b/htdocs/manual/server-wide.html.html
new file mode 100644 (file)
index 0000000..2ad8e1d
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="server-wide.html.en" -->
+
diff --git a/htdocs/manual/server-wide.html.ja.jis b/htdocs/manual/server-wide.html.ja.jis
new file mode 100644 (file)
index 0000000..ab7583d
--- /dev/null
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Server-Wide Configuration</title>
+
+  </head>
+  <!-- English revision: 1.10 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">\e$B%5!<%PA4BN$N@_Dj\e(B</h1>
+
+    <p>\e$B$3$N%I%-%e%a%s%H$G$O\e(B<a href="mod/core.html">\e$B%3%"\e(B</a>\e$B%5!<%P$N\e(B
+    \e$B%G%#%l%/%F%#%V$NCf$G!"4pK\F0:n$r@_Dj$9$k$?$a$N$b$N$r@bL@$7$^$9!#\e(B
+    </p>
+
+    <ul>
+      <li><a href="#identification">\e$B%5!<%P\e(B ID</a></li>
+
+      <li><a href="#locations">\e$B%U%!%$%k$N0LCV\e(B</a></li>
+
+      <li><a href="#process">\e$B%W%m%;%9@8@.\e(B</a></li>
+
+      <li><a href="#network">\e$B%M%C%H%o!<%/@_Dj\e(B</a></li>
+
+      <li><a href="#resource">\e$B%j%=!<%9$N@)8B\e(B</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="identification" name="identification">\e$B%5!<%P\e(B ID</a></h2>
+
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+          <br />
+          <a href="mod/core.html#servername">ServerName</a><br />
+          <a
+         href="mod/core.html#serveradmin">ServerAdmin</a><br />
+          <a
+         href="mod/core.html#serversignature">ServerSignature</a><br />
+          <a
+         href="mod/core.html#servertokens">ServerTokens</a><br />
+          <a href="mod/core.html#usecanonicalname">UseCanonicalName</a><br />
+        </td>
+      </tr>
+    </table>
+
+    <p><code>ServerAdmin</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>ServerTokens</code>
+    \e$B%G%#%l%/%F%#%V$O!"%(%i!<%a%C%;!<%8$J$I$N%5!<%P$,:n$k%I%-%e%a%s%H$K!"\e(B
+    \e$B$I$N$h$&$J%5!<%P$N>pJs$rI=<($9$k$+$r@)8f$7$^$9!#\e(B
+    <code>ServerTokens</code> \e$B%G%#%l%/%F%#%V$O!"\e(BServer HTTP
+    \e$B%l%9%]%s%9%X%C%@%U%#!<%k%I$NCM$r@_Dj$7$^$9!#\e(B</p>
+
+    <p><code>ServerName</code> \e$B%G%#%l%/%F%#%V$H\e(B
+    <code>UseCanonicalName</code> \e$B%G%#%l%/%F%#%V$O!"\e(B
+    \e$B%5!<%P$,<+J,<+?H$r;2>H$9$k\e(B URL \e$B$r:n$k$H$-$K;H$o$l$^$9!#$?$H$($P!"\e(B
+    \e$B%/%i%$%"%s%H$,%G%#%l%/%H%j$rMW5a$7$F!"$=$N%G%#%l%/%H%jL>$N:G8e$K\e(B
+    \e$B%9%i%C%7%e$,IU$$$F$$$J$$$h$&$J>l9g$K$O!"%I%-%e%a%s%H$NAjBPE*$J\e(B
+    \e$B;2>H$r@5$7$/2r7h$G$-$k$h$&$K$9$k$?$a$K!"\e(BApache \e$B$O:G8e$N%9%i%C%7%e\e(B
+    \e$B$r4^$s$@40A4$J%Q%9$K%/%i%$%"%s%H$r%j%@%$%l%/%H$5$;$kI,MW$,$"$j$^$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="locations" name="locations">\e$B%U%!%$%k$N0LCV\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+        <br />
+        <a
+       href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br />
+        <a
+       href="mod/core.html#documentroot">DocumentRoot</a><br />
+        <a href="mod/core.html#errorlog">ErrorLog</a><br />
+        <a href="mod/core.html#lockfile">Lockfile</a><br />
+        <a href="mod/core.html#pidfile">PidFile</a><br />
+        <a
+       href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br />
+      <a href="mod/core.html#serverroot">ServerRoot</a><br />
+      </td>
+    </tr>
+  </table>
+
+    <p>\e$B$3$l$i$N%G%#%l%/%F%#%V$O\e(B Apache \e$B$,E,@Z$JF0:n$r$9$k$?$a$KI,MW$J\e(B
+    \e$B3F<o%U%!%$%k$N0LCV$r@)8f$7$^$9!#%Q%9$,%9%i%C%7%e\e(B "/"
+    \e$B$G;O$^$C$F$$$J$$$H$-$O!"%U%!%$%k$O\e(B <code>ServerRoot</code>
+    \e$B$+$i$NAjBP%Q%9$H$7$FC5$5$l$^$9!#\e(B
+    root \e$B0J30$N%f!<%6$,=q$-9~$_2DG=$J%Q%9$K%U%!%$%k$rCV$/>l9g$OCm0U$,I,MW$G$9!#\e(B
+    \e$B>\:Y$O\e(B<a href="misc/security_tips.html">\e$B!V%;%-%e%j%F%#>pJs!W\e(B</a>\e$B$r\e(B
+    \e$B;2>H$7$F$/$@$5$$!#\e(B</p>
+    <hr />
+
+    <h2><a id="process" name="process">\e$B%W%m%;%9@8@.\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+        <br />
+        <a
+       href="mod/core.html#bs2000account">BS2000Account</a><br />
+        <a href="mod/core.html#group">Group</a><br />
+        <a href="mod/core.html#maxclients">MaxClients</a><br />
+        <a
+       href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br />
+        <a
+       href="mod/core.html#maxspareservers">MaxSpareServers</a><br />
+        <a
+       href="mod/core.html#minspareservers">MinSpareServers</a><br />
+        <a href="mod/core.html#servertype">ServerType</a><br />
+        <a
+       href="mod/core.html#startservers">StartServers</a><br />
+        <a
+       href="mod/core.html#threadsperchild">ThreadsPerChild</a><br />
+        <a href="mod/core.html#user">User</a><br />
+        </td>
+      </tr>
+    </table>
+
+    <p><code>ServerType</code> \e$B$K?d>)$5$l$F$$$kCM$G$"$k\e(B
+    <code>Standalone</code> \e$B$,@_Dj$5$l$F$$$k>l9g$O!"\e(BUnix \e$B>e$G$N\e(B Apache
+    \e$B$O\e(B pre-forking \e$B%5!<%P$G$9!#$=$3$G$O0l$D$N@)8fMQ%W%m%;%9$,;R%W%m%;%9$r\e(B
+    \e$B5/F0$9$k@UG$$r;}$A$^$9!#$=$7$F!";R%W%m%;%9$O%W%m%;%9$,@8B8$7$F$$$k4V\e(B
+    listen \e$B$7!"@\B3$5$l$?$i$=$N%3%M%/%7%g%s$KBP$9$k=hM}$r9T$J$$$^$9!#\e(B
+    Apache \e$B$O%j%/%(%9%H$,Mh$?$H$-$K$9$0$K1~Ez$G$-$k$h$&$K!">o$KJ#?t$N\e(B
+    <em>\e$B%9%Z%"\e(B</em>\e$B%5!<%P%W%m%;%9!"$^$?$O%"%$%I%k%5!<%P%W%m%;%9$r0];}\e(B
+    \e$B$7$h$&$H$7$^$9!#$3$&$9$k$3$H$G!"%j%/%(%9%H$,07$o$l$kA0$K?7$7$$;R%W%m%;%9$,\e(B
+    fork \e$B$5$l$k$N$r%/%i%$%"%s%H$,BT$DI,MW$,$J$/$J$j$^$9!#\e(B</p>
+
+    <p><code>StartServers</code>, <code>MinSpareServers</code>,
+    <code>MaxSpareServers</code>, <code>MaxServers</code> \e$B$O!"\e(B
+    \e$B?F%W%m%;%9$,%j%/%(%9%H$r07$&$3$H$K$J$k;R%W%m%;%9$r:n@.$9$kJ}K!$r@)8f$7$^$9!#\e(B
+    \e$BDL>o!"\e(BApache \e$B$OHs>o$K<+@)E*$G$9$N$G!"$[$H$s$I$N%5%$%H$G$O\e(B
+    \e$B%G%U%)%k%HCM$+$iJQ99$9$kI,MW$O$"$j$^$;$s!#$?$@!"F1;~$K\e(B 256 \e$B$rD6$($k\e(B
+    \e$B%j%/%(%9%H$r07$&%5%$%H$O\e(B <code>MaxClients</code> \e$B$rA}$d$9I,MW$,$"$k$G$7$g$&!#\e(B
+    \e$B0lJ}!"%a%b%j$N>/$J$$%5%$%H$G$O!"%5!<%P$,%9%i%C%7%s%0\e(B (\e$B%a%b%j$r%G%#%9%/$K\e(B
+    \e$B%9%o%C%W$7$?$j!"%a%b%j$KLa$7$?$j$9$k$N$r7+$jJV$9\e(B) \e$B$rKI$0$?$a$K\e(B
+    <code>MaxClients</code> \e$B$r8:$i$9I,MW$,$"$k$G$7$g$&!#\e(B
+    \e$B%W%m%;%9:n@.$r%A%e!<%s$9$k$?$a$N>\$7$$>pJs$O\e(B
+    <a href="misc/perf-tuning.html">\e$B@-G=$N>pJs\e(B</a>
+    \e$B%I%-%e%a%s%H$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p>Unix \e$B$G$ODL>o!"?F%W%m%;%9$O\e(B 80 \e$BHV%]!<%H$r%P%$%s%I$9$k$?$a$K\e(B
+    root \e$B$G5/F0$5$l$^$9$,!";R%W%m%;%9$O\e(B Apache \e$B$+$i$h$jFC8"$N>/$J$$\e(B
+    \e$B%f!<%6$H$7$F5/F0$5$l$^$9!#\e(B<code>User</code> \e$B%G%#%l%/%F%#%V$H\e(B
+    <code>Group</code>\e$B%G%#%l%/%F%#%V$O!"\e(BApache \e$B$N;R%W%m%;%9$K@_Dj$5$l$k\e(B
+    \e$BFC8"$r@_Dj$9$k$?$a$K;HMQ$5$l$^$9!#;R%W%m%;%9$ODs6!$9$k$9$Y$F$N\e(B
+    \e$B%3%s%F%s%D$rFI$a$J$1$l$P$$$1$^$;$s$,!"\e(B
+    \e$B$=$l0J>e$NFC8"$O>/$J$1$l$P>/$J$$J}$,K>$^$7$$$G$9!#\e(B
+    \e$B$^$?!"\e(B<a href="suexec.html">suexec</a> \e$B$,;HMQ$5$l$F$$$J$$$H$-$O!"\e(B
+    CGI \e$B%9%/%j%W%H$,7Q>5$9$kFC8"$K$b$3$l$i$N%G%#%l%/%F%#%V$N\e(B
+    \e$B@_Dj$,E,MQ$5$l$^$9!#\e(B</p>
+
+    <p><code>MaxRequestsPerChild</code> \e$B$O!"%5!<%P$,8E$$%W%m%;%9$r\e(B
+    kill \e$B$7$F?7$7$$%W%m%;%9$r5/F0$9$k$3$H$G!"\e(B
+    \e$B%W%m%;%9$r:FMxMQ$9$kIQEY$r@_Dj$7$^$9!#\e(B</p>
+
+    <p>Windows \e$B$G$O!"\e(BApache \e$B$O@)8f%W%m%;%90l$D$H;R%W%m%;%90l$D$G%9%?!<%H\e(B
+    \e$B$7$^$9!#;R%W%m%;%9$O%j%/%(%9%H$K1~$($k$?$a$KJ#?t$N%9%l%C%I$r:n@.$7$^$9!#\e(B
+    \e$B%9%l%C%I$N?t$O\e(B <code>ThreadsPerChild</code> \e$B%G%#%l%/%F%#%V$G@)8f$7$^$9!#\e(B
+    </p>
+    <hr />
+
+    <h2><a id="network" name="network">\e$B%M%C%H%o!<%/@_Dj\e(B</a></h2>
+
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+        <br />
+        <a href="mod/core.html#bindaddress">BindAddress</a><br />
+        <a href="mod/core.html#keepalive">KeepAlive</a><br />
+        <a
+       href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br />
+        <a href="mod/core.html#listen">Listen</a><br />
+        <a
+       href="mod/core.html#listenbacklog">ListenBackLog</a><br />
+        <a
+       href="mod/core.html#acceptfilter">AcceptFilter</a><br />
+        <a href="mod/core.html#acceptmutex">AcceptMutex</a><br />
+        <a
+       href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br />
+        <a href="mod/core.html#port">Port</a><br />
+        <a
+       href="mod/core.html#sendbuffersize">SendBufferSize</a><br />
+        <a href="mod/core.html#timeout">TimeOut</a><br />
+        </td>
+      </tr>
+    </table>
+
+
+    <p>Apache \e$B$O5/F0$9$k$H!"%m!<%+%k%^%7%s$N2?$i$+$N%]!<%HHV9f$H\e(B
+    \e$B%"%I%l%9$K%3%M%/%H$7!"%j%/%(%9%H$rBT$A$^$9!#%G%U%)%k%H$G$O!"\e(B
+    \e$B%^%7%s$K3d$jEv$F$i$l$F$$$k$9$Y$F$N%"%I%l%9$G%5!<%P@_Dj$N\e(B
+    <code>Port</code> \e$B%G%#%l%/%F%#%V$G;XDj$5$l$F$$$k%]!<%HHV9f$r\e(B listen
+    \e$B$7$^$9!#Fs$D0J>e$N%]!<%H$r\e(B listen \e$B$7$?$j!"A*Br$5$l$?%"%I%l%9$N$_$r\e(B
+    listen \e$B$7$?$j!"$=$NAH$_9g$o$;$r\e(B listen \e$B$7$?$j$9$k$h$&$K$b$G$-$^$9!#\e(B
+    \e$B0c$&\e(B IP \e$B%"%I%l%9!"%[%9%HL>!"%]!<%HHV9f$K$h$C$F\e(B Apache \e$B$N1~Ez$r\e(B
+    \e$B7hDj$9$k\e(B<a href="vhosts/">\e$B%P!<%A%c%k%[%9%H\e(B</a>\e$B5!G=$HAH$_9g$o$;$F\e(B
+    \e$B;H$o$l$k$3$H$,$h$/$"$j$^$9!#\e(B
+    </p>
+
+    <p>Apache \e$B$,\e(B listen \e$B$9$k%"%I%l%9$H%]!<%HHV9f$r;XDj!"\e(B
+    \e$B$b$7$/$O@)8B$9$k%G%#%l%/%F%#%V$OFs$D$"$j$^$9!#\e(B
+    <code>BindAddress</code> \e$B%G%#%l%/%F%#%V$O%5!<%P$,0l$D$N\e(B IP
+    \e$B%"%I%l%9$@$1$r\e(B listen \e$B$5$;$k$?$a$K;HMQ$5$l$^$9!#\e(B
+    <code>Listen</code> \e$B%G%#%l%/%F%#%V$O\e(B Apache \e$B$,\e(B listen \e$B$9$k\e(B IP \e$B%"%I%l%9$H\e(B
+    \e$B%]!<%HHV9f$NAH!"$^$?$O$I$A$i$+0lJ}$rJ#?t;XDj$9$k$?$a$K;HMQ$5$l$^$9!#\e(B</p>
+
+    <p><code>ListenBackLog</code> \e$B%G%#%l%/%F%#%V!"\e(B<code>SendBufferSize</code>
+    \e$B%G%#%l%/%F%#%V!"\e(B<code>TimeOut</code> \e$B%G%#%l%/%F%#%V$O!"\e(BApache \e$B$H\e(B
+    \e$B%M%C%H%o!<%/$H$N4X78$rD4@0$7$^$9!#\e(B<code>AcceptFilter</code>
+    \e$B$O\e(B BSD \e$BFCM-$N%U%#%k%?$N:GE,2=$r@)8f$7$^$9!#\e(B
+    <a href="misc/perf-bsd44.html">\e$B@-G=$K4X$9$k%R%s%H\e(B</a>\e$B$N\e(B BSD \e$B$N@a$r\e(B
+    \e$B8+$F$/$@$5$$!#\e(B<code>AcceptMutex</code> \e$B$O$I$N$h$&$K\e(B accept \e$B;~$N\e(B
+    \e$BGSB>@)8f$r9T$J$&$+$r@)8f$7$^$9!#$3$l$,0lBN2?$G!"$J$<I,MW$G$"$k$+$O!"\e(B
+    <a href="misc/perf-tuning.html">\e$B0lHLE*$J@-G=$K4X$9$k%R%s%H\e(B</a>
+    \e$B$r8+$F$/$@$5$$!#\e(B</p>
+
+    <p><code>KeepAlive</code> \e$B%G%#%l%/%F%#%V!"\e(B<code>KeepAliveTimeout</code>
+    \e$B%G%#%l%/%F%#%V!"\e(B<code>MaxKeepAliveRequests</code> \e$B%G%#%l%/%F%#%V$O!"\e(B
+    Apache \e$B$,\e(B persistent connection \e$B$r$I$N$h$&$K07$&$+$r@)8f$7$^$9!#\e(B</p>
+    <hr />
+
+    <h2><a id="resource" name="resource">\e$B%j%=!<%9$N@)8B\e(B</a></h2>
+
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+        <br />
+        <a
+       href="mod/core.html#limitrequestbody">LimitRequestBody</a><br />
+        <a
+       href="mod/core.html#limitrequestfields">LimitRequestFields</a><br />
+        <a
+       href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br />
+        <a
+       href="mod/core.html#limitrequestline">LimitRequestLine</a><br />
+        <a href="mod/core.html#rlimitcpu">RLimitCPU</a><br />
+        <a href="mod/core.html#rlimitmem">RLimitMEM</a><br />
+        <a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br />
+        <a
+       href="mod/core.html#threadstacksize">ThreadStackSize</a><br />
+        </td>
+      </tr>
+    </table>
+
+    <p><code>LimitRequest</code>* \e$B%G%#%l%/%F%#%V$O\e(B Apache \e$B$,\e(B
+    \e$B%/%i%$%"%s%H$+$i$N%j%/%(%9%HFI$_9~$_$G;H$&%j%=!<%9$r@)8B$9$k$?$a$K\e(B
+    \e$B;H$o$l$^$9!#$3$l$i$NCM$r@)8B$9$k$3$H$G!"$$$/$D$+$N%5!<%S%95qH]967b$N\e(B
+    \e$B1F6A$rOB$i$2$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><code>RLimit</code>* \e$B%G%#%l%/%F%#%V$O!"\e(BApache \e$B$N;R%W%m%;%9$+$i\e(B
+    fork \e$B$5$l$?%W%m%;%9$,;HMQ$9$k%j%=!<%9$r@)8B$9$k$?$a$K\e(B
+    \e$B;H$o$l$^$9!#FC$K!"$3$l$O\e(B CGI \e$B%9%/%j%W%H$H\e(B SSI exec \e$B%3%^%s%I$G\e(B
+    \e$B;H$o$l$k%j%=!<%9$r@)8f$7$^$9!#\e(B</p>
+
+    <p><code>ThreadStackSize</code> \e$B$O\e(B Netware \e$B$G$N$_!"\e(B
+    \e$B%9%?%C%/$NBg$-$5$r@)8f$9$k$?$a$K;H$o$l$^$9!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/sitemap.html b/htdocs/manual/sitemap.html
new file mode 100644 (file)
index 0000000..e2af048
--- /dev/null
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Site Map</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+
+<!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Site Map</h1>
+
+<ul>
+<li><a href="index.html">Apache HTTP Server Version 1.3 Documentation</a>
+<ul>
+
+<li>Release Notes
+<ul>
+<li><a href="upgrading_to_1_3.html">Upgrading to 1.3 from 1.2</a></li>
+<li><a href="new_features_1_3.html">New features with Apache 1.3</a></li>
+</ul></li>
+
+<li>Using the Apache HTTP Server
+<ul>
+<li><a href="install.html">Compiling and Installing Apache</a></li>
+<li><a href="invoking.html">Starting Apache</a></li>
+<li><a href="stopping.html">Stopping and Restarting Apache</a></li>
+<li><a href="configuring.html">Configuration Files</a></li>
+<li><a href="sections.html">How Directory, Location and Files sections work</a></li>
+<li><a href="server-wide.html">Server-Wide Configuration</a></li>
+<li><a href="logs.html">Log Files</a></li>
+<li><a href="urlmapping.html">Mapping URLs to Filesystem Locations</a></li>
+<li><a href="misc/security_tips.html">Security Tips</a></li>
+<li><a href="dso.html">Dynamic Shared Object (DSO) support</a></li>
+<li><a href="content-negotiation.html">Apache Content Negotiation</a></li>
+<li><a href="custom-error.html">Custom error responses</a></li>
+<li><a href="bind.html">Setting which addresses and ports Apache uses</a></li>
+<li><a href="env.html">Environment Variables in Apache</a></li>
+<li><a href="handler.html">Apache's Handler Use</a></li>
+<li><a href="suexec.html">suEXEC Support</a></li>
+<li><a href="misc/perf-tuning.html">Performance Hints</a></li>
+<li><a href="misc/rewriteguide.html">URL Rewriting Guide</a></li>
+</ul></li>
+
+<li><a href="vhosts/">Apache Virtual Host documentation</a>
+<ul>
+<li><a href="vhosts/name-based.html">Name-based Virtual Hosts</a></li>
+<li><a href="vhosts/ip-based.html">IP-based Virtual Host Support</a></li>
+<li><a href="vhosts/mass.html">Dynamically configured mass virtual hosting</a></li>
+<li><a href="vhosts/examples.html">VirtualHost Examples</a></li>
+<li><a href="vhosts/details.html">An In-Depth Discussion of Virtual Host Matching</a></li>
+<li><a href="vhosts/fd-limits.html">File Descriptor Limits with Virtual Hosts</a></li>
+<li><a href="dns-caveats.html">Issues Regarding DNS and Apache</a></li>
+</ul></li>
+
+<li><a href="misc/FAQ.html">Apache Server Frequently Asked Questions</a></li>
+
+<li>Guides, Tutorials, and HowTos
+<ul>
+<li><a href="howto/auth.html">Authentication, Authorization, and Access Control</a></li>
+<li><a href="howto/cgi.html">Apache Tutorial: Dynamic Content with CGI</a></li>
+<li><a href="howto/ssi.html">Apache Tutorial: Introduction to Server
+Side Includes</a></li>
+<li><a href="misc/howto.html">HOWTO documentation</a></li>
+<li><a href="misc/tutorials.html">Apache Tutorials</a></li>
+</ul></li>
+
+<li>Platform-specific Notes
+<ul>
+<li><a href="windows.html">Using Apache with Microsoft Windows</a></li>
+<li><a href="win_compiling.html">Compiling Apache for Microsoft Windows</a></li>
+<li><a href="win_service.html">Running Apache for Windows as a Service</a></li>
+<li><a href="cygwin.html">Using Apache with Cygwin</a></li>
+<li><a href="ebcdic.html">The Apache EBCDIC Port</a></li>
+<li><a href="readme-tpf.html">The Apache TPF Port</a></li>
+<li><a href="install-tpf.html">Installing Apache on TPF</a></li>
+<li><a href="mpeix.html">Using Apache with HP MPE/iX</a></li>
+<li><a href="netware.html">Using Apache with Novell NetWare</a></li>
+<li><a href="unixware.html">Compiling Apache under UnixWare</a></li>
+<li><a href="misc/perf-bsd44.html">Running a High-Performance Web Server for BSD</a></li>
+<li><a href="misc/perf-dec.html">Performance Tuning Tips for Digital Unix</a></li>
+<li><a href="misc/perf-hp.html">Running a High-Performance Web Server on HPUX</a></li>
+<li><a href="misc/perf.html">Hints on Running a High-Performance Web Server</a></li>
+</ul></li>
+
+<li><a href="programs/">Apache HTTP Server and Supporting Programs</a>
+<ul>
+<li><a href="programs/httpd.html">Manual Page: httpd - Apache HTTP Server</a></li>
+<li><a href="programs/apxs.html">Manual Page: apxs - Apache HTTP Server</a></li>
+<li><a href="programs/ab.html">Manual Page: ab - Apache HTTP Server</a></li>
+<li><a href="programs/apachectl.html">Manual Page: apachectl - Apache HTTP Server</a></li>
+<li><a href="programs/dbmmanage.html">Manual Page: dbmmanage - Apache HTTP Server</a></li>
+<li><a href="programs/htdigest.html">Manual Page: htdigest - Apache HTTP Server</a></li>
+<li><a href="programs/htpasswd.html">Manual Page: htpasswd - Apache HTTP Server</a></li>
+<li><a href="programs/logresolve.html">Manual Page: logresolve - Apache HTTP Server</a></li>
+<li><a href="programs/rotatelogs.html">Manual Page: rotatelogs - Apache HTTP Server</a></li>
+<li><a href="programs/suexec.html">Manual Page: suexec - Apache HTTP Server</a></li>
+<li><a href="programs/other.html">Other Programs - Apache HTTP Server</a></li>
+</ul></li>
+
+<li><a href="mod/">Apache modules</a>
+<ul>
+<li><a href="mod/index-bytype.html">Apache modules - By Type</a></li>
+<li><a href="mod/directives.html">Apache directives</a></li>
+<li><a href="mod/directive-dict.html">Definitions of terms used to describe Apache directives</a></li>
+<li><a href="mod/module-dict.html">Definitions of terms used to describe Apache modules</a></li>
+<li><a href="mod/core.html">Apache Core Features</a></li>
+<li><a href="mod/mod_access.html">Apache module mod_access</a></li>
+<li><a href="mod/mod_actions.html">Apache module mod_actions</a></li>
+<li><a href="mod/mod_alias.html">Apache module mod_alias</a></li>
+<li><a href="mod/mod_asis.html">Apache module mod_asis</a></li>
+<li><a href="mod/mod_auth.html">Apache module mod_auth</a></li>
+<li><a href="mod/mod_auth_anon.html">Apache module mod_auth_anon.c</a></li>
+<li><a href="mod/mod_auth_db.html">Apache module mod_auth_db</a></li>
+<li><a href="mod/mod_auth_dbm.html">Apache module mod_auth_dbm</a></li>
+<li><a href="mod/mod_auth_digest.html">Apache module mod_auth_digest</a></li>
+<li><a href="mod/mod_autoindex.html">Apache module mod_autoindex</a></li>
+<li><a href="mod/mod_cern_meta.html">Apache module mod_cern_meta</a></li>
+<li><a href="mod/mod_cgi.html">Apache module mod_cgi</a></li>
+<li><a href="mod/mod_digest.html">Apache module mod_digest</a></li>
+<li><a href="mod/mod_dir.html">Apache module mod_dir</a></li>
+<li><a href="mod/mod_env.html">Apache module mod_env</a></li>
+<li><a href="mod/mod_example.html">Apache module mod_example</a></li>
+<li><a href="mod/mod_expires.html">Apache module mod_expires</a></li>
+<li><a href="mod/mod_headers.html">Apache module mod_headers</a></li>
+<li><a href="mod/mod_imap.html">Apache module mod_imap</a></li>
+<li><a href="mod/mod_include.html">Apache module mod_include</a></li>
+<li><a href="mod/mod_info.html">Apache module mod_info</a></li>
+<li><a href="mod/mod_isapi.html">Apache module mod_isapi</a></li>
+<li><a href="mod/mod_log_agent.html">Apache module mod_log_agent</a></li>
+<li><a href="mod/mod_log_config.html">Apache module mod_log_config</a></li>
+<li><a href="mod/mod_log_referer.html">Apache module mod_log_referer</a></li>
+<li><a href="mod/mod_mime.html">Apache module mod_mime</a></li>
+<li><a href="mod/mod_mime_magic.html">Apache module mod_mime_magic</a></li>
+<li><a href="mod/mod_mmap_static.html">Apache module mod_mmap_static</a></li>
+<li><a href="mod/mod_negotiation.html">Apache module mod_negotiation</a></li>
+<li><a href="mod/mod_proxy.html">Apache module mod_proxy</a></li>
+<li><a href="mod/mod_rewrite.html">Apache module mod_rewrite</a></li>
+<li><a href="mod/mod_setenvif.html">Apache module mod_setenvif</a></li>
+<li><a href="mod/mod_so.html">Apache module mod_so</a></li>
+<li><a href="mod/mod_speling.html">Apache module mod_speling</a></li>
+<li><a href="mod/mod_status.html">Apache module mod_status</a></li>
+<li><a href="mod/mod_unique_id.html">Apache module mod_unique_id</a></li>
+<li><a href="mod/mod_userdir.html">Apache module mod_userdir</a></li>
+<li><a href="mod/mod_usertrack.html">Apache module mod_usertrack</a></li>
+<li><a href="mod/mod_vhost_alias.html">Apache module mod_vhost_alias</a></li>
+</ul></li>
+
+<li><a href="misc/API.html">Apache API notes</a></li>
+
+<li><a href="misc/">Older Documentation</a>
+<ul>
+<li><a href="keepalive.html">Apache Keep-Alive Support</a></li>
+<li><a href="multilogs.html">Apache Multiple Log Files</a></li>
+<li><a href="process-model.html">Server Pool Management</a></li>
+<li><a href="sourcereorg.html">Source Re-organisation</a></li>
+<li><a href="misc/compat_notes.html">Notes about Compatibility with NCSA's Server</a></li>
+<li><a href="misc/custom_errordocs.html">International Customized Server Error Messages</a></li>
+<li><a href="misc/descriptors.html">Descriptors and Apache</a></li>
+<li><a href="misc/fin_wait_2.html">Connections in FIN_WAIT_2 and Apache</a></li>
+<li><a href="misc/known_client_problems.html">Known Client Problems</a></li>
+<li><a href="misc/nopgp.html">Why We Took PEM Out of Apache</a></li>
+<li><a href="misc/vif-info.html">Configuring Multiple IP Addresses</a></li>
+<li><a href="misc/windoz_keepalive.html">MS Windows Netscape 3.0b4 KeepAlive problem solved</a></li>
+<li><a href="misc/client_block_api.html">Reading Client Input in Apache 1.2</a></li>
+</ul></li>
+
+</ul></li>
+</ul>
+
+<!--#include virtual="footer.html" -->
+
+  </body>
+</html>
diff --git a/htdocs/manual/sourcereorg.html b/htdocs/manual/sourcereorg.html
new file mode 100644 (file)
index 0000000..10175ae
--- /dev/null
@@ -0,0 +1,287 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Source Re-organisation</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Source Re-organisation</h1>
+    As of 1.3, the Apache source directories have been
+    re-organised. This re-organisation is designed to simplify the
+    directory structure, make it easier to add additional modules,
+    and to give module authors a way of specifying compile time
+    options or distribute binary modules. 
+
+    <h2>Summary of Changes</h2>
+    The source changes are: 
+
+    <ul>
+      <li>The non-module source files have moved from
+      <code>src</code> into <code>src/main</code></li>
+
+      <li>The module source files previously in <code>src</code>
+      have moved to <code>src/modules/standard</code></li>
+
+      <li>The <code>support</code> directory is now in
+      <code>src/support</code></li>
+
+      <li>The existing symbol names used for global Apache function
+      and variable identifiers have been renamed in the source.
+      This way namespace conflicts are avoided when linking Apache
+      with third-party libraries. See the file
+      <code>src/include/compat.h</code> both for the list of
+      renamed symbol names and for a way to get source backward
+      compatibility in existing third-party module sources.</li>
+    </ul>
+    In addition, the following enhancements have been made: 
+
+    <ul>
+      <li>OS abstractions can be added in the <code>src/os</code>
+      directory. Currently this contains information for unix, OS/2
+      and Windows 32 platforms.</li>
+
+      <li><code>Configuration</code> syntax has been simplified for
+      adding new modules. Users no longer need to enter the
+      module's structure name. In addition, new modules can be
+      located anywhere on the file system, or typically in new or
+      existing directories under <code>src/modules</code>.</li>
+
+      <li>Module authors can give simpler instructions for adding
+      their modules to Apache compilation. They can also now
+      provide compile time information required by
+      <code>Configure</code>, such as additional libraries
+      required.</li>
+
+      <li>Module authors can distribute pre-compiled (.a or .o)
+      versions of their modules if required, along with a "module
+      definition file" which contains the information required by
+      <code>Configure</code>.</li>
+
+      <li>All the sub-directories (main, modules/* and os/*) are
+      built as libraries.</li>
+
+      <li>The new Apache Autoconf-style Interface (APACI) script
+      named <code>configure</code> replaced the old top-level
+      <code>Makefile</code> and
+      <code>src/helpers/InstallApache</code> stuff.</li>
+    </ul>
+
+    <h2>Adding Modules</h2>
+    Modules are added to Apache by adding a reference to them in
+    <code>src/Configuration</code> then running
+    <code>Configure</code> and <code>make</code>. In earlier
+    version of Apache before 1.3, the line added to Configuration
+    looked like this: 
+<pre>
+  Module    status_module    mod_status.o
+</pre>
+    From 1.3 onwards, the <code>AddModule</code> line should be
+    used instead, and typically looks like this: 
+<pre>
+  AddModule    modules/standard/mod_status.o
+</pre>
+    The argument to AddModule is the path, relative to
+    <code>src</code>, to the module file's source or object file. 
+
+    <p>Normally when adding a module you should follow the
+    instructions of the module author. However if the module comes
+    as a single source file, say mod_foo.c, then the recommended
+    way to add the module to Apache is as follows:</p>
+
+    <ul>
+      <li>Put <code>mod_foo.c</code> into the directory
+      <code>src/modules/extra</code></li>
+
+      <li>Go to the <code>src</code> directory and add the
+      following line to <code>Configuration</code><br />
+       <code>AddModule modules/extra/mod_foo.o</code></li>
+
+      <li>Run <code>./Configure</code></li>
+
+      <li>Run <code>make</code></li>
+    </ul>
+
+    <h2>New Facilities for Module Authors</h2>
+    In previous releases of Apache, new modules were added to the
+    <code>src</code> directory, and if the module required any
+    additional compilation options (such as libraries) they would
+    have to be added to <code>Configuration</code>. Also the user
+    would have to be told the module's structure name to add on the
+    Module line of <code>Configuration</code>. 
+
+    <p>From Apache 1.3 onwards, module authors can make use of
+    these new features:</p>
+
+    <ul>
+      <li>Simplified <code>Configuration</code> command AddModule
+      which only requires a path to the module source or object
+      file</li>
+
+      <li>If the module requires compile time options (such as
+      extra libraries) these can be specified in the module file
+      source or an external "module definition file".</li>
+
+      <li>If a module is distributed as binary (.o or .a) then an
+      external "module definition file" can also be distributed
+      which gives the information Configure needs to add the
+      module, such as extra libraries and the module's structure
+      name.</li>
+
+      <li>Modules can be installed anywhere on the file system,
+      although a directory under <code>src/modules</code> is
+      recommended.</li>
+
+      <li>If the module is in its own directory, Apache can
+      automatically create a Makefile to build the module given a
+      file containing the module's dependencies.</li>
+
+      <li>For building a third-party module
+      <strong>outside</strong> the Apache source tree the new
+      <code>apxs</code> support tool can be used to compile the
+      module into a <a href="dso.html">dynamic shared object
+      (DSO)</a>, install it into the existing Apache installation
+      and optionally activating it in the Apache
+      <code>httpd.conf</code> file. The only requirement is that
+      Apache has DSO-support for the used platform and the module
+      <code><a href="mod/mod_so.html">mod_so</a></code> was built
+      into the server binary <code>httpd</code>.</li>
+    </ul>
+    The rest of this document shows how to package modules for
+    Apache 1.3 and later and what to tell end-users of the module. 
+
+    <h3>Building a simple source distribution</h3>
+    Consider a simple add-on module, distributed as a single file.
+    For example, say it is called mod_demo.c. The archive for this
+    module should consist of two files, in a suitable directory
+    name. For example: 
+
+    <ul>
+      <li>mod_demo/mod_demo.c</li>
+
+      <li>mod_demo/Makefile.tmpl</li>
+    </ul>
+    (Of course end-user instructions, README's, etc can also be
+    supplied in the archive). The end user should be told to
+    extract this archive in the <code>src/modules</code> directory
+    of their Apache source tree. This will create a new directory
+    <code>src/modules/mod_demo</code>. Then they need to add the
+    following line to the <code>Configuration</code> file: 
+<pre>
+  AddModule  modules/mod_demo/mod_demo.o
+</pre>
+    then run <code>Configure</code> and <code>make</code> as
+    normal. 
+
+    <p>The <code>mod_demo/Makefile.tmpl</code> should contain the
+    dependencies of the module source. For example, a simple module
+    which just interfaces to some standard Apache module API
+    functions might look this this:</p>
+<pre>
+  mod_demo.o: mod_demo.c $(INCDIR)/httpd.h $(INCDIR)/http_protocol.h
+</pre>
+    When the user runs <code>Configure</code> Apache will create a
+    full makefile to build this module. If this module also
+    requires some additional built-time options to be given, such
+    as libraries, see the next section. 
+
+    <p>If the module also comes with header files, these can be
+    added to the archive. If the module consists of multiple source
+    files it can be built into a library file using a supplied
+    makefile. In this case, distribute the makefile as
+    <code>mod_demo/Makefile</code> and <strong>do not</strong>
+    include a <code>mod_demo/Makefile.tmpl</code>. If
+    <code>Configure</code> sees a <code>Makefile.tmpl</code> it
+    assumes it is safe to overwrite any existing
+    <code>Makefile</code>.</p>
+
+    <p>See the Apache <code>src/modules/standard</code> for an
+    example of a module directory where the makefile is created
+    automatically from a Makefile.tmpl file (note that this
+    directory also shows how to distribute multiple modules in a
+    single directory). See <code>src/modules/proxy</code> and
+    <code>src/modules/example</code> for examples of modules built
+    using custom makefiles (to build a library and an object file,
+    respectively).</p>
+
+    <h3>Adding Compile time Information</h3>
+    Apache source files (or module definition files, see below) can
+    contain information used by <code>Configure</code> to add
+    compile-time options such as additional libraries. For example,
+    if mod_demo in the example above also requires that Apache be
+    linked against a DBM library, then the following text could be
+    inserted into the mod_demo.c source: 
+<pre>
+/*
+ * Module definition information - the part between the -START and -END
+ * lines below is used by Configure. This could be stored in a separate
+ * instead.
+ *
+ * MODULE-DEFINITION-START
+ * Name: demo_module
+ * ConfigStart
+    LIBS="$LIBS $DBM_LIB"
+    if [ "X$DBM_LIB" != "X" ]; then
+        echo " + using $DBM_LIB for mod_demo"
+    fi
+ * ConfigEnd
+ * MODULE-DEFINITION-END
+ */
+</pre>
+    Note that this is contained inside a C language comment to hide
+    it from the compiler. Anything between the lines which contains
+    <code>MODULE-DEFINITION-START</code> and
+    <code>MODULE-DEFINITION-END</code> is used by
+    <code>Configure</code>. The <code>Name:</code> line gives the
+    module's structure name. This is not really necessary in this
+    case since if not present <code>Configure</code> will guess at
+    a name based on the filename (<em>e.g.</em>, given "mod_demo"
+    it will remove the leading "mod_" and append "_module" to get a
+    structure name. This works with all modules distributed with
+    Apache). 
+
+    <p>The lines between <code>ConfigStart</code> and
+    <code>ConfigEnd</code> as executed by <code>Configure</code>
+    and can be used to add compile-time options and libraries. In
+    this case it adds the DBM library (from $DBM_LIB) to the
+    standard compilation libraries ($LIB) and displays a
+    message.</p>
+
+    <p>See the default distribution's mod_auth_dbm.c for an example
+    of an embedded module definition.</p>
+
+    <h3>Module Definition Information for Binary Distribitions</h3>
+    If the module is to be distributed as binary (object or
+    library) rather than source, it is not possible to add the
+    module definition information to the source file. In this case
+    it can be placed in a separate file which has the same base
+    name as the object or library file, but with a
+    <code>.module</code> extension. So, for example, if the
+    distributed module object file is mod_demo.o, the module
+    definition file should be called mod_demo.module. It contains
+    the same information as above, but does not need to be inside a
+    C comment or delimited with
+    <code>MODULE-DEFINITION-START</code> <em>etc.</em> For example:
+    
+<pre>
+Name: demo_module
+ConfigStart
+ LIBS="$LIBS $DBM_LIB"
+ if [ "X$DBM_LIB" != "X" ]; then
+     echo " + using $DBM_LIB for mod_demo"
+ fi
+ConfigEnd
+</pre>
+    See the default distribution's mod_auth_db.module for an
+    example of a separate module definition file. 
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/stopping.html.en b/htdocs/manual/stopping.html.en
new file mode 100644 (file)
index 0000000..626b1d3
--- /dev/null
@@ -0,0 +1,198 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Stopping and Restarting Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Stopping and Restarting Apache</h1>
+
+    <p>This document covers stopping and restarting Apache on Unix
+    and Cygwin only. Windows users should see <a
+    href="windows.html#signal">Signalling Apache when
+    running</a>.</p>
+
+    <p>You will notice many <code>httpd</code> executables running
+    on your system, but you should not send signals to any of them
+    except the parent, whose pid is in the <a
+    href="mod/core.html#pidfile">PidFile</a>. That is to say you
+    shouldn't ever need to send signals to any process except the
+    parent. There are three signals that you can send the parent:
+    <code>TERM</code>, <code>HUP</code>, and <code>USR1</code>,
+    which will be described in a moment.</p>
+
+    <p>To send a signal to the parent you should issue a command
+    such as:</p>
+
+    <blockquote>
+<pre>
+    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+    </blockquote>
+    You can read about its progress by issuing: 
+
+    <blockquote>
+<pre>
+    tail -f /usr/local/apache/logs/error_log
+</pre>
+    </blockquote>
+    Modify those examples to match your <a
+    href="mod/core.html#serverroot">ServerRoot</a> and <a
+    href="mod/core.html#pidfile">PidFile</a> settings. 
+
+    <p>As of Apache 1.3 we provide a script called <a
+    href="programs/apachectl.html">apachectl</a> which can be used
+    to start, stop, and restart Apache. It may need a little
+    customization for your system, see the comments at the top of
+    the script.</p>
+
+    <h3>TERM Signal: stop now</h3>
+
+    <p>Sending the <code>TERM</code> signal to the parent causes it
+    to immediately attempt to kill off all of its children. It may
+    take it several seconds to complete killing off its children.
+    Then the parent itself exits. Any requests in progress are
+    terminated, and no further requests are served.</p>
+
+    <h3>HUP Signal: restart now</h3>
+
+    <p>Sending the <code>HUP</code> signal to the parent causes it
+    to kill off its children like in <code>TERM</code> but the
+    parent doesn't exit. It re-reads its configuration files, and
+    re-opens any log files. Then it spawns a new set of children
+    and continues serving hits.</p>
+
+    <p>Users of the <a href="mod/mod_status.html">status module</a>
+    will notice that the server statistics are set to zero when a
+    <code>HUP</code> is sent.</p>
+
+    <p><strong>Note:</strong> If your configuration file has errors
+    in it when you issue a restart then your parent will not
+    restart, it will exit with an error. See below for a method of
+    avoiding this.</p>
+
+    <h3>USR1 Signal: graceful restart</h3>
+
+    <p><strong>Note:</strong> prior to release 1.2b9 this code is
+    quite unstable and shouldn't be used at all.</p>
+
+    <p>The <code>USR1</code> signal causes the parent process to
+    <em>advise</em> the children to exit after their current
+    request (or to exit immediately if they're not serving
+    anything). The parent re-reads its configuration files and
+    re-opens its log files. As each child dies off the parent
+    replaces it with a child from the new <em>generation</em> of
+    the configuration, which begins serving new requests
+    immediately.</p>
+
+    <p>This code is designed to always respect the <a
+    href="mod/core.html#maxclients">MaxClients</a>, <a
+    href="mod/core.html#minspareservers">MinSpareServers</a>, and
+    <a href="mod/core.html#maxspareservers">MaxSpareServers</a>
+    settings. Furthermore, it respects <a
+    href="mod/core.html#startservers">StartServers</a> in the
+    following manner: if after one second at least StartServers new
+    children have not been created, then create enough to pick up
+    the slack. This is to say that the code tries to maintain both
+    the number of children appropriate for the current load on the
+    server, and respect your wishes with the StartServers
+    parameter.</p>
+
+    <p>Users of the <a href="mod/mod_status.html">status module</a>
+    will notice that the server statistics are <strong>not</strong>
+    set to zero when a <code>USR1</code> is sent. The code was
+    written to both minimize the time in which the server is unable
+    to serve new requests (they will be queued up by the operating
+    system, so they're not lost in any event) and to respect your
+    tuning parameters. In order to do this it has to keep the
+    <em>scoreboard</em> used to keep track of all children across
+    generations.</p>
+
+    <p>The status module will also use a <code>G</code> to indicate
+    those children which are still serving requests started before
+    the graceful restart was given.</p>
+
+    <p>At present there is no way for a log rotation script using
+    <code>USR1</code> to know for certain that all children writing
+    the pre-restart log have finished. We suggest that you use a
+    suitable delay after sending the <code>USR1</code> signal
+    before you do anything with the old log. For example if most of
+    your hits take less than 10 minutes to complete for users on
+    low bandwidth links then you could wait 15 minutes before doing
+    anything with the old log.</p>
+
+    <p><strong>Note:</strong> If your configuration file has errors
+    in it when you issue a restart then your parent will not
+    restart, it will exit with an error. In the case of graceful
+    restarts it will also leave children running when it exits.
+    (These are the children which are "gracefully exiting" by
+    handling their last request.) This will cause problems if you
+    attempt to restart the server -- it will not be able to bind to
+    its listening ports. Before doing a restart, you can check the
+    syntax of the configuration files with the <code>-t</code>
+    command line argument (see <a
+    href="programs/httpd.html">httpd</a> ). This still will not
+    guarantee that the server will restart correctly. To check the
+    semantics of the configuration files as well as the syntax, you
+    can try starting httpd as a non-root user. If there are no
+    errors it will attempt to open its sockets and logs and fail
+    because it's not root (or because the currently running httpd
+    already has those ports bound). If it fails for any other
+    reason then it's probably a config file error and the error
+    should be fixed before issuing the graceful restart.</p>
+
+    <h3>Appendix: signals and race conditions</h3>
+
+    <p>Prior to Apache 1.2b9 there were several <em>race
+    conditions</em> involving the restart and die signals (a simple
+    description of race condition is: a time-sensitive problem, as
+    in if something happens at just the wrong time it won't behave
+    as expected). For those architectures that have the "right"
+    feature set we have eliminated as many as we can. But it should
+    be noted that there still do exist race conditions on certain
+    architectures.</p>
+
+    <p>Architectures that use an on disk <a
+    href="mod/core.html#scoreboardfile">ScoreBoardFile</a> have the
+    potential to corrupt their scoreboards. This can result in the
+    "bind: Address already in use" (after <code>HUP</code>) or
+    "long lost child came home!" (after <code>USR1</code>). The
+    former is a fatal error, while the latter just causes the
+    server to lose a scoreboard slot. So it might be advisable to
+    use graceful restarts, with an occasional hard restart. These
+    problems are very difficult to work around, but fortunately
+    most architectures do not require a scoreboard file. See the <a
+    href="mod/core.html#scoreboardfile">ScoreBoardFile</a>
+    documentation for a architecture uses it.</p>
+
+    <p><code>NEXT</code> and <code>MACHTEN</code> (68k only) have
+    small race conditions which can cause a restart/die signal to
+    be lost, but should not cause the server to do anything
+    otherwise problematic. 
+    <!-- they don't have sigaction, or we're not using it -djg -->
+    </p>
+
+    <p>All architectures have a small race condition in each child
+    involving the second and subsequent requests on a persistent
+    HTTP connection (KeepAlive). It may exit after reading the
+    request line but before reading any of the request headers.
+    There is a fix that was discovered too late to make 1.2. In
+    theory this isn't an issue because the KeepAlive client has to
+    expect these events because of network latencies and server
+    timeouts. In practice it doesn't seem to affect anything either
+    -- in a test case the server was restarted twenty times per
+    second and clients successfully browsed the site without
+    getting broken images or empty documents. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/stopping.html.fr b/htdocs/manual/stopping.html.fr
new file mode 100644 (file)
index 0000000..7700ecf
--- /dev/null
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+    <meta http-equiv="Content-Type"
+    content="text/html; charset=iso-8859-1" /><!-- Traduction anglais 1.18 -->
+
+    <title>Arr&ecirc;t et red&eacute;marrage d'Apache</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Arr&ecirc;t et red&eacute;marrage
+    d'Apache</h1>
+
+    <p>Ce document d&eacute;crit l'arr&ecirc;t et le
+    red&eacute;marrage d'Apache sur Unix et Cygwin seulement. Les
+    utilisateurs de Windows sont invit&eacute;s &agrave; lire le
+    paragraphe <a href="windows.html#signal">signaler &agrave;
+    Apache en cours d'ex&eacute;cution</a>.</p>
+
+    <p>Lorsque qu'Apache s'ex&eacute;cute, vous pouvez noter que
+    plusieurs processus <code>httpd</code> s'ex&eacute;cutent en
+    m&ecirc;me temps sur votre machine, mais vous ne devez envoyer
+    de signaux qu'&agrave; celui dont l'identifiant de processus
+    est celui contenu dans le fichier <a
+    href="mod/core.html#pidfile">PidFile</a>. Autrement dit, vous
+    ne devez jamais envoyer de signaux aux processus
+    <code>httpd</code> autres que le processus p&egrave;re. Il
+    existe trois signaux que vous pouvez envoyer au processus
+    p&egrave;re : <code>TERM</code>, <code>HUP</code>, et
+    <code>USR1</code>, dont la signification est d&eacute;crite ci
+    dessous.</p>
+
+    <p>Pour envoyer un signal au p&egrave;re vous pouvez utiliser
+    une commande comme</p>
+
+    <blockquote>
+<pre>
+    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+    </blockquote>
+    Vous pouvez lire l'effet de la commande
+    pr&eacute;c&eacute;dente en effectuant la commande 
+
+    <blockquote>
+<pre>
+    tail -f /usr/local/apache/logs/error_log
+</pre>
+    </blockquote>
+    Ces exemples devront &ecirc;tre modifi&eacute;s en fonction des
+    valeurs des directives <a
+    href="mod/core.html#serverroot">ServerRoot</a> et <a
+    href="mod/core.html#pidfile">PidFile</a>. 
+
+    <p>Avec Apache 1.3 est fourni un script <a
+    href="programs/apachectl.html">apachectl</a> qui peut
+    &ecirc;tre employ&eacute; pour d&eacute;marrer, arr&ecirc;ter
+    et relancer Apache. Il peut n&eacute;cessiter un peu
+    d'adaptation pour votre syst&egrave;me, pour cela lisez les
+    commentaires situ&eacute;s au d&eacute;but de ce script.</p>
+
+    <h3>Signal TERM : arr&ecirc;t imm&eacute;diat</h3>
+
+    <p>L'envoi du signal <code>TERM</code> demande au processus
+    p&egrave;re d'essayer de tuer tous ses processus fils. Il peut
+    s'&eacute;couler quelques secondes avant que tous les processus
+    fils ne soient tu&eacute;s. Le processus p&egrave;re se termine
+    ensuite. Les requ&ecirc;tes en cours sont termin&eacute;es et
+    plus aucune requ&ecirc;te n'est trait&eacute;e.</p>
+
+    <h3>Signal HUP : red&eacute;marrage imm&eacute;diat</h3>
+
+    <p>L'envoi du signal <code>HUP</code> demande au processus
+    p&egrave;re de tuer tous ses processus fils, comme le signal
+    <code>TERM</code>, mais le processus p&egrave;re ne se termine
+    pas. Il relit ses fichiers de configuration, et rouvre les
+    fichiers de trace. Il lance ensuite un nouvel ensemble de
+    processus fils et continue de traiter les requ&ecirc;tes.</p>
+
+    <p>Les utilisateurs du module <a
+    href="mod/mod_status.html">status</a> noteront que les
+    statistiques du serveur sont r&eacute;initialis&eacute;es
+    &agrave; z&eacute;ro apr&egrave;s l'envoi du signal
+    <code>HUP</code>.</p>
+
+    <p><strong>Note:</strong> si votre fichier de configuration
+    contient des erreurs lorsque vous demandez un
+    red&eacute;marrage, le processus p&egrave;re ne se relancera
+    pas mais se terminera avec une erreur. Voir plus bas pour une
+    m&eacute;thode permettant d'&eacute;viter ce
+    probl&egrave;me.</p>
+
+    <h3>Signal USR1 : red&eacute;marrage en douceur</h3>
+
+    <p><strong>Note:</strong> pour les versions inf&eacute;rieures
+    &agrave; 1.2b9 cette fonction est instable et ne doit pas
+    &ecirc;tre utilis&eacute;e.</p>
+
+    <p>Le signal <code>USR1</code> demande au processus p&egrave;re
+    de prier les processus de se terminer apr&egrave;s avoir
+    trait&eacute; leurs requ&ecirc;tes en cours (ou de se terminer
+    imm&eacute;diatement s'ils n'ont pas de traitement en cours).
+    Le processus p&egrave;re relit les fichiers de configuration et
+    rouvre les fichiers de trace. Au fur et &agrave; mesure que les
+    fils meurent, ils sont remplac&eacute;s par des processus fils
+    prenant en compte la nouvelle <em>g&eacute;n&eacute;ration</em>
+    de la configuration, et commencent aussit&ocirc;t &agrave;
+    traiter les nouvelles requ&ecirc;tes.</p>
+
+    <p>Cette fonction est con&ccedil;ue pour toujours respecter les
+    valeurs de <a href="mod/core.html#maxclients">MaxClients</a>,
+    <a href="mod/core.html#minspareservers">MinSpareServers</a>, et
+    <a href="mod/core.html#maxspareservers">MaxSpareServers</a>. De
+    plus, elle respecte la valeur de <a
+    href="mod/core.html#startservers">StartServers</a> de la
+    mani&egrave;re suivante : si apr&egrave;s une seconde, au moins
+    StartServers nouveaux processus fils n'ont pas
+    &eacute;t&eacute; cr&eacute;&eacute;s, alors elle en
+    cr&eacute;e suffisament pour combler le manque. Autrement dit,
+    la fonction essaie de maintenir &agrave; la fois le nombre de
+    processus fils appropri&eacute; pour traiter la charge actuelle
+    du serveur, et respecter vos souhaits concernant le
+    param&egrave;tre StartServers.</p>
+
+    <p>Les utilisateurs du module <a
+    href="mod/mod_status.html">status</a> noteront que les
+    statistiques du serveur <strong>ne sont pas</strong>
+    r&eacute;initialis&eacute;es &agrave; z&eacute;ro apr&egrave;s
+    l'envoi du signal <code>USR1</code>. La fonction est
+    &eacute;crite afin de minimiser le temps durant lequel le
+    serveur est incapable de traiter de nouvelles requ&ecirc;tes
+    (elle sont mises en attente par le syst&egrave;me
+    d'exploitation et donc ne sont pas perdues) tout en respectant
+    vos r&eacute;glages. Pour cela, Apache doit maintenir la
+    <em>table de comunication interprocessus</em> pour les
+    diff&eacute;rents processus fils et leur
+    g&eacute;n&eacute;ration.</p>
+
+    <p>Le module <a href="mod/mod_status.html">status</a> utilise
+    &eacute;galement un <code>G</code> pour marquer les fils
+    traitant les requ&ecirc;tes d&eacute;marr&eacute;es avant le
+    red&eacute;marrage en douceur.</p>
+
+    <p>Actuellement, il n'y a aucun moyen pour un script de
+    rotation des fichiers de trace qui utiliserait le signal
+    <code>USR1</code> de savoir de mani&egrave;re absolue que tous
+    les processus fils &eacute;crivant dans l'ancien fichier de
+    trace sont termin&eacute;s. Nous sugg&eacute;rons d'utiliser un
+    d&eacute;lai d'attente raisonnable apr&egrave;s l'envoi du
+    signal avant de faire quoi que ce soit avec l'ancien fichier de
+    trace. Si par exemple la majorit&eacute; de vos acc&egrave;s
+    sont trait&eacute;s en moins de dix minutes pour des
+    utilisateurs utilisant des liaisons &agrave; bas d&eacute;bit,
+    alors vous devrez attendre quinze minutes avant de faire
+    quelque chose avec l'ancien fichier de trace.</p>
+
+    <p><strong>Note:</strong> Si votre fichier de configuration
+    contient des erreurs au moment de r&eacute;initialiser le
+    processus p&egrave;re, ce dernier ne red&eacute;marrera pas et
+    se terminera avec une erreur. Dans le cas d'un
+    red&eacute;marrage en douceur, le processus p&egrave;re laisse
+    les fils continuer quand il se termine. Ce sont les processus
+    fils qui sont "termin&eacute;s en douceur" en traitant leurs
+    requ&ecirc;tes en cours. Ceci peut poser des probl&egrave;mes
+    si vous essayez de red&eacute;marrer le serveur -- il ne sera
+    pas capable de se connecter sur son port d'&eacute;coute. Afin
+    d'effectuer un red&eacute;marrage, vous pouvez v&eacute;rifier
+    la syntaxe du fichier de configuration en utilisant le
+    param&egrave;tre <code>-t</code> (cf. <a
+    href="programs/httpd.html">httpd</a>). Ceci n'est pas suffisant
+    pour garantir que le serveur red&eacute;marrera correctement.
+    Afin de v&eacute;rifier la s&eacute;mantique des fichiers de
+    configuration ainsi que leur syntaxe, vous pouvez essayer de
+    lancer <code>httpd</code> sous un compte utilisateur autre que
+    root. S'il n'y a pas d'erreur, il essaiera d'ouvrir ses ports
+    r&eacute;seau, mais &eacute;chouera, soit parce qu'il n'est pas
+    root, soit parce que le serveur existant est d&eacute;j&agrave;
+    connect&eacute; sur ces ports. S'il &eacute;choue pour une
+    autre raison, c'est qu'il existe une erreur dans les fichiers
+    de configuration et cette erreur doit &ecirc;tre
+    corrig&eacute;e avant de d&eacute;clencher une relance en
+    douceur.</p>
+
+    <h3>Annexe : signaux et conditions temporelles</h3>
+
+    <p>Avant la version 1.2b9 d'Apache il existait un certain
+    nombre de <em>conditions temporelles</em> concernant les
+    signaux de red&eacute;marrage et d'arr&ecirc;t. Une description
+    simple d'une condition temporelle est un probl&egrave;me
+    li&eacute; &agrave; l'ordre des traitements dans le temps,
+    comme quand quelque chose arrive au mauvais moment et ne se
+    comporte pas comme pr&eacute;vu. Pour les architectures
+    poss&eacute;dant les "bonnes" fonctionnalit&eacute;s, nous les
+    avons &eacute;limin&eacute;es autant que possible. Mais il doit
+    &ecirc;tre not&eacute; qu'il existe toujours des
+    probl&egrave;mes sur certaines architectures.</p>
+
+    <p>Les architectures utilisant un fichier sur disque <a
+    href="mod/core.html#scoreboardfile">ScoreBoardFile</a> pour la
+    communication interprocessus peuvent &eacute;ventuellement
+    corrompre ce fichier. Il en r&eacute;sulte le message d'erreur
+    "bind: Address already in use" (apr&egrave;s le signal
+    <code>HUP</code>) ou "long lost child came home!" (apr&egrave;s
+    le signal <code>USR1</code>). Le premier est une erreur fatale,
+    tandis que le deuxi&egrave;me a juste pour effet de perdre une
+    entr&eacute;e dans la table de communication interprocessus. Il
+    est donc envisageable d'utiliser le red&eacute;marrage en
+    douceur, avec d'occasionnels red&eacute;marrages
+    imm&eacute;diats. Ces probl&egrave;mes sont tr&egrave;s
+    difficiles &agrave; &eacute;viter, mais heureusement de
+    nombreuses architectures n'ont pas besoin d'utiliser un fichier
+    pour la communication interprocessus. Consulter la
+    documentation sur <a
+    href="mod/core.html#scoreboardfile">ScoreBoardFile</a> pour
+    savoir si votre architecture l'utilise.</p>
+
+    <p><code>NEXT</code> et <code>MACHTEN</code> (68k seulement)
+    pr&eacute;sentent quelques conditions temporelles qui peuvent
+    provoquer la perte d'un signal d'arr&ecirc;t ou de
+    red&eacute;marrage, mais ne devraient pas cr&eacute;er de
+    probl&egrave;me majeur.</p>
+
+    <p>Sur toutes les architectures, les processus fils
+    pr&eacute;sentent des conditions temporelles dans le cas du
+    traitement de la deuxi&egrave;me requ&ecirc;te, et des
+    suivantes, pour des connexions HTTP persistantes (KeepAlive).
+    Le processus peut se terminer apr&egrave;s avoir lu la
+    requ&ecirc;te mais avant d'avoir lu l'en-t&ecirc;te. Il existe
+    un correctif, mais celui ci a &eacute;t&eacute;
+    r&eacute;alis&eacute; trop tard pour &ecirc;tre
+    int&eacute;gr&eacute; dans la version 1.2. En th&eacute;orie,
+    ceci ne doit pas &ecirc;tre un probl&egrave;me car le client
+    utilisant la persistance des connexions doit &ecirc;tre capable
+    de traiter ce genre de cas, qui peut se produire soit &agrave;
+    cause des temps de latence du r&eacute;seau, soit &agrave;
+    cause des d&eacute;lais de r&eacute;ponse trop longs des
+    serveurs. En pratique, cela ne semble pas non plus affecter le
+    syst&egrave;me. Dans un test, le serveur &eacute;tait
+    red&eacute;marr&eacute; vingt fois par seconde et les clients
+    ont pu consulter le site sans obtenir de documents vides ou
+    d'images invalides.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/stopping.html.html b/htdocs/manual/stopping.html.html
new file mode 100644 (file)
index 0000000..aaab463
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="stopping.html.en" -->
+
diff --git a/htdocs/manual/suexec.html.en b/htdocs/manual/suexec.html.en
new file mode 100644 (file)
index 0000000..c1f6069
--- /dev/null
@@ -0,0 +1,608 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache suEXEC Support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache suEXEC Support</h1>
+
+    <ol>
+      <li><big><strong>CONTENTS</strong></big></li>
+
+      <li><a href="#what">What is suEXEC?</a></li>
+
+      <li><a href="#before">Before we begin.</a></li>
+
+      <li><a href="#model">suEXEC Security Model.</a></li>
+
+      <li><a href="#install">Configuring &amp; Installing
+      suEXEC</a></li>
+
+      <li><a href="#enable">Enabling &amp; Disabling
+      suEXEC</a></li>
+
+      <li><a href="#usage">Using suEXEC</a></li>
+
+      <li><a href="#debug">Debugging suEXEC</a></li>
+
+      <li><a href="#jabberwock">Beware the Jabberwock: Warnings
+      &amp; Examples</a></li>
+    </ol>
+
+    <h3><a id="what" name="what">What is suEXEC?</a></h3>
+
+    <p align="LEFT">The <strong>suEXEC</strong> feature --
+    introduced in Apache 1.2 -- provides Apache users the ability
+    to run <strong>CGI</strong> and <strong>SSI</strong> programs
+    under user IDs different from the user ID of the calling
+    web-server. Normally, when a CGI or SSI program executes, it
+    runs as the same user who is running the web server.</p>
+
+    <p align="LEFT">Used properly, this feature can reduce
+    considerably the security risks involved with allowing users to
+    develop and run private CGI or SSI programs. However, if suEXEC
+    is improperly configured, it can cause any number of problems
+    and possibly create new holes in your computer's security. If
+    you aren't familiar with managing setuid root programs and the
+    security issues they present, we highly recommend that you not
+    consider using suEXEC.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="before" name="before">Before we begin.</a></h3>
+
+    <p align="LEFT">Before jumping head-first into this document,
+    you should be aware of the assumptions made on the part of the
+    Apache Group and this document.</p>
+
+    <p align="LEFT">First, it is assumed that you are using a UNIX
+    derivate operating system that is capable of
+    <strong>setuid</strong> and <strong>setgid</strong> operations.
+    All command examples are given in this regard. Other platforms,
+    if they are capable of supporting suEXEC, may differ in their
+    configuration.</p>
+
+    <p align="LEFT">Second, it is assumed you are familiar with
+    some basic concepts of your computer's security and its
+    administration. This involves an understanding of
+    <strong>setuid/setgid</strong> operations and the various
+    effects they may have on your system and its level of
+    security.</p>
+
+    <p align="LEFT">Third, it is assumed that you are using an
+    <strong>unmodified</strong> version of suEXEC code. All code
+    for suEXEC has been carefully scrutinized and tested by the
+    developers as well as numerous beta testers. Every precaution
+    has been taken to ensure a simple yet solidly safe base of
+    code. Altering this code can cause unexpected problems and new
+    security risks. It is <strong>highly</strong> recommended that
+    you do not alter the suEXEC code unless you are well versed in 
+    the particulars of security programming and are willing to share
+    your work with the Apache Group for consideration.</p>
+
+    <p align="LEFT">Fourth, and last, it has been the decision of
+    the Apache Group to <strong>NOT</strong> make suEXEC part of
+    the default installation of Apache. To this end, suEXEC
+    configuration requires careful attention to details from the
+    administrator. After due consideration has been given to the
+    various settings for suEXEC, the administrator may install
+    suEXEC through normal installation methods. The values for
+    these settings need to be carefully determined and specified by
+    the administrator to properly maintain system security during
+    the use of suEXEC functionality. It is through this detailed
+    process that the Apache Group hopes to limit suEXEC
+    installation only to those who are careful and determined
+    enough to use it.</p>
+
+    <p align="LEFT">Still with us? Yes? Good. Let's move on!</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="model" name="model">suEXEC Security Model</a></h3>
+
+    <p align="LEFT">Before we begin configuring and installing
+    suEXEC, we will first discuss the security model you are about
+    to implement. By doing so, you may better understand what
+    exactly is going on inside suEXEC and what precautions are
+    taken to ensure your system's security.</p>
+
+    <p align="LEFT"><strong>suEXEC</strong> is based on a setuid
+    "wrapper" program that is called by the main Apache web server.
+    This wrapper is called when an HTTP request is made for a CGI
+    or SSI program that the administrator has designated to run as
+    a userid other than that of the main server. When such a
+    request is made, Apache provides the suEXEC wrapper with the
+    program's name and the user and group IDs under which the
+    program is to execute.</p>
+
+    <p align="LEFT">The wrapper then employs the following process
+    to determine success or failure -- if any one of these
+    conditions fail, the program logs the failure and exits with an
+    error, otherwise it will continue:</p>
+
+    <ol>
+      <li>
+        <strong>Was the wrapper called with the proper number of
+        arguments?</strong> 
+
+        <blockquote>
+          The wrapper will only execute if it is given the proper
+          number of arguments. The proper argument format is known
+          to the Apache web server. If the wrapper is not receiving
+          the proper number of arguments, it is either being
+          hacked, or there is something wrong with the suEXEC
+          portion of your Apache binary.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the user executing this wrapper a valid user of
+        this system?</strong> 
+
+        <blockquote>
+          This is to ensure that the user executing the wrapper is
+          truly a user of the system.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is this valid user allowed to run the
+        wrapper?</strong> 
+
+        <blockquote>
+          Is this user the user allowed to run this wrapper? Only
+          one user (the Apache user) is allowed to execute this
+          program.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Does the target program have an unsafe hierarchical
+        reference?</strong> 
+
+        <blockquote>
+          Does the target program contain a leading '/' or have a
+          '..' backreference? These are not allowed; the target
+          program must reside within the Apache webspace.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target user name valid?</strong> 
+
+        <blockquote>
+          Does the target user exist?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target group name valid?</strong> 
+
+        <blockquote>
+          Does the target group exist?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target user <em>NOT</em> superuser?</strong>
+        
+
+        <blockquote>
+          Presently, suEXEC does not allow 'root' to execute
+          CGI/SSI programs.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target userid <em>ABOVE</em> the minimum ID
+        number?</strong> 
+
+        <blockquote>
+          The minimum user ID number is specified during
+          configuration. This allows you to set the lowest possible
+          userid that will be allowed to execute CGI/SSI programs.
+          This is useful to block out "system" accounts.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target group <em>NOT</em> the superuser
+        group?</strong> 
+
+        <blockquote>
+          Presently, suEXEC does not allow the 'root' group to
+          execute CGI/SSI programs.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target groupid <em>ABOVE</em> the minimum ID
+        number?</strong> 
+
+        <blockquote>
+          The minimum group ID number is specified during
+          configuration. This allows you to set the lowest possible
+          groupid that will be allowed to execute CGI/SSI programs.
+          This is useful to block out "system" groups.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Can the wrapper successfully become the target user
+        and group?</strong> 
+
+        <blockquote>
+          Here is where the program becomes the target user and
+          group via setuid and setgid calls. The group access list
+          is also initialized with all of the groups of which the
+          user is a member.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Does the directory in which the program resides
+        exist?</strong> 
+
+        <blockquote>
+          If it doesn't exist, it can't very well contain files.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the directory within the Apache
+        webspace?</strong> 
+
+        <blockquote>
+          If the request is for a regular portion of the server, is
+          the requested directory within the server's document
+          root? If the request is for a UserDir, is the requested
+          directory within the user's document root?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the directory <em>NOT</em> writable by anyone
+        else?</strong> 
+
+        <blockquote>
+          We don't want to open up the directory to others; only
+          the owner user may be able to alter this directories
+          contents.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Does the target program exist?</strong> 
+
+        <blockquote>
+          If it doesn't exists, it can't very well be executed.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target program <em>NOT</em> writable by
+        anyone else?</strong> 
+
+        <blockquote>
+          We don't want to give anyone other than the owner the
+          ability to change the program.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target program <em>NOT</em> setuid or
+        setgid?</strong> 
+
+        <blockquote>
+          We do not want to execute programs that will then change
+          our UID/GID again.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Is the target user/group the same as the program's
+        user/group?</strong> 
+
+        <blockquote>
+          Is the user the owner of the file?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Can we successfully clean the process environment
+        to ensure safe operations?</strong> 
+
+        <blockquote>
+          suEXEC cleans the process' environment by establishing a
+          safe execution PATH (defined during configuration), as
+          well as only passing through those variables whose names
+          are listed in the safe environment list (also created
+          during configuration).
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Can we successfully become the target program and
+        execute?</strong> 
+
+        <blockquote>
+          Here is where suEXEC ends and the target program begins.
+        </blockquote>
+      </li>
+    </ol>
+
+    <p align="LEFT">This is the standard operation of the
+    suEXEC wrapper's security model. It is somewhat stringent and
+    can impose new limitations and guidelines for CGI/SSI design,
+    but it was developed carefully step-by-step with security in
+    mind.</p>
+
+    <p align="LEFT">For more information as to how this security
+    model can limit your possibilities in regards to server
+    configuration, as well as what security risks can be avoided
+    with a proper suEXEC setup, see the <a
+    href="#jabberwock">"Beware the Jabberwock"</a> section of this
+    document.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="install" name="install">Configuring &amp; Installing
+    suEXEC</a></h3>
+
+    <p align="LEFT">Here's where we begin the fun. If you use
+    Apache 1.2 or prefer to configure Apache 1.3 with the
+    "<code>src/Configure</code>" script you have to edit the suEXEC
+    header file and install the binary in its proper location
+    manually. This procedure is described in an <a
+    href="suexec_1_2.html">extra document</a>. The following
+    sections describe the configuration and installation for Apache
+    1.3 with the AutoConf-style interface (APACI).</p>
+
+    <p align="LEFT"><strong>APACI's suEXEC configuration
+    options</strong><br />
+    </p>
+
+    <dl>
+      <dt><code>--enable-suexec</code></dt>
+
+      <dd>This option enables the suEXEC feature which is never
+      installed or activated by default. At least one
+      --suexec-xxxxx option has to be provided together with the
+      --enable-suexec option to let APACI accept your request for
+      using the suEXEC feature.</dd>
+
+      <dt><code>--suexec-caller=<em>UID</em></code></dt>
+
+      <dd>The <a href="mod/core.html#user">username</a> under which
+      Apache normally runs. This is the only user allowed to
+      execute this program.</dd>
+
+      <dt><code>--suexec-docroot=<em>DIR</em></code></dt>
+
+      <dd>Define as the DocumentRoot set for Apache. This will be
+      the only hierarchy (aside from UserDirs) that can be used for
+      suEXEC behavior. The default directory is the --datadir value
+      with the suffix "/htdocs", <em>e.g.</em> if you configure
+      with "<code>--datadir=/home/apache</code>" the directory
+      "/home/apache/htdocs" is used as document root for the suEXEC
+      wrapper.</dd>
+
+      <dt><code>--suexec-logfile=<em>FILE</em></code></dt>
+
+      <dd>This defines the filename to which all suEXEC
+      transactions and errors are logged (useful for auditing and
+      debugging purposes). By default the logfile is named
+      "suexec_log" and located in your standard logfile directory
+      (--logfiledir).</dd>
+
+      <dt><code>--suexec-userdir=<em>DIR</em></code></dt>
+
+      <dd>Define to be the subdirectory under users' home
+      directories where suEXEC access should be allowed. All
+      executables under this directory will be executable by suEXEC
+      as the user so they should be "safe" programs. If you are
+      using a "simple" UserDir directive (ie. one without a "*" in
+      it) this should be set to the same value. suEXEC will not
+      work properly in cases where the UserDir directive points to
+      a location that is not the same as the user's home directory
+      as referenced in the passwd file. Default value is
+      "public_html".<br />
+       If you have virtual hosts with a different UserDir for each,
+      you will need to define them to all reside in one parent
+      directory; then name that parent directory here. <strong>If
+      this is not defined properly, "~userdir" cgi requests will
+      not work!</strong></dd>
+
+      <dt><code>--suexec-uidmin=<em>UID</em></code></dt>
+
+      <dd>Define this as the lowest UID allowed to be a target user
+      for suEXEC. For most systems, 500 or 100 is common. Default
+      value is 100.</dd>
+
+      <dt><code>--suexec-gidmin=<em>GID</em></code></dt>
+
+      <dd>Define this as the lowest GID allowed to be a target
+      group for suEXEC. For most systems, 100 is common and
+      therefore used as default value.</dd>
+
+      <dt><code>--suexec-safepath=<em>PATH</em></code></dt>
+
+      <dd>Define a safe PATH environment to pass to CGI
+      executables. Default value is
+      "/usr/local/bin:/usr/bin:/bin".</dd>
+    </dl>
+
+    <p align="LEFT"><strong>Checking your suEXEC
+    setup</strong><br />
+     Before you compile and install the suEXEC wrapper you can
+    check the configuration with the --layout option.<br />
+     Example output:</p>
+<pre>
+    suEXEC setup:
+            suexec binary: /usr/local/apache/sbin/suexec
+            document root: /usr/local/apache/share/htdocs
+           userdir suffix: public_html
+                  logfile: /usr/local/apache/var/log/suexec_log
+                safe path: /usr/local/bin:/usr/bin:/bin
+                caller ID: www
+          minimum user ID: 100
+         minimum group ID: 100
+</pre>
+
+    <p align="LEFT"><strong>Compiling and installing the suEXEC
+    wrapper</strong><br />
+     If you have enabled the suEXEC feature with the
+    --enable-suexec option the suexec binary (together with Apache
+    itself) is automatically built if you execute the command
+    "make".<br />
+     After all components have been built you can execute the
+    command "make install" to install them. The binary image
+    "suexec" is installed in the directory defined by the --sbindir
+    option. Default location is
+    "/usr/local/apache/sbin/suexec".<br />
+     Please note that you need <strong><em>root
+    privileges</em></strong> for the installation step. In order
+    for the wrapper to set the user ID, it must be installed as
+    owner <code><em>root</em></code> and must have the setuserid
+    execution bit set for file modes.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="enable" name="enable">Enabling &amp; Disabling
+    suEXEC</a></h3>
+
+    <p align="LEFT">Upon startup of Apache, it looks for the file
+    "suexec" in the "sbin" directory (default is
+    "/usr/local/apache/sbin/suexec"). If Apache finds a properly
+    configured suEXEC wrapper, it will print the following message
+    to the error log:</p>
+<pre>
+    [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
+</pre>
+
+    <p>If you don't see this message at server startup, the server
+    is most likely not finding the wrapper program where it expects
+    it, or the executable is not installed <em>setuid
+    root</em>.<br />
+     If you want to enable the suEXEC mechanism for the first time
+    and an Apache server is already running you must kill and
+    restart Apache. Restarting it with a simple HUP or USR1 signal
+    will not be enough.<br />
+     If you want to disable suEXEC you should kill and restart
+    Apache after you have removed the "suexec" file.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="usage" name="usage">Using suEXEC</a></h3>
+
+    <p align="LEFT"><strong>Virtual Hosts:</strong><br />
+     One way to use the suEXEC wrapper is through the <a
+    href="mod/core.html#user">User</a> and <a
+    href="mod/core.html#group">Group</a> directives in <a
+    href="mod/core.html#virtualhost">VirtualHost</a> definitions.
+    By setting these directives to values different from the main
+    server user ID, all requests for CGI resources will be executed
+    as the <em>User</em> and <em>Group</em> defined for that
+    <code>&lt;VirtualHost&gt;</code>. If only one or neither of
+    these directives are specified for a
+    <code>&lt;VirtualHost&gt;</code> then the main server userid is
+    assumed.</p>
+
+    <p><strong>User directories:</strong><br />
+     The suEXEC wrapper can also be used to execute CGI programs as
+    the user to which the request is being directed. This is
+    accomplished by using the "<strong><code>~</code></strong>"
+    character prefixing the user ID for whom execution is desired.
+    The only requirement needed for this feature to work is for CGI
+    execution to be enabled for the user and that the script must
+    meet the scrutiny of the <a href="#model">security checks</a>
+    above.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="debug" name="debug">Debugging suEXEC</a></h3>
+
+    <p align="LEFT">The suEXEC wrapper will write log information
+    to the file defined with the --suexec-logfile option as
+    indicated above. If you feel you have configured and installed
+    the wrapper properly, have a look at this log and the error_log
+    for the server to see where you may have gone astray.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+
+    <h3><a id="jabberwock" name="jabberwock">Beware the Jabberwock:
+    Warnings &amp; Examples</a></h3>
+
+    <p align="LEFT"><strong>NOTE!</strong> This section may not be
+    complete. For the latest revision of this section of the
+    documentation, see the Apache Group's <a
+    href="http://httpd.apache.org/docs/suexec.html">Online
+    Documentation</a> version.</p>
+
+    <p align="LEFT">There are a few points of interest regarding
+    the wrapper that can cause limitations on server setup. Please
+    review these before submitting any "bugs" regarding suEXEC.</p>
+
+    <ul>
+      <li><strong>suEXEC Points Of Interest</strong></li>
+
+      <li>
+        Hierarchy limitations 
+
+        <blockquote>
+          For security and efficiency reasons, all suexec requests
+          must remain within either a top-level document root for
+          virtual host requests, or one top-level personal document
+          root for userdir requests. For example, if you have four
+          VirtualHosts configured, you would need to structure all
+          of your VHosts' document roots off of one main Apache
+          document hierarchy to take advantage of suEXEC for
+          VirtualHosts. (Example forthcoming.)
+        </blockquote>
+      </li>
+
+      <li>
+        suEXEC's PATH environment variable 
+
+        <blockquote>
+          This can be a dangerous thing to change. Make certain
+          every path you include in this define is a
+          <strong>trusted</strong> directory. You don't want to
+          open people up to having someone from across the world
+          running a trojan horse on them.
+        </blockquote>
+      </li>
+
+      <li>
+        Altering the suEXEC code 
+
+        <blockquote>
+          Again, this can cause <strong>Big Trouble</strong> if you
+          try this without knowing what you are doing. Stay away
+          from it if at all possible.
+        </blockquote>
+      </li>
+    </ul>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO
+    CONTENTS</a></strong></p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/suexec.html.html b/htdocs/manual/suexec.html.html
new file mode 100644 (file)
index 0000000..1551afa
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="suexec.html.en" -->
+
diff --git a/htdocs/manual/suexec.html.ja.jis b/htdocs/manual/suexec.html.ja.jis
new file mode 100644 (file)
index 0000000..66951fa
--- /dev/null
@@ -0,0 +1,607 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache suEXEC Support</title>
+
+  </head>
+  <!-- English revision: 1.28 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache suEXEC Support</h1>
+
+    <ol>
+
+      <li><big><strong>\e$BL\<!\e(B</strong></big></li>
+
+      <li><a href="#what">suEXEC \e$B$H$O\e(B?</a></li>
+
+      <li><a href="#before">\e$B;O$a$kA0$K\e(B</a></li>
+
+      <li><a href="#model">suEXEC \e$B$N%;%-%e%j%F%#%b%G%k\e(B</a></li>
+
+      <li><a href="#install">suEXEC \e$B$N@_Dj$H%$%s%9%H!<%k\e(B</a></li>
+
+      <li><a href="#enable">suEXEC \e$B$NM-8z2=$HL58z2=\e(B</a></li>
+
+      <li><a href="#usage">suEXEC \e$B$N;HMQ\e(B</a></li>
+
+      <li><a href="#debug">suEXEC \e$B$N%G%P%C%0\e(B</a></li>
+
+      <li><a href="#jabberwock">\e$B$H$+$2$KCm0U\e(B: \e$B7Y9p$H;vNc\e(B</a></li>
+
+    </ol>
+
+
+    <h3><a id="what" name="what">suEXEC \e$B$H$O\e(B?</a></h3>
+
+    <p align="left">Apache 1.2 \e$B$GF3F~$5$l$?\e(B <strong>suEXEC</strong>
+    \e$B5!G=$K$h$j!"\e(BApache \e$B%f!<%6$O\e(B Web \e$B%5!<%P$r<B9T$7$F$$$k%f!<%6\e(B ID \e$B$H$O\e(B
+    \e$B0[$J$k%f!<%6\e(B ID \e$B$G\e(B <strong>CGI</strong> \e$B%W%m%0%i%`$d\e(B <strong>SSI</strong> 
+    \e$B%W%m%0%i%`$r<B9T$9$k$3$H$,$G$-$^$9!#\e(BCGI \e$B%W%m%0%i%`$^$?$O\e(B SSI
+    \e$B%W%m%0%i%`$r<B9T$9$k>l9g!"DL>o$O\e(B web \e$B%5!<%P$HF1$8%f!<%6$G<B9T$5$l$^$9!#\e(B
+    </p>
+
+    <p align="left">\e$BE,@Z$K;HMQ$9$k$H!"$3$N5!G=$K$h$j%f!<%6$,8DJL$N\e(B CGI
+    \e$B$d\e(B SSI \e$B%W%m%0%i%`$r3+H/$7<B9T$9$k$3$H$G@8$8$k%;%-%e%j%F%#>e$N4m81$r!"\e(B
+    \e$B$+$J$j8:$i$9$3$H$,$G$-$^$9!#$7$+$7!"\e(BsuEXEC \e$B$N@_Dj$,ITE,@Z$@$H!"\e(B
+    \e$BB?$/$NLdBj$,@8$8!"$"$J$?$N%3%s%T%e!<%?$K?7$7$$%;%-%e%j%F%#%[!<%k$r\e(B
+    \e$B:n$C$F$7$^$&2DG=@-$,$"$j$^$9!#$"$J$?$,\e(B root \e$B$K\e(B setuid
+    \e$B$5$l$?%W%m%0%i%`$H!"$=$l$i$+$i@8$8$k%;%-%e%j%F%#>e$NLdBj$N4IM}$K\e(B
+    \e$B>\$7$/$J$$$h$&$J$i!"\e(BsuEXEC \e$B$N;HMQ$r8!F$$7$J$$$h$&$K6/$/?d>)$7$^$9!#\e(B
+    </p>
+
+    <p align="center"><strong><a href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong>
+    </p>
+
+    <h3><a id="before" name="before">\e$B;O$a$kA0$K\e(B</a></h3>
+
+    <p align="left">\e$B$3$NJ8=q$N@hF,$KHt$VA0$K!"\e(BApache
+    \e$B%0%k!<%W$H$3$NJ8=q$G$N2>Dj$rCN$C$F$*$/$Y$-$G$7$g$&!#\e(B
+    </p>
+
+    <p align="left">\e$BBh\e(B 1 \e$B$K!"$"$J$?$,\e(B <strong>setuid</strong> \e$B$H\e(B
+    <strong>setgid</strong> \e$BA`:n$,2DG=$J\e(B UNIX
+    \e$BM3Mh$N%*%Z%l!<%F%#%s%0%7%9%F%`$r;H$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#\e(B
+    \e$B$3$l$O!"$9$Y$F$N%3%^%s%INc$K$"$F$O$^$j$^$9!#\e(B
+    \e$B$=$NB>$N%W%i%C%H%[!<%`$G$O!"$b$7\e(B suEXEC
+    \e$B$,%5%]!<%H$5$l$F$$$?$H$7$F$b@_Dj$O0[$J$k$+$b$7$l$^$;$s!#\e(B</p>
+
+    <p align="left">\e$BBh\e(B 2 \e$B$K!"$"$J$?$,;HMQCf$N%3%s%T%e!<%?$N\e(B
+    \e$B%;%-%e%j%F%#$K4X$9$k4pK\E*$J35G0$H!"$=$l$i$N4IM}$K$D$$$F>\$7$$$3$H$r\e(B
+    \e$BA[Dj$7$F$$$^$9!#$3$l$O!"\e(B<strong>setuid/setgid</strong>
+    \e$BA`:n!"$"$J$?$N%7%9%F%`>e$G$N$=$NA`:n$K$h$kMM!9$J8z2L!"\e(B
+    \e$B%;%-%e%j%F%#%l%Y%k$K$D$$$F$"$J$?$,M}2r$7$F$$$k$H$$$&$3$H$r4^$_$^$9!#\e(B
+    </p>
+
+    <p align="left">\e$BBh\e(B 3 \e$B$K!"\e(B<strong>\e$B2~B$$5$l$F$$$J$$\e(B</strong> suEXEC
+    \e$B%3!<%I$N;HMQ$rA[Dj$7$F$$$^$9!#\e(BsuEXEC \e$B$N%3!<%I$O!"\e(B
+    \e$BB?$/$N%Y!<%?%F%9%?$@$1$G$J$/!"3+H/<T$K$h$C$F$bCm0U?<$/@:::$5$l\e(B
+    \e$B%F%9%H$5$l$F$$$^$9!#$=$l$i$NCm0U$K$h$j!"4J7i$G?.Mj$G$-$k0BA4$J\e(B
+    \e$B%3!<%I$N4pHW$,J]>Z$5$l$^$9!#$3$N%3!<%I$r2~JQ$9$k$3$H$G!"\e(B
+    \e$BM=4|$5$l$J$$LdBj$d?7$7$$%;%-%e%j%F%#>e$N4m81$,@8$8$k$3$H$,$"$j$^$9!#\e(B
+    \e$B%;%-%e%j%F%#%W%m%0%i%_%s%0$N>\:Y$KDL$8$F$$$F!"\e(B
+    \e$B:#8e$N8!F$$N$?$a$K@.2L$r\e(B Apache
+    \e$B%0%k!<%W$H6&M-$7$h$&$H;W$&$N$G$J$1$l$P!"\e(BsuEXEC
+    \e$B%3!<%I$OJQ$($J$$$3$H$r\e(B <strong>\e$B6/$/\e(B</strong>\e$B?d>)$7$^$9!#\e(B</p>
+
+    <p align="left">\e$BBh\e(B 4 \e$B$K!"$3$l$,:G8e$G$9$,!"\e(BsuEXEC \e$B$r\e(B Apache
+    \e$B$N%G%U%)%k%H%$%s%9%H!<%k$K$O\e(B<strong>\e$B4^$a$J$$\e(B</strong>\e$B$3$H$,\e(B
+    Apache \e$B%0%k!<%W$G7hDj$5$l$F$$$^$9!#$3$l$O!"\e(BsuEXEC
+    \e$B$N@_Dj$K$O4IM}<T$N>\:Y$K$o$?$k?5=E$JCm0U$,I,MW$@$+$i$G$9!#\e(B
+    suEXEC \e$B$NMM!9$J@_Dj$K$D$$$F8!F$$,=*$o$l$P!"4IM}<T$O\e(B suEXEC
+    \e$B$rDL>o$N%$%s%9%H!<%kJ}K!$G%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B$3$l$i$N@_DjCM$O!"\e(BsuEXEC
+    \e$B5!G=$N;HMQCf$K%7%9%F%`%;%-%e%j%F%#$rE,@Z$KJ]$D$?$a$K!"\e(B
+    \e$B4IM}<T$K$h$C$F?5=E$K7hDj$5$l;XDj$5$l$k$3$H$,I,MW$G$9!#\e(B
+    \e$B$3$N>\:Y$J<j=g$K$h$j!"\e(BApache \e$B%0%k!<%W$O!"\e(BsuEXEC
+    \e$B$N%$%s%9%H!<%k$K$D$$$F!"Cm0U?<$/==J,$K8!F$$7$F$=$l$r;HMQ$9$k$3$H$r\e(B
+    \e$B7hDj$7$?>l9g$K8B$C$F$$$?$@$-$?$$$H9M$($F$$$^$9!#\e(B
+    </p>
+
+    <p align="left">\e$B$=$l$G$b?J$_$^$9$+\e(B? \e$B$h$m$7$$!#$G$O!"@h$X?J$_$^$7$g$&\e(B!</p>
+
+    <p align="center"><strong><a
+    href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong></p>
+
+    <h3><a id="model" name="model">suEXEC \e$B%;%-%e%j%F%#%b%G%k\e(B</a></h3>
+
+    <p align="left">suEXEC \e$B$N@_Dj$H%$%s%9%H!<%k$r;O$a$kA0$K!"\e(B
+    \e$B$^$:<BAu$7$h$&$H$7$F$$$k%;%-%e%j%F%#%b%G%k$K$D$$$FO@$8$F$*$-$^$9!#\e(B
+    \e$B$=$l$K$O!"\e(BsuEXEC \e$B$NFbIt$G9T$J$o$l$F$$$k$3$H!"\e(B
+    \e$B%7%9%F%`$N%;%-%e%j%F%#$rJ]>Z$9$k$?$a$K7Y9p$5$l$k$3$H$r\e(B
+    \e$B$h$/M}2r$7$F$*$$$?J}$,$h$$$G$7$g$&!#\e(B</p>
+
+    <p align="left"><strong>suEXEC</strong> \e$B$O!"\e(BApache web
+    \e$B%5!<%P$+$i8F$S=P$5$l$k\e(B setuid \e$B$5$l$?\e(B "wrapper"
+    \e$B%W%m%0%i%`$,4pK\$H$J$C$F$$$^$9!#@_7W$7$?\e(B CGI\e$B!"$^$?$O\e(B SSI
+    \e$B%W%m%0%i%`$X$N\e(B HTTP \e$B%j%/%(%9%H$,$"$k$H!"$3$N\e(B wrapper
+    \e$B$,8F$S=P$5$l$^$9!#$3$N$h$&$J%j%/%(%9%H$,$"$k$H!"\e(BApache
+    \e$B$O$=$N%W%m%0%i%`$,<B9T$5$l$k:]$N%W%m%0%i%`L>$H%f!<%6\e(B ID \e$B$H%0%k!<%W\e(B
+    ID \e$B$r;XDj$7$F\e(B suEXEC wrapper \e$B$r<B9T$7$^$9!#\e(B
+    </p>
+
+    <p align="left">\e$B$=$l$+$i!"\e(Bwrapper \e$B$O@.8y$^$?$O<:GT$r7hDj$9$k$?$a\e(B
+    \e$B0J2<$N=hM}$r9T$J$$$^$9!#$3$l$i$N>uBV$N$&$A0l$D$G$b<:GT$7$?>l9g!"\e(B
+    \e$B%W%m%0%i%`$O<:GT$r%m%0$K5-O?$7$F%(%i!<$G=*N;$7$^$9!#\e(B
+    \e$B$=$&$G$J$1$l$P!"8e$N=hM}$,B3$1$i$l$^$9!#\e(B</p>
+
+    <ol>
+      <li>
+        <strong>wrapper \e$B$,E,@Z$J?t$N0z?t$G8F$S=P$5$l$?$+\e(B?</strong>
+
+
+        <blockquote>
+          wrapper \e$B$OE,@Z$J?t$N0z?t$,M?$($i$l$?>l9g$K$N$_<B9T$5$l$^$9!#\e(B
+          \e$BE,@Z$J0z?t$N%U%)!<%^%C%H$O\e(B Apache Web \e$B%5!<%P$K2r<a$5$l$^$9!#\e(B
+          \e$BE,@Z$J?t$N0z?t$r<u$1<h$i$J$1$l$P!"967b$r$5$l$?$+\e(B
+          \e$B$"$J$?$N\e(B Apache \e$B%P%$%J%j$N\e(B suEXEC \e$B$NItJ,$,\e(B
+          \e$B$I$3$+$*$+$7$$2DG=@-$,$"$j$^$9!#\e(B
+        </blockquote>
+      </li>
+
+
+      <li>
+        <strong>wrapper
+        \e$B$r<B9T$7$F$$$k%f!<%6$O$3$N%7%9%F%`$N@5Ev$J%f!<%6$+\e(B?</strong>
+
+        <blockquote>
+          \e$B$3$l$O!"\e(Bwrapper \e$B$r<B9T$7$F$$$k%f!<%6$,\e(B
+          \e$BK\Ev$K%7%9%F%`$NMxMQ<T$G$"$k$3$H$rJ]>Z$9$k$?$a$G$9!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$B$3$N@5Ev$J%f!<%6$O\e(B wrapper
+        \e$B$N<B9T$r5v2D$5$l$F$$$k$+\e(B?</strong>
+
+        <blockquote>
+          \e$B$3$N%f!<%6$O\e(B wrapper \e$B<B9T$r5v2D$5$l$?%f!<%6$G$9$+\e(B?
+          \e$B$?$@0l?M$N%f!<%6\e(B (Apache \e$B%f!<%6\e(B) \e$B$@$1$,!"\e(B
+          \e$B$3$N%W%m%0%i%`$N<B9T$r5v2D$5$l$^$9!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$N%W%m%0%i%`$,0BA4$G$J$$3,AX$N;2>H$r$7$F$$$k$+\e(B?
+        </strong>
+
+        <blockquote>
+          \e$BBP>]$N%W%m%0%i%`$,\e(B '/' \e$B$+$i;O$^$k!"$^$?$O\e(B
+          '..' \e$B$K$h$k;2>H$r9T$J$C$F$$$^$9$+\e(B? \e$B$3$l$i$O5v2D$5$l$^$;$s!#\e(B
+          \e$BBP>]$N%W%m%0%i%`$O\e(B Apache \e$B$N\e(B web \e$B6u4VFb$K$J$1$l$P$J$j$^$;$s!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%f!<%6L>$O@5Ev$J$b$N$+\e(B?</strong>
+
+        <blockquote>
+          \e$BBP>]$H$J$k%f!<%6L>$OB8:_$7$F$$$^$9$+\e(B?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%0%k!<%WL>$O@5Ev$J$b$N$+\e(B?</strong>
+
+        <blockquote>
+          \e$BBP>]$H$J$k%0%k!<%WL>$OB8:_$7$F$$$^$9$+\e(B?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BL\E*$N%f!<%6$O%9!<%Q!<%f!<%6$G$O\e(B<em>\e$B$J$$\e(B</em>\e$B$+\e(B?
+        </strong>
+
+        <blockquote>
+          \e$B:#$N$H$3$m!"\e(BsuEXEC \e$B$O\e(B 'root' \e$B$K$h$k\e(B CGI/SSI
+          \e$B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%f!<%6\e(B ID \e$B$O!":G>.$N\e(B ID
+        \e$BHV9f$h$j$b\e(B<em>\e$BBg$-$$\e(B</em>\e$B$+\e(B?  </strong>
+
+        <blockquote>
+          \e$B:G>.%f!<%6\e(B ID \e$BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#$3$l$O!"\e(B
+          CGI/SSI \e$B%W%m%0%i%`<B9T$r5v2D$5$l$k%f!<%6\e(B ID
+          \e$B$N$H$j$&$k:G>.CM$G$9!#$3$l$O\e(B
+          "system" \e$BMQ$N%"%+%&%s%H$rJD$a=P$9$N$KM-8z$G$9!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%0%k!<%W$O%9!<%Q!<%f!<%6$N%0%k!<%W$G$O\e(B
+        <em>\e$B$J$$\e(B</em>\e$B$+\e(B?</strong>
+
+        <blockquote>
+         \e$B:#$N$H$3$m!"\e(BsuEXEC \e$B$O\e(B 'root' \e$B%0%k!<%W$K$h$k\e(B CGI/SSI
+         \e$B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%0%k!<%W\e(B ID \e$B$O:G>.$N\e(B ID
+          \e$BHV9f$h$j$b\e(B<em>\e$BBg$-$$\e(B</em>\e$B$+\e(B?</strong>
+
+        <blockquote>
+          \e$B:G>.%0%k!<%W\e(B ID \e$BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#$3$l$O!"\e(B
+          CGI/SSI \e$B%W%m%0%i%`<B9T$r5v2D$5$l$k%0%k!<%W\e(B
+          ID \e$B$N$H$j$&$k:G>.CM$G$9!#\e(B
+          \e$B$3$l$O\e(B "system" \e$BMQ$N%0%k!<%W$rJD$a=P$9$N$KM-8z$G$9!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>wrapper \e$B$,@5>o$KBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$l$k$+\e(B?
+        </strong>
+
+        <blockquote>
+          \e$B$3$3$G!"\e(Bsetuid \e$B$H\e(B setgid
+          \e$B$N5/F0$K$h$j%W%m%0%i%`$OBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$j$^$9!#\e(B
+          \e$B%0%k!<%W%"%/%;%9%j%9%H$O!"\e(B
+          \e$B%f!<%6$,B0$7$F$$$k$9$Y$F$N%0%k!<%W$G=i4|2=$5$l$^$9!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$B%W%m%0%i%`$,CV$+$l$k%G%#%l%/%H%j$OB8:_$7$F$$$k$+\e(B?
+        </strong>
+
+        <blockquote>
+          \e$B%G%#%l%/%H%j$,B8:_$7$J$$$J$i!"$=$N%U%!%$%k$bB8:_$7$J$$$+$b$7$l$^$;$s!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$B%G%#%l%/%H%j$,\e(B Apache \e$B$N%I%-%e%a%s%H%D%j!<Fb$K$"$k$+\e(B?
+        </strong>
+
+        <blockquote>
+          \e$B%j%/%(%9%H$,%5!<%PFb$N$b$N$G$"$l$P!"\e(B
+          \e$BMW5a$5$l$?%G%#%l%/%H%j$,%5!<%P$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+\e(B?
+          \e$B%j%/%(%9%H$,\e(B UserDir \e$B$N$b$N$G$"$l$P!"\e(B
+          \e$BMW5a$5$l$?%G%#%l%/%H%j$,%f!<%6$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+\e(B?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$B%G%#%l%/%H%j$rB>$N%f!<%6$,=q$-9~$a$k$h$&$K$J$C$F\e(B
+        <em>\e$B$$$J$$\e(B</em>\e$B$+\e(B?</strong>
+
+        <blockquote>
+          \e$B%G%#%l%/%H%j$rB>%f!<%6$K3+J|$7$J$$$h$&$K$7$^$9!#\e(B
+          \e$B=jM-%f!<%6$@$1$,$3$N%G%#%l%/%H%j$NFbMF$r2~JQ$G$-$k$h$&$K$7$^$9!#\e(B
+        </blockquote>
+      </li>
+
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%W%m%0%i%`$OB8:_$9$k$+\e(B?</strong>
+
+        <blockquote>
+          \e$BB8:_$7$J$1$l$P<B9T$G$-$^$;$s!#\e(B
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%W%m%0%i%`%U%!%$%k$,B>%"%+%&%s%H$+$i\e(B
+        \e$B=q$-9~$a$k$h$&$K$J$C$F\e(B<em>\e$B$$$J$$\e(B</em>\e$B$+\e(B?</strong>
+
+        <blockquote>
+          \e$B=jM-<T0J30$K$O%W%m%0%i%`$rJQ99$9$k8"8B$OM?$($i$l$^$;$s!#\e(B
+        </blockquote>
+      </li>
+
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%W%m%0%i%`$,\e(B setuid \e$B$^$?$O\e(B setgid 
+        \e$B$5$l$F\e(B<em>\e$B$$$J$$\e(B</em>\e$B$+\e(B?</strong>
+
+        <blockquote>
+          UID/GID \e$B$r:FEYJQ99$7$F$N%W%m%0%i%`<B9T$O$7$^$;$s\e(B
+        </blockquote>
+      </li>
+
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%f!<%6\e(B/\e$B%0%k!<%W$,%W%m%0%i%`$N\e(B
+        \e$B%f!<%6\e(B/\e$B%0%k!<%W$HF1$8$+\e(B?</strong>
+
+        <blockquote>
+          \e$B%f!<%6$,$=$N%U%!%$%k$N=jM-<T$G$9$+\e(B?
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>\e$B0BA4$JF0:n$rJ]>Z$9$k$?$a$N4D6-JQ?t%/%j%"$,2DG=$+\e(B?
+        </strong>
+
+        <blockquote>
+          suEXEC \e$B$O!"0BA4$J4D6-JQ?t$N%j%9%H\e(B
+          (\e$B$3$l$i$O@_Dj;~$K:n@.$5$l$^$9\e(B) \e$BFb$NJQ?t$H$7$FEO$5$l$k0BA4$J\e(B
+          PATH \e$BJQ?t\e(B (\e$B@_Dj;~$K;XDj$5$l$^$9\e(B) \e$B$r@_Dj$9$k$3$H$G!"\e(B
+          \e$B%W%m%;%9$N4D6-JQ?t$r%/%j%"$7$^$9!#\e(B
+        </blockquote>
+      </li>
+
+
+      <li>
+        <strong>\e$BBP>]$H$J$k%W%m%0%i%`$r\e(B exec \e$B$7$F<B9T$G$-$k$+\e(B?</strong>
+
+
+        <blockquote>
+          \e$B$3$3$G\e(B suEXEC \e$B$,=*N;$7!"BP>]$H$J$k%W%m%0%i%`$,3+;O$5$l$^$9!#\e(B
+        </blockquote>
+      </li>
+    </ol>
+
+    <p align="left">\e$B$3$3$^$G$,\e(B suEXEC \e$B$N\e(B wrapper
+    \e$B$K$*$1$k%;%-%e%j%F%#%b%G%k$NI8=`E*$JF0:n$G$9!#$b$&>/$787=E$K\e(B
+    CGI/SSI \e$B@_7W$K$D$$$F$N?7$7$$@)8B$d5,Dj$r<h$jF~$l$k$3$H$b$G$-$^$9$,!"\e(B
+    suEXEC \e$B$O%;%-%e%j%F%#$KCm0U$7$F?5=E$K>/$7$:$D3+H/$5$l$F$-$^$7$?!#\e(B
+    </p>
+
+    <p align="left">\e$B$3$N%;%-%e%j%F%#%b%G%k$rMQ$$$F\e(B
+    \e$B%5!<%P@_Dj;~$K$I$N$h$&$K5v$9$3$H$r@)8B$9$k$+!"$^$?!"\e(BsuEXEC
+    \e$B$rE,@Z$K@_Dj$9$k$H$I$N$h$&$J%;%-%e%j%F%#>e$N4m81$rHr$1$i$l$k$+$K\e(B
+    \e$B4X$9$k$h$j>\$7$$>pJs$K$D$$$F$O!"\e(B<a href="#jabberwock">"\e$B$H$+$2$KCm0U\e(B"
+    (Beware the Jabberwock)</a> \e$B$N>O$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p align="center"><strong><a href="suexec.html"
+    >\e$BL\<!$KLa$k\e(B</a></strong></p>
+
+    <h3><a name="install" id="install">suEXEC
+    \e$B$N@_Dj$H%$%s%9%H!<%k\e(B</a></h3>
+
+    <p align="left">\e$B$3$3$+$i3Z$7$/$J$j$^$9!#\e(BApache 1.2 \e$B$"$k$$$O\e(B
+    <code>"src/Configure"</code> \e$B%9%/%j%W%H$G\e(B Apache 1.3 \e$B$r@_Dj$9$k$J$i!"\e(B
+    suEXEC \e$B%X%C%@%U%!%$%k$rJT=8$7$F%P%$%J%j$rE,@Z$J>l=j$K<j:n6H$G\e(B
+    \e$B%$%s%9%H!<%k$7$J$1$l$P$J$j$^$;$s!#$3$N=hM}$K$D$$$F$O\e(B <a
+    href="suexec_1_2.html">\e$BJL$NJ8=q\e(B</a>\e$B$K5-:\$5$l$F$$$^$9!#\e(B
+    \e$B0J2<$N>O$G$O!"\e(BAutoConf-style \e$B%$%s%?%U%'!<%9\e(B (APACI) \e$B$r;H$C$?\e(B
+    Apache 1.3 \e$B$G$N@_Dj$H%$%s%9%H!<%k$K$D$$$F=R$Y$F$$$^$9!#\e(B
+    </p>
+
+    <p align="left"><strong>APACI \e$B$N\e(B suEXEC
+    \e$B@_Dj%*%W%7%g%s\e(B</strong><br />
+    </p>
+
+    <dl>
+      <dt><code>--enable-suexec</code></dt>
+
+      <dd>\e$B$3$N%*%W%7%g%s$O!"%G%U%)%k%H$G$O%$%s%9%H!<%k$5$l$:!"\e(B
+      \e$BM-8z$K$O$J$i$J$$\e(B suEXEC \e$B5!G=$rM-8z$K$7$^$9!#\e(B
+      suEXEC \e$B$r;H$&$h$&$K\e(B APACI \e$B$KMW5a$9$k$K$O!"\e(B--enable-suexec
+      \e$B%*%W%7%g%s$H$"$o$;$F>/$J$/$H$b0l$D$O\e(B --suexec-xxxxx
+      \e$B%*%W%7%g%s$,;XDj$5$l$J$1$l$P$J$j$^$;$s!#\e(B</dd>
+
+      <dt><code>--suexec-caller=<em>UID</em></code></dt>
+
+      <dd>Apache \e$B$rDL>oF0:n$5$;$k\e(B<a
+      href="mod/core.html#user">\e$B%f!<%6L>\e(B</a>\e$B$r;XDj$7$^$9!#\e(B
+      \e$B$3$N%f!<%6$@$1$,\e(B suexec \e$B$N<B9T$r5v2D$5$l$?%f!<%6$K$J$j$^$9!#\e(B</dd>
+
+      <dt><code>--suexec-docroot=<em>DIR</em></code></dt>
+
+      <dd>Apache \e$B$N%I%-%e%a%s%H%k!<%H$r@_Dj$7$^$9!#$3$l$,\e(B suEXEC
+      \e$B$NF0:n$G;HMQ$9$kM#0l$N%G%#%l%/%H%j3,AX$K$J$j$^$9\e(B (UserDir
+      \e$B$N;XDj$OJL\e(B)\e$B!#%G%U%)%k%H$G$O\e(B --datadir \e$B$K\e(B "/htdocs"
+      \e$B$H$$$&%5%U%#%C%/%9$r$D$1$?$b$N$G$9!#\e(B
+      "<code>--datadir=/home/apache</code>" \e$B$H$7$F@_Dj$9$k$H!"\e(B
+      suEXEC wrapper \e$B$K$H$C$F\e(B "/home/apache/htdocs"
+      \e$B$,%I%-%e%a%s%H%k!<%H$H$7$F;H$o$l$^$9!#\e(B</dd>
+
+      <dt><code>--suexec-logfile=<em>FILE</em></code></dt>
+
+      <dd>suEXEC \e$B$N=hM}$H%(%i!<$,5-O?$5$l$k%U%!%$%kL>$r;XDj$7$^$9!#\e(B
+      (\e$B4F::$d%G%P%C%0L\E*$KM-MQ\e(B)
+      \e$B%G%U%)%k%H$G$O%m%0%U%!%$%k$O\e(B "suexec_log" \e$B$H$$$&L>A0$G!"\e(B
+      \e$BI8=`$N%m%0%U%!%$%k%G%#%l%/%H%j\e(B (--logfiledir) \e$B$KCV$+$l$^$9!#\e(B
+      </dd>
+
+      <dt><code>--suexec-userdir=<em>DIR</em></code></dt>
+
+      <dd>suEXEC \e$B$,%"%/%;%9$r5v$5$l$k%f!<%6%[!<%`%G%#%l%/%H%jG[2<$N\e(B
+      \e$B%5%V%G%#%l%/%H%j$r;XDj$7$^$9!#\e(B
+      \e$B$3$N%G%#%l%/%H%j0J2<$NA4<B9T%U%!%$%k$O!"\e(B"\e$B0BA4$J\e(B"\e$B%W%m%0%i%`$K$J$k$h$&!"\e(B
+      suEXEC \e$B$,$=$N%f!<%6$H$7$F<B9T$G$-$k$h$&$K$7$^$9!#\e(B
+      "\e$BC1=c$J\e(B" UserDir \e$B%G%#%l%/%F%#%V$r;H$C$F$$$k>l9g\e(B 
+      (\e$B$9$J$o$A\e(B "*" \e$B$r4^$^$J$$$b$N\e(B)\e$B!"$3$l$HF1$8CM$r@_Dj$9$Y$-$G$9!#\e(B
+      Userdir \e$B%G%#%l%/%F%#%V$,$=$N%f!<%6$N%Q%9%o!<%I%U%!%$%kFb$N\e(B
+      \e$B%[!<%`%G%#%l%/%H%j$HF1$8>l=j$r;X$7$F$$$J$1$l$P!"\e(B
+      suEXEC \e$B$OE,@Z$KF0:n$7$^$;$s!#%G%U%)%k%H$O\e(B "public_html" \e$B$G$9!#\e(B
+      <br />
+      \e$B3F\e(B UserDir \e$B$,0[$J$C$?2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"\e(B
+      \e$B$=$l$i$rA4$F0l$D$N?F%G%#%l%/%H%j$K4^$a$F!"\e(B
+      \e$B$=$N?F%G%#%l%/%H%j$NL>A0$r$3$3$G;XDj$9$kI,MW$,$"$j$^$9!#\e(B
+      <strong>\e$B$3$N$h$&$K;XDj$5$l$J$1$l$P\e(B "~userdir" cgi
+      \e$B$X$N%j%/%(%9%H$,F0:n$7$^$;$s!#\e(B</strong></dd>
+
+      <dt><code>--suexec-uidmin=<em>UID</em></code></dt>
+
+      <dd>suEXEC \e$B$NBP>]%f!<%6$H$7$F5v$5$l$k\e(B UID \e$B$N:G>.CM$r;XDj$7$^$9!#\e(B
+      \e$BBgDq$N%7%9%F%`$G$O\e(B 500 \e$B$+\e(B 100 \e$B$,0lHLE*$G$9!#\e(B
+      \e$B%G%U%)%k%HCM$O\e(B 100 \e$B$G$9!#\e(B</dd>
+
+      <dt><code>--suexec-gidmin=<em>GID</em></code></dt>
+
+      <dd>suEXEC \e$B$NBP>]%0%k!<%W$H$7$F5v$5$l$k\e(B GID
+      \e$B$N:G>.CM$r;XDj$7$^$9!#BgDq$N%7%9%F%`$G$O\e(B 100 \e$B$,0lHLE*$J$N$G!"\e(B
+      \e$B%G%U%)%k%HCM$H$7$F$b\e(B 100 \e$B$,;H$o$l$F$$$^$9!#\e(B</dd>
+
+      <dt><code>--suexec-safepath=<em>PATH</em></code></dt>
+
+      <dd>CGI \e$B<B9T%U%!%$%k$KEO$5$l$k0BA4$J\e(B PATH \e$B4D6-JQ?t$G$9!#\e(B
+      \e$B%G%U%)%k%HCM$O\e(B "/usr/local/bin:/usr/bin:/bin" \e$B$G$9!#\e(B
+      </dd>
+    </dl>
+
+    <p align="left"><strong>suEXEC \e$B@_Dj$N3NG'\e(B</strong>
+    <br />
+    suEXEC wrapper \e$B$r%3%s%Q%$%k$7$F%$%s%9%H!<%k$9$kA0$K!"@_DjFbMF$r\e(B
+    --layout \e$B%*%W%7%g%s$G3NG'$G$-$^$9!#\e(B<br />
+    \e$B=PNONc\e(B:</p>
+<pre>
+    suEXEC setup:
+            suexec binary: /usr/local/apache/sbin/suexec
+            document root: /usr/local/apache/share/htdocs
+           userdir suffix: public_html
+                  logfile: /usr/local/apache/var/log/suexec_log
+                safe path: /usr/local/bin:/usr/bin:/bin
+                caller ID: www
+          minimum user ID: 100
+         minimum group ID: 100
+</pre>
+
+    <p align="left"><strong>suEXEC wrapper
+    \e$B$N%3%s%Q%$%k$H%$%s%9%H!<%k\e(B</strong><br />
+    --enable-suexec \e$B%*%W%7%g%s$G\e(B suEXEC \e$B5!G=$rM-8z$K$9$k$H!"\e(B
+    "make" \e$B%3%^%s%I$r<B9T$7$?;~$K\e(B suEXEC \e$B$N%P%$%J%j\e(B (Apache \e$B<+BN$b\e(B)
+    \e$B$,<+F0E*$K:n@.$5$l$^$9!#\e(B
+    <br />
+    \e$B$9$Y$F$N9=@.MWAG$,:n@.$5$l$k$H!"$=$l$i$N%$%s%9%H!<%k$K$O\e(B
+    "make install" \e$B%3%^%s%I$,<B9T$G$-$^$9!#%P%$%J%j%$%a!<%8$N\e(B "suexec"
+    \e$B$O\e(B --sbindir \e$B%*%W%7%g%s$G;XDj$5$l$?%G%#%l%/%H%j$K%$%s%9%H!<%k$5$l$^$9!#\e(B
+    \e$B%G%U%)%k%H$N>l=j$O\e(B "/usr/local/apache/sbin/suexec" \e$B$G$9!#\e(B<br />
+    \e$B%$%s%9%H!<%k;~$K$O\e(B <strong><em>root</em></strong>
+    \e$B8"8B$,I,MW$J$N$GCm0U$7$F$/$@$5$$!#\e(Bwrapper \e$B$,%f!<%6\e(B ID
+    \e$B$r@_Dj$9$k$?$a$K!"=jM-<T\e(B <code><em>root</em></code>
+    \e$B$G$N%;%C%H%f!<%6\e(B ID
+    \e$B%S%C%H$r$=$N%U%!%$%k$N%b!<%I$K@_Dj$7$J$1$l$P$J$j$^$;$s!#\e(B
+    </p>
+
+    <p align="center"><strong><a
+    href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong></p>
+
+    <h3><a id="enable" name="enable">suEXEC
+    \e$B$NM-8z2=$HL58z2=\e(B</a></h3>
+
+    <p align="left">\e$B5/F0;~$K!"\e(BApache \e$B$O\e(B "sbin" \e$B%G%#%l%/%H%j$G\e(B
+    "suexec" \e$B$rC5$7$^$9\e(B
+    (\e$B%G%U%)%k%H$O\e(B "/usr/local/apache/sbin/suexec") \e$B!#\e(B
+    \e$BE,@Z$K@_Dj$5$l$?\e(B suEXEC \e$B$,$_$D$+$k$H!"\e(B
+    \e$B%(%i!<%m%0$K0J2<$N%a%C%;!<%8$,=PNO$5$l$^$9!#\e(B</p>
+<pre>
+    [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
+</pre>
+
+    <p>\e$B%5!<%P5/F0;~$K$3$N%a%C%;!<%8$,=P$J$$>l9g!"\e(B
+    \e$BBgDq$O%5!<%P$,A[Dj$7$?>l=j$G\e(B wrapper \e$B%W%m%0%i%`$,8+$D$+$i$J$+$C$?$+!"\e(B
+    <em>setuid root</em> \e$B$H$7$F%$%s%9%H!<%k$5$l$F$$$J$$$+$G$9!#\e(B
+    <br />
+    suEXEC \e$B$N;EAH$_$r;HMQ$9$k$N$,=i$a$F$G!"\e(BApache \e$B$,4{$KF0:nCf$G$"$l$P!"\e(B
+    Apache \e$B$r\e(B kill \e$B$7$F!":F5/F0$7$J$1$l$P$J$j$^$;$s!#\e(BHUP \e$B%7%0%J%k$d\e(B
+    USR1 \e$B%7%0%J%k$K$h$kC1=c$J:F5/F0$G$OIT==J,$G$9!#\e(B<br />
+    suEXEC \e$B$rL58z$K$9$k>l9g$O!"\e(B"suexec" \e$B%U%!%$%k$r:o=|$7$F$+$i\e(B
+    Apache \e$B$r\e(B kill \e$B$7$F:F5/F0$7$^$9!#\e(B
+    </p>
+
+    <p align="center"><strong><a
+    href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong></p>
+
+    <h3><a id="usage" name="usage">suEXEC \e$B$N;HMQ\e(B</a></h3>
+
+    <p align="left"><strong>\e$B2>A[%[%9%H\e(B:</strong><br />
+    suEXEC wrapper \e$B$N;H$$J}$H$7$F!"\e(B
+    <a href="mod/core.html#virtualhost">\e$B2>A[%[%9%H\e(B</a>\e$B@_Dj$G$N\e(B
+    <a href="mod/core.html#user">User</a> \e$B%G%#%l%/%F%#%V$H\e(B
+    <a href="mod/core.html#group">Group</a>
+    \e$B%G%#%l%/%F%#%V$rDL$7$?$b$N$,$"$j$^$9!#\e(B
+    \e$B$3$l$i$N%G%#%l%/%F%#%V$r%a%$%s%5!<%P$N%f!<%6\e(B ID
+    \e$B$H0[$J$k$b$N$K$9$k$H!"\e(BCGI \e$B%j%=!<%9$X$N$9$Y$F$N%j%/%(%9%H$O!"$=$N\e(B
+    <code>&lt;VirtualHost&gt;</code> \e$B$G;XDj$5$l$?\e(B <em>User</em> \e$B$H\e(B
+    <em>Group</em> \e$B$H$7$F<B9T$5$l$^$9!#\e(B<code>&lt;VirtualHost&gt;</code>
+    \e$B$G$=$l$i$N%G%#%l%/%F%#%V$N$I$A$i$+!"$^$?$ON>J}$,;XDj$5$l$F$$$J$$>l9g!"\e(B
+    \e$B%a%$%s%5!<%P$N%f!<%6\e(B ID \e$B$,A[Dj$5$l$^$9!#\e(B</p>
+
+    <p><strong>\e$B%f!<%6%G%#%l%/%H%j\e(B:</strong><br />
+    suEXEC wrapper \e$B$O!"%j%/%(%9%H@h$N%f!<%6$H$7$F\e(B CGI
+    \e$B$r<B9T$9$k$?$a$K$b;H$($^$9!#$3$l$O4|BT$9$k<B9T8"8B$N%f!<%6\e(B ID
+    \e$B$NA0$K!"\e(B"<strong><code>~</code></strong>"
+    \e$BJ8;z$rCV$/$3$H$G<B8=$5$l$^$9!#\e(B
+    \e$B$3$N5!G=$rF0:n$5$;$k$?$a$KI,MW$J$3$H$O!"\e(BCGI
+    \e$B$r$=$N%f!<%6$G<B9T$G$-$k$3$H!"$=$N%9%/%j%W%H$,>e5-$N\e(B<a
+    href="#model">\e$B%;%-%e%j%F%#8!::\e(B</a>\e$B$r%Q%9$G$-$k$3$H$G$9!#\e(B
+    </p>
+
+    <p align="center"><strong><a
+    href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong></p>
+
+    <h3><a id="debug" name="debug">suEXEC \e$B$N%G%P%C%0\e(B</a></h3>
+
+    <p align="left">suEXEC wrapper \e$B$O!">e5-$G=R$Y$?\e(B --suexec-logfile
+    \e$B%*%W%7%g%s$G;XDj$5$l$?%U%!%$%k$K%m%0>pJs$r5-O?$7$^$9!#\e(B
+    wrapper \e$B$rE,@Z$K@_Dj!"%$%s%9%H!<%k$G$-$F$$$k$H;W$&>l9g!"\e(B
+    \e$B$I$3$GLB$C$F$$$k$+8+$h$&$H$9$k$J$i$3$N%m%0$H%5!<%P$N\e(B
+    \e$B%(%i!<%m%0$r8+$k$H$h$$$G$7$g$&!#\e(B</p>
+
+    <p align="center"><strong><a
+    href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong></p>
+
+    <h3><a id="jabberwock"
+    name="jabberwock">\e$B$H$+$2$KCm0U\e(B: \e$B7Y9p$H;vNc\e(B</a></h3>
+
+    <p align="left"><strong>\e$BCm0U\e(B!</strong>
+    \e$B$3$N>O$O40A4$G$O$"$j$^$;$s!#$3$N>O$N:G?72~D{HG$K$D$$$F$O!"\e(B
+    Apache \e$B%0%k!<%W$N\e(B<a href="http://httpd.apache.org/docs/suexec.html">
+    \e$B%*%s%i%$%s%I%-%e%a%s%H\e(B</a>\e$BHG$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p align="left">\e$B%5!<%P$N@_Dj$K@)8B$r$b$&$1$k\e(B wrapper \e$B$K$D$$$F!"\e(B
+    \e$B$$$/$D$+6=L#?<$$E@$,$"$j$^$9!#\e(BsuEXEC \e$B$K4X$9$k\e(B "\e$B%P%0\e(B"
+    \e$B$rJs9p$9$kA0$K$3$l$i$r3NG'$7$F$/$@$5$$!#\e(B</p>
+
+    <ul>
+      <li><strong>suEXEC \e$B$N6=L#?<$$E@\e(B</strong></li>
+
+      <li>\e$B3,AX9=B$$N@)8B\e(B
+
+
+        <blockquote>
+          \e$B%;%-%e%j%F%#$H8zN($NM}M3$+$i!"\e(BsuEXEC \e$B$NA4$F$N%j%/%(%9%H$O\e(B
+          \e$B2>A[%[%9%H$X$N%j%/%(%9%H$K$*$1$k:G>e0L$N%I%-%e%a%s%H%k!<%HFb$+!"\e(B
+          \e$B%f!<%6%G%#%l%/%H%j$X$N%j%/%(%9%H$K$*$1$k8D!9$N%f!<%6$N:G>e0L$N\e(B
+          \e$B%I%-%e%a%s%H%k!<%HFb$K;D$i$J$1$l$P$J$j$^$;$s!#\e(B
+          \e$BNc$($P!";M$D$N2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"\e(B
+          \e$B2>A[%[%9%H$N\e(B suEXEC \e$B$KM-Mx$J$h$&$K!"%a%$%s$N\e(B Apache
+          \e$B%I%-%e%a%s%H3,AX$N30B&$KA4$F$N2>A[%[%9%H$N%I%-%e%a%s%H%k!<%H$r\e(B
+          \e$B9=C[$9$kI,MW$,$"$j$^$9!#\e(B(\e$BNc$O8eF|5-:\\e(B)
+        </blockquote>
+      </li>
+
+      <li>suEXEC \e$B$N\e(B PATH \e$B4D6-JQ?t\e(B
+
+        <blockquote>
+          \e$B$3$l$rJQ99$9$k$N$O4m81$G$9!#$3$N;XDj$K4^$^$l$k3F%Q%9$,\e(B
+          <strong>\e$B?.Mj$G$-$k\e(B</strong>
+          \e$B%G%#%l%/%H%j$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#\e(B
+          \e$B@$3&$+$i$N%"%/%;%9$K$h$j!"C/$+$,%[%9%H>e$G%H%m%$$NLZGO\e(B
+          \e$B$r<B9T$G$-$k$h$&$K$O$7$?$/$J$$$G$7$g$&!#\e(B
+        </blockquote>
+      </li>
+
+      <li>suEXEC \e$B%3!<%I$N2~B$\e(B
+
+
+        <blockquote>
+          \e$B7+$jJV$7$^$9$,!"2?$r$d$m$&$H$7$F$$$k$+GD0.$;$:$K$3$l$r$d$k$H\e(B
+          <strong>\e$BBg$-$JLdBj\e(B</strong>\e$B$r0z$-5/$3$7$+$M$^$;$s!#\e(B
+          \e$B2DG=$J8B$jHr$1$F$/$@$5$$!#\e(B
+        </blockquote>
+      </li>
+    </ul>
+
+    <p align="center"><strong><a
+    href="suexec.html">\e$BL\<!$KLa$k\e(B</a></strong></p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/suexec_1_2.html b/htdocs/manual/suexec_1_2.html
new file mode 100644 (file)
index 0000000..3d16823
--- /dev/null
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache suEXEC Support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h3><a id="install" name="install">Configuring &amp; Installing
+    suEXEC</a></h3>
+
+    <p align="LEFT">This section describes the configuration and
+    installation of the suEXEC feature with the
+    "<code>src/Configure</code>" script.<br />
+     (If you use Apache 1.3 you may want to use the Apache
+    AutoConf-style interface (APACI) which is described in the <a
+    href="suexec.html">main suEXEC document</a>).</p>
+
+    <p align="LEFT"><strong>EDITING THE SUEXEC HEADER
+    FILE</strong><br />
+     - From the top-level of the Apache source tree,
+    type:&nbsp;&nbsp; <strong><code>cd support
+    [ENTER]</code></strong></p>
+
+    <p align="LEFT">Edit the <code>suexec.h</code> file and change
+    the following macros to match your local Apache
+    installation.</p>
+
+    <p align="LEFT"><em>From support/suexec.h</em></p>
+<pre>
+     /*
+      * HTTPD_USER -- Define as the username under which Apache normally
+      *               runs.  This is the only user allowed to execute
+      *               this program.
+      */
+     #define HTTPD_USER "www"
+
+     /*
+      * UID_MIN -- Define this as the lowest UID allowed to be a target user
+      *            for suEXEC.  For most systems, 500 or 100 is common.
+      */
+     #define UID_MIN 100
+
+     /*
+      * GID_MIN -- Define this as the lowest GID allowed to be a target group
+      *            for suEXEC.  For most systems, 100 is common.
+      */
+     #define GID_MIN 100
+
+     /*
+      * USERDIR_SUFFIX -- Define to be the subdirectory under users'
+      *                   home directories where suEXEC access should
+      *                   be allowed.  All executables under this directory
+      *                   will be executable by suEXEC as the user so
+      *                   they should be "safe" programs.  If you are
+      *                   using a "simple" UserDir directive (ie. one
+      *                   without a "*" in it) this should be set to
+      *                   the same value.  suEXEC will not work properly
+      *                   in cases where the UserDir directive points to
+      *                   a location that is not the same as the user's
+      *                   home directory as referenced in the passwd file.
+      *
+      *                   If you have VirtualHosts with a different
+      *                   UserDir for each, you will need to define them to
+      *                   all reside in one parent directory; then name that
+      *                   parent directory here.  IF THIS IS NOT DEFINED
+      *                   PROPERLY, ~USERDIR CGI REQUESTS WILL NOT WORK!
+      *                   See the suEXEC documentation for more detailed
+      *                   information.
+      */
+     #define USERDIR_SUFFIX "public_html"
+
+     /*
+      * LOG_EXEC -- Define this as a filename if you want all suEXEC
+      *             transactions and errors logged for auditing and
+      *             debugging purposes.
+      */
+     #define LOG_EXEC "/usr/local/apache/logs/cgi.log" /* Need me? */
+
+     /*
+      * DOC_ROOT -- Define as the DocumentRoot set for Apache.  This
+      *             will be the only hierarchy (aside from UserDirs)
+      *             that can be used for suEXEC behavior.
+      */
+     #define DOC_ROOT "/usr/local/apache/htdocs"
+
+     /*
+      * SAFE_PATH -- Define a safe PATH environment to pass to CGI executables.
+      *
+      */
+     #define SAFE_PATH "/usr/local/bin:/usr/bin:/bin"
+</pre>
+
+    <p align="LEFT"><strong>COMPILING THE SUEXEC
+    WRAPPER</strong><br />
+     You now need to compile the suEXEC wrapper. At the shell
+    command prompt, after compiling Apache,
+    type:&nbsp;&nbsp;<strong><code>make
+    suexec[ENTER]</code></strong>. This should create the
+    <strong><em>suexec</em></strong> wrapper executable.</p>
+
+    <p align="LEFT"><strong>COMPILING APACHE FOR USE WITH
+    SUEXEC</strong><br />
+     By default, Apache is compiled to look for the suEXEC wrapper
+    in the following location.</p>
+
+    <p align="LEFT"><em>From src/include/httpd.h</em></p>
+<pre>
+     /* The path to the suExec wrapper, can be overridden in Configuration */
+     #ifndef SUEXEC_BIN
+     #define SUEXEC_BIN  HTTPD_ROOT "/sbin/suexec"
+     #endif
+</pre>
+
+    <p align="LEFT">If your installation requires location of the
+    wrapper program in a different directory, either add
+    <code>-DSUEXEC_BIN=\"<em>&lt;/your/path/to/suexec&gt;</em>\"</code>
+    to your CFLAGS (or edit src/include/httpd.h) and recompile your
+    Apache server. See <a href="install.html">Compiling and
+    Installing Apache</a> (and the <samp>INSTALL</samp> file in the
+    source distribution) for more info on this process.</p>
+
+    <p align="LEFT"><strong>COPYING THE SUEXEC BINARY TO ITS PROPER
+    LOCATION</strong><br />
+     Copy the <strong><em>suexec</em></strong> executable created
+    in the exercise above to the defined location for
+    <strong>SUEXEC_BIN</strong>.</p>
+
+    <p align="LEFT"><strong><code>cp suexec
+    /usr/local/apache/sbin/suexec [ENTER]</code></strong></p>
+
+    <p align="LEFT">In order for the wrapper to set the user ID, it
+    must be installed as owner <strong><em>root</em></strong> and
+    must have the setuserid execution bit set for file modes. If
+    you are not running a <strong><em>root</em></strong> user
+    shell, do so now and execute the following commands.</p>
+
+    <p align="LEFT"><strong><code>chown root
+    /usr/local/apache/sbin/suexec [ENTER]</code></strong><br />
+     <strong><code>chmod 4711 /usr/local/apache/sbin/suexec
+    [ENTER]</code></strong></p>
+
+    <h3><a id="enable" name="enable">Enabling &amp; Disabling
+    suEXEC</a></h3>
+
+    <p align="LEFT">After properly installing the
+    <strong>suexec</strong> wrapper executable, you must kill and
+    restart the Apache server. A simple <strong><code>kill -1 `cat
+    httpd.pid`</code></strong> will not be enough. Upon startup of
+    the web-server, if Apache finds a properly configured
+    <strong>suexec</strong> wrapper, it will print the following
+    message to the console (Apache 1.2):</p>
+<pre>
+    Configuring Apache for use with suexec wrapper.
+</pre>
+    If you use Apache 1.3 the following message is printed to the
+    error log: 
+<pre>
+    [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
+</pre>
+
+    <p align="LEFT">If you don't see this message at server
+    startup, the server is most likely not finding the wrapper
+    program where it expects it, or the executable is not installed
+    <strong><em>setuid root</em></strong>. Check your installation
+    and try again.</p>
+
+    <p align="CENTER"><strong><a href="suexec.html">BACK TO MAIN
+    PAGE</a></strong></p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/unixware.html b/htdocs/manual/unixware.html
new file mode 100644 (file)
index 0000000..6630ad5
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Compiling Apache under UnixWare</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Compiling Apache under UnixWare</h1>
+    To compile a working copy of Apache under UnixWare, there are
+    several other steps you may need to take. These prevent such
+    problems as zombie processes, bind errors, and accept errors,
+    to name a few. 
+
+    <h2>UnixWare 1.x</h2>
+    Make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not
+    defined by Apache autoconfiguration). If using the UnixWare
+    <em>cc</em> compiler, and you still see accept() errors, don't
+    use compiler optimization, or get <em>gcc</em>. 
+
+    <h2>UnixWare 2.0.x</h2>
+    SCO patch <a
+    href="ftp://ftp.sco.com/UW20/tf2163.txt">tf2163</a> is required
+    in order for Apache to work correctly on UnixWare 2.0.x. See <a
+    href="http://www.sco.com">http://www.sco.com</a> for UnixWare
+    patch information. 
+
+    <p>In addition, make sure that USE_FCNTL_SERIALIZE_ACCEPT is
+    defined (if not defined by Apache autoconfiguration). To reduce
+    instances of connections in FIN_WAIT_2 state, you may also want
+    to define NO_LINGCLOSE (Apache 1.2 only).</p>
+
+    <h2>UnixWare 2.1.x</h2>
+    SCO patch <a
+    href="ftp://ftp.sco.com/UW21/ptf3123b.txt">ptf3123</a> is
+    required in order for Apache to work correctly on UnixWare
+    2.1.x. See <a href="http://www.sco.com">http://www.sco.com</a>
+    for UnixWare patch information. 
+
+    <p><strong>NOTE:</strong> Unixware 2.1.2 and later already have
+    patch ptf3123 included</p>
+
+    <p>In addition, make sure that USE_FCNTL_SERIALIZE_ACCEPT is
+    defined (if not defined by Apache autoconfiguration). To reduce
+    instances of connections in FIN_WAIT_2 state, you may also want
+    to define NO_LINGCLOSE (Apache 1.2 only).</p>
+
+    <p>Thanks to Joe Doupnik &lt;JRD@cc.usu.edu&gt; and Rich Vaughn
+    &lt;rvaughn@aad.com&gt; for additional info for UnixWare
+    builds.</p>
+
+    <p><!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/upgrading_to_1_3.html b/htdocs/manual/upgrading_to_1_3.html
new file mode 100644 (file)
index 0000000..fe47d0a
--- /dev/null
@@ -0,0 +1,342 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Upgrading to 1.3 from 1.2</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Upgrading to 1.3 from 1.2</h1>
+
+    <p>In order to assist folks upgrading we are now going to
+    maintain a document describing information critical to existing
+    Apache users. Note that it only lists differences between
+    recent major releases, so for example, folks using Apache 1.1
+    or earlier will have to figure out what changed up to Apache
+    1.2 before this document can be considered relevant. Old users
+    could look at the <code>src/CHANGES</code> file which tracks
+    code changes.</p>
+
+    <p>These are intended to be brief notes, and you should be able
+    to find more information in either the <a
+    href="new_features_1_3.html">New Features</a> document, or in
+    the <code>src/CHANGES</code> file.</p>
+
+    <h3>Compile-Time Configuration Changes</h3>
+
+    <ul>
+      <li>The source code has been <a
+      href="sourcereorg.html">reorganized</a>, which affects anyone
+      with custom modules or modifications. But also, the
+      <code>Module</code> directive has been changed to the
+      <code>AddModule</code> directive.</li>
+
+      <li>The <code>Configuration</code> variable
+      <code>EXTRA_LFLAGS</code> has been renamed
+      <code>EXTRA_LDFLAGS</code>.</li>
+
+      <li>The <code>-DMAXIMUM_DNS</code> definition has been
+      obsoleted by changes to <code>mod_access</code> enforcing
+      double-reverse DNS lookups when necessary.</li>
+
+      <li>The <code>-DSERVER_SUBVERSION=\"string\"</code>
+      compile-time option has been replaced with the run-time API
+      call <code>ap_add_version_component()</code>. Compile-time
+      modification of the server identity by the configuration
+      scripts is no longer supported.</li>
+
+      <li><code>mod_dir</code> has been split into two pieces
+      <code><a
+      href="mod/mod_autoindex.html">mod_autoindex</a></code>, and
+      <code><a href="mod/mod_dir.html">mod_dir</a></code>.</li>
+
+      <li><a
+      href="mod/mod_browser.html"><code>mod_browser</code></a> has
+      been replaced by <a
+      href="mod/mod_setenvif.html"><code>mod_setenvif</code></a>.</li>
+
+      <li>IRIX systems with untrusted users who can write CGIs
+      which execute as the same uid as httpd should consider using
+      <code>suexec</code>, or adding
+      <code>-DUSE_FCNTL_SERIALIZED_ACCEPT</code> to
+      <code>EXTRA_CFLAGS</code>. This is slower, more information
+      is available on the <a
+      href="misc/perf-tuning.html#serialize">performance tuning
+      page</a>. There is a mild denial of service attack possible
+      with the default config, but the default config is an order
+      of magnitude faster.</li>
+
+      <li><code>mod_auth_msql</code> has been removed from the
+      distribution.</li>
+
+      <li>The new Apache Autoconf-style Interface (APACI) was added
+      to the top-level to provide a real out-of-the-box build and
+      installation procedure for the complete Apache package.</li>
+    </ul>
+
+    <h3>Run-Time Configuration Changes</h3>
+
+    <ul>
+      <li>
+        There have been numerous changes to the default config
+        files. Ensure that you compare your existing configuration
+        files with the new ones to ensure there aren't any
+        undesired differences. In particular: 
+
+        <ul>
+          <li>As of Apache 1.3.0, the current config files apply
+          different <a href="mod/core.html#options">Options</a> and
+          <a href="mod/core.html#allowoverride">AllowOverride</a>
+          settings to various directories than were used in
+          1.2.</li>
+
+          <li>As of the release following Apache 1.3.3, the three
+          config file templates have been merged into
+          <samp>httpd.conf-dist</samp> and the order of the
+          directives changed.</li>
+        </ul>
+      </li>
+
+      <li>As of 1.3.2, <a
+      href="mod/mod_expires.html"><code>mod_expires</code></a> will
+      add Expires headers to content that does not come from a file
+      on disk, unless you are using a modification time based
+      setting. Previously, it would never add an Expires header
+      unless content came from a file on disk. This could result in
+      Expires headers being added in places where they were not
+      previously added.</li>
+
+      <li>Standalone <strong><samp>FancyIndexing</samp></strong>
+      directives are now combined with the settings of any
+      <samp>IndexOptions</samp> directive already in effect, rather
+      than replacing them.</li>
+
+      <li>
+        <strong><samp>AuthName</samp> strings will need to be
+        quoted</strong> in <samp>.htaccess</samp> or server
+        configuration files if they contain blank characters (like
+        spaces). For example, if you use an <samp>AuthName</samp>
+        directive like this: 
+<pre>
+     AuthName This and That
+   
+</pre>
+        you will need to change it to 
+<pre>
+     AuthName "This and That"
+   
+</pre>
+        This change was made for consistency in the config
+        language.
+      </li>
+
+      <li>
+        <strong>As of Apache 1.3.1, methods listed in
+        <samp>&lt;Limit&gt;</samp> directives must be
+        uppercase.</strong> Method names, such as <samp>GET</samp>,
+        <samp>POST</samp>, and <samp>PUT</samp> are defined as
+        being case-sensitive. That is, a <samp>GET</samp> request
+        is different from a <samp>get</samp> request. Prior to
+        Apache 1.3.1, the <samp>&lt;Limit&gt;</samp> directive
+        parser incorrectly treated both of these as being the same.
+        Apache's built-in method limit processing currently only
+        understands uppercase method names, so if you've used
+        clauses such as
+        "<samp>&lt;Limit&nbsp;Get&nbsp;post&gt;</samp>" in your
+        configuration files, you need to correct them to use
+        uppercase names. 
+
+        <p>Unrecognized method names in the server configuration
+        files will result in the server logging an error message
+        and failing to start. In <samp>.htaccess</samp> files,
+        unknown methods will cause the server to log an error to
+        its error log and return an 'Internal Server Error' page to
+        the client.</p>
+      </li>
+
+      <li><strong>The default Apache ServerRoot directory
+      changed</strong> from the NCSA-compatible
+      <samp>/usr/local/etc/httpd/</samp> to
+      <samp>/usr/local/apache/</samp>. This change covers only the
+      default setting (and the documentation); it is of course
+      possible to override it using the <em>-d ServerRoot</em> and
+      <em>-f httpd.conf</em> switches when starting apache.</li>
+
+      <li>Folks using HTTP/1.1-style virtual hosting will need to
+      list the ip:port pairs that are supposed to have
+      HTTP/1.1-style virtual hosting via the <a
+      href="mod/core.html#namevirtualhost"><code>NameVirtualHost</code></a>
+      directive (one directive per pair). Previously this support
+      was given implicitly on the "main server address". Now it has
+      to be explicitly listed so as to avoid many problems that
+      users had. Please see the <a href="vhosts/">Apache Virtual
+      Host documentation</a> for further details on
+      configuration.</li>
+
+      <li>The precedence of virtual hosts has been reversed
+      (applies mainly to vhosts using HTTP/1.1 Host: headers, and
+      the <a href="mod/core.html#serverpath">ServerPath</a>
+      directive). Now the earlier vhosts in the file have
+      precedence over the later vhosts.</li>
+
+      <li><code>HostnameLookups</code> defaults to Off.</li>
+
+      <li><strong><samp>REMOTE_HOST</samp> CGI variable
+      changed.</strong> In Apache 1.2 and earlier, the
+      <samp>REMOTE_HOST</samp> environment variable made available
+      to CGI scripts was set to either the full DNS name of the
+      client, or else to the client's IP address if the name was
+      not known. This behavior differed from that specified by the
+      CGI specification, which defines this variable as being NULL
+      if the name isn't known. In Apache 1.3, we have made this
+      correction. <samp>REMOTE_ADDR</samp> always contains the
+      client's IP address, but <samp>REMOTE_HOST</samp> is only
+      defined when the server has been able to determine the
+      client's DNS name.</li>
+
+      <li>The undocumented <a
+      href="mod/mod_access.html"><code>mod_access</code></a> syntax
+      "allow user-agents" was removed. The replacement is the more
+      general "allow from env".</li>
+
+      <li>When using wildcards in pathnames (such as * and ?) they
+      no longer match / (slash). That is, they more closely behave
+      how a UNIX shell behaves. This affects
+      <code>&lt;Directory&gt;</code> directives, for example.</li>
+
+      <li>If no <code>TransferLog</code> directive is given then
+      nothing will be logged. (Previously it would default to
+      <code>logs/access_log</code>.)</li>
+
+      <li>Apache now has <a
+      href="mod/core.html#loglevel">configurable error logging
+      levels</a>, and the default eliminates some messages that
+      earlier versions always generated.</li>
+
+      <li>When booting, Apache will now detach itself from stdin,
+      stdout, and stderr. stderr will not be detached until after
+      the config files have been read so you will be able to see
+      initial error messages. After that all errors are logged in
+      the error_log. This makes it more convenient to start Apache
+      via rsh, ssh, or crontabs.</li>
+
+      <li>&lt;Files&gt; sections previously could take a full
+      pathname, and were matched against the full pathnames. This
+      had some inconsistencies, and was removed. To emulate this
+      older behavior use a &lt;Files&gt; section nested inside a
+      &lt;Directory&gt; section.</li>
+
+      <li>&lt;Location&gt; matching behavior with respect to
+      slashes has changed. See the <a
+      href="mod/core.html#location">&lt;Location&gt;
+      documentation</a> for more info.</li>
+    </ul>
+
+    <h3>Misc Changes</h3>
+
+    <ul>
+      <li><code>ServerType inetd</code> has been deprecated. It
+      still exists, but bugs are unlikely to be fixed.</li>
+
+      <li><code>httpd_monitor</code> has been deprecated. The
+      replacement is to use <code>mod_status</code> and make a
+      request to a URL such as
+      <code>http://myhost/server-status?refresh=10</code>.</li>
+
+      <li>
+        Apache now provides an effectively unbuffered connection
+        for CGI scripts. This means that data will be sent to the
+        client as soon as the CGI pauses or stops output;
+        previously, Apache would buffer the output up to a fixed
+        buffer size before sending, which could result in the user
+        viewing an empty page until the CGI finished or output a
+        complete buffer. It is no longer necessary to use an "nph-"
+        CGI to get unbuffered output. Given that most CGIs are
+        written in a language that by default does buffering
+        (<em>e.g.</em>, perl) this shouldn't have a detrimental
+        effect on performance. 
+
+        <p>"nph-" CGIs, which formerly provided a direct socket to
+        the client without any server post-processing, were not
+        fully compatible with HTTP/1.1 or SSL support. As such they
+        would have had to implement the transport details, such as
+        encryption or chunking, in order to work properly in
+        certain situations. Now, the only difference between nph
+        and non-nph scripts is "non-parsed headers".</p>
+      </li>
+
+      <li><code>dbmmanage</code> has been overhauled.</li>
+    </ul>
+
+    <h3>Third Party Modules</h3>
+
+    <p>The following changes between the 1.2 and 1.3 API may
+    require slight changes in third party modules not maintained by
+    Apache.</p>
+
+    <ul>
+      <li>To avoid symbol clashes with third-party code compiled
+      into the server, the general prefix `<code>ap_</code>' was
+      globally applied to the following classes of symbols: Apache
+      provided general functions (<em>e.g.</em>,
+      <code>ap_cpystrn</code>), public API functions
+      (<em>e.g.</em>, <code>palloc</code>, <code>bgets</code>) and
+      private functions which can't be made static (because of
+      cross-object usage) but should be (<em>e.g.</em>,
+      <code>new_connection</code>). For backward source
+      compatibility with Apache 1.2 a new header file named
+      <code>compat.h</code> was created which provides defines for
+      the old symbol names. You'll either have to <code>#include
+      compat.h</code> or update the API symbols you use.</li>
+
+      <li>Be sure and examine the <a href="sourcereorg.html">source
+      code reorganization page</a> to see whether any item there
+      affects you.</li>
+
+      <li>Use of <samp>SERVER_VERSION</samp> definition. If
+      third-party modules reference the server version string using
+      this symbol, they should be corrected to obtain it by calling
+      the new API routine
+      <code>const&nbsp;char&nbsp;*ap_get_server_version()</code>.</li>
+
+      <li><code>ap_construct_url</code> prototype change. The
+      second parameter was previously a <code>server_rec</code>, it
+      has been changed to a <code>request_rec</code>.</li>
+
+      <li>
+        The <code>table</code> datatype has been made an opaque
+        type. Code which assumes a <code>table</code> is the same
+        as an <code>array_header</code> will not compile. This is
+        actually a change to enforce the API the way it was
+        intended, all versions of Apache have had a
+        <code>table_elts()</code> function which is intended for
+        code which needs to access the elements of a table. The
+        changes required for this are pretty easy, and work with
+        all versions of Apache. 
+
+        <p>Suppose <code>t</code> is a table. Whenever code refers
+        to <code>t-&gt;elts</code>, replace it with something like
+        this:</p>
+
+        <blockquote>
+<pre>
+    array_header *arr = table_elts(t);
+    table_entry *elts = (table_entry *)arr-&gt;elts;
+</pre>
+        </blockquote>
+        Whenever code refers to <code>t-&gt;nelts</code> use
+        <code>arr-&gt;nelts</code>. Many examples can be found in
+        the standard modules, search for <code>table_elts</code>.
+      </li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/urlmapping.html b/htdocs/manual/urlmapping.html
new file mode 100644 (file)
index 0000000..9722dd4
--- /dev/null
@@ -0,0 +1,297 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Mapping URLs to Filesystem Locations - Apache HTTP
+    Server</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Mapping URLs to Filesystem Locations</h1>
+
+    <p>This document explains how Apache uses the URL of a request
+    to determine the filesystem location from which to serve a
+    file.</p>
+
+    <ul>
+      <li><a href="#documentroot">DocumentRoot</a></li>
+
+      <li><a href="#outside">Files Outside the
+      DocumentRoot</a></li>
+
+      <li><a href="#user">User Directories</a></li>
+
+      <li><a href="#redirect">URL Redirection</a></li>
+
+      <li><a href="#rewrite">Rewrite Engine</a></li>
+
+      <li><a href="#notfound">File Not Found</a></li>
+    </ul>
+    <hr />
+
+    <table border="1">
+      <tr>
+        <td valign="top"><strong>Related Modules</strong><br />
+         <br />
+         <a href="mod/mod_alias.html">mod_alias</a><br />
+         <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+         <a href="mod/mod_userdir.html">mod_userdir</a><br />
+         <a href="mod/mod_speling.html">mod_speling</a><br />
+         <a
+        href="mod/mod_vhost_alias.html">mod_vhost_alias</a><br />
+         </td>
+
+        <td valign="top"><strong>Related Directives</strong><br />
+         <br />
+         <a href="mod/mod_alias.html#alias">Alias</a><br />
+         <a
+        href="mod/mod_alias.html#aliasmatch">AliasMatch</a><br />
+         <a
+        href="mod/mod_speling.html#checkspelling">CheckSpelling</a><br />
+         <a
+        href="mod/core.html#documentroot">DocumentRoot</a><br />
+         <a
+        href="mod/core.html#errordocument">ErrorDocument</a><br />
+         <a href="mod/core.html#options">Options</a><br />
+         <a href="mod/mod_alias.html#redirect">Redirect</a><br />
+         <a
+        href="mod/mod_alias.html#redirectmatch">RedirectMatch</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+         <a
+        href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+         <a
+        href="mod/mod_alias.html#scriptalias">ScriptAlias</a><br />
+         <a
+        href="mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a><br />
+         <a href="mod/mod_userdir.html#userdir">UserDir</a><br />
+         </td>
+      </tr>
+    </table>
+
+    <h2><a id="documentroot"
+    name="documentroot">DocumentRoot</a></h2>
+
+    <p>In deciding what file to serve for a given request, Apache's
+    default behavior is to take the URL-Path for the request (the
+    part of the URL following the hostname and port) and add it to
+    the end of the <a
+    href="mod/core.html#documentroot">DocumentRoot</a> specified in
+    your configuration files. Therefore, the files and directories
+    underneath the <code>DocumentRoot</code> make up the basic
+    document tree that will be visible from the web.</p>
+
+    <p>Apache is also capable of <a href="vhosts/">Virtual
+    Hosting</a>, where the server receives requests for more than
+    one host. In this case, a different <code>DocumentRoot</code>
+    can be specified for each virtual host, or alternatively, the
+    directives provided by the module <a
+    href="mod/mod_vhost_alias.html">mod_vhost_alias</a> can be used
+    to dynamically determine the appropriate place from which to
+    serve content based on the requested IP address or
+    hostname.</p>
+
+    <h2><a id="outside" name="outside">Files Outside the
+    DocumentRoot</a></h2>
+
+    <p>There are frequently circumstances where it is necessary to
+    allow web access to parts of the filesystem that are not
+    strictly underneath the <a
+    href="mod/core.html#documentroot">DocumentRoot</a>. Apache
+    offers several different ways to accomplish this. On Unix
+    systems, symbolic links can bring other parts of the filesystem
+    under the <code>DocumentRoot</code>. For security reasons,
+    Apache will follow symbolic links only if the <a
+    href="mod/core.html#options">Options</a> setting for the
+    relevant directory includes <code>FollowSymLinks</code> or
+    <code>SymLinksIfOwnerMatch</code>.</p>
+
+    <p>Alternatively, the <a
+    href="mod/mod_alias.html#alias">Alias</a> directive will map
+    any part of the filesystem into the web space. For example,
+    with</p>
+
+    <blockquote>
+      <code>Alias /docs /var/web</code>
+    </blockquote>
+
+    <p>the URL
+    <code>http://www.example.com/docs/dir/file.html</code> will be
+    served from <code>/var/web/dir/file.html</code>. The <a
+    href="mod/mod_alias.html#scriptalias">ScriptAlias</a> directive
+    works the same way, with the additional effect that all content
+    located at the target path is treated as CGI scripts.</p>
+
+    <p>For situations where you require additional flexibility, you
+    can use the <a
+    href="mod/mod_alias.html#aliasmatch">AliasMatch</a> and <a
+    href="mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a>
+    directives to do powerful <a
+    href="misc/FAQ.html#regex">regular-expression</a> based
+    matching and substitution. For example,</p>
+
+    <blockquote>
+      <code>ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*)
+      /home/$1/cgi-bin/$2</code>
+    </blockquote>
+
+    <p>will map a request to
+    <code>http://example.com/~user/cgi-bin/script.cgi</code> to the
+    path <code>/home/user/cgi-bin/script.cgi</code> and will treat
+    the resulting file as a CGI script.</p>
+
+    <h2><a id="user" name="user">User Directories</a></h2>
+
+    <p>Traditionally on Unix systems, the home directory of a
+    particular <em>user</em> can be referred to as
+    <code>~user/</code>. The module <a
+    href="mod/mod_userdir.html">mod_userdir</a> extends this idea
+    to the web by allowing files under each user's home directory
+    to be accessed using URLs such as the following.</p>
+
+    <blockquote>
+      <code>http://www.example.com/~user/file.html</code>
+    </blockquote>
+
+    <p>For security reasons, it is inappropriate to give direct
+    access to a user's home directory from the web. Therefore, the
+    <a href="mod/mod_userdir.html#userdir">UserDir</a> directive
+    specifies a directory underneath the user's home directory
+    where web files are located. Using the default setting of
+    <code>Userdir public_html</code>, the above URL maps to a file
+    at a directory like
+    <code>/home/user/public_html/file.html</code> where
+    <code>/home/user/</code> is the user's home directory as
+    specified in <code>/etc/passwd</code>.</p>
+
+    <p>There are also several other forms of the
+    <code>Userdir</code> directive which you can use on systems
+    where <code>/etc/passwd</code> does not contain the location of
+    the home directory.</p>
+
+    <p>Some people find the "~" symbol (which is often encoded on
+    the web as <code>%7e</code>) to be awkward and prefer to use an
+    alternate string to represent user directories. This
+    functionality is not supported by mod_userdir. However, if
+    users' home directories are structured in a regular way, then
+    it is possible to use the <a
+    href="mod/mod_alias.html#aliasmatch">AliasMatch</a> directive
+    to achieve the desired effect. For example, to make
+    <code>http://www.example.com/upages/user/file.html</code> map
+    to <code>/home/user/public_html/file.html</code>, use the
+    following <code>AliasMatch</code> directive:</p>
+
+    <blockquote>
+      <code>AliasMatch ^/upages/([^/]*)/?(.*)
+      /home/$1/public_html/$2</code>
+    </blockquote>
+
+    <h2><a id="redirect" name="redirect">URL Redirection</a></h2>
+
+    <p>The configuration directives discussed in the above sections
+    tell Apache to get content from a specific place in the
+    filesystem and return it to the client. Sometimes, it is
+    desirable instead to inform the client that the requested
+    content is located at a different URL, and instruct the client
+    to make a new request with the new URL. This is called
+    <em>redirection</em> and is implemented by the <a
+    href="mod/mod_alias.html#redirect">Redirect</a> directive. For
+    example, if the contents of the directory <code>/foo/</code>
+    under the <code>DocumentRoot</code> are moved to the new
+    directory <code>/bar/</code>, you can instruct clients to
+    request the content at the new location as follows:</p>
+
+    <blockquote>
+      <code>Redirect permanent /foo/
+      http://www.example.com/bar/</code>
+    </blockquote>
+
+    <p>This will redirect any URL-Path starting in
+    <code>/foo/</code> to the same URL path on the
+    <code>www.example.com</code> server with <code>/bar/</code>
+    substituted for <code>/foo/</code>. You can redirect clients to
+    any server, not only the origin server.</p>
+
+    <p>Apache also provides a <a
+    href="mod/mod_alias.html#redirectmatch">RedirectMatch</a>
+    directive for more complicated rewriting problems. For example,
+    to redirect requests for the site home page to a different
+    site, but leave all other requests alone, use the following
+    configuration:</p>
+
+    <blockquote>
+      <code>RedirectMatch permanent ^/$
+      http://www.example.com/startpage.html</code>
+    </blockquote>
+
+    <p>Alternatively, to temporarily redirect all pages on one site
+    to a particular page on another site, use the following:</p>
+
+    <blockquote>
+      <code>RedirectMatch temp .*
+      http://othersite.example.com/startpage.html</code>
+    </blockquote>
+
+    <h2><a id="rewrite" name="rewrite">Rewriting Engine</a></h2>
+
+    <p>When even more powerful substitution is required, the
+    rewriting engine provided by <a
+    href="mod/mod_rewrite.html">mod_rewrite</a> can be useful. The
+    directives provided by this module use characteristics of the
+    request such as browser type or source IP address in deciding
+    from where to serve content. In addition, mod_rewrite can use
+    external database files or programs to determine how to handle
+    a request. Many practical examples employing mod_rewrite are
+    discussed in the <a href="misc/rewriteguide.html">URL Rewriting
+    Guide</a>.</p>
+
+    <h2><a id="notfound" name="notfound">File Not Found</a></h2>
+
+    <p>Inevitably, URLs will be requested for which no matching
+    file can be found in the filesystem. This can happen for
+    several reasons. In some cases, it can be a result of moving
+    documents from one location to another. In this case, it is
+    best to use <a href="#redirect">URL redirection</a> to inform
+    clients of the new location of the resource. In this way, you
+    can assure that old bookmarks and links will continue to work,
+    even though the resource is at a new location.</p>
+
+    <p>Another common cause of "File Not Found" errors is
+    accidental mistyping of URLs, either directly in the browser,
+    or in HTML links. Apache provides the module <a
+    href="mod/mod_speling.html">mod_speling</a> (sic) to help with
+    this problem. When this module is activated, it will intercept
+    "File Not Found" errors and look for a resource with a similar
+    filename. If one such file is found, mod_speling will send an
+    HTTP redirect to the client informing it of the correct
+    location. If several "close" files are found, a list of
+    available alternatives will be presented to the client.</p>
+
+    <p>An especially useful feature of mod_speling, is that it will
+    compare filenames without respect to case. This can help
+    systems where users are unaware of the case-sensitive nature of
+    URLs and the Unix filesystem. But using mod_speling for
+    anything more than the occasional URL correction can place
+    additional load on the server, since each "incorrect" request
+    is followed by a URL redirection and a new request from the
+    client.</p>
+
+    <p>If all attempts to locate the content fail, Apache returns
+    an error page with HTTP status code 404 (file not found). The
+    appearance of this page is controlled with the <a
+    href="mod/core.html#errordocument">ErrorDocument</a> directive
+    and can be customized in a flexible manner as discussed in the
+    <a href="custom-error.html">Custom error responses</a> and <a
+    href="misc/custom_errordocs.html">International Server Error
+    Responses</a> documents.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/details.html b/htdocs/manual/vhosts/details.html
new file mode 100644 (file)
index 0000000..781d8b4
--- /dev/null
@@ -0,0 +1,397 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>An In-Depth Discussion of Virtual Host Matching</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">An In-Depth Discussion of Virtual Host
+    Matching</h1>
+
+    <p>The virtual host code was completely rewritten in
+    <strong>Apache 1.3</strong>. This document attempts to explain
+    exactly what Apache does when deciding what virtual host to
+    serve a hit from. With the help of the new <a
+    href="../mod/core.html#namevirtualhost"><samp>NameVirtualHost</samp></a>
+    directive virtual host configuration should be a lot easier and
+    safer than with versions prior to 1.3.</p>
+
+    <p>If you just want to <cite>make it work</cite> without
+    understanding how, here are <a href="examples.html">some
+    examples</a>.</p>
+
+    <h3>Config File Parsing</h3>
+
+    <p>There is a <em>main_server</em> which consists of all the
+    definitions appearing outside of
+    <code>&lt;VirtualHost&gt;</code> sections. There are virtual
+    servers, called <em>vhosts</em>, which are defined by <a
+    href="../mod/core.html#virtualhost"><samp>&lt;VirtualHost&gt;</samp></a>
+    sections.</p>
+
+    <p>The directives <a
+    href="../mod/core.html#port"><samp>Port</samp></a>, <a
+    href="../mod/core.html#servername"><samp>ServerName</samp></a>,
+    <a
+    href="../mod/core.html#serverpath"><samp>ServerPath</samp></a>,
+    and <a
+    href="../mod/core.html#serveralias"><samp>ServerAlias</samp></a>
+    can appear anywhere within the definition of a server. However,
+    each appearance overrides the previous appearance (within that
+    server).</p>
+
+    <p>The default value of the <code>Port</code> field for
+    main_server is 80. The main_server has no default
+    <code>ServerPath</code>, or <code>ServerAlias</code>. The
+    default <code>ServerName</code> is deduced from the servers IP
+    address.</p>
+
+    <p>The main_server Port directive has two functions due to
+    legacy compatibility with NCSA configuration files. One
+    function is to determine the default network port Apache will
+    bind to. This default is overridden by the existence of any <a
+    href="../mod/core.html#listen"><code>Listen</code></a>
+    directives. The second function is to specify the port number
+    which is used in absolute URIs during redirects.</p>
+
+    <p>Unlike the main_server, vhost ports <em>do not</em> affect
+    what ports Apache listens for connections on.</p>
+
+    <p>Each address appearing in the <code>VirtualHost</code>
+    directive can have an optional port. If the port is unspecified
+    it defaults to the value of the main_server's most recent
+    <code>Port</code> statement. The special port <samp>*</samp>
+    indicates a wildcard that matches any port. Collectively the
+    entire set of addresses (including multiple <samp>A</samp>
+    record results from DNS lookups) are called the vhost's
+    <em>address set</em>.</p>
+
+    <p>Unless a <a
+    href="../mod/core.html#namevirtualhost">NameVirtualHost</a>
+    directive is used for a specific IP address the first vhost
+    with that address is treated as an IP-based vhost. In 1.3.13
+    and later that includes the IP address <code>*</code>.</p>
+
+    <p>If name-based vhosts should be used a
+    <code>NameVirtualHost</code> directive <em>must</em> appear
+    with the IP address set to be used for the name-based vhosts.
+    In other words, you must specify the IP address that holds the
+    hostname aliases (CNAMEs) for your name-based vhosts via a
+    <code>NameVirtualHost</code> directive in your configuration
+    file.</p>
+
+    <p>Multiple <code>NameVirtualHost</code> directives can be used
+    each with a set of <code>VirtualHost</code> directives but only
+    one <code>NameVirtualHost</code> directive should be used for
+    each specific IP:port pair.</p>
+
+    <p>The ordering of <code>NameVirtualHost</code> and
+    <code>VirtualHost</code> directives is not important which
+    makes the following two examples identical (only the order of
+    the <code>VirtualHost</code> directives for <em>one</em>
+    address set is important, see below):</p>
+<pre>
+                                |
+  NameVirtualHost 111.22.33.44  | &lt;VirtualHost 111.22.33.44&gt;
+  &lt;VirtualHost 111.22.33.44&gt;    | # server A
+  # server A                | &lt;/VirtualHost&gt;
+  ...                   | &lt;VirtualHost 111.22.33.55&gt;
+  &lt;/VirtualHost&gt;          | # server C
+  &lt;VirtualHost 111.22.33.44&gt;    | ...
+  # server B                | &lt;/VirtualHost&gt;
+  ...                   | &lt;VirtualHost 111.22.33.44&gt;
+  &lt;/VirtualHost&gt;          | # server B
+                                | ...
+  NameVirtualHost 111.22.33.55  | &lt;/VirtualHost&gt;
+  &lt;VirtualHost 111.22.33.55&gt;    | &lt;VirtualHost 111.22.33.55&gt;
+  # server C                | # server D
+  ...                   | ...
+  &lt;/VirtualHost&gt;          | &lt;/VirtualHost&gt;
+  &lt;VirtualHost 111.22.33.55&gt;    |
+  # server D                | NameVirtualHost 111.22.33.44
+  ...                   | NameVirtualHost 111.22.33.55
+  &lt;/VirtualHost&gt;          |
+                                |
+</pre>
+
+    <p>(To aid the readability of your configuration you should
+    prefer the left variant.)</p>
+
+    <p>After parsing the <code>VirtualHost</code> directive, the
+    vhost server is given a default <code>Port</code> equal to the
+    port assigned to the first name in its <code>VirtualHost</code>
+    directive.</p>
+
+    <p>The complete list of names in the <code>VirtualHost</code>
+    directive are treated just like a <code>ServerAlias</code> (but
+    are not overridden by any <code>ServerAlias</code> statement)
+    if all names resolve to the same address set. Note that
+    subsequent <code>Port</code> statements for this vhost will not
+    affect the ports assigned in the address set.</p>
+
+    <p>During initialization a list for each IP address is
+    generated and inserted into an hash table. If the IP address is
+    used in a <code>NameVirtualHost</code> directive the list
+    contains all name-based vhosts for the given IP address. If
+    there are no vhosts defined for that address the
+    <code>NameVirtualHost</code> directive is ignored and an error
+    is logged. For an IP-based vhost the list in the hash table is
+    empty.</p>
+
+    <p>Due to a fast hashing function the overhead of hashing an IP
+    address during a request is minimal and almost not existent.
+    Additionally the table is optimized for IP addresses which vary
+    in the last octet.</p>
+
+    <p>For every vhost various default values are set. In
+    particular:</p>
+
+    <ol>
+      <li>If a vhost has no <a
+      href="../mod/core.html#serveradmin"><code>ServerAdmin</code></a>,
+      <a
+      href="../mod/core.html#resourceconfig"><code>ResourceConfig</code></a>,
+      <a
+      href="../mod/core.html#accessconfig"><code>AccessConfig</code></a>,
+      <a href="../mod/core.html#timeout"><code>Timeout</code></a>,
+      <a
+      href="../mod/core.html#keepalivetimeout"><code>KeepAliveTimeout</code></a>,
+      <a
+      href="../mod/core.html#keepalive"><code>KeepAlive</code></a>,
+      <a
+      href="../mod/core.html#maxkeepaliverequests"><code>MaxKeepAliveRequests</code></a>,
+      or <a
+      href="../mod/core.html#sendbuffersize"><code>SendBufferSize</code></a>
+      directive then the respective value is inherited from the
+      main_server. (That is, inherited from whatever the final
+      setting of that value is in the main_server.)</li>
+
+      <li>The "lookup defaults" that define the default directory
+      permissions for a vhost are merged with those of the
+      main_server. This includes any per-directory configuration
+      information for any module.</li>
+
+      <li>The per-server configs for each module from the
+      main_server are merged into the vhost server.</li>
+    </ol>
+    Essentially, the main_server is treated as "defaults" or a
+    "base" on which to build each vhost. But the positioning of
+    these main_server definitions in the config file is largely
+    irrelevant -- the entire config of the main_server has been
+    parsed when this final merging occurs. So even if a main_server
+    definition appears after a vhost definition it might affect the
+    vhost definition. 
+
+    <p>If the main_server has no <code>ServerName</code> at this
+    point, then the hostname of the machine that httpd is running
+    on is used instead. We will call the <em>main_server address
+    set</em> those IP addresses returned by a DNS lookup on the
+    <code>ServerName</code> of the main_server.</p>
+
+    <p>For any undefined <code>ServerName</code> fields, a
+    name-based vhost defaults to the address given first in the
+    <code>VirtualHost</code> statement defining the vhost.</p>
+
+    <p>Any vhost that includes the magic <samp>_default_</samp>
+    wildcard is given the same <code>ServerName</code> as the
+    main_server.</p>
+
+    <h3>Virtual Host Matching</h3>
+
+    <p>The server determines which vhost to use for a request as
+    follows:</p>
+
+    <h4>Hash table lookup</h4>
+
+    <p>When the connection is first made by a client, the IP
+    address to which the client connected is looked up in the
+    internal IP hash table.</p>
+
+    <p>If the lookup fails (the IP address wasn't found) the
+    request is served from the <samp>_default_</samp> vhost if
+    there is such a vhost for the port to which the client sent the
+    request. If there is no matching <samp>_default_</samp> vhost
+    the request is served from the main_server.</p>
+
+    <p>In Apache 1.3.13 and later, if the IP address is not found
+    in the hash table then the match against the port number may
+    also result in an entry corresponding to a
+    <code>NameVirtualHost *</code>, which is subsequently handled
+    like other name-based vhosts.</p>
+
+    <p>If the lookup succeeded (a corresponding list for the IP
+    address was found) the next step is to decide if we have to
+    deal with an IP-based or a name-base vhost.</p>
+
+    <h4>IP-based vhost</h4>
+
+    <p>If the entry we found has an empty name list then we have
+    found an IP-based vhost, no further actions are performed and
+    the request is served from that vhost.</p>
+
+    <h4>Name-based vhost</h4>
+
+    <p>If the entry corresponds to a name-based vhost the name list
+    contains one or more vhost structures. This list contains the
+    vhosts in the same order as the <code>VirtualHost</code>
+    directives appear in the config file.</p>
+
+    <p>The first vhost on this list (the first vhost in the config
+    file with the specified IP address) has the highest priority
+    and catches any request to an unknown server name or a request
+    without a <code>Host:</code> header field.</p>
+
+    <p>If the client provided a <code>Host:</code> header field the
+    list is searched for a matching vhost and the first hit on a
+    <code>ServerName</code> or <code>ServerAlias</code> is taken
+    and the request is served from that vhost. A <code>Host:</code>
+    header field can contain a port number, but Apache always
+    matches against the real port to which the client sent the
+    request.</p>
+
+    <p>If the client submitted a HTTP/1.0 request without
+    <code>Host:</code> header field we don't know to what server
+    the client tried to connect and any existing
+    <code>ServerPath</code> is matched against the URI from the
+    request. The first matching path on the list is used and the
+    request is served from that vhost.</p>
+
+    <p>If no matching vhost could be found the request is served
+    from the first vhost with a matching port number that is on the
+    list for the IP to which the client connected (as already
+    mentioned before).</p>
+
+    <h4>Persistent connections</h4>
+    The IP lookup described above is only done <em>once</em> for a
+    particular TCP/IP session while the name lookup is done on
+    <em>every</em> request during a KeepAlive/persistent
+    connection. In other words a client may request pages from
+    different name-based vhosts during a single persistent
+    connection. 
+
+    <h4>Absolute URI</h4>
+
+    <p>If the URI from the request is an absolute URI, and its
+    hostname and port match the main server or one of the
+    configured virtual hosts <em>and</em> match the address and
+    port to which the client sent the request, then the
+    scheme/hostname/port prefix is stripped off and the remaining
+    relative URI is served by the corresponding main server or
+    virtual host. If it does not match, then the URI remains
+    untouched and the request is taken to be a proxy request.</p>
+
+    <h3>Observations</h3>
+
+    <ul>
+      <li>A name-based vhost can never interfere with an IP-base
+      vhost and vice versa. IP-based vhosts can only be reached
+      through an IP address of its own address set and never
+      through any other address. The same applies to name-based
+      vhosts, they can only be reached through an IP address of the
+      corresponding address set which must be defined with a
+      <code>NameVirtualHost</code> directive.</li>
+
+      <li><code>ServerAlias</code> and <code>ServerPath</code>
+      checks are never performed for an IP-based vhost.</li>
+
+      <li>The order of name-/IP-based, the <samp>_default_</samp>
+      vhost and the <code>NameVirtualHost</code> directive within
+      the config file is not important. Only the ordering of
+      name-based vhosts for a specific address set is significant.
+      The one name-based vhosts that comes first in the
+      configuration file has the highest priority for its
+      corresponding address set.</li>
+
+      <li>For security reasons the port number given in a
+      <code>Host:</code> header field is never used during the
+      matching process. Apache always uses the real port to which
+      the client sent the request.</li>
+
+      <li>If a <code>ServerPath</code> directive exists which is a
+      prefix of another <code>ServerPath</code> directive that
+      appears later in the configuration file, then the former will
+      always be matched and the latter will never be matched. (That
+      is assuming that no <code>Host:</code> header field was
+      available to disambiguate the two.)</li>
+
+      <li>If two IP-based vhosts have an address in common, the
+      vhost appearing first in the config file is always matched.
+      Such a thing might happen inadvertently. The server will give
+      a warning in the error logfile when it detects this.</li>
+
+      <li>A <code>_default_</code> vhost catches a request only if
+      there is no other vhost with a matching IP address
+      <em>and</em> a matching port number for the request. The
+      request is only caught if the port number to which the client
+      sent the request matches the port number of your
+      <code>_default_</code> vhost which is your standard
+      <code>Port</code> by default. A wildcard port can be
+      specified (<em>i.e.</em>, <code>_default_:*</code>) to catch
+      requests to any available port. In Apache 1.3.13 and later
+      this also applies to <code>NameVirtualHost *</code>
+      vhosts.</li>
+
+      <li>The main_server is only used to serve a request if the IP
+      address and port number to which the client connected is
+      unspecified and does not match any other vhost (including a
+      <code>_default_</code> vhost). In other words the main_server
+      only catches a request for an unspecified address/port
+      combination (unless there is a <code>_default_</code> vhost
+      which matches that port).</li>
+
+      <li>A <code>_default_</code> vhost or the main_server is
+      <em>never</em> matched for a request with an unknown or
+      missing <code>Host:</code> header field if the client
+      connected to an address (and port) which is used for
+      name-based vhosts, <em>e.g.</em>, in a
+      <code>NameVirtualHost</code> directive.</li>
+
+      <li>You should never specify DNS names in
+      <code>VirtualHost</code> directives because it will force
+      your server to rely on DNS to boot. Furthermore it poses a
+      security threat if you do not control the DNS for all the
+      domains listed. There's <a href="../dns-caveats.html">more
+      information</a> available on this and the next two
+      topics.</li>
+
+      <li><code>ServerName</code> should always be set for each
+      vhost. Otherwise A DNS lookup is required for each
+      vhost.</li>
+    </ul>
+
+    <h3>Tips</h3>
+
+    <p>In addition to the tips on the <a
+    href="../dns-caveats.html#tips">DNS Issues</a> page, here are
+    some further tips:</p>
+
+    <ul>
+      <li>Place all main_server definitions before any
+      <code>VirtualHost</code> definitions. (This is to aid the
+      readability of the configuration -- the post-config merging
+      process makes it non-obvious that definitions mixed in around
+      virtual hosts might affect all virtual hosts.)</li>
+
+      <li>Group corresponding <code>NameVirtualHost</code> and
+      <code>VirtualHost</code> definitions in your configuration to
+      ensure better readability.</li>
+
+      <li>Avoid <code>ServerPaths</code> which are prefixes of
+      other <code>ServerPaths</code>. If you cannot avoid this then
+      you have to ensure that the longer (more specific) prefix
+      vhost appears earlier in the configuration file than the
+      shorter (less specific) prefix (<em>i.e.</em>, "ServerPath
+      /abc" should appear after "ServerPath /abc/def").</li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/details_1_2.html b/htdocs/manual/vhosts/details_1_2.html
new file mode 100644 (file)
index 0000000..30cb956
--- /dev/null
@@ -0,0 +1,386 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>An In-Depth Discussion of VirtualHost Matching</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">An In-Depth Discussion of VirtualHost
+    Matching</h1>
+
+    <p>This is a very rough document that was probably out of date
+    the moment it was written. It attempts to explain exactly what
+    the code does when deciding what virtual host to serve a hit
+    from. It's provided on the assumption that something is better
+    than nothing. The server version under discussion is Apache
+    1.2.</p>
+
+    <p>If you just want to "make it work" without understanding
+    how, there's a <a href="#whatworks">What Works</a> section at
+    the bottom.</p>
+
+    <h3>Config File Parsing</h3>
+
+    <p>There is a main_server which consists of all the definitions
+    appearing outside of <code>VirtualHost</code> sections. There
+    are virtual servers, called <em>vhosts</em>, which are defined
+    by <a
+    href="../mod/core.html#virtualhost"><samp>VirtualHost</samp></a>
+    sections.</p>
+
+    <p>The directives <a
+    href="../mod/core.html#port"><samp>Port</samp></a>, <a
+    href="../mod/core.html#servername"><samp>ServerName</samp></a>,
+    <a
+    href="../mod/core.html#serverpath"><samp>ServerPath</samp></a>,
+    and <a
+    href="../mod/core.html#serveralias"><samp>ServerAlias</samp></a>
+    can appear anywhere within the definition of a server. However,
+    each appearance overrides the previous appearance (within that
+    server).</p>
+
+    <p>The default value of the <code>Port</code> field for
+    main_server is 80. The main_server has no default
+    <code>ServerName</code>, <code>ServerPath</code>, or
+    <code>ServerAlias</code>.</p>
+
+    <p>In the absence of any <a
+    href="../mod/core.html#listen"><samp>Listen</samp></a>
+    directives, the (final if there are multiple) <code>Port</code>
+    directive in the main_server indicates which port httpd will
+    listen on.</p>
+
+    <p>The <code>Port</code> and <code>ServerName</code> directives
+    for any server main or virtual are used when generating URLs
+    such as during redirects.</p>
+
+    <p>Each address appearing in the <code>VirtualHost</code>
+    directive can have an optional port. If the port is unspecified
+    it defaults to the value of the main_server's most recent
+    <code>Port</code> statement. The special port <samp>*</samp>
+    indicates a wildcard that matches any port. Collectively the
+    entire set of addresses (including multiple <samp>A</samp>
+    record results from DNS lookups) are called the vhost's
+    <em>address set</em>.</p>
+
+    <p>The magic <code>_default_</code> address has significance
+    during the matching algorithm. It essentially matches any
+    unspecified address.</p>
+
+    <p>After parsing the <code>VirtualHost</code> directive, the
+    vhost server is given a default <code>Port</code> equal to the
+    port assigned to the first name in its <code>VirtualHost</code>
+    directive. The complete list of names in the
+    <code>VirtualHost</code> directive are treated just like a
+    <code>ServerAlias</code> (but are not overridden by any
+    <code>ServerAlias</code> statement). Note that subsequent
+    <code>Port</code> statements for this vhost will not affect the
+    ports assigned in the address set.</p>
+
+    <p>All vhosts are stored in a list which is in the reverse
+    order that they appeared in the config file. For example, if
+    the config file is:</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost A&gt;
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost B&gt;
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost C&gt;
+    ...
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+    Then the list will be ordered: main_server, C, B, A. Keep this
+    in mind. 
+
+    <p>After parsing has completed, the list of servers is scanned,
+    and various merges and default values are set. In
+    particular:</p>
+
+    <ol>
+      <li>If a vhost has no <a
+      href="../mod/core.html#serveradmin"><code>ServerAdmin</code></a>,
+      <a
+      href="../mod/core.html#resourceconfig"><code>ResourceConfig</code></a>,
+      <a
+      href="../mod/core.html#accessconfig"><code>AccessConfig</code></a>,
+      <a href="../mod/core.html#timeout"><code>Timeout</code></a>,
+      <a
+      href="../mod/core.html#keepalivetimeout"><code>KeepAliveTimeout</code></a>,
+      <a
+      href="../mod/core.html#keepalive"><code>KeepAlive</code></a>,
+      <a
+      href="../mod/core.html#maxkeepaliverequests"><code>MaxKeepAliveRequests</code></a>,
+      or <a
+      href="../mod/core.html#sendbuffersize"><code>SendBufferSize</code></a>
+      directive then the respective value is inherited from the
+      main_server. (That is, inherited from whatever the final
+      setting of that value is in the main_server.)</li>
+
+      <li>The "lookup defaults" that define the default directory
+      permissions for a vhost are merged with those of the main
+      server. This includes any per-directory configuration
+      information for any module.</li>
+
+      <li>The per-server configs for each module from the
+      main_server are merged into the vhost server.</li>
+    </ol>
+    Essentially, the main_server is treated as "defaults" or a
+    "base" on which to build each vhost. But the positioning of
+    these main_server definitions in the config file is largely
+    irrelevant -- the entire config of the main_server has been
+    parsed when this final merging occurs. So even if a main_server
+    definition appears after a vhost definition it might affect the
+    vhost definition. 
+
+    <p>If the main_server has no <code>ServerName</code> at this
+    point, then the hostname of the machine that httpd is running
+    on is used instead. We will call the <em>main_server address
+    set</em> those IP addresses returned by a DNS lookup on the
+    <code>ServerName</code> of the main_server.</p>
+
+    <p>Now a pass is made through the vhosts to fill in any missing
+    <code>ServerName</code> fields and to classify the vhost as
+    either an <em>IP-based</em> vhost or a <em>name-based</em>
+    vhost. A vhost is considered a name-based vhost if any of its
+    address set overlaps the main_server (the port associated with
+    each address must match the main_server's <code>Port</code>).
+    Otherwise it is considered an IP-based vhost.</p>
+
+    <p>For any undefined <code>ServerName</code> fields, a
+    name-based vhost defaults to the address given first in the
+    <code>VirtualHost</code> statement defining the vhost. Any
+    vhost that includes the magic <samp>_default_</samp> wildcard
+    is given the same <code>ServerName</code> as the main_server.
+    Otherwise the vhost (which is necessarily an IP-based vhost) is
+    given a <code>ServerName</code> based on the result of a
+    reverse DNS lookup on the first address given in the
+    <code>VirtualHost</code> statement.</p>
+
+    <h3>Vhost Matching</h3>
+
+    <p><strong>Apache 1.3 differs from what is documented here, and
+    documentation still has to be written.</strong></p>
+
+    <p>The server determines which vhost to use for a request as
+    follows:</p>
+
+    <p><code>find_virtual_server</code>: When the connection is
+    first made by the client, the local IP address (the IP address
+    to which the client connected) is looked up in the server list.
+    A vhost is matched if it is an IP-based vhost, the IP address
+    matches and the port matches (taking into account
+    wildcards).</p>
+
+    <p>If no vhosts are matched then the last occurrence, if it
+    appears, of a <samp>_default_</samp> address (which if you
+    recall the ordering of the server list mentioned above means
+    that this would be the first occurrence of
+    <samp>_default_</samp> in the config file) is matched.</p>
+
+    <p>In any event, if nothing above has matched, then the
+    main_server is matched.</p>
+
+    <p>The vhost resulting from the above search is stored with
+    data about the connection. We'll call this the <em>connection
+    vhost</em>. The connection vhost is constant over all requests
+    in a particular TCP/IP session -- that is, over all requests in
+    a KeepAlive/persistent session.</p>
+
+    <p>For each request made on the connection the following
+    sequence of events further determines the actual vhost that
+    will be used to serve the request.</p>
+
+    <p><code>check_fulluri</code>: If the requestURI is an
+    absoluteURI, that is it includes <code>http://hostname/</code>,
+    then an attempt is made to determine if the hostname's address
+    (and optional port) match that of the connection vhost. If it
+    does then the hostname portion of the URI is saved as the
+    <em>request_hostname</em>. If it does not match, then the URI
+    remains untouched. <strong>Note</strong>: to achieve this
+    address comparison, the hostname supplied goes through a DNS
+    lookup unless it matches the <code>ServerName</code> or the
+    local IP address of the client's socket.</p>
+
+    <p><code>parse_uri</code>: If the URI begins with a protocol
+    (<em>i.e.</em>, <code>http:</code>, <code>ftp:</code>) then the
+    request is considered a proxy request. Note that even though we
+    may have stripped an <code>http://hostname/</code> in the
+    previous step, this could still be a proxy request.</p>
+
+    <p><code>read_request</code>: If the request does not have a
+    hostname from the earlier step, then any <code>Host:</code>
+    header sent by the client is used as the request hostname.</p>
+
+    <p><code>check_hostalias</code>: If the request now has a
+    hostname, then an attempt is made to match for this hostname.
+    The first step of this match is to compare any port, if one was
+    given in the request, against the <code>Port</code> field of
+    the connection vhost. If there's a mismatch then the vhost used
+    for the request is the connection vhost. (This is a bug, see
+    observations.)</p>
+
+    <p>If the port matches, then httpd scans the list of vhosts
+    starting with the next server <strong>after</strong> the
+    connection vhost. This scan does not stop if there are any
+    matches, it goes through all possible vhosts, and in the end
+    uses the last match it found. The comparisons performed are as
+    follows:</p>
+
+    <ul>
+      <li>Compare the request hostname:port with the vhost
+      <code>ServerName</code> and <code>Port</code>.</li>
+
+      <li>Compare the request hostname against any and all
+      addresses given in the <code>VirtualHost</code> directive for
+      this vhost.</li>
+
+      <li>Compare the request hostname against the
+      <code>ServerAlias</code> given for the vhost.</li>
+    </ul>
+
+    <p><code>check_serverpath</code>: If the request has no
+    hostname (back up a few paragraphs) then a scan similar to the
+    one in <code>check_hostalias</code> is performed to match any
+    <code>ServerPath</code> directives given in the vhosts. Note
+    that the <strong>last match</strong> is used regardless (again
+    consider the ordering of the virtual hosts).</p>
+
+    <h3>Observations</h3>
+
+    <ul>
+      <li>It is difficult to define an IP-based vhost for the
+      machine's "main IP address". You essentially have to create a
+      bogus <code>ServerName</code> for the main_server that does
+      not match the machine's IPs.</li>
+
+      <li>
+        During the scans in both <code>check_hostalias</code> and
+        <code>check_serverpath</code> no check is made that the
+        vhost being scanned is actually a name-based vhost. This
+        means, for example, that it's possible to match an IP-based
+        vhost through another address. But because the scan starts
+        in the vhost list at the first vhost that matched the local
+        IP address of the connection, not all IP-based vhosts can
+        be matched. 
+
+        <p>Consider the config file above with three vhosts A, B,
+        C. Suppose that B is a named-based vhost, and A and C are
+        IP-based vhosts. If a request comes in on B or C's address
+        containing a header "<samp>Host: A</samp>" then it will be
+        served from A's config. If a request comes in on A's
+        address then it will always be served from A's config
+        regardless of any Host: header.</p>
+      </li>
+
+      <li>
+        Unless you have a <samp>_default_</samp> vhost, it doesn't
+        matter if you mix name-based vhosts in amongst IP-based
+        vhosts. During the <code>find_virtual_server</code> phase
+        above no named-based vhost will be matched, so the
+        main_server will remain the connection vhost. Then scans
+        will cover all vhosts in the vhost list. 
+
+        <p>If you do have a <samp>_default_</samp> vhost, then you
+        cannot place named-based vhosts after it in the config.
+        This is because on any connection to the main server IPs
+        the connection vhost will always be the
+        <samp>_default_</samp> vhost since none of the name-based
+        are considered during <code>find_virtual_server</code>.</p>
+      </li>
+
+      <li>You should never specify DNS names in
+      <code>VirtualHost</code> directives because it will force
+      your server to rely on DNS to boot. Furthermore it poses a
+      security threat if you do not control the DNS for all the
+      domains listed. <a href="dns-caveats.html">There's more
+      information available on this and the next two
+      topics</a>.</li>
+
+      <li><code>ServerName</code> should always be set for each
+      vhost. Otherwise A DNS lookup is required for each
+      vhost.</li>
+
+      <li>A DNS lookup is always required for the main_server's
+      <code>ServerName</code> (or to generate that if it isn't
+      specified in the config).</li>
+
+      <li>If a <code>ServerPath</code> directive exists which is a
+      prefix of another <code>ServerPath</code> directive that
+      appears later in the configuration file, then the former will
+      always be matched and the latter will never be matched. (That
+      is assuming that no Host header was available to disambiguate
+      the two.)</li>
+
+      <li>If a vhost that would otherwise be a name-vhost includes
+      a <code>Port</code> statement that doesn't match the
+      main_server <code>Port</code> then it will be considered an
+      IP-based vhost. Then <code>find_virtual_server</code> will
+      match it (because the ports associated with each address in
+      the address set default to the port of the main_server) as
+      the connection vhost. Then <code>check_hostalias</code> will
+      refuse to check any other name-based vhost because of the
+      port mismatch. The result is that the vhost will steal all
+      hits going to the main_server address.</li>
+
+      <li>If two IP-based vhosts have an address in common, the
+      vhost appearing later in the file is always matched. Such a
+      thing might happen inadvertently. If the config has
+      name-based vhosts and for some reason the main_server
+      <code>ServerName</code> resolves to the wrong address then
+      all the name-based vhosts will be parsed as ip-based vhosts.
+      Then the last of them will steal all the hits.</li>
+
+      <li>The last name-based vhost in the config is always matched
+      for any hit which doesn't match one of the other name-based
+      vhosts.</li>
+    </ul>
+
+    <h3><a id="whatworks" name="whatworks">What Works</a></h3>
+
+    <p>In addition to the tips on the <a
+    href="../dns-caveats.html#tips">DNS Issues</a> page, here are some
+    further tips:</p>
+
+    <ul>
+      <li>Place all main_server definitions before any VirtualHost
+      definitions. (This is to aid the readability of the
+      configuration -- the post-config merging process makes it
+      non-obvious that definitions mixed in around virtualhosts
+      might affect all virtualhosts.)</li>
+
+      <li>Arrange your VirtualHosts such that all name-based
+      virtual hosts come first, followed by IP-based virtual hosts,
+      followed by any <samp>_default_</samp> virtual host</li>
+
+      <li>Avoid <code>ServerPaths</code> which are prefixes of
+      other <code>ServerPaths</code>. If you cannot avoid this then
+      you have to ensure that the longer (more specific) prefix
+      vhost appears earlier in the configuration file than the
+      shorter (less specific) prefix (<em>i.e.</em>, "ServerPath
+      /abc" should appear after "ServerPath /abcdef").</li>
+
+      <li>Do not use <em>port-based</em> vhosts in the same server
+      as name-based vhosts. A loose definition for port-based is a
+      vhost which is determined by the port on the server
+      (<em>i.e.</em>, one server with ports 8000, 8080, and 80 -
+      all of which have different configurations).</li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/examples.html b/htdocs/manual/vhosts/examples.html
new file mode 100644 (file)
index 0000000..a664f81
--- /dev/null
@@ -0,0 +1,696 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>VirtualHost Examples</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Virtual Host examples for common setups</h1>
+
+    <h2>Base configuration</h2>
+
+    <ul>
+      <li><a href="#purename">Simple name-based vhosting</a></li>
+
+      <li><a href="#name">More complicated name-based
+      vhosts</a></li>
+
+      <li><a href="#ip">IP-based vhosts</a></li>
+
+      <li><a href="#mixed">Mixed name-/IP-based vhosts</a></li>
+
+      <li><a href="#port">Port-based vhosts</a></li>
+    </ul>
+
+    <h2>Additional features</h2>
+
+    <ul>
+      <li><a href="#default">Using <code>_default_</code>
+      vhosts</a></li>
+
+      <li><a href="#migrate">Migrating a named-based vhost to an
+      IP-based vhost</a></li>
+
+      <li><a href="#serverpath">Using the <code>ServerPath</code>
+      directive</a></li>
+    </ul>
+    <hr />
+
+    <h3><a id="purename" name="purename">Simple name-based
+    vhosting</a></h3>
+
+    <ul>
+      <li><strong>Compatibility:</strong> This syntax was added in
+      Apache 1.3.13.</li>
+
+      <li>
+        <strong>Setup:</strong> The server machine has a primary
+        name <samp>server.domain.tld</samp>. There are two aliases
+        (CNAMEs) <samp>www.domain.tld</samp> and
+        <samp>www.sub.domain.tld</samp> for the address
+        <samp>server.domain.tld</samp>. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    ServerName server.domain.tld
+
+    NameVirtualHost *:80
+
+    &lt;VirtualHost *:80&gt;
+    DocumentRoot /www/domain
+    ServerName www.domain.tld
+    ...
+    &lt;/VirtualHost&gt;
+    
+    &lt;VirtualHost *:80&gt;
+    DocumentRoot /www/subdomain
+    ServerName www.sub.domain.tld
+    ...
+    &lt;/VirtualHost&gt; 
+   
+</pre>
+          The asterisks match all addresses, so the main server
+          serves no requests. Due to the fact that
+          <samp>www.domain.tld</samp> is first in the configuration
+          file, it has the highest priority and can be seen as the
+          <cite>default</cite> or <cite>primary</cite> server.
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="name" name="name">More complicated name-based
+    vhosts</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup 1:</strong> The server machine has one IP
+        address (<samp>111.22.33.44</samp>) which resolves to the
+        name <samp>server.domain.tld</samp>. There are two aliases
+        (CNAMEs) <samp>www.domain.tld</samp> and
+        <samp>www.sub.domain.tld</samp> for the address
+        <samp>111.22.33.44</samp>. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    ServerName server.domain.tld
+
+    NameVirtualHost 111.22.33.44 
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/domain
+    ServerName www.domain.tld
+    ...
+    &lt;/VirtualHost&gt;
+    
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/subdomain
+    ServerName www.sub.domain.tld
+    ...
+    &lt;/VirtualHost&gt; 
+   
+</pre>
+          Apart from <samp>localhost</samp> there are no
+          unspecified addresses/ports, therefore the main server
+          only serves <samp>localhost</samp> requests. Due to the
+          fact that <samp>www.domain.tld</samp> has the highest
+          priority it can be seen as the <cite>default</cite> or
+          <cite>primary</cite> server.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Setup 2:</strong> The server machine has two IP
+        addresses (<samp>111.22.33.44</samp> and
+        <samp>111.22.33.55</samp>) which resolve to the names
+        <samp>server1.domain.tld</samp> and
+        <samp>server2.domain.tld</samp> respectively. The alias
+        <samp>www.domain.tld</samp> should be used for the main
+        server which should also catch any unspecified addresses.
+        We want to use a virtual host for the alias
+        <samp>www.otherdomain.tld</samp> and another virtual host,
+        with server name <samp>www.sub.domain.tld</samp>, should
+        catch any request to hostnames of the form
+        <samp>*.sub.domain.tld</samp>. The address
+        <samp>111.22.33.55</samp> should be used for the virtual
+        hosts. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    ServerName www.domain.tld
+    DocumentRoot /www/domain
+
+    NameVirtualHost 111.22.33.55
+
+    &lt;VirtualHost 111.22.33.55&gt;
+    DocumentRoot /www/otherdomain
+    ServerName www.otherdomain.tld
+    ...
+    &lt;/VirtualHost&gt;
+   
+    &lt;VirtualHost 111.22.33.55&gt;
+    DocumentRoot /www/subdomain
+    ServerName www.sub.domain.tld
+    ServerAlias *.sub.domain.tld
+    ...
+    &lt;/VirtualHost&gt; 
+   
+</pre>
+          Any request to an address other than
+          <samp>111.22.33.55</samp> will be served from the main
+          server. A request to <samp>111.22.33.55</samp> with an
+          unknown or no <code>Host:</code> header will be served
+          from <samp>www.otherdomain.tld</samp>.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Setup 3:</strong> The server machine has two IP
+        addresses (<samp>192.168.1.1</samp> and
+        <samp>111.22.33.55</samp>). The machine is sitting between
+        an internal (intranet) network and an external (internet)
+        network. Outside of the network, the name
+        <samp>server1.domain.tld</samp> resolves to the external
+        address (<samp>111.22.33.55</samp>), but inside the
+        network, that same name resolves to the internal address
+        (<samp>192.168.1.1</samp>). 
+
+        <p>The server can be made to respond to internal and
+        external requests with the same content, with just one
+        <code>VirtualHost</code> section.</p>
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    NameVirtualHost 192.168.1.1
+    NameVirtualHost 111.22.33.55
+
+    &lt;VirtualHost 192.168.1.1 111.22.33.55&gt;
+    DocumentRoot /www/server1
+    ServerName server1.domain.tld
+    ServerAlias server1
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+        </blockquote>
+        Now requests from both networks will be served from the
+        same <code>VirtualHost</code>
+      </li>
+
+      <li>
+        <strong>Setup 4:</strong> You have multiple domains going
+        to the same IP and also want to serve multiple ports. By
+        defining the ports in the "NameVirtualHost" tag, you can
+        allow this to work. If you try using &lt;VirtualHost
+        name:port&gt; without the NameVirtualHost name:port or you
+        try to use the Port directive, your configuration will not
+        work. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...   
+    NameVirtualHost 111.22.33.44:80
+    NameVirtualHost 111.22.33.44:8080
+
+    &lt;VirtualHost 111.22.33.44:80&gt;
+    ServerName www.domain.tld
+    DocumentRoot /www/domain-80
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.44:8080&gt;
+    ServerName www.domain.tld
+    DocumentRoot /www/domain-8080
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.44:80&gt;
+    ServerName www.otherdomain.tld
+    DocumentRoot /www/otherdomain-80
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.44:8080&gt;
+    ServerName www.otherdomain.tld
+    DocumentRoot /www/otherdomain-8080
+    &lt;/VirtualHost&gt;
+
+   
+</pre>
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="ip" name="ip">IP-based vhosts</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup 1:</strong> The server machine has two IP
+        addresses (<samp>111.22.33.44</samp> and
+        <samp>111.22.33.55</samp>) which resolve to the names
+        <samp>server.domain.tld</samp> and
+        <samp>www.otherdomain.tld</samp> respectively. The hostname
+        <samp>www.domain.tld</samp> is an alias (CNAME) for
+        <samp>server.domain.tld</samp> and will represent the main
+        server. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    DocumentRoot /www/domain
+    ServerName www.domain.tld
+
+    &lt;VirtualHost 111.22.33.55&gt;
+    DocumentRoot /www/otherdomain
+    ServerName www.otherdomain.tld
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          <samp>www.otherdomain.tld</samp> can only be reached
+          through the address <samp>111.22.33.55</samp>, while
+          <samp>www.domain.tld</samp> can only be reached through
+          <samp>111.22.33.44</samp> (which represents our main
+          server).
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Setup 2:</strong> Same as setup 1, but we don't
+        want to have a dedicated main server. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    ServerName server.domain.tld
+    
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/domain
+    ServerName www.domain.tld
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.55&gt;
+    DocumentRoot /www/otherdomain
+    ServerName www.otherdomain.tld
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          The main server can never catch a request, because all IP
+          addresses of our machine are in use for IP-based virtual
+          hosts (only <samp>localhost</samp> requests can hit the
+          main server).
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Setup 3:</strong> The server machine has two IP
+        addresses (<samp>111.22.33.44</samp> and
+        <samp>111.22.33.55</samp>) which resolve to the names
+        <samp>server.domain.tld</samp> and
+        <samp>www-cache.domain.tld</samp> respectively. The
+        hostname <samp>www.domain.tld</samp> is an alias (CNAME)
+        for <samp>server.domain.tld</samp> and will represent the
+        main server. <samp>www-cache.domain.tld</samp> will become
+        our proxy-cache listening on port 8080, while the web
+        server itself uses the default port 80. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    Listen 111.22.33.44:80
+    Listen 111.22.33.55:8080
+    ServerName server.domain.tld
+    
+    &lt;VirtualHost 111.22.33.44:80&gt;
+    DocumentRoot /www/domain
+    ServerName www.domain.tld
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.55:8080&gt;
+    ServerName www-cache.domain.tld
+    ...
+      &lt;Directory proxy:&gt;
+      Order Deny,Allow
+      Deny from all
+      Allow from 111.22.33
+      &lt;/Directory&gt;
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          The main server can never catch a request, because all IP
+          addresses (apart from <samp>localhost</samp>) of our
+          machine are in use for IP-based virtual hosts. The web
+          server can only be reached on the first address through
+          port 80 and the proxy only on the second address through
+          port 8080.
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="mixed" name="mixed">Mixed name-/IP-based
+    vhosts</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup:</strong> The server machine has three IP
+        addresses (<samp>111.22.33.44</samp>,
+        <samp>111.22.33.55</samp> and <samp>111.22.33.66</samp>)
+        which resolve to the names <samp>server.domain.tld</samp>,
+        <samp>www.otherdomain1.tld</samp> and
+        <samp>www.otherdomain2.tld</samp> respectively. The address
+        <samp>111.22.33.44</samp> should be used for a couple of
+        name-based vhosts and the other addresses for IP-based
+        vhosts. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    ServerName server.domain.tld
+
+    NameVirtualHost 111.22.33.44
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/domain
+    ServerName www.domain.tld
+    ...
+    &lt;/VirtualHost&gt;
+   
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/subdomain1
+    ServerName www.sub1.domain.tld
+    ...
+    &lt;/VirtualHost&gt; 
+    
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/subdomain2
+    ServerName www.sub2.domain.tld
+    ...
+    &lt;/VirtualHost&gt; 
+    &lt;VirtualHost 111.22.33.55&gt;
+    DocumentRoot /www/otherdomain1
+    ServerName www.otherdomain1.tld
+    ...
+    &lt;/VirtualHost&gt; 
+    
+    &lt;VirtualHost 111.22.33.66&gt;
+    DocumentRoot /www/otherdomain2
+    ServerName www.otherdomain2.tld
+    ...
+    &lt;/VirtualHost&gt;     
+   
+</pre>
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="port" name="port">Port-based vhosts</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup:</strong> The server machine has one IP
+        address (<samp>111.22.33.44</samp>) which resolves to the
+        name <samp>www.domain.tld</samp>. If we don't have the
+        option to get another address or alias for our server we
+        can use port-based vhosts if we need a virtual host with a
+        different configuration. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Listen 80
+    Listen 8080
+    ServerName www.domain.tld
+    DocumentRoot /www/domain
+
+    &lt;VirtualHost 111.22.33.44:8080&gt;
+    DocumentRoot /www/domain2
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          A request to <samp>www.domain.tld</samp> on port 80 is
+          served from the main server and a request to port 8080 is
+          served from the virtual host.
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="default" name="default">Using <code>_default_</code>
+    vhosts</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup 1:</strong> Catching <em>every</em> request
+        to any unspecified IP address and port, <em>i.e.</em>, an
+        address/port combination that is not used for any other
+        virtual host. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    &lt;VirtualHost _default_:*&gt;
+    DocumentRoot /www/default
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          Using such a default vhost with a wildcard port
+          effectively prevents any request going to the main
+          server.<br />
+           A default vhost never serves a request that was sent to
+          an address/port that is used for name-based vhosts. If
+          the request contained an unknown or no <code>Host:</code>
+          header it is always served from the primary name-based
+          vhost (the vhost for that address/port appearing first in
+          the configuration file).<br />
+           You can use <a
+          href="../mod/mod_alias.html#aliasmatch"><code>AliasMatch</code></a>
+          or <a
+          href="../mod/mod_rewrite.html#RewriteRule"><code>RewriteRule</code></a>
+          to rewrite any request to a single information page (or
+          script).
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Setup 2:</strong> Same as setup 1, but the server
+        listens on several ports and we want to use a second
+        <code>_default_</code> vhost for port 80. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    &lt;VirtualHost _default_:80&gt;
+    DocumentRoot /www/default80
+    ...
+    &lt;/VirtualHost&gt;
+    
+    &lt;VirtualHost _default_:*&gt;
+    DocumentRoot /www/default
+    ...
+    &lt;/VirtualHost&gt;    
+   
+</pre>
+          The default vhost for port 80 (which <em>must</em> appear
+          before any default vhost with a wildcard port) catches
+          all requests that were sent to an unspecified IP address.
+          The main server is never used to serve a request.
+        </blockquote>
+      </li>
+
+      <li>
+        <strong>Setup 3:</strong> We want to have a default vhost
+        for port 80, but no other default vhosts. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    &lt;VirtualHost _default_:80&gt;
+    DocumentRoot /www/default
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          A request to an unspecified address on port 80 is served
+          from the default vhost any other request to an
+          unspecified address and port is served from the main
+          server.
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="migrate" name="migrate">Migrating a name-based vhost
+    to an IP-based vhost</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup:</strong> The name-based vhost with the
+        hostname <samp>www.otherdomain.tld</samp> (from our <a
+        href="#name">name-based</a> example, setup 2) should get
+        its own IP address. To avoid problems with name servers or
+        proxies who cached the old IP address for the name-based
+        vhost we want to provide both variants during a migration
+        phase.<br />
+         The solution is easy, because we can simply add the new IP
+        address (<samp>111.22.33.66</samp>) to the
+        <code>VirtualHost</code> directive. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    Port 80
+    ServerName www.domain.tld
+    DocumentRoot /www/domain
+
+    NameVirtualHost 111.22.33.55
+
+    &lt;VirtualHost 111.22.33.55 111.22.33.66&gt;
+    DocumentRoot /www/otherdomain
+    ServerName www.otherdomain.tld
+    ...
+    &lt;/VirtualHost&gt;
+   
+    &lt;VirtualHost 111.22.33.55&gt;
+    DocumentRoot /www/subdomain
+    ServerName www.sub.domain.tld
+    ServerAlias *.sub.domain.tld
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          The vhost can now be accessed through the new address (as
+          an IP-based vhost) and through the old address (as a
+          name-based vhost).
+        </blockquote>
+      </li>
+    </ul>
+    <hr />
+
+    <h3><a id="serverpath" name="serverpath">Using the
+    <code>ServerPath</code> directive</a></h3>
+
+    <ul>
+      <li>
+        <strong>Setup:</strong> We have a server with two
+        name-based vhosts. In order to match the correct virtual
+        host a client must send the correct <code>Host:</code>
+        header. Old HTTP/1.0 clients do not send such a header and
+        Apache has no clue what vhost the client tried to reach
+        (and serves the request from the primary vhost). To provide
+        as much backward compatibility as possible we create a
+        primary vhost which returns a single page containing links
+        with an URL prefix to the name-based virtual hosts. 
+
+        <p><strong>Server configuration:</strong></p>
+
+        <blockquote>
+<pre>
+    ...
+    NameVirtualHost 111.22.33.44
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    # primary vhost
+    DocumentRoot /www/subdomain
+    RewriteEngine On
+    RewriteRule ^/.* /www/subdomain/index.html
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/subdomain/sub1
+    ServerName www.sub1.domain.tld
+    ServerPath /sub1/
+    RewriteEngine On
+    RewriteRule ^(/sub1/.*) /www/subdomain$1 
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    DocumentRoot /www/subdomain/sub2
+    ServerName www.sub2.domain.tld
+    ServerPath /sub2/
+    RewriteEngine On
+    RewriteRule ^(/sub2/.*) /www/subdomain$1 
+    ...
+    &lt;/VirtualHost&gt;
+   
+</pre>
+          Due to the <a
+          href="../mod/core.html#serverpath"><code>ServerPath</code></a>
+          directive a request to the URL
+          <samp>http://www.sub1.domain.tld/sub1/</samp> is
+          <em>always</em> served from the sub1-vhost.<br />
+           A request to the URL
+          <samp>http://www.sub1.domain.tld/</samp> is only served
+          from the sub1-vhost if the client sent a correct
+          <code>Host:</code> header. If no <code>Host:</code>
+          header is sent the client gets the information page from
+          the primary host.<br />
+           Please note that there is one oddity: A request to
+          <samp>http://www.sub2.domain.tld/sub1/</samp> is also
+          served from the sub1-vhost if the client sent no
+          <code>Host:</code> header.<br />
+           The <code>RewriteRule</code> directives are used to make
+          sure that a client which sent a correct
+          <code>Host:</code> header can use both URL variants,
+          <em>i.e.</em>, with or without URL prefix.
+        </blockquote>
+      </li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/fd-limits.html.en b/htdocs/manual/vhosts/fd-limits.html.en
new file mode 100644 (file)
index 0000000..dc09fb2
--- /dev/null
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Virtual Host Support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">File Descriptor Limits</h1>
+
+    <p>When using a large number of Virtual Hosts, Apache may run
+    out of available file descriptors (sometimes called <cite>file
+    handles</cite> if each Virtual Host specifies different log
+    files. The total number of file descriptors used by Apache is
+    one for each distinct error log file, one for every other log
+    file directive, plus 10-20 for internal use. Unix operating
+    systems limit the number of file descriptors that may be used
+    by a process; the limit is typically 64, and may usually be
+    increased up to a large hard-limit.</p>
+
+    <p>Although Apache attempts to increase the limit as required,
+    this may not work if:</p>
+
+    <ol>
+      <li>Your system does not provide the setrlimit() system
+      call.</li>
+
+      <li>The setrlimit(RLIMIT_NOFILE) call does not function on
+      your system (such as Solaris 2.3)</li>
+
+      <li>The number of file descriptors required exceeds the hard
+      limit.</li>
+
+      <li>Your system imposes other limits on file descriptors,
+      such as a limit on stdio streams only using file descriptors
+      below 256. (Solaris 2)</li>
+    </ol>
+    In the event of problems you can: 
+
+    <ul>
+      <li>Reduce the number of log files; don't specify log files
+      in the VirtualHost sections, but only log to the main log
+      files.</li>
+
+      <li>
+        If you system falls into 1 or 2 (above), then increase the
+        file descriptor limit before starting Apache, using a
+        script like 
+
+        <blockquote>
+          <code>#!/bin/sh<br />
+           ulimit -S -n 100<br />
+           exec httpd</code>
+        </blockquote>
+      </li>
+    </ul>
+
+    <p>Please see the <a
+    href="../misc/descriptors.html">Descriptors and Apache</a>
+    document containing further details about file descriptor
+    problems and how they can be solved on your operating
+    system.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/fd-limits.html.html b/htdocs/manual/vhosts/fd-limits.html.html
new file mode 100644 (file)
index 0000000..1da692a
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="fd-limits.html.en" -->
+
diff --git a/htdocs/manual/vhosts/fd-limits.html.ja.jis b/htdocs/manual/vhosts/fd-limits.html.ja.jis
new file mode 100644 (file)
index 0000000..d6851d8
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B%5!<%P$N%P!<%A%c%k%[%9%H$N%5%]!<%H\e(B</title>
+    <!-- English revision: 1.4 -->
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">\e$B%U%!%$%k5-=R;R$N8B3&\e(B</h1>
+
+    <p>\e$B$?$/$5$s$N%P!<%A%c%k%[%9%H$r1?MQ$9$k>l9g!"$b$7!"\e(B
+    \e$B3F%P!<%A%c%k%[%9%H$4$H$K0[$J$k%m%0%U%!%$%k$,;XDj$7$F$"$k$H!"\e(B
+    Apache \e$B$,%U%!%$%k5-=R;R\e(B (<cite>\e$B%U%!%$%k%O%s%I%k\e(B</cite>\e$B$H$b8F$P$l$^$9\e(B)
+    \e$B$r;H$$@Z$C$F$7$^$&$3$H$,$"$j$^$9!#\e(BApache \e$B$,;HMQ$9$k%U%!%$%k\e(B
+    \e$B5-=R;R$N?t$O!"3F%(%i!<%m%0%U%!%$%k$K$D$-\e(B 1 \e$B$D!"B>$N%m%0%U%!%$%k$N\e(B
+    \e$B%G%#%l%/%F%#%V$K$D$-\e(B 1 \e$B$D!"$5$i$KFbIt$G;HMQ$9$k\e(B 10 \e$B$+$i\e(B 20\e$B!"\e(B
+    \e$B$N9g7W$K$J$j$^$9!#\e(BUnix \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$G$O%W%m%;%9$4$H$K\e(B
+    \e$B;HMQ2DG=$J%U%!%$%k5-=R;R$N?t$r@)8B$7$F$$$^$9!#$?$$$F$$$N>l9g$O\e(B 64 \e$B$G!"\e(B
+    \e$BIaDL$OBg$-$JCM$N%O!<%I%j%_%C%H$^$GA}$d$9$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>Apache \e$B$OI,MW$K1~$8$F>e8B$r3HBg$7$h$&$H;n$_$^$9$,!"\e(B
+    \e$B0J2<$N$h$&$J>l9g$K$O$&$^$/$$$+$J$$$+$b$7$l$^$;$s!#\e(B</p>
+
+    <ol>
+      <li>\e$BMxMQ$7$F$$$k%7%9%F%`$G\e(B setrlimit()
+      \e$B%7%9%F%`%3!<%k$,Ds6!$5$l$F$$$J$$!#\e(B</li>
+
+      <li>\e$B%7%9%F%`>e$G\e(B setrlimit(RLIMIT_NOFILE) \e$B$,F0:n$7$J$$\e(B
+      (\e$B$?$H$($P\e(B Solaris 2.3 \e$B$N$h$&$K\e(B)\e$B!#\e(B</li>
+
+      <li>\e$BMW5a$5$l$k%U%!%$%k5-=R;R$N?t$,\e(B
+      \e$B%O!<%I%j%_%C%H$rD6$($F$7$^$&!#\e(B</li>
+
+      <li>\e$B%7%9%F%`$K%U%!%$%k5-=R;R$K4X$7$FJL$N@)8B$,B8:_$7$F$7$^$C$F$$$k!#\e(B
+      \e$B$?$H$($P!"\e(Bstdio \e$B%9%H%j!<%`$G$O%U%!%$%k5-=R;R$r\e(B 256 \e$B0J>e;H$($J$$\e(B
+      (Solaris 2)\e$B!"$J$I!#\e(B</li>
+    </ol>
+    \e$BLdBj$,H/@8$7$?;~$K<h$jF@$kBP=hJ}K!$O<!$N$H$*$j\e(B:
+
+    <ul>
+      <li>\e$B%m%0%U%!%$%k$N?t$r8:$i$9!#\e(BVirtualHost
+      \e$B%;%/%7%g%s$G%m%0%U%!%$%k$r;XDj$;$:!"\e(B
+      \e$B%a%$%s$N%m%0%U%!%$%k$K$N$_5-O?$9$k!#\e(B</li>
+
+      <li>
+        \e$B$b$7!"A0=R$N\e(B 1 \e$B$^$?$O\e(B 2 \e$B$N>l9g$G$"$l$P!"\e(B
+        Apache \e$B$r5/F0$9$kA0$K%U%!%$%k5-=R;R$rA}$d$7$^$9!#\e(B
+        \e$B$?$H$($P<!$N$h$&$J%9%/%j%W%H$r;H$$$^$9!#\e(B
+
+        <blockquote>
+          <code>#!/bin/sh <br />
+           ulimit -S -n 100 <br />
+           exec httpd</code>
+        </blockquote>
+      </li>
+    </ul>
+
+    <p>\e$B%U%!%$%k5-=R;R$NLdBj$K$D$$$F$N>\:Y$d!"\e(B
+    \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$4$H$N2r7hJ}K!$K$D$$$F$O!V\e(B<a
+    href="../misc/descriptors.html">\e$B%U%!%$%k5-=R;R$H\e(B
+    Apache</a>\e$B!W$NJ8=q$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/vhosts/footer.html b/htdocs/manual/vhosts/footer.html
new file mode 100644 (file)
index 0000000..70ddfcc
--- /dev/null
@@ -0,0 +1,5 @@
+    <hr />
+
+    <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+    <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+    <a href="../"><img src="../images/home.gif" alt="Home" /></a>
diff --git a/htdocs/manual/vhosts/header.html b/htdocs/manual/vhosts/header.html
new file mode 100644 (file)
index 0000000..09a28d8
--- /dev/null
@@ -0,0 +1,5 @@
+    <div align="CENTER">
+      <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
+
+      <h3>Apache HTTP Server Version 1.3</h3>
+    </div>
diff --git a/htdocs/manual/vhosts/host.html b/htdocs/manual/vhosts/host.html
new file mode 100644 (file)
index 0000000..e25ad6c
--- /dev/null
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache non-IP Virtual Hosts</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache non-IP Virtual Hosts</h1>
+    <strong>See Also:</strong> <a href="virtual-host.html">Virtual
+    Host Support</a> 
+    <hr />
+
+    <h2>What is a Virtual Host</h2>
+
+    <p>The "Virtual Host" refers to the practice of maintaining
+    more than one server on one machine, as differentiated by their
+    apparent hostname. For example, it is often desirable for
+    companies sharing a web server to have their own domains, with
+    web servers accessible as <code>www.company1.com</code> and
+    <code>www.company2.com</code>, without requiring the user to
+    know any extra path information.</p>
+
+    <p>Apache was one of the first servers to support virtual hosts
+    right out of the box, but since the base <code>HTTP</code>
+    (HyperText Transport Protocol) standard does not allow any
+    method for the server to determine the hostname it is being
+    addressed as, Apache's virtual host support has required a
+    separate IP address for each server. Documentation on using
+    this approach (which still works very well) <a
+    href="virtual-host.html">is available</a>.</p>
+
+    <p>While the approach described above works, with the available
+    IP address space growing smaller, and the number of domains
+    increasing, it is not the most elegant solution, and is hard to
+    implement on some machines. The <code>HTTP/1.1</code> protocol
+    contains a method for the server to identify what name it is
+    being addressed as. Apache 1.1 and later support this approach
+    as well as the traditional IP-address-per-hostname method.</p>
+
+    <p>The benefits of using the new virtual host support is a
+    practically unlimited number of servers, ease of configuration
+    and use, and requires no additional hardware or software. The
+    main disadvantage is that the user's browser must support this
+    part of the protocol. The latest versions of many browsers
+    (including Netscape Navigator 2.0 and later) do, but many
+    browsers, especially older ones, do not. This can cause
+    problems, although a possible solution is addressed below.</p>
+
+    <h2>Using non-IP Virtual Hosts</h2>
+
+    <p>Using the new virtual hosts is quite easy, and superficially
+    looks like the old method. You simply add to one of the Apache
+    configuration files (most likely <code>httpd.conf</code> or
+    <code>srm.conf</code>) code similar to the following:</p>
+<pre>
+    &lt;VirtualHost www.apache.org&gt;
+    ServerName www.apache.org
+    DocumentRoot /usr/web/apache
+    &lt;/VirtualHost&gt;
+</pre>
+
+    <p>Of course, any additional directives can (and should) be
+    placed into the <code>&lt;VirtualHost&gt;</code> section. To
+    make this work, all that is needed is to make sure that the
+    <code>www.apache.org</code> DNS entry points to the same IP
+    address as the main server. Optionally, you could simply use
+    that IP address in the &lt;VirtualHost&gt; entry.</p>
+
+    <p>Additionally, many servers may wish to be accessible by more
+    than one name. For example, the Apache server might want to be
+    accessible as <code>apache.org</code>, or
+    <code>ftp.apache.org</code>, assuming the IP addresses pointed
+    to the same server. In fact, one might want it so that all
+    addresses at <code>apache.org</code> were picked up by the
+    server. This is possible with the <code>ServerAlias</code>
+    directive, placed inside the &lt;VirtualHost&gt; section. For
+    example:</p>
+<pre>
+    ServerAlias apache.org *.apache.org
+</pre>
+
+    <p>Note that you can use <code>*</code> and <code>?</code> as
+    wild-card characters.</p>
+
+    <p>You also might need ServerAlias if you are serving local
+    users who do not always include the domain name. For example,
+    if local users are familiar with typing "www" or "www.physics"
+    then you will need to add <code>ServerAlias www
+    www.physics</code>. It isn't possible for the server to know
+    what domain the client uses for their name resolution because
+    the client doesn't provide that information in the request.</p>
+
+    <h2>Security Considerations</h2>
+    Apache allows all virtual hosts to be made accessible via the
+    <code>Host:</code> header through all IP interfaces, even those
+    which are configured to use different IP interfaces. For
+    example, if the configuration for <code>www.foo.com</code>
+    contained a virtual host section for <code>www.bar.com</code>,
+    and <code>www.bar.com</code> was a separate IP interface, such
+    that non-<code>Host:</code>-header-supporting browsers can use
+    it, as before with Apache 1.0. If a request is made to
+    <code>www.foo.com</code> and the request includes the header
+    <code>Host: www.bar.com</code>, a page from
+    <code>www.bar.com</code> will be sent. 
+
+    <p>This is a security concern if you are controlling access to
+    a particular server based on IP-layer controls, such as from
+    within a firewall or router. Let's say <code>www.bar.com</code>
+    in the above example was instead an intra-net server called
+    <code>private.foo.com</code>, and the router used by foo.com
+    only let internal users access <code>private.foo.com</code>.
+    Obviously, <code>Host:</code> header functionality now allows
+    someone who has access to <code>www.foo.com</code> to get
+    <code>private.foo.com</code>, if they send a <code>Host:
+    private.foo.com</code> header. It is important to note that
+    this condition exists only if you only implement this policy at
+    the IP layer - all security controls used by Apache
+    (<em>i.e.</em>, <a href="../mod/mod_access.html">Allow, Deny
+    from,</a> <em>etc.</em>) are consistently respected.</p>
+
+    <h2>Compatibility with Older Browsers</h2>
+
+    <p>As mentioned earlier, a majority of browsers do not send the
+    required data for the new virtual hosts to work properly. These
+    browsers will always be sent to the main server's pages. There
+    is a workaround, albeit a slightly cumbersome one:</p>
+
+    <p>To continue the <code>www.apache.org</code> example (Note:
+    Apache's web server does not actually function in this manner),
+    we might use the new <code>ServerPath</code> directive in the
+    <code>www.apache.org</code> virtual host, for example:</p>
+<pre>
+    ServerPath /apache
+</pre>
+
+    <p>What does this mean? It means that a request for any file
+    beginning with "<code>/apache</code>" will be looked for in the
+    Apache docs. This means that the pages can be accessed as
+    <code>http://www.apache.org/apache/</code> for all browsers,
+    although new browsers can also access it as
+    <code>http://www.apache.org/</code>.</p>
+
+    <p>In order to make this work, put a link on your main server's
+    page to <code>http://www.apache.org/apache/</code> (Note: Do
+    not use <code>http://www.apache.org/</code> - this would create
+    an endless loop). Then, in the virtual host's pages, be sure to
+    use either purely relative links (<em>e.g.</em>,
+    "<code>file.html</code>" or "<code>../icons/image.gif</code>"
+    or links containing the prefacing <code>/apache/</code>
+    (<em>e.g.</em>,
+    "<code>http://www.apache.org/apache/file.html</code>" or
+    "<code>/apache/docs/1.1/index.html</code>").</p>
+
+    <p>This requires a bit of discipline, but adherence to these
+    guidelines will, for the most part, ensure that your pages will
+    work with all browsers, new and old. When a new browser
+    contacts <code>http://www.apache.org/</code>, they will be
+    directly taken to the Apache pages. Older browsers will be able
+    to click on the link from the main server, go to
+    <code>http://www.apache.org/apache/</code>, and then access the
+    pages.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/index.html.en b/htdocs/manual/vhosts/index.html.en
new file mode 100644 (file)
index 0000000..469eba7
--- /dev/null
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Virtual Host documentation</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache Virtual Host documentation</h1>
+
+    <p>The term <cite>Virtual Host</cite> refers to the practice of
+    maintaining more than one server on one machine, as
+    differentiated by their apparent hostname. For example, it is
+    often desirable for companies sharing a web server to have
+    their own domains, with web servers accessible as
+    <samp>www.company1.com</samp> and
+    <samp>www.company2.com</samp>, without requiring the user to
+    know any extra path information.</p>
+
+    <p>Apache was one of the first servers to support IP-based
+    virtual hosts right out of the box. Versions 1.1 and later of
+    Apache support both, IP-based and name-based virtual hosts
+    (vhosts). The latter variant of virtual hosts is sometimes also
+    called host-based or non-IP virtual hosts.</p>
+
+    <p>Below is a list of documentation pages which explain all
+    details of virtual host support in Apache version 1.3 and
+    later.</p>
+    <hr />
+
+    <h2>Virtual Host Support</h2>
+
+    <ul>
+      <li><a href="name-based.html">Name-based Virtual
+      Hosts</a></li>
+
+      <li><a href="ip-based.html">IP-based Virtual Hosts</a></li>
+
+      <li><a href="examples.html">Virtual Host examples for common
+      setups</a></li>
+
+      <li><a href="details.html">In-Depth Discussion of Virtual
+      Host Matching</a></li>
+
+      <li><a href="fd-limits.html">File Descriptor Limits</a></li>
+
+      <li><a href="mass.html">Dynamically Configured Mass Virtual
+      Hosting</a></li>
+    </ul>
+
+    <h2>Configuration directives</h2>
+
+    <ul>
+      <li><a
+      href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+      <li><a
+      href="../mod/core.html#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="../mod/core.html#servername">ServerName</a></li>
+
+      <li><a
+      href="../mod/core.html#serveralias">ServerAlias</a></li>
+
+      <li><a href="../mod/core.html#serverpath">ServerPath</a></li>
+    </ul>
+
+    <p>Folks trying to debug their virtual host configuration may
+    find the Apache <code>-S</code> command line switch useful. It
+    will dump out a description of how Apache parsed the
+    configuration file. Careful examination of the IP addresses and
+    server names may help uncover configuration mistakes. 
+    <!--#include virtual="footer.html" -->
+    </p>
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/index.html.html b/htdocs/manual/vhosts/index.html.html
new file mode 100644 (file)
index 0000000..f271091
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="index.html.en" -->
+
diff --git a/htdocs/manual/vhosts/index.html.ja.jis b/htdocs/manual/vhosts/index.html.ja.jis
new file mode 100644 (file)
index 0000000..6e4e206
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Apache \e$B%P!<%A%c%k%[%9%H@bL@=q\e(B</title>
+    <!-- English revision: 1.8 -->
+  </head>
+
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Apache \e$B%P!<%A%c%k%[%9%H@bL@=q\e(B</h1>
+
+    <p><cite>\e$B%P!<%A%c%k%[%9%H\e(B</cite>\e$B$H$$$&MQ8l$O!"\e(B1 \e$BBf$N%^%7%s>e$G\e(B
+    \e$B0l$D0J>e$N%5!<%P$r!"\e(B
+    \e$B$=$l$>$lJL$N0c$&%[%9%HL>$G8+$;$k1?MQJ}K!$N$3$H$r;X$7$^$9!#\e(B
+    \e$B$?$H$($P!"0l$D$N%5!<%P$r6&M-$9$kJ#?t$N2q<R$,!"\e(B
+    \e$B%f!<%6$KM>7W$J%Q%9L>$rMW5a$;$:$K!"\e(B<samp>www.company1.com</samp>
+    \e$B$d\e(B <samp>www.company2.com</samp> \e$B$H$$$C$?$=$l$>$l$K8GM-$N\e(B
+    \e$B%I%a%$%sL>$G%&%'%V%5!<%P$K%"%/%;%9$G$-$k$h$&$K$7$?$$!"\e(B
+    \e$B$H$$$C$?$3$H$O$7$P$7$P$"$j$^$9!#\e(B</p>
+
+    <p>Apache \e$B$O!"FC$K<j$rF~$l$J$$>uBV$G\e(B IP \e$B%Y!<%9$N%P!<%A%c%k%[%9%H\e(B
+    \e$B$r%5%]!<%H$7$?:G=i$N%5!<%P$N0l$D$G$9!#%P!<%8%g%s\e(B 1.1 \e$B0J9_$N\e(B Apache
+    \e$B$G$O!"\e(BIP \e$B%Y!<%9$H%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$NN>J}$r%5%]!<%H\e(B
+    \e$B$7$F$$$^$9!#%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$O!"%[%9%H%Y!<%9$"$k$$$OHs\e(B
+    IP \e$B%Y!<%9$N%P!<%A%c%k%[%9%H$H8F$P$l$k$3$H$b$"$j$^$9!#\e(B</p>
+
+    <p>\e$B0J2<$N%Z!<%8$G$O!"\e(BApache \e$B%P!<%8%g%s\e(B 1.3
+    \e$B0J9_$G$N%P!<%A%c%k%[%9%H$N%5%]!<%H$K$D$$$F$N>\:Y$r@bL@$7$^$9!#\e(B</p>
+
+    <hr />
+
+    <h2>\e$B%P!<%A%c%k%[%9%H$N%5%]!<%H\e(B</h2>
+
+    <ul>
+      <li><a
+     href="name-based.html">\e$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</a></li>
+
+      <li><a href="ip-based.html">IP \e$B%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</a></li>
+
+      <li><a
+     href="examples.html">\e$B%P!<%A%c%k%[%9%H$N0lHLE*$J@_DjNc\e(B</a></li>
+
+      <li><a
+     href="details.html">\e$B%P!<%A%c%k%[%9%H$N%^%C%A%s%0$K$D$$$F$N>\:Y\e(B</a></li>
+
+      <li><a href="fd-limits.html">\e$B%U%!%$%k5-=R;R$N8B3&\e(B</a></li>
+
+      <li><a
+     href="mass.html">\e$BBgNL$N%P!<%A%c%k%[%9%H$NF0E*$J@_Dj\e(B</a></li>
+    </ul>
+
+    <h2>\e$B@_Dj%G%#%l%/%F%#%V\e(B</h2>
+
+    <ul>
+      <li><a
+      href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+      <li><a
+      href="../mod/core.html#namevirtualhost">NameVirtualHost</a></li>
+
+      <li><a href="../mod/core.html#servername">ServerName</a></li>
+
+      <li><a href="../mod/core.html#serveralias">ServerAlias</a></li>
+
+      <li><a href="../mod/core.html#serverpath">ServerPath</a></li>
+    </ul>
+
+
+    <p>\e$B%P!<%A%c%k%[%9%H$N@_Dj$N%G%P%C%0$r$9$k$K$O\e(B
+    Apache \e$B$N%3%^%s%I%i%$%s%9%$%C%A\e(B <code>-S</code> \e$B$,JXMx$G$9!#\e(B
+    Apache \e$B$,@_Dj%U%!%$%k$r$I$&2r@O$7$?$+$K$D$$$F=PNO$7$^$9!#\e(B
+    IP \e$B%"%I%l%9$H%5!<%PL>$rCm0U?<$/D4$Y$l$P!"\e(B
+    \e$B@_Dj$N4V0c$$$r8+$D$1$k=u$1$K$J$k$G$7$g$&!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/vhosts/ip-based.html b/htdocs/manual/vhosts/ip-based.html
new file mode 100644 (file)
index 0000000..17491e8
--- /dev/null
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache IP-based Virtual Host Support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Apache IP-based Virtual Host Support</h1>
+    <strong>See also:</strong> <a href="name-based.html">Name-based
+    Virtual Hosts Support</a> 
+    <hr />
+
+    <h2>System requirements</h2>
+    As the term <cite>IP-based</cite> indicates, the server
+    <strong>must have a different IP address for each IP-based
+    virtual host</strong>. This can be achieved by the machine
+    having several physical network connections, or by use of
+    virtual interfaces which are supported by most modern operating
+    systems (see system documentation for details, these are
+    frequently called "ip aliases", and the "ifconfig" command is
+    most commonly used to set them up). 
+
+    <h2>How to set up Apache</h2>
+    There are two ways of configuring apache to support multiple
+    hosts. Either by running a separate httpd daemon for each
+    hostname, or by running a single daemon which supports all the
+    virtual hosts. 
+
+    <p>Use multiple daemons when:</p>
+
+    <ul>
+      <li>There are security partitioning issues, such as company1
+      does not want anyone at company2 to be able to read their
+      data except via the web. In this case you would need two
+      daemons, each running with different <a
+      href="../mod/core.html#user">User</a>, <a
+      href="../mod/core.html#group">Group</a>, <a
+      href="../mod/core.html#listen">Listen</a>, and <a
+      href="../mod/core.html#serverroot">ServerRoot</a>
+      settings.</li>
+
+      <li>You can afford the memory and <a
+      href="../misc/descriptors.html">file descriptor
+      requirements</a> of listening to every IP alias on the
+      machine. It's only possible to <a
+      href="../mod/core.html#listen">Listen</a> to the "wildcard"
+      address, or to specific addresses. So if you have a need to
+      listen to a specific address for whatever reason, then you
+      will need to listen to all specific addresses. (Although one
+      httpd could listen to N-1 of the addresses, and another could
+      listen to the remaining address.)</li>
+    </ul>
+    Use a single daemon when: 
+
+    <ul>
+      <li>Sharing of the httpd configuration between virtual hosts
+      is acceptable.</li>
+
+      <li>The machine services a large number of requests, and so
+      the performance loss in running separate daemons may be
+      significant.</li>
+    </ul>
+
+    <h2>Setting up multiple daemons</h2>
+    Create a separate httpd installation for each virtual host. For
+    each installation, use the <a
+    href="../mod/core.html#listen">Listen</a> directive in the
+    configuration file to select which IP address (or virtual host)
+    that daemon services. e.g. 
+<pre>
+    Listen www.smallco.com:80
+</pre>
+    It is recommended that you use an IP address instead of a
+    hostname (see <a href="../dns-caveats.html">DNS caveats</a>). 
+
+    <h2>Setting up a single daemon with virtual hosts</h2>
+    For this case, a single httpd will service requests for the
+    main server and all the virtual hosts. The <a
+    href="../mod/core.html#virtualhost">VirtualHost</a> directive
+    in the configuration file is used to set the values of <a
+    href="../mod/core.html#serveradmin">ServerAdmin</a>, <a
+    href="../mod/core.html#servername">ServerName</a>, <a
+    href="../mod/core.html#documentroot">DocumentRoot</a>, <a
+    href="../mod/core.html#errorlog">ErrorLog</a> and <a
+    href="../mod/mod_log_config.html#transferlog">TransferLog</a>
+    or <a href="../mod/mod_log_config.html#customlog">CustomLog</a>
+    configuration directives to different values for each virtual
+    host. e.g. 
+<pre>
+    &lt;VirtualHost www.smallco.com&gt;
+    ServerAdmin webmaster@mail.smallco.com
+    DocumentRoot /groups/smallco/www
+    ServerName www.smallco.com
+    ErrorLog /groups/smallco/logs/error_log
+    TransferLog /groups/smallco/logs/access_log
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost www.baygroup.org&gt;
+    ServerAdmin webmaster@mail.baygroup.org
+    DocumentRoot /groups/baygroup/www
+    ServerName www.baygroup.org
+    ErrorLog /groups/baygroup/logs/error_log
+    TransferLog /groups/baygroup/logs/access_log
+    &lt;/VirtualHost&gt;
+</pre>
+    It is recommended that you use an IP address instead of a
+    hostname (see <a href="../dns-caveats.html">DNS caveats</a>). 
+
+    <p>Almost <strong>any</strong> configuration directive can be
+    put in the VirtualHost directive, with the exception of
+    directives that control process creation and a few other
+    directives. To find out if a directive can be used in the
+    VirtualHost directive, check the <a
+    href="../mod/directive-dict.html#Context">Context</a> using the
+    <a href="../mod/directives.html">directive index</a>.</p>
+
+    <p><a href="../mod/core.html#user">User</a> and <a
+    href="../mod/core.html#group">Group</a> may be used inside a
+    VirtualHost directive if the <a href="../suexec.html">suEXEC
+    wrapper</a> is used.</p>
+
+    <p><em>SECURITY:</em> When specifying where to write log files,
+    be aware of some security risks which are present if anyone
+    other than the user that starts Apache has write access to the
+    directory where they are written. See the <a
+    href="../misc/security_tips.html">security tips</a> document
+    for details.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/mass.html b/htdocs/manual/vhosts/mass.html
new file mode 100644 (file)
index 0000000..eb46f3d
--- /dev/null
@@ -0,0 +1,442 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Dynamically configured mass virtual hosting</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Dynamically configured mass virtual
+    hosting</h1>
+
+    <p>This document describes how to efficiently serve an
+    arbitrary number of virtual hosts with Apache 1.3. <!--
+
+                Written by Tony Finch (fanf@demon.net) (dot@dotat.at).
+
+                Some examples were derived from Ralf S. Engleschall's document
+                    http://www.engelschall.com/pw/apache/rewriteguide/
+
+                Some suggestions were made by Brian Behlendorf.
+
+                -->
+    </p>
+
+    <h2><a id="contents" name="contents">Contents:</a></h2>
+
+    <ul>
+      <li><a href="#motivation">Motivation</a></li>
+
+      <li><a href="#overview">Overview</a></li>
+
+      <li><a href="#simple">Simple dynamic virtual hosts</a></li>
+
+      <li><a href="#homepages">A virtually hosted homepages
+      system</a></li>
+
+      <li><a href="#combinations">Using more than one virtual
+      hosting system on the same server</a></li>
+
+      <li><a href="#ipbased">More efficient IP-based virtual
+      hosting</a></li>
+
+      <li><a href="#oldversion">Using older versions of
+      Apache</a></li>
+
+      <li><a href="#simple.rewrite">Simple dynamic virtual hosts
+      using <code>mod_rewrite</code></a></li>
+
+      <li><a href="#homepages.rewrite">A homepages system using
+      <code>mod_rewrite</code></a></li>
+
+      <li><a href="#xtra-conf">Using a separate virtual host
+      configuration file</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="motivation" name="motivation">Motivation</a></h2>
+
+    <p>The techniques described here are of interest if your
+    <code>httpd.conf</code> contains many
+    <code>&lt;VirtualHost&gt;</code> sections that are
+    substantially the same, for example:</p>
+<pre>
+NameVirtualHost 111.22.33.44
+&lt;VirtualHost 111.22.33.44&gt;
+    ServerName                 www.customer-1.com
+    DocumentRoot        /www/hosts/www.customer-1.com/docs
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-1.com/cgi-bin
+&lt;/VirtualHost&gt;
+&lt;VirtualHost 111.22.33.44&gt;
+    ServerName                 www.customer-2.com
+    DocumentRoot        /www/hosts/www.customer-2.com/docs
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-2.com/cgi-bin
+&lt;/VirtualHost&gt;
+# blah blah blah
+&lt;VirtualHost 111.22.33.44&gt;
+    ServerName                 www.customer-N.com
+    DocumentRoot        /www/hosts/www.customer-N.com/docs
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-N.com/cgi-bin
+&lt;/VirtualHost&gt;
+</pre>
+    <br />
+     <br />
+     
+
+    <p>The basic idea is to replace all of the static
+    <code>&lt;VirtualHost&gt;</code> configuration with a mechanism
+    that works it out dynamically. This has a number of
+    advantages:</p>
+
+    <ol>
+      <li>Your configuration file is smaller so Apache starts
+      faster and uses less memory.</li>
+
+      <li>Adding virtual hosts is simply a matter of creating the
+      appropriate directories in the filesystem and entries in the
+      DNS - you don't need to reconfigure or restart Apache.</li>
+    </ol>
+    <br />
+     <br />
+     
+
+    <p>The main disadvantage is that you cannot have a different
+    log file for each virtual host; however if you have very many
+    virtual hosts then doing this is dubious anyway because it eats
+    file descriptors. It is better to log to a pipe or a fifo and
+    arrange for the process at the other end to distribute the logs
+    to the customers (it can also accumulate statistics, etc.).</p>
+    <hr />
+
+    <h2><a id="overview" name="overview">Overview</a></h2>
+
+    <p>A virtual host is defined by two pieces of information: its
+    IP address, and the contents of the <code>Host:</code> header
+    in the HTTP request. The dynamic mass virtual hosting technique
+    is based on automatically inserting this information into the
+    pathname of the file that is used to satisfy the request. This
+    is done most easily using <a
+    href="../mod/mod_vhost_alias.html"><code>mod_vhost_alias</code></a>,
+    but if you are using a version of Apache up to 1.3.6 then you
+    must use <a
+    href="../mod/mod_rewrite.html"><code>mod_rewrite</code></a>.
+    Both of these modules are disabled by default; you must enable
+    one of them when configuring and building Apache if you want to
+    use this technique.</p>
+
+    <p>A couple of things need to be `faked' to make the dynamic
+    virtual host look like a normal one. The most important is the
+    server name which is used by Apache to generate
+    self-referential URLs, etc. It is configured with the
+    <code>ServerName</code> directive, and it is available to CGIs
+    via the <code>SERVER_NAME</code> environment variable. The
+    actual value used at run time is controlled by the <a
+    href="../mod/core.html#usecanonicalname"><code>UseCanonicalName</code></a>
+    setting. With <code>UseCanonicalName Off</code> the server name
+    comes from the contents of the <code>Host:</code> header in the
+    request. With <code>UseCanonicalName DNS</code> it comes from a
+    reverse DNS lookup of the virtual host's IP address. The former
+    setting is used for name-based dynamic virtual hosting, and the
+    latter is used for IP-based hosting. If Apache cannot work out
+    the server name because there is no <code>Host:</code> header
+    or the DNS lookup fails then the value configured with
+    <code>ServerName</code> is used instead.</p>
+
+    <p>The other thing to `fake' is the document root (configured
+    with <code>DocumentRoot</code> and available to CGIs via the
+    <code>DOCUMENT_ROOT</code> environment variable). In a normal
+    configuration this setting is used by the core module when
+    mapping URIs to filenames, but when the server is configured to
+    do dynamic virtual hosting that job is taken over by another
+    module (either <code>mod_vhost_alias</code> or
+    <code>mod_rewrite</code>) which has a different way of doing
+    the mapping. Neither of these modules is responsible for
+    setting the <code>DOCUMENT_ROOT</code> environment variable so
+    if any CGIs or SSI documents make use of it they will get a
+    misleading value.</p>
+    <hr />
+
+    <h2><a id="simple" name="simple">Simple dynamic virtual
+    hosts</a></h2>
+
+    <p>This extract from <code>httpd.conf</code> implements the
+    virtual host arrangement outlined in the <a
+    href="#motivation">Motivation</a> section above, but in a
+    generic fashion using <code>mod_vhost_alias</code>.</p>
+<pre>
+# get the server name from the Host: header
+UseCanonicalName Off
+
+# this log format can be split per-virtual-host based on the first field
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# include the server name in the filenames used to satisfy requests
+VirtualDocumentRoot /www/hosts/%0/docs
+VirtualScriptAlias  /www/hosts/%0/cgi-bin
+</pre>
+
+    <p>This configuration can be changed into an IP-based virtual
+    hosting solution by just turning <code>UseCanonicalName
+    Off</code> into <code>UseCanonicalName DNS</code>. The server
+    name that is inserted into the filename is then derived from
+    the IP address of the virtual host.</p>
+    <hr />
+
+    <h2><a id="homepages" name="homepages">A virtually hosted
+    homepages system</a></h2>
+
+    <p>This is an adjustment of the above system tailored for an
+    ISP's homepages server. Using a slightly more complicated
+    configuration we can select substrings of the server name to
+    use in the filename so that e.g. the documents for
+    <samp>www.user.isp.com</samp> are found in
+    <code>/home/user/</code>. It uses a single <code>cgi-bin</code>
+    directory instead of one per virtual host.</p>
+<pre>
+# all the preliminary stuff is the same as above, then
+
+# include part of the server name in the filenames
+VirtualDocumentRoot /www/hosts/%2/docs
+
+# single cgi-bin directory
+ScriptAlias  /cgi-bin/  /www/std-cgi/
+</pre>
+
+    <p>There are examples of more complicated
+    <code>VirtualDocumentRoot</code> settings in <a
+    href="../mod/mod_vhost_alias.html">the
+    <code>mod_vhost_alias</code> documentation</a>.</p>
+    <hr />
+
+    <h2><a id="combinations" name="combinations">Using more than
+    one virtual hosting system on the same server</a></h2>
+
+    <p>With more complicated setups you can use Apache's normal
+    <code>&lt;VirtualHost&gt;</code> directives to control the
+    scope of the various virtual hosting configurations. For
+    example, you could have one IP address for homepages customers
+    and another for commercial customers with the following setup.
+    This can of course be combined with conventional
+    <code>&lt;VirtualHost&gt;</code> configuration sections.</p>
+<pre>
+UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+
+&lt;Directory /www/commercial&gt;
+    Options FollowSymLinks
+    AllowOverride All
+&lt;/Directory&gt;
+
+&lt;Directory /www/homepages&gt;
+    Options FollowSymLinks
+    AllowOverride None
+&lt;/Directory&gt;
+
+&lt;VirtualHost 111.22.33.44&gt;
+    ServerName www.commercial.isp.com
+
+    CustomLog logs/access_log.commercial vcommon
+
+    VirtualDocumentRoot /www/commercial/%0/docs
+    VirtualScriptAlias  /www/commercial/%0/cgi-bin
+&lt;/VirtualHost&gt;
+
+&lt;VirtualHost 111.22.33.45&gt;
+    ServerName www.homepages.isp.com
+
+    CustomLog logs/access_log.homepages vcommon
+
+    VirtualDocumentRoot /www/homepages/%0/docs
+    ScriptAlias         /cgi-bin/ /www/std-cgi/
+&lt;/VirtualHost&gt;
+</pre>
+    <hr />
+
+    <h2><a id="ipbased" name="ipbased">More efficient IP-based
+    virtual hosting</a></h2>
+
+    <p>After <a href="#simple">the first example</a> I noted that
+    it is easy to turn it into an IP-based virtual hosting setup.
+    Unfortunately that configuration is not very efficient because
+    it requires a DNS lookup for every request. This can be avoided
+    by laying out the filesystem according to the IP addresses
+    themselves rather than the corresponding names and changing the
+    logging similarly. Apache will then usually not need to work
+    out the server name and so incur a DNS lookup.</p>
+<pre>
+# get the server name from the reverse DNS of the IP address
+UseCanonicalName DNS
+
+# include the IP address in the logs so they may be split
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# include the IP address in the filenames
+VirtualDocumentRootIP /www/hosts/%0/docs
+VirtualScriptAliasIP  /www/hosts/%0/cgi-bin
+</pre>
+    <hr />
+
+    <h2><a id="oldversion" name="oldversion">Using older versions
+    of Apache</a></h2>
+
+    <p>The examples above rely on <code>mod_vhost_alias</code>
+    which appeared after version 1.3.6. If you are using a version
+    of Apache without <code>mod_vhost_alias</code> then you can
+    implement this technique with <code>mod_rewrite</code> as
+    illustrated below, but only for Host:-header-based virtual
+    hosts.</p>
+
+    <p>In addition there are some things to beware of with logging.
+    Apache 1.3.6 is the first version to include the
+    <code>%V</code> log format directive; in versions 1.3.0 - 1.3.3
+    the <code>%v</code> option did what <code>%V</code> does;
+    version 1.3.4 has no equivalent. In all these versions of
+    Apache the <code>UseCanonicalName</code> directive can appear
+    in <code>.htaccess</code> files which means that customers can
+    cause the wrong thing to be logged. Therefore the best thing to
+    do is use the <code>%{Host}i</code> directive which logs the
+    <code>Host:</code> header directly; note that this may include
+    <code>:port</code> on the end which is not the case for
+    <code>%V</code>.</p>
+    <hr />
+
+    <h2><a id="simple.rewrite" name="simple.rewrite">Simple dynamic
+    virtual hosts using <code>mod_rewrite</code></a></h2>
+
+    <p>This extract from <code>httpd.conf</code> does the same
+    thing as <a href="#simple">the first example</a>. The first
+    half is very similar to the corresponding part above but with
+    some changes for backward compatibility and to make the
+    <code>mod_rewrite</code> part work properly; the second half
+    configures <code>mod_rewrite</code> to do the actual work.</p>
+
+    <p>There are a couple of especially tricky bits: By default,
+    <code>mod_rewrite</code> runs before the other URI translation
+    modules (<code>mod_alias</code> etc.) so if they are used then
+    <code>mod_rewrite</code> must be configured to accommodate
+    them. Also, mome magic must be performed to do a
+    per-dynamic-virtual-host equivalent of
+    <code>ScriptAlias</code>.</p>
+<pre>
+# get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+&lt;Directory /www/hosts&gt;
+    # ExecCGI is needed here because we can't force
+    # CGI execution in the way that ScriptAlias does
+    Options FollowSymLinks ExecCGI
+&lt;/Directory&gt;
+
+# now for the hard bit
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap  lowercase  int:tolower
+
+## deal with normal documents first:
+# allow Alias /icons/ to work - repeat for other aliases
+RewriteCond  %{REQUEST_URI}  !^/icons/
+# allow CGIs to work
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/
+# do the magic
+RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+
+## and now deal with CGIs - we have to force a MIME type
+RewriteCond  %{REQUEST_URI}  ^/cgi-bin/
+RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1  [T=application/x-httpd-cgi]
+
+# that's it!
+</pre>
+    <hr />
+
+    <h2><a id="homepages.rewrite" name="homepages.rewrite">A
+    homepages system using <code>mod_rewrite</code></a></h2>
+
+    <p>This does the same thing as <a href="#homepages">the second
+    example</a>.</p>
+<pre>
+RewriteEngine on
+
+RewriteMap   lowercase  int:tolower
+
+# allow CGIs to work
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/
+
+# check the hostname is right so that the RewriteRule works
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^www\.[a-z-]+\.isp\.com$
+
+# concatenate the virtual host name onto the start of the URI
+# the [C] means do the next rewrite on the result of this one
+RewriteRule  ^(.+)  ${lowercase:%{SERVER_NAME}}$1  [C]
+
+# now create the real file name
+RewriteRule  ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2
+
+# define the global CGI directory
+ScriptAlias  /cgi-bin/  /www/std-cgi/
+</pre>
+    <hr />
+
+    <h2><a id="xtra-conf" name="xtra-conf">Using a separate virtual
+    host configuration file</a></h2>
+
+    <p>This arrangement uses more advanced <code>mod_rewrite</code>
+    features to get the translation from virtual host to document
+    root from a separate configuration file. This provides more
+    flexibility but requires more complicated configuration.</p>
+
+    <p>The <code>vhost.map</code> file contains something like
+    this:</p>
+<pre>
+www.customer-1.com  /www/customers/1
+www.customer-2.com  /www/customers/2
+# ...
+www.customer-N.com  /www/customers/N
+</pre>
+    <br />
+     <br />
+     
+
+    <p>The <code>http.conf</code> contains this:</p>
+<pre>
+RewriteEngine on
+
+RewriteMap   lowercase  int:tolower
+
+# define the map file
+RewriteMap   vhost      txt:/www/conf/vhost.map
+
+# deal with aliases as above
+RewriteCond  %{REQUEST_URI}               !^/icons/
+RewriteCond  %{REQUEST_URI}               !^/cgi-bin/
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$
+# this does the file-based remap
+RewriteCond  ${vhost:%1}                  ^(/.*)$
+RewriteRule  ^/(.*)$                      %1/docs/$1
+
+RewriteCond  %{REQUEST_URI}               ^/cgi-bin/
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$
+RewriteCond  ${vhost:%1}                  ^(/.*)$
+RewriteRule  ^/(.*)$                      %1/cgi-bin/$1
+</pre>
+    <br />
+     <br />
+     <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/name-based.html.en b/htdocs/manual/vhosts/name-based.html.en
new file mode 100644 (file)
index 0000000..a2de981
--- /dev/null
@@ -0,0 +1,240 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Name-based Virtual Hosts</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Name-based Virtual Host Support</h1>
+
+<p>This document describes when and how to use name-based virtual hosts.</p>
+
+<ul>
+<li><a href="#namevip">Name-based vs. IP-based Virtual Hosts</a></li>
+<li><a href="#using">Using Name-based Virtual Hosts</a></li>
+<li><a href="#compat">Compatibility With Older Browsers</a></li>
+</ul>
+
+<p>See also: <a href="examples.html">Virtual Host examples for common
+setups</a>, <a href="ip-based.html">IP-based Virtual Host Support</a>,
+<a href="details.html">An In-Depth Discussion of Virtual Host
+Matching</a>, and <a href="mass.html">Dynamically configured mass
+virtual hosting</a>.</p>
+
+<hr />
+
+<h2><a name="namevip">Name-based vs. IP-based Virtual Hosts</a></h2>
+
+<p>IP-based virtual hosts use the IP address of the connection to
+determine the correct virtual host to serve.  Therefore you need to
+have a separate IP address for each host.  With name-based virtual
+hosting, the server relies on the client to report the hostname as
+part of the HTTP headers.  Using this technique, many different hosts
+can share the same IP address.</p>
+
+<p>Name-based virtual hosting is usually simpler, since you need
+only configure your DNS server to map each hostname to the correct
+IP address and then configure the Apache HTTP Server to recognize
+the different hostnames.  Name-based virtual hosting also eases
+the demand for scarce IP addresses.  Therefore you should use
+name-based virtual hosting unless there is a specific reason to
+choose IP-based virtual hosting.  Some reasons why you might consider
+using IP-based virtual hosting:</p>
+
+<ul> 
+
+<li>Some ancient clients are not compatible with name-based virtual
+hosting.  For name-based virtual hosting to work, the client must send
+the HTTP Host header.  This is required by HTTP/1.1, and is
+implemented by all modern HTTP/1.0 browsers as an extension.  If you
+need to support obsolete clients and still use name-based virtual
+hosting, a possible technique is discussed at the end of this
+document.</li>
+
+<li>Name-based virtual hosting cannot be used with SSL secure servers
+because of the nature of the SSL protocol.</li>
+
+<li>Some operating systems and network equipment implement bandwidth
+management techniques that cannot differentiate between hosts unless
+they are on separate IP addresses.</li>
+
+</ul>
+
+<h2><a name="using">Using Name-based Virtual Hosts</a></h2>
+
+<table border="1">
+<tr><td align="top">
+<strong>Related Directives</strong><br><br>
+
+<a href="../mod/core.html#documentroot">DocumentRoot</a><br />
+<a href="../mod/core.html#namevirtualhost">NameVirtualHost</a><br />
+<a href="../mod/core.html#serveralias">ServerAlias</a><br />
+<a href="../mod/core.html#servername">ServerName</a><br />
+<a href="../mod/core.html#serverpath">ServerPath</a><br />
+<a href="../mod/core.html#virtualhost">VirtualHost</a><br />
+</td></tr></table>
+
+<p>To use name-based virtual hosting, you must designate the IP
+address (and possibly port) on the server that will be accepting
+requests for the hosts.  This is configured using the <a
+href="../mod/core.html#namevirtualhost">NameVirtualHost</a> directive.
+In the normal case where any and all IP addresses on the server should
+be used, you can use <code>*</code> as the argument to
+<code>NameVirtualHost</code>.  (<code>NameVirtualHost *</code> will
+work only in version 1.3.13 and later.)  Note that mentioning an IP
+address in a <code>NameVirtualHost</code> directive does not
+automatically make the server listen to that IP address.  See <a
+href="../bind.html">Setting which addresses and ports Apache uses</a>
+for more details.  In addition, any IP address specified here must be
+associated with a network interface on the server.</p>
+
+<p>The next step is to create a <a
+href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a> block for
+each different host that you would like to serve.  The argument to the
+<code>&lt;VirtualHost&gt;</code> directive should be the same as the
+argument to the <code>NameVirtualHost</code> directive (ie, an IP
+address, or <code>*</code> for all addresses).  Inside each
+<code>&lt;VirtualHost&gt;</code> block, you will need at minimum a <a
+href="../mod/core.html#servername">ServerName</a> directive to
+designate which host is served and a <a
+href="../mod/core.html#documentroot">DocumentRoot</a> directive to
+show where in the filesystem the content for that host lives.</p>
+
+<p>If you are adding virtual hosts to an existing web server, you
+must also create a &lt;VirtualHost&gt; block for the existing host.
+The <code>ServerName</code> and <code>DocumentRoot</code> included in
+this virtual host should be the same as the global
+<code>ServerName</code> and <code>DocumentRoot</code>.  List this
+virtual host first in the configuration file so that it will act as
+the default host.</p>
+
+<p>For example, suppose that you are serving the domain
+<samp>www.domain.tld</samp> and you wish to add the virtual host
+<samp>www.otherdomain.tld</samp>, which points at the same IP address.
+Then you simply add the following to <code>httpd.conf</code>:</p>
+<pre>
+    NameVirtualHost *
+
+    &lt;VirtualHost *&gt;
+    ServerName www.domain.tld
+    DocumentRoot /www/domain
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost *&gt;
+    ServerName www.otherdomain.tld
+    DocumentRoot /www/otherdomain
+    &lt;/VirtualHost&gt;
+</pre>
+
+<p>You can alternatively specify an explicit IP address in place of
+the * in both the <code>NameVirtualHost</code> and
+<code>&lt;VirtualHost&gt;</code> directives.  The IP address is
+required in version 1.3.12 and earlier.</p>
+
+<p>Many servers want to be accessible by more than one name.  This is
+possible with the <a
+href="../mod/core.html#serveralias"><code>ServerAlias</code></a>
+directive, placed inside the &lt;VirtualHost&gt; section. For
+example if you add this to the first &lt;VirtualHost&gt; block
+above</p> 
+
+<blockquote><code> 
+ServerAlias domain.tld *.domain.tld
+</code></blockquote>
+
+<p>then requests for all hosts in the <code>domain.tld</code> domain
+will be served by the <code>www.domain.tld</code> virtual host.  The
+wildcard characters * and ? can be used to match names.  Of course,
+you can't just make up names and place them in <code>ServerName</code>
+or <code>ServerAlias</code>.  You must first have your DNS server
+properly configured to map those names to an IP address associated
+with your server.</p>
+
+<p>Finally, you can fine-tune the configuration of the virtual hosts
+by placing other directives inside the
+<code>&lt;VirtualHost&gt;</code> containers.  Most directives can be
+placed in these containers and will then change the configuration only
+of the relevant virtual host.  To find out if a particular directive
+is allowed, check the <a
+href="../mod/directive-dict.html#Context">Context</a> of the
+directive.  Configuration directives set in the <em>main server
+context</em> (outside any <code>&lt;VirtualHost&gt;</code> container)
+will be used only if they are not overriden by the virtual host
+settings.</p>
+
+<p>Now when a request arrives, the server will first check if it is
+using an IP address that matches the <code>NameVirtualHost</code>.  If
+it is, then it will look at each <code>&lt;VirtualHost&gt;</code>
+section with a matching IP address and try to find one where the
+<code>ServerName</code> or <code>ServerAlias</code> matches the
+requested hostname.  If it finds one, then it uses the configuration
+for that server.  If no matching virtual host is found, then
+<strong>the first listed virtual host</strong> that matches the IP
+address will be used.</p>
+
+<p>As a consequence, the first listed virtual host is the
+<em>default</em> virtual host.  The <code>DocumentRoot</code> from the
+<em>main server</em> will <strong>never</strong> be used when an IP
+address matches the <code>NameVirtualHost</code> directive.  If you
+would like to have a special configuration for requests that do not
+match any particular virtual host, simply put that configuration in a
+<code>&lt;VirtualHost&gt;</code> container and list it first in the
+configuration file.</p>
+
+<h2><a name="compat">Compatibility with Older Browsers</a></h2>
+
+    <p>As mentioned earlier, there are some clients 
+    who do not send the required data for the name-based virtual
+    hosts to work properly. These clients will always be sent the
+    pages from the first virtual host listed for that IP address
+    (the <cite>primary</cite> name-based virtual host).</p>
+
+    <p>There is a possible workaround with the <a
+    href="../mod/core.html#serverpath"><code>ServerPath</code></a>
+    directive, albeit a slightly cumbersome one:</p>
+
+    <p>Example configuration:</p>
+<pre>
+    NameVirtualHost 111.22.33.44
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    ServerName www.domain.tld
+    ServerPath /domain
+    DocumentRoot /web/domain
+    &lt;/VirtualHost&gt;
+</pre>
+
+    <p>What does this mean? It means that a request for any URI
+    beginning with "<samp>/domain</samp>" will be served from the
+    virtual host <samp>www.domain.tld</samp> This means that the
+    pages can be accessed as
+    <code>http://www.domain.tld/domain/</code> for all clients,
+    although clients sending a <samp>Host:</samp> header can also
+    access it as <code>http://www.domain.tld/</code>.</p>
+
+    <p>In order to make this work, put a link on your primary
+    virtual host's page to
+    <samp>http://www.domain.tld/domain/</samp> Then, in the virtual
+    host's pages, be sure to use either purely relative links
+    (<em>e.g.</em>, "<samp>file.html</samp>" or
+    "<samp>../icons/image.gif</samp>" or links containing the
+    prefacing <samp>/domain/</samp> (<em>e.g.</em>,
+    "<samp>http://www.domain.tld/domain/misc/file.html</samp>" or
+    "<samp>/domain/misc/file.html</samp>").</p>
+
+    <p>This requires a bit of discipline, but adherence to these
+    guidelines will, for the most part, ensure that your pages will
+    work with all browsers, new and old.</p>
+
+    <p>See also: <a href="examples.html#serverpath">ServerPath
+    configuration example</a></p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/name-based.html.html b/htdocs/manual/vhosts/name-based.html.html
new file mode 100644 (file)
index 0000000..91ea0bf
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="name-based.html.en" -->
+
diff --git a/htdocs/manual/vhosts/name-based.html.ja.jis b/htdocs/manual/vhosts/name-based.html.ja.jis
new file mode 100644 (file)
index 0000000..a0eaa53
--- /dev/null
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+    <title>\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H\e(B</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.21 -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <p>\e$B$3$NJ8=q$G$OL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$r$I$s$J$H$-!"\e(B
+    \e$B$^$?$I$&$d$C$F;H$&$N$+$H$$$&$3$H$r@bL@$7$^$9!#\e(B</p>
+
+    <ul>
+      <li><a href="#namevip">\e$BL>A0%Y!<%9\e(B \e$B$H\e(B IP-based
+      \e$B$N%P!<%A%c%k%[%9%H$NHf3S\e(B</a></li>
+
+      <li><a href="#using">\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$rMxMQ$9$k\e(B</a></li>
+
+      <li><a href="#compat">\e$B8E$$%V%i%&%6$H$N8_49@-\e(B</a></li>
+    </ul>
+
+    <p>\e$B;29M\e(B: <a href="examples.html">\e$BI8=`E*$J%;%C%H%"%C%W$G$N\e(B
+    \e$B%P!<%A%c%k%[%9%H$NNc\e(B</a>\e$B!"\e(B <a href="ip-based.html">IP \e$B%Y!<%9$N\e(B
+    \e$B%P!<%A%c%k%[%9%H$N%5%]!<%H\e(B</a>\e$B!"\e(B <a href="details.html">
+    \e$B%P!<%A%c%k%[%9%H$N%^%C%A%s%0$N6qBNE*$J>\:Y\e(B</a> \e$B$H\e(B <a
+    href="mass.html">\e$BBgNL$N%P!<%A%c%k%[%9%H$rF0E*$K@_Dj$9$k\e(B</a>
+    </p>
+    <hr />
+
+    <h2><a id="namevip" name="namevip"
+    >\e$BL>A0%Y!<%9$H\e(B IP \e$B%Y!<%9$N%P!<%A%c%k%[%9%H$NHf3S\e(B</a></h2>
+
+    <p>\e$B=i4|$N%P!<%8%g%s$N\e(B HTTP \e$B$G$O\e(B (\e$BB>$NB?$/$N%W%m%H%3%k!"Nc$($P\e(B FTP
+    \e$B$HF1MM\e(B) \e$B0l$D$N%5!<%P>e$G$N%P!<%A%c%k%[%9%H$4$H$K0[$J$C$?\e(B IP
+    \e$B%"%I%l%9$,I,MW$G$7$?!#$$$/$D$+$N%W%i%C%H%U%)!<%`$G$O!"$3$N$3$H$,\e(B
+    \e$B<B9T2DG=$J%P!<%A%c%k%[%9%H$N?t$r8BDj$7$F$7$^$&$3$H$K$J$j$^$7$?!#$^$?!"\e(B
+    IP \e$B%"%I%l%9$N?t$K$O8B$j$,$"$k$H$$$&$3$H$K$D$$$F$N7|G0$+$i!"%l%8%9%H%i\e(B
+    (ARIN, RIPE, APNIC) \e$B$O%P!<%A%c%k%[%9%H$4$H$K\e(B
+    IP \e$B$r3d$jEv$F$k$h$&$J$3$H$OHr$1$k$h$&6/$/MW@A$7$F$$$^$9!#\e(B</p>
+
+    <p>\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$ODL>oC1=c$G!"\e(B
+    \e$B$=$l$>$l$N%[%9%HL>$H$=$l$KBP1~$9$k@53N$J\e(B IP \e$B%"%I%l%9$r\e(B DNS
+    \e$B$G@_Dj$7!"0[$J$k%[%9%HL>$r6hJL=PMh$k$h$&$K\e(B Apache HTTP
+    \e$B%5!<%P$r@_Dj$9$k$@$1$G$9!#$5$i$K!"L>A0%Y!<%9$N%P!<%A%c%k%[%9%H$OITB-$9$k\e(B
+    IP \e$B%"%I%l%9$N<{MW$r4KOB$7$^$9!#$7$?$,$C$F!"\e(BIP
+    \e$B%Y!<%9$N%P!<%A%c%k%[%9%H$rA*Br$9$Y$-FCDj$NM}M3$,$J$1$l$PL>A0%Y!<%9$N\e(B
+    \e$B%P!<%A%c%k%[%9%H$r;H$&$Y$-$G$9!#\e(B
+    IP \e$B%Y!<%9$N%P!<%A%c%k%[%9%H$r;HMQ$9$k$3$H$r9MN8$9$kM}M3$H$7$F!"\e(B</p>
+
+    <ul> 
+      <li>\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$KBP1~$7$F$$$J$$8E$$%/%i%$%"%s%H$,$"$k\e(B
+      \e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$,F/$/$?$a$K$O!"%/%i%$%"%s%H$O\e(B
+      HTTP \e$B%[%9%H%X%C%@$rAw$C$F$3$J$1$l$P$J$j$^$;$s!#\e(B
+      \e$B$3$l$O\e(B HTTP/1.1 \e$B$N;EMM$GMW5a$5$l$F$$$F!"$9$Y$F$N8=BeE*$J\e(B
+      HTTP/1.0 \e$B%V%i%&%6$G$b3HD%$H$7$F<BAu$5$l$F$$$^$9!#\e(B
+      \e$B$H$F$b8E$$%/%i%$%"%s%H$r%5%]!<%H$7$D$D!"L>A0%Y!<%9$N\e(B
+      \e$B%P!<%A%c%k%[%9%H$r9T$$$?$$>l9g$O!"$3$NJ8=q$N:G8e$NJ}$K\e(B
+      \e$B=q$+$l$F$$$k2r7h:v$K$J$k$+$b$7$l$J$$J}K!$r8+$F$/$@$5$$!#\e(B</li>
+
+      <li>\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$O\e(B SSL \e$B%W%m%H%3%k$NFCD'$K$h$j!"\e(B
+      SSL \e$B%;%-%e%"%5!<%P$K$O;H$($^$;$s!#\e(B</li>
+
+      <li>\e$B%*%Z%l!<%F%#%s%0%7%9%F%`$d%M%C%H%o!<%/AuCV$N$J$+$K$O!"JL$N\e(B IP
+      \e$B%"%I%l%9>e$G$J$$>l9g!"J#?t$N%[%9%H$rJL07$$$G$-$J$$$h$&$J\e(B
+      \e$BBS0h4IM}$NJ}K!$r<BAu$7$F$$$k$b$N$,$"$j$^$9!#\e(B</li>
+    </ul>
+
+    <h2><a id="using"
+    name="using">\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$rMxMQ$9$k\e(B</a></h2>
+
+    <table border="1">
+      <tr>
+        <td align="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+         <br />
+         <a href="../mod/core.html#documentroot">DocumentRoot</a><br />
+         <a
+         href="../mod/core.html#namevirtualhost">NameVirtualHost</a><br />
+         <a href="../mod/core.html#serveralias">ServerAlias</a><br />
+         <a href="../mod/core.html#servername">ServerName</a><br />
+         <a href="../mod/core.html#serverpath">ServerPath</a><br />
+         <a href="../mod/core.html#virtualhost">VirtualHost</a><br />
+        </td>
+      </tr>
+    </table>
+
+    <p>\e$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$r;H$&$K$O!"$=$N%[%9%H$X$N\e(B
+    \e$B%j%/%(%9%H$r<u$1IU$1$k%5!<%P$N\e(B IP \e$B%"%I%l%9\e(B (\e$B$b$7$+$7$?$i%]!<%H$b\e(B)
+    \e$B$r;XDj$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$B$3$l$O\e(B <a href="../mod/core.html#namevirtualhost">NameVirtualHost</a>
+    \e$B%G%#%l%/%F%#%V$G@_Dj$7$^$9!#DL>o!"\e(B<code>NameVirtualHost</code> \e$B$G\e(B
+    <code>*</code> \e$B$NB0@-$r;H$C$F%5!<%P$N$9$Y$F$N\e(B IP \e$B%"%I%l%9$r;H$$$^$9!#\e(B
+    (<code>NameVirtualHost *</code> \e$B$O%P!<%8%g%s\e(B 1.3.13 \e$B0J9_$N$_$GF0:n$7$^$9!#\e(B)
+    <code>NameVirtualHost</code> \e$B%G%#%l%/%F%#%V$G\e(B IP \e$B%"%I%l%9$r=q$$$F$b!"\e(B
+    \e$B<+F0E*$K%5!<%P$,$=$N\e(B IP \e$B%"%I%l%9$r%j%C%9%s$9$k$H$$$&$3$H$O$J$$$3$H$K\e(B
+    \e$BCm0U$7$F$/$@$5$$!#>\:Y$O\e(B <a href="../bind.html">Apache \e$B$N;H$&%"%I%l%9$H\e(B
+    \e$B%]!<%H$r@_Dj$9$k\e(B</a> \e$B$rFI$s$G$/$@$5$$!#$5$i$K!"$3$3$G;XDj$5$l$?\e(B
+    IP \e$B%"%I%l%9$O$9$Y$F%5!<%P$N%M%C%H%o!<%/%$%s%?!<%U%'!<%9$H4XO"IU$1$i$l$F\e(B
+    \e$B$$$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>\e$B<!$O!"07$$$?$$$=$l$>$l$N%[%9%H$KBP$7$F\e(B <a
+    href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a>
+    \e$B%V%m%C%/$r:n@.$7$F$/$@$5$$!#\e(B<code>&lt;VirtualHost&gt;</code>
+    \e$B%G%#%l%/%F%#%V$N0z?t$O\e(B <code>NameVirtualHost</code>
+    \e$B%G%#%l%/%F%#%V$N0z?t$HF1$8$K$7$F$/$@$5$$\e(B (\e$B$9$J$o$A!"\e(BIP
+    \e$B%"%I%l%90l$D$d$9$Y$F$N%"%I%l%9$rI=$9\e(B <code>*</code>)\e$B!#$=$l$>$l$N\e(B
+    <code>&lt;VirtualHost&gt;</code> \e$B%G%#%l%/%F%#%V$NCf$K$O!":GDc8B!"\e(B
+    \e$B$I$N%[%9%H$,07$o$l$k$+$r<($9\e(B <a
+    href="../mod/core.html#servername">ServerName</a> \e$B%G%#%l%/%F%#%V$H!"\e(B
+    \e$B$=$N%[%9%HMQ$N%3%s%F%s%D$,%U%!%$%k%7%9%F%`>e$N$I$3$K$"$k$+$r<($9\e(B
+    <a href="../mod/core.html#documentroot">DocumentRoot</a>
+    \e$B%G%#%l%/%F%#%V$r=q$/I,MW$,$"$j$^$9!#\e(B</p>
+
+    <p>\e$B4{$KB8:_$9$k%&%'%V%5!<%P$K%P!<%A%c%k%[%9%H$rDI2C$9$k>l9g!"\e(B
+    \e$BB8:_$9$k%[%9%HMQ$N\e(B &lt;VirtualHost&gt; \e$B%V%m%C%/$r:n$i$J$1$l$P$J$j$^$;$s!#\e(B
+    <code>ServerName</code> \e$B$H\e(B <code>DocumentRoot</code>
+    \e$B$O$3$N%P!<%A%c%k%[%9%H$b4^$a$F!"$=$l$>$l%0%m!<%P%k$J\e(B
+    <code>ServerName</code> \e$B5Z$S\e(B <code>DocumentRoot</code>
+    \e$B$HF1$8$b$N$K$9$k$Y$-$G$9!#@_Dj%U%!%$%kCf$G:G=i$K5-=R$7$?\e(B
+    \e$B$3$N%P!<%A%c%k%[%9%H$O\e(B
+    \e$B%G%U%)%k%H$N%P!<%A%c%k%[%9%H$H$7$F$b?6$kIq$$$^$9!#\e(B
+    </p>
+    <p>\e$BNc$($P!"%I%a%$%s\e(B <samp>www.domain.tld</samp> \e$B$r1?MQ$7$F$$$k$H$3$m$K\e(B
+    \e$B%P!<%A%c%k%[%9%H\e(B <samp>www.otherdomain.tld</samp> \e$B$rDI2C$9$k>l9g$G!"\e(B
+    \e$BN>J}$,F1$8\e(B IP \e$B%"%I%l%9$r;X$7$F$$$k$H$7$^$9!#$=$N$h$&$J>l9g$O!"\e(B
+    <code>httpd.conf</code> \e$B$K0J2<$N$h$&$J%3!<%I$rDI2C$9$k$@$1$G$9\e(B</p>
+<pre>
+    NameVirtualHost *
+
+    &lt;VirtualHost *&gt;
+    ServerName www.domain.tld
+    DocumentRoot /www/domain
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost *&gt;
+    ServerName www.otherdomain.tld
+    DocumentRoot /www/otherdomain
+    &lt;/VirtualHost&gt;
+</pre>
+
+    <p><code>NameVirtualHost</code> \e$B5Z$S\e(B
+    <code>&lt;VirtualHost&gt;</code> \e$B$N$I$A$i$N>l9g$b!"\e(B
+    * \e$B$NItJ,$K$OL@<(E*$K\e(B IP \e$B%"%I%l%9$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+    \e$B%P!<%8%g%s\e(B 1.3.12 \e$B0JA0$G$O\e(B IP \e$B%"%I%l%9$N;XDj$,I,MW$G$7$?!#\e(B</p>
+
+    <p>\e$BJ#?t$NL>A0$G%5!<%P%"%/%;%9$,$G$-$k$h$&$K$7$?$$$3$H$bB?$$$G$7$g$&!#\e(B
+    \e$B$3$N$h$&$J$3$H$O!"\e(B<a href="../mod/core.html#serveralias"
+    ><code>ServerAlias</code></a> \e$B%G%#%l%/%F%#%V$r\e(B &lt;VirtualHost&gt;
+    \e$B%;%/%7%g%s$K5-=R$9$k$3$H$G<B8=$G$-$^$9!#\e(B
+    \e$BNc$($P$3$l$r:G=i$N\e(B &lt;VirtualHost&gt; \e$B%V%m%C%/$K=q$-2C$($k$H!"\e(B</p> 
+<pre>
+    ServerAlias domain.tld *.domain.tld
+</pre>
+
+    <p><code>domain.tld</code> \e$B%I%a%$%s$X$N$9$Y$F$N%[%9%H$X$N%j%/%(%9%H$O\e(B
+    <code>www.domain.tld</code> \e$B$N%P!<%A%c%k%[%9%H$,=hM}$7$^$9!#\e(B
+    * \e$B$d\e(B ? \e$B$r%o%$%k%I%+!<%IJ8;z$H$7$F;HMQ$G$-$^$9$,!"EvA3$J$,$i$=$l$@$1$G\e(B
+    <code>ServerName</code> \e$B$d\e(B <code>ServerAlias</code>
+    \e$B$NL>A0$d>l=j$r9=@.$9$k$3$H$O$G$-$^$;$s!#$^$::G=i$K\e(B DNS \e$B$N%[%9%HL>$H\e(B
+    IP \e$B%"%I%l%9$r%5!<%P$K$"$o$;$FE,@Z$K@_Dj$9$k;v$,I,MW$G$9\e(B</p>
+
+    <p>\e$B:G8e$K!"\e(B<code>&lt;VirtualHost&gt;</code> \e$B%3%s%F%J$NCf$K\e(B
+    \e$BB>$N%G%#%l%/%F%#%V$r=q$/$3$H$G!"%P!<%A%c%k%[%9%H$N@_Dj$r:Y$+$/JQ99\e(B
+    \e$B$9$k$3$H$,$G$-$^$9!#$I$N%G%#%l%/%F%#%V$r=q$/$3$H$,$G$-$k$+$O!"\e(B
+    \e$B%G%#%l%/%F%#%V$N\e(B <a
+    href="../mod/directive-dict.html#context">\e$B%3%s%F%-%9%H\e(B</a> \e$B$r\e(B
+    \e$BD4$Y$F$/$@$5$$!#\e(B<em>\e$B<g%5!<%P%3%s%F%-%9%H\e(B</em>
+    (<code>&lt;VirtualHost&gt;</code> \e$B%3%s%F%J$N30\e(B) \e$B$N\e(B
+    \e$B@_DjMQ%G%#%l%/%F%#%V$O%P!<%A%c%k%[%9%H$G$N@_Dj$G>e=q$-$5$l$F$$$J$$\e(B
+    \e$B$H$-$N$_;HMQ$5$l$^$9!#\e(B</p>
+
+    <p>\e$B%j%/%(%9%H$,Mh$k$H!"%5!<%P$O$^$::G=i$K\e(B <code>NameVirtualHost</code>
+    \e$B$K%^%C%A$9$k\e(B IP \e$B%"%I%l%9$+$I$&$+$r%A%'%C%/$7$^$9!#%^%C%A$9$l$P\e(B
+    \e$B%^%C%A$7$?\e(B IP \e$B%"%I%l%9$N\e(B <code>&lt;VirtualHost&gt;</code>
+    \e$B$N$=$l$>$l$N%;%/%7%g%s$NCf$+$i\e(B <code>ServerName</code> \e$B$+\e(B
+    <code>ServerAlias</code> \e$B$KMW5a$5$l$?%[%9%HL>$,$"$k$+C5$7$^$9!#\e(B
+    \e$B8+$D$+$l$P$=$N%5!<%PMQ$N@_Dj$r;H$$$^$9!#%^%C%A$9$k%P!<%A%c%k%[%9%H\e(B
+    \e$B$,8+$D$+$i$J$1$l$P!"%^%C%A$7$?\e(B IP \e$B%"%I%l%9$N\e(B 
+    <strong>\e$B%j%9%H$N:G=i$K$"$k%P!<%A%c%k%[%9%H\e(B</strong> \e$B$,;H$o$l$^$9!#\e(B</p>
+
+    <p>\e$B7k2L$H$7$F!"%j%9%H$N:G=i$N%P!<%A%c%k%[%9%H$,\e(B <em>\e$B%G%U%)%k%H\e(B</em> \e$B$N\e(B
+    \e$B%P!<%A%c%k%[%9%H$K$J$j$^$9!#\e(BIP \e$B%"%I%l%9$,\e(B <code>NameVirtualHost</code>
+    \e$B%G%#%l%/%F%#%V$K%^%C%A$7$?>l9g$O!"\e(B<em>\e$B%a%$%s$N%5!<%P\e(B</em> \e$B$N\e(B
+    <code>DocumentRoot</code> \e$B;H$o$l\e(B <strong>\e$B$^$;$s\e(B</strong>
+    \e$B$I$N%P!<%A%c%k%[%9%H$K$b%^%C%A$7$J$$%j%/%(%9%H$KBP$7$F!"\e(B
+    \e$BFCJL$J@_Dj$r$7$?$$$N$G$"$l$P!"@_Dj%U%!%$%kCf$N:G=i$N\e(B
+    <code>&lt;VirtualHost&gt;</code> \e$B$K$=$l$r5-=R$7$F$/$@$5$$!#\e(B</p>
+
+    <h2><a id="compat" name="compat">\e$B8E$$%V%i%&%6$H$N8_49@-\e(B</a></h2>
+
+    <p>\e$B>e$G=q$$$?$h$&$K!"L>A0%Y!<%9$N%P!<%A%c%k%[%9%H$,@5$7$/F0:n$9$k\e(B
+    \e$B$?$a$KI,MW$J>pJs$rAw$C$F$3$J$$%/%i%$%"%s%H$,0MA3$H$7$FB8:_$7$F$$$^$9!#\e(B
+    \e$B$=$N$h$&$J%/%i%$%"%s%H$KBP$7$F$O!"3:Ev$9$k\e(B IP \e$B%"%I%l%9$K$D$$$F!"\e(B
+    \e$B0lHV:G=i$K@_Dj$5$l$F$$$k%P!<%A%c%k%[%9%H\e(B
+    (<cite>\e$B%W%i%$%^%j\e(B</cite>\e$B$NL>A0%Y!<%9$N%P!<%A%c%k%[%9%H\e(B)
+    \e$B$+$i%Z!<%8$,Aw$jJV$5$l$^$9!#\e(B</p>
+
+    <p><a href="../mod/core.html#serverpath"><code>ServerPath</code></a>
+    \e$B%G%#%l%/%F%#%V$GBP=h$,2DG=$G$9!#$A$g$C$HIT3J9%$G$9$1$l$I$b!#\e(B</p>
+
+    <p>\e$B@_DjNc\e(B</p>
+<pre>
+    NameVirtualHost 111.22.33.44
+
+    &lt;VirtualHost 111.22.33.44&gt;
+    ServerName www.domain.tld
+    ServerPath /domain
+    DocumentRoot /web/domain
+    &lt;/VirtualHost&gt;
+</pre>
+
+    <p>\e$B$3$NNc$K$O$I$&$$$&0UL#$,$"$k$G$7$g$&$+\e(B? \e$B$3$l$O\e(B
+    "<samp>/domain</samp>" \e$B$G;O$^$k\e(B URI \e$B$X$N%j%/%(%9%H$O$9$Y$F!"\e(B
+    \e$B%P!<%A%c%k%[%9%H\e(B <samp>www.domain.tld</samp> \e$B$G=hM}$5$l$k!"\e(B
+    \e$B$H$$$&0UL#$G$9!#$D$^$j!"$9$Y$F$N%/%i%$%"%s%H$G\e(B
+    <code>http://www.domain.tld/domain/</code> \e$B$G%"%/%;%9$G$-$k%Z!<%8$,!"\e(B
+    <samp>Host:</samp> \e$B%X%C%@$rAw$C$F$/$k%/%i%$%"%s%H$G$"$l$P\e(B
+    <code>http://www.domain.tld/</code> \e$B$H$7$F$b%"%/%;%9$G$-$k!"\e(B
+    \e$B$H$$$&0UL#$G$9!#\e(B</p>
+
+    <p>\e$B$3$l$r<BMQE*$J$b$N$H$9$k$?$a$K$O!"\e(B
+    \e$B%W%i%$%^%j$N%P!<%A%c%k%[%9%H$N%Z!<%8$K\e(B
+    <samp>http://www.domain.tld/domain/</samp> \e$B$X$N%j%s%/$r@_CV$7$^$9!#\e(B
+    \e$B$=$7$F!"%P!<%A%c%k%[%9%H$N%Z!<%8$G$O!"=c?h$JAjBP%j%s%/\e(B (<em>\e$BNc\e(B:</em>
+    "<samp>file.html</samp>" \e$B$d\e(B "<samp>../icons/image.gif</samp>")\e$B!"\e(B
+    \e$B$"$k$$$O\e(B <samp>/domain/</samp> \e$B$G;O$^$k%j%s%/\e(B (<em>\e$BNc\e(B:</em>
+    "<samp>http://www.domain.tld/domain/misc/file.html</samp>" \e$B$d\e(B
+    "<samp>/domain/misc/file.html</samp>") \e$B$@$1$r@_CV$7$^$9!#\e(B</p>
+
+    <p>\e$B$3$l$K$O!"4vJ,$+$N5,N'$,I,MW$H$J$j$^$9$,!"\e(B
+    \e$B$3$N$h$&$J%,%$%I%i%$%s$rCi<B$K<i$k$3$H$K$h$j!"$?$$$F$$$N>l9g!"\e(B
+    \e$B$9$Y$F$N%V%i%&%6$G\e(B \e$B!=\e(B \e$B?7$7$$%V%i%&%6$G$b8E$$$b$N$G$b\e(B \e$B!=\e(B
+    \e$B:n@.$7$?%Z!<%8$,8+$($k$H$$$&$3$H$rJ]>Z$7$^$9!#\e(B</p>
+
+    <p>\e$B;29M\e(B: <a href="examples.html#serverpath">ServerPath \e$B@_DjNc\e(B</a></p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/vhosts/vhosts-in-depth.html b/htdocs/manual/vhosts/vhosts-in-depth.html
new file mode 100644 (file)
index 0000000..30cb956
--- /dev/null
@@ -0,0 +1,386 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>An In-Depth Discussion of VirtualHost Matching</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">An In-Depth Discussion of VirtualHost
+    Matching</h1>
+
+    <p>This is a very rough document that was probably out of date
+    the moment it was written. It attempts to explain exactly what
+    the code does when deciding what virtual host to serve a hit
+    from. It's provided on the assumption that something is better
+    than nothing. The server version under discussion is Apache
+    1.2.</p>
+
+    <p>If you just want to "make it work" without understanding
+    how, there's a <a href="#whatworks">What Works</a> section at
+    the bottom.</p>
+
+    <h3>Config File Parsing</h3>
+
+    <p>There is a main_server which consists of all the definitions
+    appearing outside of <code>VirtualHost</code> sections. There
+    are virtual servers, called <em>vhosts</em>, which are defined
+    by <a
+    href="../mod/core.html#virtualhost"><samp>VirtualHost</samp></a>
+    sections.</p>
+
+    <p>The directives <a
+    href="../mod/core.html#port"><samp>Port</samp></a>, <a
+    href="../mod/core.html#servername"><samp>ServerName</samp></a>,
+    <a
+    href="../mod/core.html#serverpath"><samp>ServerPath</samp></a>,
+    and <a
+    href="../mod/core.html#serveralias"><samp>ServerAlias</samp></a>
+    can appear anywhere within the definition of a server. However,
+    each appearance overrides the previous appearance (within that
+    server).</p>
+
+    <p>The default value of the <code>Port</code> field for
+    main_server is 80. The main_server has no default
+    <code>ServerName</code>, <code>ServerPath</code>, or
+    <code>ServerAlias</code>.</p>
+
+    <p>In the absence of any <a
+    href="../mod/core.html#listen"><samp>Listen</samp></a>
+    directives, the (final if there are multiple) <code>Port</code>
+    directive in the main_server indicates which port httpd will
+    listen on.</p>
+
+    <p>The <code>Port</code> and <code>ServerName</code> directives
+    for any server main or virtual are used when generating URLs
+    such as during redirects.</p>
+
+    <p>Each address appearing in the <code>VirtualHost</code>
+    directive can have an optional port. If the port is unspecified
+    it defaults to the value of the main_server's most recent
+    <code>Port</code> statement. The special port <samp>*</samp>
+    indicates a wildcard that matches any port. Collectively the
+    entire set of addresses (including multiple <samp>A</samp>
+    record results from DNS lookups) are called the vhost's
+    <em>address set</em>.</p>
+
+    <p>The magic <code>_default_</code> address has significance
+    during the matching algorithm. It essentially matches any
+    unspecified address.</p>
+
+    <p>After parsing the <code>VirtualHost</code> directive, the
+    vhost server is given a default <code>Port</code> equal to the
+    port assigned to the first name in its <code>VirtualHost</code>
+    directive. The complete list of names in the
+    <code>VirtualHost</code> directive are treated just like a
+    <code>ServerAlias</code> (but are not overridden by any
+    <code>ServerAlias</code> statement). Note that subsequent
+    <code>Port</code> statements for this vhost will not affect the
+    ports assigned in the address set.</p>
+
+    <p>All vhosts are stored in a list which is in the reverse
+    order that they appeared in the config file. For example, if
+    the config file is:</p>
+
+    <blockquote>
+<pre>
+    &lt;VirtualHost A&gt;
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost B&gt;
+    ...
+    &lt;/VirtualHost&gt;
+
+    &lt;VirtualHost C&gt;
+    ...
+    &lt;/VirtualHost&gt;
+</pre>
+    </blockquote>
+    Then the list will be ordered: main_server, C, B, A. Keep this
+    in mind. 
+
+    <p>After parsing has completed, the list of servers is scanned,
+    and various merges and default values are set. In
+    particular:</p>
+
+    <ol>
+      <li>If a vhost has no <a
+      href="../mod/core.html#serveradmin"><code>ServerAdmin</code></a>,
+      <a
+      href="../mod/core.html#resourceconfig"><code>ResourceConfig</code></a>,
+      <a
+      href="../mod/core.html#accessconfig"><code>AccessConfig</code></a>,
+      <a href="../mod/core.html#timeout"><code>Timeout</code></a>,
+      <a
+      href="../mod/core.html#keepalivetimeout"><code>KeepAliveTimeout</code></a>,
+      <a
+      href="../mod/core.html#keepalive"><code>KeepAlive</code></a>,
+      <a
+      href="../mod/core.html#maxkeepaliverequests"><code>MaxKeepAliveRequests</code></a>,
+      or <a
+      href="../mod/core.html#sendbuffersize"><code>SendBufferSize</code></a>
+      directive then the respective value is inherited from the
+      main_server. (That is, inherited from whatever the final
+      setting of that value is in the main_server.)</li>
+
+      <li>The "lookup defaults" that define the default directory
+      permissions for a vhost are merged with those of the main
+      server. This includes any per-directory configuration
+      information for any module.</li>
+
+      <li>The per-server configs for each module from the
+      main_server are merged into the vhost server.</li>
+    </ol>
+    Essentially, the main_server is treated as "defaults" or a
+    "base" on which to build each vhost. But the positioning of
+    these main_server definitions in the config file is largely
+    irrelevant -- the entire config of the main_server has been
+    parsed when this final merging occurs. So even if a main_server
+    definition appears after a vhost definition it might affect the
+    vhost definition. 
+
+    <p>If the main_server has no <code>ServerName</code> at this
+    point, then the hostname of the machine that httpd is running
+    on is used instead. We will call the <em>main_server address
+    set</em> those IP addresses returned by a DNS lookup on the
+    <code>ServerName</code> of the main_server.</p>
+
+    <p>Now a pass is made through the vhosts to fill in any missing
+    <code>ServerName</code> fields and to classify the vhost as
+    either an <em>IP-based</em> vhost or a <em>name-based</em>
+    vhost. A vhost is considered a name-based vhost if any of its
+    address set overlaps the main_server (the port associated with
+    each address must match the main_server's <code>Port</code>).
+    Otherwise it is considered an IP-based vhost.</p>
+
+    <p>For any undefined <code>ServerName</code> fields, a
+    name-based vhost defaults to the address given first in the
+    <code>VirtualHost</code> statement defining the vhost. Any
+    vhost that includes the magic <samp>_default_</samp> wildcard
+    is given the same <code>ServerName</code> as the main_server.
+    Otherwise the vhost (which is necessarily an IP-based vhost) is
+    given a <code>ServerName</code> based on the result of a
+    reverse DNS lookup on the first address given in the
+    <code>VirtualHost</code> statement.</p>
+
+    <h3>Vhost Matching</h3>
+
+    <p><strong>Apache 1.3 differs from what is documented here, and
+    documentation still has to be written.</strong></p>
+
+    <p>The server determines which vhost to use for a request as
+    follows:</p>
+
+    <p><code>find_virtual_server</code>: When the connection is
+    first made by the client, the local IP address (the IP address
+    to which the client connected) is looked up in the server list.
+    A vhost is matched if it is an IP-based vhost, the IP address
+    matches and the port matches (taking into account
+    wildcards).</p>
+
+    <p>If no vhosts are matched then the last occurrence, if it
+    appears, of a <samp>_default_</samp> address (which if you
+    recall the ordering of the server list mentioned above means
+    that this would be the first occurrence of
+    <samp>_default_</samp> in the config file) is matched.</p>
+
+    <p>In any event, if nothing above has matched, then the
+    main_server is matched.</p>
+
+    <p>The vhost resulting from the above search is stored with
+    data about the connection. We'll call this the <em>connection
+    vhost</em>. The connection vhost is constant over all requests
+    in a particular TCP/IP session -- that is, over all requests in
+    a KeepAlive/persistent session.</p>
+
+    <p>For each request made on the connection the following
+    sequence of events further determines the actual vhost that
+    will be used to serve the request.</p>
+
+    <p><code>check_fulluri</code>: If the requestURI is an
+    absoluteURI, that is it includes <code>http://hostname/</code>,
+    then an attempt is made to determine if the hostname's address
+    (and optional port) match that of the connection vhost. If it
+    does then the hostname portion of the URI is saved as the
+    <em>request_hostname</em>. If it does not match, then the URI
+    remains untouched. <strong>Note</strong>: to achieve this
+    address comparison, the hostname supplied goes through a DNS
+    lookup unless it matches the <code>ServerName</code> or the
+    local IP address of the client's socket.</p>
+
+    <p><code>parse_uri</code>: If the URI begins with a protocol
+    (<em>i.e.</em>, <code>http:</code>, <code>ftp:</code>) then the
+    request is considered a proxy request. Note that even though we
+    may have stripped an <code>http://hostname/</code> in the
+    previous step, this could still be a proxy request.</p>
+
+    <p><code>read_request</code>: If the request does not have a
+    hostname from the earlier step, then any <code>Host:</code>
+    header sent by the client is used as the request hostname.</p>
+
+    <p><code>check_hostalias</code>: If the request now has a
+    hostname, then an attempt is made to match for this hostname.
+    The first step of this match is to compare any port, if one was
+    given in the request, against the <code>Port</code> field of
+    the connection vhost. If there's a mismatch then the vhost used
+    for the request is the connection vhost. (This is a bug, see
+    observations.)</p>
+
+    <p>If the port matches, then httpd scans the list of vhosts
+    starting with the next server <strong>after</strong> the
+    connection vhost. This scan does not stop if there are any
+    matches, it goes through all possible vhosts, and in the end
+    uses the last match it found. The comparisons performed are as
+    follows:</p>
+
+    <ul>
+      <li>Compare the request hostname:port with the vhost
+      <code>ServerName</code> and <code>Port</code>.</li>
+
+      <li>Compare the request hostname against any and all
+      addresses given in the <code>VirtualHost</code> directive for
+      this vhost.</li>
+
+      <li>Compare the request hostname against the
+      <code>ServerAlias</code> given for the vhost.</li>
+    </ul>
+
+    <p><code>check_serverpath</code>: If the request has no
+    hostname (back up a few paragraphs) then a scan similar to the
+    one in <code>check_hostalias</code> is performed to match any
+    <code>ServerPath</code> directives given in the vhosts. Note
+    that the <strong>last match</strong> is used regardless (again
+    consider the ordering of the virtual hosts).</p>
+
+    <h3>Observations</h3>
+
+    <ul>
+      <li>It is difficult to define an IP-based vhost for the
+      machine's "main IP address". You essentially have to create a
+      bogus <code>ServerName</code> for the main_server that does
+      not match the machine's IPs.</li>
+
+      <li>
+        During the scans in both <code>check_hostalias</code> and
+        <code>check_serverpath</code> no check is made that the
+        vhost being scanned is actually a name-based vhost. This
+        means, for example, that it's possible to match an IP-based
+        vhost through another address. But because the scan starts
+        in the vhost list at the first vhost that matched the local
+        IP address of the connection, not all IP-based vhosts can
+        be matched. 
+
+        <p>Consider the config file above with three vhosts A, B,
+        C. Suppose that B is a named-based vhost, and A and C are
+        IP-based vhosts. If a request comes in on B or C's address
+        containing a header "<samp>Host: A</samp>" then it will be
+        served from A's config. If a request comes in on A's
+        address then it will always be served from A's config
+        regardless of any Host: header.</p>
+      </li>
+
+      <li>
+        Unless you have a <samp>_default_</samp> vhost, it doesn't
+        matter if you mix name-based vhosts in amongst IP-based
+        vhosts. During the <code>find_virtual_server</code> phase
+        above no named-based vhost will be matched, so the
+        main_server will remain the connection vhost. Then scans
+        will cover all vhosts in the vhost list. 
+
+        <p>If you do have a <samp>_default_</samp> vhost, then you
+        cannot place named-based vhosts after it in the config.
+        This is because on any connection to the main server IPs
+        the connection vhost will always be the
+        <samp>_default_</samp> vhost since none of the name-based
+        are considered during <code>find_virtual_server</code>.</p>
+      </li>
+
+      <li>You should never specify DNS names in
+      <code>VirtualHost</code> directives because it will force
+      your server to rely on DNS to boot. Furthermore it poses a
+      security threat if you do not control the DNS for all the
+      domains listed. <a href="dns-caveats.html">There's more
+      information available on this and the next two
+      topics</a>.</li>
+
+      <li><code>ServerName</code> should always be set for each
+      vhost. Otherwise A DNS lookup is required for each
+      vhost.</li>
+
+      <li>A DNS lookup is always required for the main_server's
+      <code>ServerName</code> (or to generate that if it isn't
+      specified in the config).</li>
+
+      <li>If a <code>ServerPath</code> directive exists which is a
+      prefix of another <code>ServerPath</code> directive that
+      appears later in the configuration file, then the former will
+      always be matched and the latter will never be matched. (That
+      is assuming that no Host header was available to disambiguate
+      the two.)</li>
+
+      <li>If a vhost that would otherwise be a name-vhost includes
+      a <code>Port</code> statement that doesn't match the
+      main_server <code>Port</code> then it will be considered an
+      IP-based vhost. Then <code>find_virtual_server</code> will
+      match it (because the ports associated with each address in
+      the address set default to the port of the main_server) as
+      the connection vhost. Then <code>check_hostalias</code> will
+      refuse to check any other name-based vhost because of the
+      port mismatch. The result is that the vhost will steal all
+      hits going to the main_server address.</li>
+
+      <li>If two IP-based vhosts have an address in common, the
+      vhost appearing later in the file is always matched. Such a
+      thing might happen inadvertently. If the config has
+      name-based vhosts and for some reason the main_server
+      <code>ServerName</code> resolves to the wrong address then
+      all the name-based vhosts will be parsed as ip-based vhosts.
+      Then the last of them will steal all the hits.</li>
+
+      <li>The last name-based vhost in the config is always matched
+      for any hit which doesn't match one of the other name-based
+      vhosts.</li>
+    </ul>
+
+    <h3><a id="whatworks" name="whatworks">What Works</a></h3>
+
+    <p>In addition to the tips on the <a
+    href="../dns-caveats.html#tips">DNS Issues</a> page, here are some
+    further tips:</p>
+
+    <ul>
+      <li>Place all main_server definitions before any VirtualHost
+      definitions. (This is to aid the readability of the
+      configuration -- the post-config merging process makes it
+      non-obvious that definitions mixed in around virtualhosts
+      might affect all virtualhosts.)</li>
+
+      <li>Arrange your VirtualHosts such that all name-based
+      virtual hosts come first, followed by IP-based virtual hosts,
+      followed by any <samp>_default_</samp> virtual host</li>
+
+      <li>Avoid <code>ServerPaths</code> which are prefixes of
+      other <code>ServerPaths</code>. If you cannot avoid this then
+      you have to ensure that the longer (more specific) prefix
+      vhost appears earlier in the configuration file than the
+      shorter (less specific) prefix (<em>i.e.</em>, "ServerPath
+      /abc" should appear after "ServerPath /abcdef").</li>
+
+      <li>Do not use <em>port-based</em> vhosts in the same server
+      as name-based vhosts. A loose definition for port-based is a
+      vhost which is determined by the port on the server
+      (<em>i.e.</em>, one server with ports 8000, 8080, and 80 -
+      all of which have different configurations).</li>
+    </ul>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/vhosts/virtual-host.html b/htdocs/manual/vhosts/virtual-host.html
new file mode 100644 (file)
index 0000000..e8a8814
--- /dev/null
@@ -0,0 +1,239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Apache Server Virtual Host Support</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Virtual Host Support</h1>
+    <strong>See Also:</strong> <a href="host.html">Non-IP based
+    virtual hosts</a> 
+
+    <h2>What are virtual hosts?</h2>
+    This is the ability of a single machine to be a web server for
+    multiple domains. For example, an Internet service provider
+    might have a machine called <code>www.serve.com</code> which
+    provides Web space for several organizations including, say,
+    <em>smallco</em> and <em>baygroup</em>. Ordinarily, these
+    groups would be given parts of the Web tree on www.serve.com.
+    So smallco's home page would have the URL 
+
+    <blockquote>
+      http://www.serve.com/smallco/
+    </blockquote>
+    and baygroup's home page would have the URL 
+
+    <blockquote>
+      http://www.serve.com/baygroup/
+    </blockquote>
+
+    <p>For esthetic reasons, however, both organizations would
+    rather their home pages appeared under their own names rather
+    than that of the service provider's; but they do not want to
+    set up their own Internet links and servers.</p>
+
+    <p>Virtual hosts are the solution to this problem. smallco and
+    baygroup would have their own Internet name registrations,
+    <code>www.smallco.com</code> and <code>www.baygroup.org</code>
+    respectively. These hostnames would both correspond to the
+    service provider's machine (www.serve.com). Thus smallco's home
+    page would now have the URL</p>
+
+    <blockquote>
+      http://www.smallco.com/
+    </blockquote>
+    and baygroup's home page would have the URL 
+
+    <blockquote>
+      http://www.baygroup.org/
+    </blockquote>
+
+    <h2>System requirements</h2>
+    Due to limitations in the HTTP/1.0 protocol, the web server
+    <strong>must have a different IP address for each virtual
+    host</strong>. This can be achieved by the machine having
+    several physical network connections, or by use of a <a
+    href="../misc/vif-info.html">virtual interface</a> on some
+    operating systems. 
+
+    <h2>How to set up Apache</h2>
+    There are two ways of configuring apache to support multiple
+    hosts. Either by running a separate httpd daemon for each
+    hostname, or by running a single daemon which supports all the
+    virtual hosts. 
+
+    <p>Use multiple daemons when:</p>
+
+    <ul>
+      <li>The different virtual hosts need very different httpd
+      configurations, such as different values for: <a
+      href="../mod/core.html#servertype">ServerType</a>, <a
+      href="../mod/core.html#user">User</a>, <a
+      href="../mod/core.html#group">Group</a>, <a
+      href="../mod/mod_mime.html#typesconfig">TypesConfig</a> or <a
+      href="../mod/core.html#serverroot">ServerRoot</a>.</li>
+
+      <li>The machine does not process a very high request
+      rate.</li>
+    </ul>
+    Use a single daemon when: 
+
+    <ul>
+      <li>Sharing of the httpd configuration between virtual hosts
+      is acceptable.</li>
+
+      <li>The machine services a large number of requests, and so
+      the performance loss in running separate daemons may be
+      significant.</li>
+    </ul>
+
+    <h2>Setting up multiple daemons</h2>
+    Create a separate httpd installation for each virtual host. For
+    each installation, use the <a
+    href="../mod/core.html#bindaddress">BindAddress</a> directive
+    in the configuration file to select which IP address (or
+    virtual host) that daemon services. <em>E.g.</em>, 
+
+    <blockquote>
+      <code>BindAddress www.smallco.com</code>
+    </blockquote>
+    This hostname can also be given as an IP address. 
+
+    <h2>Setting up a single daemon</h2>
+    For this case, a single httpd will service requests for all the
+    virtual hosts. The <a
+    href="../mod/core.html#virtualhost">VirtualHost</a> directive
+    in the configuration file is used to set the values of <a
+    href="../mod/core.html#serveradmin">ServerAdmin</a>, <a
+    href="../mod/core.html#servername">ServerName</a>, <a
+    href="../mod/core.html#documentroot">DocumentRoot</a>, <a
+    href="../mod/core.html#errorlog">ErrorLog</a> and <a
+    href="../mod/mod_log_config.html#transferlog">TransferLog</a>
+    configuration directives to different values for each virtual
+    host. <em>E.g.</em>, 
+
+    <blockquote>
+      <code>&lt;VirtualHost www.smallco.com&gt;<br />
+       ServerAdmin webmaster@mail.smallco.com<br />
+       DocumentRoot /groups/smallco/www<br />
+       ServerName www.smallco.com<br />
+       ErrorLog /groups/smallco/logs/error_log<br />
+       TransferLog /groups/smallco/logs/access_log<br />
+       &lt;/VirtualHost&gt;<br />
+      <br />
+       &lt;VirtualHost www.baygroup.org&gt;<br />
+       ServerAdmin webmaster@mail.baygroup.org<br />
+       DocumentRoot /groups/baygroup/www<br />
+       ServerName www.baygroup.org<br />
+       ErrorLog /groups/baygroup/logs/error_log<br />
+       TransferLog /groups/baygroup/logs/access_log<br />
+       &lt;/VirtualHost&gt;<br />
+      </code>
+    </blockquote>
+    This VirtualHost hostnames can also be given as IP addresses. 
+
+    <p>Almost <strong>ANY</strong> configuration directive can be
+    put in the VirtualHost directive, with the exception of <a
+    href="../mod/core.html#servertype">ServerType</a>, <a
+    href="../mod/core.html#user">User</a>, <a
+    href="../mod/core.html#group">Group</a>, <a
+    href="../mod/core.html#startservers">StartServers</a>, <a
+    href="../mod/core.html#maxspareservers">MaxSpareServers</a>, <a
+    href="../mod/core.html#minspareservers">MinSpareServers</a>, <a
+    href="../mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a>,
+    <a href="../mod/core.html#bindaddress">BindAddress</a>, <a
+    href="../mod/core.html#pidfile">PidFile</a>, <a
+    href="../mod/mod_mime.html#typesconfig">TypesConfig</a>, and <a
+    href="../mod/core.html#serverroot">ServerRoot</a>.</p>
+
+    <p><em>SECURITY:</em> When specifying where to write log files,
+    be aware of some security risks which are present if anyone
+    other than the user that starts Apache has write access to the
+    directory where they are written. See the <a
+    href="../misc/security_tips.html">security tips</a> document
+    for details.</p>
+
+    <h2>File Handle/Resource Limits:</h2>
+    When using a large number of Virtual Hosts, Apache may run out
+    of available file descriptors if each Virtual Host specifies
+    different log files. The total number of file descriptors used
+    by Apache is one for each distinct error log file, one for
+    every other log file directive, plus 10-20 for internal use.
+    Unix operating systems limit the number of file descriptors
+    that may be used by a process; the limit is typically 64, and
+    may usually be increased up to a large hard-limit. 
+
+    <p>Although Apache attempts to increase the limit as required,
+    this may not work if:</p>
+
+    <ol>
+      <li>Your system does not provide the setrlimit() system
+      call.</li>
+
+      <li>The setrlimit(RLIMIT_NOFILE) call does not function on
+      your system (such as Solaris 2.3)</li>
+
+      <li>The number of file descriptors required exceeds the hard
+      limit.</li>
+
+      <li>Your system imposes other limits on file descriptors,
+      such as a limit on stdio streams only using file descriptors
+      below 256. (Solaris 2)</li>
+    </ol>
+    In the event of problems you can: 
+
+    <ul>
+      <li>Reduce the number of log files; don't specify log files
+      in the VirtualHost sections, but only log to the main log
+      files.</li>
+
+      <li>
+        If you system falls into 1 or 2 (above), then increase the
+        file descriptor limit before starting Apache, using a
+        script like 
+
+        <blockquote>
+          <code>#!/bin/sh<br />
+           ulimit -S -n 100<br />
+           exec httpd</code>
+        </blockquote>
+      </li>
+    </ul>
+    The have been reports that Apache may start running out of
+    resources allocated for the root process. This will exhibit
+    itself as errors in the error log like "unable to fork". There
+    are two ways you can bump this up: 
+
+    <ol>
+      <li>Have a <code>csh</code> script wrapper around httpd which
+      sets the "rlimit" to some large number, like 512.</li>
+
+      <li>
+        Edit http_main.c to add calls to setrlimit() from main(),
+        along the lines of 
+<pre>
+        struct rlimit rlp;
+
+        rlp.rlim_cur = rlp.rlim_max = 512;
+        if (setrlimit(RLIMIT_NPROC, &amp;rlp)) {
+            fprintf(stderr, "setrlimit(RLIMIT_NPROC) failed.\n");
+            exit(1);
+        }
+</pre>
+        (thanks to "Aaron Gifford &lt;agifford@InfoWest.COM&gt;"
+        for the patch)
+      </li>
+    </ol>
+    The latter will probably manifest itself in a later version of
+    Apache. <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/win_compiling.html.en b/htdocs/manual/win_compiling.html.en
new file mode 100644 (file)
index 0000000..1c0ffd5
--- /dev/null
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Compiling Apache for Microsoft Windows</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Compiling Apache for Microsoft Windows</h1>
+
+    <p>There are many important points before you begin compiling
+    Apache. See <a href="windows.html">Using Apache with Microsoft
+    Windows</a> before you begin.</p>
+
+    <p>Compiling Apache requires Microsoft Visual C++ 5.0 or 6.0 to
+    be properly installed. It can be built with command-line tools,
+    or within the Visual Studio environment. Consult the VC++
+    manual to determine how to install them. Be especially aware
+    that the vcvars32.bat file from the Program
+    Files/DevStudio/VC/bin folder, and the setenv.bat file from the
+    Platform SDK, may be required to prepare the command-line tools
+    for command-line builds (e.g. using nmake). To install apache
+    with the Makefile.win or the InstallBin project in the Visual
+    Studio IDE, the awk utility is also required.  If you use Visual
+    Studio 7.0 (.net), loading Apache.dsw converts it to .msproj
+    format.  When changes are made to the project (.dsp) files, you 
+    must reconvert Apache.dsw all over again.</p>
+
+    <p>First, you should install awk.exe where it can be found in
+    the path and the DevStudio environment, if you plan to use the
+    IDE. There are many versions of awk available for Windows; the
+    easiest to install is available from Brian Kernighan's <a
+    href="http://cm.bell-labs.com/cm/cs/who/bwk/">http://cm.bell-labs.com/cm/cs/who/bwk/</a>
+    site. When downloading <a
+    href="http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe">http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe</a>
+    from this site, you must save it with the name awk.exe rather
+    than awk95.exe.</p>
+
+    <p>Note that Developer Studio IDE will only find awk.exe from
+    the <u>T</u>ools menu <u>O</u>ptions... Directories tab 
+    (the Projects - VC++ Directories pane in Developer Studio 7.0)
+    listing Executable file paths.  Add the path for awk.exe to this 
+    list, and your system PATH environment variable, as needed.</p>
+
+    <p>Then unpack the Apache distribution into an appropriate
+    directory. Open a command-line prompt, and change to the
+    <code>src</code> subdirectory of the Apache distribution.</p>
+
+    <p>The master Apache makefile instructions are contained in the
+    <code>Makefile.win</code> file. To compile Apache on Windows
+    NT, simply use one of the following commands:</p>
+
+    <ul>
+      <li><code>nmake /f Makefile.win _apacher</code> (release
+      build)</li>
+
+      <li><code>nmake /f Makefile.win _apached</code> (debug
+      build)</li>
+    </ul>
+
+    <p>These will both compile Apache. The latter will include
+    debugging information in the resulting files, making it easier
+    to find bugs and track down problems.</p>
+
+    <p>If you get an error such as "the name specified is not
+    recognized..." then you need to run vcvars32.bat first. Enter
+    the following command;</p>
+<pre>
+  "c:\Program Files\DevStudio\VC\Bin\VCVARS32.BAT"
+</pre>
+
+    <p>(you will need to adjust this command so it matches the
+    directory where your VC was installed.)</p>
+
+    <p>If you are a Visual C++ 5.0 user, and have installed a
+    recent Platform SDK, you may also need to enter the following
+    command (adjusted for the install directory of the Platform SDK
+    update);</p>
+<pre>
+  "c:\Program Files\Platform SDK\SETENV.BAT"
+</pre>
+
+    <p>Then try the nmake command again.</p>
+
+    <p><strong>Note</strong> that the Windows Platform SDK update
+    is required to enable all supported mod_isapi features. The SDK
+    files distributed with Microsoft Visual C++ 5.0 are out of
+    date. Without a recent update, Apache will issue warnings under
+    MSVC++ 5.0 that some mod_isapi features will be disabled. Look
+    for the update at <a
+    href="http://msdn.microsoft.com/platformsdk/">
+    http://msdn.microsoft.com/platformsdk/</a>.</p>
+
+    <p>Apache can also be compiled using VC++'s Visual Studio
+    development environment. To simplify this process, a Visual
+    Studio workspace, Apache.dsw, is provided in the
+    <code>src</code> folder. This workspace exposes the entire list
+    of working .dsp projects that are required for the complete
+    Apache binary release. It includes dependencies between the
+    projects to assure that they are built in the appropriate
+    order. InstallBin is the top-level project that will build all
+    other projects, and install the compiled files into their
+    proper locations.</p>
+
+    <p>These .dsp project files are distributed in Visual C++ 6.0
+    format. Visual C++ 5.0 (97) will recognize them with the single
+    exception of the /ZI flag, which corresponds to the VC 5.0 /Zi
+    flag for debugging symbols. To quickly prepare the .dsp files
+    for the Visual Studio 5.0 (97), you can use the perl scripts
+    distributed in the <code>src\helpers</code> folder:</p>
+<pre>
+  cd src\helpers
+  cvstodsp5.pl
+</pre>
+
+    <p>This command assumes you have a Perl interpreter installed
+    and registered for files of type .pl. The list of converted
+    .dsp project files will be displayed as they are converted. If
+    you contribute back a patch that offers revised project files,
+    please convert them back with the script dsp5tocvs.pl, which
+    puts the projects back to Visual Studio 6.0 format.</p>
+
+    <p>The core .dsp projects built by Apache.dsw and makefile.win
+    are:</p>
+
+    <ul>
+      <li><code>os\win32\ApacheOS.dsp</code></li>
+      <li><code>os\win32\Win9xConHook.dsp</code></li>
+      <li><code>regex\regex.dsp</code></li>
+      <li><code>ap\ap.dsp</code></li>
+      <li><code>lib\expat-lite\xmltok.dsp</code></li>
+      <li><code>lib\expat-lite\xmlparse.dsp <em>requires
+      xmltok</em></code></li>
+      <li><code>lib\sdbm.dsp</code></li>
+      <li><code>main\gen_uri_delims.dsp</code></li>
+      <li><code>main\gen_test_char.dsp</code></li>
+      <li><code>ApacheCore.dsp <em>requires all of the
+      above</em></code></li>
+      <li><code>Apache.dsp <em>requires ApacheCore</em></code></li>
+    </ul>
+
+    <p>In addition, the <code>os\win32</code> subdirectory contains
+    project files for the optional modules, all of which require
+    ApacheCore.</p>
+
+    <ul>
+      <li><code>os\win32\mod_auth_anon.dsp</code></li>
+      <li><code>os\win32\mod_auth_dbm.dsp <em>also requires
+      sdbm</em></code></li>
+      <li><code>os\win32\mod_auth_digest.dsp</code></li>
+      <li><code>os\win32\mod_cern_meta.dsp</code></li>
+      <li><code>os\win32\mod_digest.dsp</code></li>
+      <li><code>os\win32\mod_expires.dsp</code></li>
+      <li><code>os\win32\mod_headers.dsp</code></li>
+      <li><code>os\win32\mod_info.dsp</code></li>
+      <li><code>os\win32\mod_mime_magic.dsp</code></li>
+      <li><code>os\win32\mod_proxy.dsp</code></li>
+      <li><code>os\win32\mod_rewrite.dsp</code></li>
+      <li><code>os\win32\mod_speling.dsp</code></li>
+      <li><code>os\win32\mod_status.dsp</code></li>
+      <li><code>os\win32\mod_unique_id.dsp</code></li>
+      <li><code>os\win32\mod_usertrack.dsp</code></li>
+      <li><code>os\win32\mod_vhost_alias.dsp</code></li>
+    </ul>
+
+    <p>The <code>support\</code> folder contains project files for
+    additional programs that are not part of the Apache runtime,
+    but are used by the administrator to maintain password and log
+    files.</p>
+
+    <ul>
+      <li><code>support\htdigest.dsp</code></li>
+      <li><code>support\htpasswd.dsp</code></li>
+      <li><code>support\logresolve.dsp</code></li>
+      <li><code>support\rotatelogs.dsp</code></li>
+    </ul>
+
+    <p>Once Apache has been compiled, it needs to be installed in
+    its server root directory. The default is the
+    <code>\Apache</code> directory, on the current hard drive.</p>
+
+    <p>To install the files into the <code>c:\ServerRoot</code>
+    directory automatically, use one of the following nmake commands
+    (see above):</p>
+
+    <ul>
+      <li><code>nmake /f Makefile.win installr
+      INSTDIR=<em>c:\ServerRoot</em></code> (for release
+      build)</li>
+      <li><code>nmake /f Makefile.win installd
+      INSTDIR=<em>c:\ServerRoot</em></code> (for debug build)</li>
+    </ul>
+
+    <p>The <em>c:\ServerRoot</em> argument to INSTDIR gives the
+    installation directory (it can be omitted if Apache is to be
+    installed into <samp>\Apache</samp>).</p>
+
+    <p>This will install the following:</p>
+
+    <ul>
+      <li><code><em>c:\ServerRoot</em>\Apache.exe</code> - Apache
+      program</li>
+      <li><code><em>c:\ServerRoot</em>\ApacheCore.dll</code> -
+      Apache runtime [shared library]</li>
+      <li><code><em>c:\ServerRoot</em>\Win9xConHook.dll</code> -
+      Win9x console fixups [shared library]</li>
+      <li><code><em>c:\ServerRoot</em>\xmlparse.dll</code> - XML
+      parser [shared library]</li>
+      <li><code><em>c:\ServerRoot</em>\xmltok.dll</code> - XML
+      token engine [shared library]</li>
+      <li><code><em>c:\ServerRoot</em>\bin\*.exe</code> -
+      Administration programs</li>
+      <li><code><em>c:\ServerRoot</em>\cgi-bin</code> - Example CGI
+      scripts</li>
+      <li><code><em>c:\ServerRoot</em>\conf</code> - Configuration
+      files directory</li>
+      <li><code><em>c:\ServerRoot</em>\icons</code> - Icons for
+      FancyIndexing</li>
+      <li><code><em>c:\ServerRoot</em>\include\*.h</code> - Apache
+      header files</li>
+      <li><code><em>c:\ServerRoot</em>\htdocs</code> - Welcome
+      index.html pages</li>
+      <li><code><em>c:\ServerRoot</em>\htdocs\manual</code> -
+      Apache documentation</li>
+      <li><code><em>c:\ServerRoot</em>\lib</code> - Static library
+      files</li>
+      <li><code><em>c:\ServerRoot</em>\libexec</code> - Dynamic
+      link libraries</li>
+      <li><code><em>c:\ServerRoot</em>\logs</code> - Empty logging
+      directory</li>
+      <li><code><em>c:\ServerRoot</em>\modules\mod_*.dll</code> -
+      Loadable Apache modules</li>
+    </ul>
+
+    <p>If you do not have nmake, or wish to install in a different
+    directory, be sure to use a similar naming scheme.</p>
+
+    <p>To simplify the process, dependencies between all projects
+    are defined in the Microsoft Visual Studio workspace file:</p>
+<pre>
+   src/Apache.dsw
+</pre>
+
+    <p>This assures that lower-level sources are rebuilt from
+    within Visual Studio. The top level project is InstallBin,
+    which invokes Makefile.win to move the compiled executables and
+    dlls. You may personalize the INSTDIR= setting by changing the
+    Settings for InstallBin, Build command line entry under the
+    General tab. The default from within the InstallBin.dsp project
+    is one level up (..) from the src tree. Modify the InstallBin
+    settings and edit the INSTDIR=.. entry to the desired target
+    directory.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/win_compiling.html.html b/htdocs/manual/win_compiling.html.html
new file mode 100644 (file)
index 0000000..35a053b
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="win_compiling.html.en" -->
+
diff --git a/htdocs/manual/win_compiling.html.ja.jis b/htdocs/manual/win_compiling.html.ja.jis
new file mode 100644 (file)
index 0000000..84f713f
--- /dev/null
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Microsoft Windows \e$B$G$N\e(B Apache \e$B$N%3%s%Q%$%k\e(B</title>
+
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <!-- English revision: 1.16 -->
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Microsoft Windows \e$B$G$N\e(B Apache \e$B$N%3%s%Q%$%k\e(B</h1>
+
+    <p>Apache \e$B$N%3%s%Q%$%k$r;O$a$k$K$"$?$C$F!"B?$/$N=EMW$J%]%$%s%H$,$"$j$^$9!#\e(B
+    \e$B;O$a$kA0$K!"\e(B<a href="windows.html">Microsoft Windows \e$B$G$N\e(B Apache
+    \e$B$N;HMQ\e(B</a>\e$B$r8+$F$/$@$5$$!#\e(B</p>
+
+    <p>Apache \e$B$r%3%s%Q%$%k$9$k$K$O\e(B Microsoft Visual C++ 5.0
+    \e$B$^$?$O\e(B 6.0 \e$B$,E,@Z$K%$%s%9%H!<%k$5$l$F$$$k$3$H$,I,MW$G$9!#\e(B
+    \e$B%S%k%I$O%3%^%s%I%i%$%s%D!<%k!"$^$?$O\e(B Visual Studio
+    \e$B4D6-$G2DG=$G$9!#%$%s%9%H!<%k$NJ}K!$O!"\e(BVC++
+    \e$B$N%^%K%e%"%k$r;29M$K$7$F$/$@$5$$!#%3%^%s%I%i%$%s$G$N%S%k%I\e(B
+    (\e$BNc$($P\e(B nmake \e$B$N;HMQ\e(B)\e$B$G$O!"%3%^%s%I%i%$%s%D!<%k$N=`Hw$K\e(B Program
+    Files/DevStudio/VC/bin \e$B%U%)%k%@$K$"$k\e(B vcvars32.bat \e$B5Z$S\e(B Platform
+    SDK \e$B$N\e(B setenv.bat \e$B$N%U%!%$%k$,I,MW$K$J$k$G$"$m$&$3$H$K$D$$$F!"\e(B
+    \e$BFC$KCm0U$7$F$/$@$5$$!#\e(BMakefile.win \e$B$d\e(B Visual Studio IDE \e$B$N\e(B
+    InstallBin \e$B%W%m%8%'%/%H$r;H$C$F\e(B Apache \e$B$r%$%s%9%H!<%k$9$k>l9g$O!"\e(B
+    awk \e$B%f!<%F%#%j%F%#$bI,MW$K$J$j$^$9!#\e(BVisual Studio 7.0 (.net)
+    \e$B$r;H$&>l9g$O!"\e(BApache.dsw \e$B$rFI$_9~$_\e(B .msproj
+    \e$B%U%)!<%^%C%H$KJQ49$7$F$/$@$5$$!#%W%m%8%'%/%H%U%!%$%k\e(B (.dsp)
+    \e$B$KJQ99$,$"$C$?>l9g$O\e(B Apache.dsw
+    \e$B$r0l$+$iJQ49$7D>$5$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>\e$B$^$:!"\e(BIDE \e$B$r;H$&$D$b$j$J$i%Q%9$,DL$j!"\e(BDevStudio
+    \e$B4D6-$,2r<a$G$-$k$H$3$m$K\e(B awk.exe \e$B$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(B
+    Windows \e$B$GMxMQ2DG=$J\e(B awk \e$B$OMM!9$J%P!<%8%g%s$,$"$j$^$9!#\e(B
+    \e$B0lHV%$%s%9%H!<%k$7$d$9$$$b$N$O\e(B Brian Kernighan \e$B$N\e(B <a
+    href="http://cm.bell-labs.com/cm/cs/who/bwk/"
+    >http://cm.bell-labs.com/cm/cs/who/bwk/</a> \e$B%5%$%H$+$iF~<j2DG=$G$9!#\e(B
+    \e$B$3$N%5%$%H$+$i\e(B <a href="http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe"
+    >http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe</a>
+    \e$B$r%@%&%s%m!<%I$7$?>l9g$O!"\e(Bawk95.exe \e$B$r\e(B awk.exe
+    \e$B$H$$$&L>A0$GJ]B8$7$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>Developer Studio IDE \e$B$O%D!<%k\e(B (<u>T</u>) \e$B%a%K%e!<$N%*%W%7%g%s\e(B
+    (<u>O</u>) \e$B0J2<$N!"%G%#%l%/%H%j%?%V\e(B (Developer Studio 7.0 \e$B$G$O\e(B
+    Projects - VC++ Directories)
+    \e$B$N<B9T2DG=%U%!%$%k$K%j%9%H$5$l$?>l=j$K$"$k>l9g$K$N$_!"\e(Bawk.exe
+    \e$B$r8+$D$1$i$l$k$3$H$KCm0U$7$F$/$@$5$$!#I,MW$K1~$8!"\e(Bawk.exe
+    \e$B$X$N%Q%9$r$3$N%j%9%H!"%7%9%F%`$N4D6-JQ?t\e(B PATH \e$B$KDI2C$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B$=$l$+$i!"E,@Z$J%G%#%l%/%H%j$K\e(B Apache \e$B$NG[I[$rE83+$7$F$/$@$5$$!#\e(B
+    \e$B%3%^%s%I%W%m%s%W%H$r3+$-!"\e(BApache \e$BG[I[%5%V%G%#%l%/%H%j\e(B
+    <code>src</code> \e$B$K0\F0$7$F$/$@$5$$\e(B</p>
+
+    <p><code>Makefile.win</code> \e$B%U%!%$%k$K$O\e(B Apache \e$B$N\e(B makefile
+    \e$B$N85$H$J$k;X<($,4^$^$l$F$$$^$9!#\e(BWindowsNT \e$B$G\e(B Apache
+    \e$B$r%3%s%Q%$%k$9$k$K$O!"C1$K0J2<$N%3%^%s%I$N$&$A$N0l$D$r;H$C$F$/$@$5$$\e(B</p>
+
+    <ul>
+      <li><code>nmake /f Makefile.win _apacher</code>
+      (\e$B%j%j!<%9%S%k%I\e(B)</li>
+
+      <li><code>nmake /f Makefile.win _apached</code>
+      (\e$B%G%P%C%0%S%k%I\e(B)</li>
+    </ul>
+
+    <p>\e$B$3$l$i$O$I$A$i$b\e(B Apache \e$B$r%3%s%Q%$%k$7$^$9!#\e(B
+     \e$B8e<T$G$O!"=PNO$5$l$?%U%!%$%k$K%G%P%C%0>pJs$,4^$^$l!"\e(B
+     \e$B%P%0$r8+$D$1$?$jLdBj$rDI@W$7$?$j$7$d$9$/$J$j$^$9!#\e(B</p>
+
+    <p>\e$B$b$7!"!V\e(B...\e$B$H$7$FG'<1$5$l$F$$$^$;$s!W\e(B
+    \e$B$N$h$&$J%(%i!<$,=P$?>l9g$O$^$:!"\e(Bvcvars32.bat \e$B$r<B9T$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$B0J2<$N%3%^%s%I$rF~NO$7$F$/$@$5$$\e(B</p>
+<pre>
+  &quot;c:\Program Files\DevStudio\VC\Bin\VCVARS32.bat&quot;
+</pre>
+
+    <p>(\e$B$3$N%3%^%s%I$O\e(B VC \e$B$,%$%s%9%H!<%k$5$l$?%G%#%l%/%H%j$K9g$o$;$F\e(B
+    \e$BD4@0$9$kI,MW$,$"$j$^$9!#\e(B)</p>
+
+    <p>Visual C++ 5.0 \e$B%f!<%6$G!"$+$D!":G6a$N%W%i%C%H%U%)!<%`\e(B SDK
+    \e$B$r%$%s%9%H!<%k$7$F$$$k>l9g$O!"0J2<$N%3%^%s%I$rF~NO$9$kI,MW$,$"$k$G$7$g$&\e(B
+    (Platform SDK \e$B%"%C%W%G!<%H$,%$%s%9%H!<%k$5$l$F$$$k%G%#%l%/%H%j$K9g$o$;$F\e(B
+    \e$BD4@0$9$kI,MW$,$"$j$^$9\e(B)</p>
+<pre>
+  "c:\Program Files\Platform SDK\SETENV.BAT"
+</pre>
+
+    <p>\e$B$=$l$+$i!":F$S\e(B nmake \e$B%3%^%s%I$r;n$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%5%]!<%H$5$l$?$9$Y$F$N\e(B mod_isapi \e$B5!G=$rM-8z$K$9$k$K$O\e(B Windows
+    Platform SDK \e$B$N99?7$,I,MW$K$J$k$3$H$K\e(B<strong>\e$BCm0U$7$F$/$@$5$$\e(B</strong>\e$B!#\e(B
+    Microsoft Visual C++ 5.0 \e$B$H$H$b$KG[I[$5$l$?\e(B SDK \e$B%U%!%$%k$O8E$$$?$a$K\e(B
+    \e$B;H$($^$;$s!#\e(B
+    \e$B:G6a$N%"%C%W%G!<%H$,$J$5$l$F$$$J$$>l9g!"\e(BApache \e$B$O\e(B MSVC++ 5.0 \e$B$G$O!"\e(B
+    mod_isapi \e$B5!G=$,$$$/$D$+;HMQIT2D$K$J$k$3$H$r7Y9p$7$^$9!#\e(B
+    \e$B%"%C%W%G!<%H$K4X$7$F$O\e(B <a
+    href="http://msdn.microsoft.com/platformsdk/"
+    >http://msdn.micro soft.com/platformsdk/</a> \e$B$GC5$7$F$/$@$5$$!#\e(B</p>
+
+    <p>Apache \e$B$O!"\e(BVC++ \e$B$N\e(B Visual Studio \e$B3+H/4D6-$r;H$C$F%3%s%Q%$%k\e(B
+    \e$B$9$k$3$H$b$G$-$^$9!#$3$N%W%m%;%9$r4JAG2=$9$k$?$a$K!"\e(BVisual Studio
+    workspace (Apache.dsw) \e$B$,\e(B <code>src</code> \e$B%U%)%k%@$K$*$$$F\e(B
+    \e$BDs6!$5$l$F$$$^$9!#\e(B
+    \e$B$3$N\e(B workspace \e$B$O!"40A4$J\e(B Apache \e$B$N%P%$%J%j%j%j!<%9$KI,MW$J\e(B .dsp
+    \e$B%W%m%8%'%/%H$NA4BN$N%j%9%H$,=q$+$l$F$$$^$9!#\e(B
+    \e$B$^$?!"$=$l$i$,E,@Z$J=g=x$G%S%k%I$5$l$k$h$&$K$9$k$?$a$K!"\e(B
+    \e$B%W%m%8%'%/%H$N4V$N0MB84X78$b4^$^$l$F$$$^$9!#\e(B
+    InstallBin \e$B$,!"B>$N$9$Y$F$N%W%m%8%'%/%H$r%S%k%I$7!"\e(B
+    \e$B%3%s%Q%$%k$5$l$?%U%!%$%k$rE,@Z$J0LCV$K%$%s%9%H!<%k$9$k!"\e(B
+    \e$B%H%C%W%l%Y%k$N%W%m%8%'%/%H$G$9!#\e(B</p>
+
+    <p>\e$B$3$l$i$N\e(B .dsp \e$B%W%m%8%'%/%H%U%!%$%k$O\e(B Visual C++ 6.0
+    \e$B$N%U%)!<%^%C%H$GG[I[$5$l$^$9!#\e(BVisual C++ 5.0(97) \e$B$O\e(B
+    \e$BM#0l$NNc30!"%G%P%C%0%7%s%\%kMQ$N%U%i%0$G$"$k\e(B /ZI
+    \e$B%U%i%0$r=|$$$F$3$N%U%)!<%^%C%H$rG'<1$7$^$9!#\e(B
+    VC 5.0 \e$B$G$O\e(B /Zi \e$B%U%i%0$,$3$l$KAjEv$7$^$9!#\e(B
+    Visual Studio 5.0 (97) \e$B$N\e(B .dsp \e$B%U%!%$%k$r$9$0$K=`Hw$9$k$K$O!"\e(B
+    <code>src\helpers</code> \e$B%U%)%k%@$K$FG[I[$5$l$F$$$k\e(B perl
+    \e$B%9%/%j%W%H$r;H$&$3$H$,$G$-$^$9\e(B</p>
+<pre>
+  cd src\helpers
+  cvstodsp5.pl
+</pre>
+
+    <p>\e$B$3$N%3%^%s%I$O!"\e(BPerl \e$B%$%s%?%W%j%?$,%$%s%9%H!<%k$5$l$F$$$F!"\e(B
+    .pl \e$B$N%U%!%$%k%?%$%W$,EPO?$5$l$F$$$k$H2>Dj$7$^$9!#JQ49$5$l$?\e(B .dsp
+    \e$B%W%m%8%'%/%H%U%!%$%k$N%j%9%H$O$=$l$i$,JQ49$5$l$k$K$D$l$FI=<($5$l$F$$$-$^$9!#\e(B
+    \e$B2~D{$5$l$?%W%m%8%'%/%H%U%!%$%k$rDs6!$9$k%Q%C%A$r4sM?$9$k$H$-$O!"\e(B
+    Visual Studio6.0 \e$B%U%)!<%^%C%H$K%W%m%8%'%/%H$rLa$9%9%/%j%W%H\e(B
+    dsp5tocvs.pl \e$B$K$h$C$F$=$l$i$rJQ49$7$F$/$@$5$$!#\e(B</p>
+
+    <p>Apache.dsw \e$B5Z$S\e(B makefile.win \e$B$K$h$j%S%k%I$5$l$k%3%"$N\e(B .dsp
+    \e$B%W%m%8%'%/%H$O0J2<$NDL$j$G$9\e(B</p>
+
+    <ul>
+      <li><code>os\win32\ApacheOS.dsp</code></li>
+      <li><code>os\win32\Win9xConHook.dsp</code></li>
+      <li><code>regex\regex.dsp</code></li>
+      <li><code>ap\ap.dsp</code></li>
+      <li><code>lib\expat-lite\xmltok.dsp</code></li>
+      <li><code>lib\expat-lite\xmlparse.dsp <em>xmltok \e$B$,I,MW\e(B</em></code></li>
+      <li><code>lib\sdbm.dsp</code></li>
+      <li><code>main\gen_uri_delims.dsp</code></li>
+      <li><code>main\gen_test_char.dsp</code></li>
+      <li><code>ApacheCore.dsp <em>\e$B0J>eA4$F$,I,MW\e(B</em></code></li>
+      <li><code>Apache.dsp <em>ApacheCore \e$B$,I,MW\e(B</em></code></li>
+    </ul>
+
+    <p>\e$B$5$i$K\e(B <code>os\win32</code> \e$B%5%V%G%#%l%/%H%j$K$O!"\e(B
+       \e$B%*%W%7%g%s$N%b%8%e!<%k$9$Y$F$N%W%m%8%'%/%H%U%!%$%k$,4^$^$l$^$9!#\e(B
+       \e$B$3$l$i$O$9$Y$F\e(B ApacheCore \e$B$rI,MW$H$7$^$9!#\e(B
+    </p>
+
+    <ul>
+      <li><code>os\win32\mod_auth_anon.dsp</code></li>
+      <li><code>os\win32\mod_auth_dbm.dsp <em>sdbm \e$B$bI,MW\e(B</em></code></li>
+      <li><code>os\win32\mod_auth_digest.dsp</code></li>
+      <li><code>os\win32\mod_cern_meta.dsp</code></li>
+      <li><code>os\win32\mod_digest.dsp</code></li>
+      <li><code>os\win32\mod_expires.dsp</code></li>
+      <li><code>os\win32\mod_headers.dsp</code></li>
+      <li><code>os\win32\mod_info.dsp</code></li>
+      <li><code>os\win32\mod_mime_magic.dsp</code></li>
+      <li><code>os\win32\mod_proxy.dsp</code></li>
+      <li><code>os\win32\mod_rewrite.dsp</code></li>
+      <li><code>os\win32\mod_speling.dsp</code></li>
+      <li><code>os\win32\mod_status.dsp</code></li>
+      <li><code>os\win32\mod_unique_id.dsp</code></li>
+      <li><code>os\win32\mod_usertrack.dsp</code></li>
+      <li><code>os\win32\mod_vhost_alias.dsp</code></li>
+    </ul>
+
+    <p><code>support\</code> \e$B%U%)%k%@$O!"\e(BApache
+    \e$B%i%s%?%$%`$N0lIt$G$O$J$$$1$l$I$b!"%Q%9%o!<%I$H%m%0%U%!%$%k$r\e(B
+    \e$B4IM}$9$k$?$a$K!"4IM}<T$K$h$j;HMQ$5$l$kDI2C$N%W%m%0%i%`$N\e(B
+    \e$B%W%m%8%'%/%H%U%!%$%k$,4^$^$l$^$9!#\e(B</p>
+
+    <ul>
+      <li><code>support\htdigest.dsp</code></li>
+      <li><code>support\htpasswd.dsp</code></li>
+      <li><code>support\logresolve.dsp</code></li>
+      <li><code>support\rotatelogs.dsp</code></li>
+    </ul>
+
+    <p>Apache \e$B$,%3%s%Q%$%k$G$-$?$i%5!<%P%k!<%H%G%#%l%/%H%j$K%$%s%9%H!<%k\e(B
+    \e$B$9$kI,MW$,$"$j$^$9!#%G%U%)%k%H$O8=:_$N%O!<%I%G%#%9%/$N%G%#%l%/%H%j\e(B
+    <code>\Apache</code> \e$B$G$9!#\e(B</p>
+
+    <p>\e$B<+F0E*$K\e(B <code>c:\ServerRoot</code>
+    \e$B$K%U%!%$%k$r%$%s%9%H!<%k$9$k$K$O!"0J2<$N\e(B nmake
+    \e$B%3%^%s%I\e(B(\e$B>eIt;2>H\e(B)\e$B$N$I$A$i$+$r;H$C$F$/$@$5$$!#\e(B</p>
+
+    <ul>
+      <li><code>nmake /f Makefile.win installr
+      INSTDIR=<em>c:\ServerRoot</em></code> (\e$B%j%j!<%9HG%S%k%IMQ\e(B)
+      </li>
+      <li><code>nmake /f Makefile.win installd
+      INSTDIR=<em>c:\ServerRoot</em></code> (\e$B%G%P%C%0HG%S%k%IMQ\e(B)</li>
+    </ul>
+
+    <p>INSTDIR \e$B$X$N\e(B<em>c:\ServerRoot</em>
+    \e$B0z?t$,%$%s%9%H!<%k%G%#%l%/%H%j$r;XDj$7$^$9\e(B (Apache \e$B$r\e(B <samp>\Apache</samp>
+    \e$B$K%$%s%9%H!<%k$9$k>l9g$O>JN,2D\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B$3$l$K$h$j0J2<$,%$%s%9%H!<%k$5$l$^$9\e(B</p>
+
+    <ul>
+      <li><code><em>c:\ServerRoot</em>\Apache.exe</code> - Apache
+      \e$B%W%m%0%i%`\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\ApacheCore.dll</code> -
+      Apache \e$B%i%s%?%$%`\e(B [\e$B6&M-%i%$%V%i%j\e(B]</li>
+      <li><code><em>c:\ServerRoot</em>\Win9xConHook.dll</code> -
+      Win9x console fixups [\e$B6&M-%i%$%V%i%j\e(B]</li>
+      <li><code><em>c:\ServerRoot</em>\xmlparse.dll</code> - XML
+      \e$B%Q!<%5\e(B [\e$B6&M-%i%$%V%i%j\e(B]</li>
+      <li><code><em>c:\ServerRoot</em>\xmltok.dll</code> - XML
+      \e$B%H!<%/%s%(%s%8%s\e(B [\e$B6&M-%i%$%V%i%j\e(B]</li>
+      <li><code><em>c:\ServerRoot</em>\bin\*.exe</code> -
+      \e$B4IM}MQ%W%m%0%i%`\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\cgi-bin</code> - CGI
+      \e$B%9%/%j%W%H$NNc\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\conf</code> - \e$B@_Dj%U%!%$%k\e(B
+      \e$B%G%#%l%/%H%j\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\icons</code> - FancyIndexing
+      \e$BMQ$N%"%$%3%s\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\include\*.h</code> - Apache
+      \e$B%X%C%@%U%!%$%k\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\htdocs</code> - \e$B$h$&$3$=!"$N\e(B
+      index.html \e$B%Z!<%8\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\htdocs\manual</code> -
+      Apache \e$B%I%-%e%a%s%H\e(B</li>
+      <li><code><em>c:\ServerRoot</em>\lib</code> - \e$B@EE*%i%$%V%i%j\e(B
+      </li>
+      <li><code><em>c:\ServerRoot</em>\libexec</code> - \e$BF0E*%i%$%V%i%j\e(B
+      </li>
+      <li><code><em>c:\ServerRoot</em>\logs</code> - \e$B6u$N%m%0%G%#%l%/%H%j\e(B
+      </li>
+      <li><code><em>c:\ServerRoot</em>\modules\mod_*.dll</code> -
+      \e$B%m!<%I2DG=$J\e(B Apache \e$B%b%8%e!<%k\e(B</li>
+    </ul>
+
+    <p>\e$B$b$7\e(B nmake \e$B$r;}$C$F$$$J$$$+!"0c$&%G%#%l%/%H%j$K%$%s%9%H!<%k\e(B
+    \e$B$7$?$$>l9g$O!"I,$:F1MM$NL?L>BN7O$r;H$C$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%W%m%;%9$N4JAG2=$N$?$a$9$Y$F$N%W%m%8%'%/%H$N4V$N0MB84X78$O\e(B
+    Microsoft Visual Studio workspace \e$B%U%!%$%k$K$*$$$FDj5A$5$l$F$$$^$9\e(B</p>
+<pre>
+   src/Apache.dsw
+</pre>
+
+    <p>\e$B$3$l$O!"$h$jDc0L$N%=!<%9$O\e(B Visual Studio
+    \e$BFb$G:F%S%k%I$5$l$k$3$H$rJ]>Z$7$^$9!#:G>e0L$N%W%m%8%'%/%H$O\e(B InstallBin
+    \e$B$G$"$j!"\e(BMakefile.win \e$B$r<B9T$7$F%3%s%Q%$%k$5$l$?<B9T%U%!%$%k$H\e(B dll
+    \e$B$r0\F0$7$^$9!#\e(BInstallBin \e$B$N!"!V@_Dj!W$+$i!"!V0lHL!W%?%V$K$"$k!"\e(B
+    \e$B!V%3%^%s%I%i%$%s!W%(%s%H%j$G\e(B INSTDIR= \e$B$rJQ99$9$k$3$H$,$G$-$^$9!#\e(B
+    InstallBin.dsp \e$B%W%m%8%'%/%HFb$N%G%U%)%k%H$O!"\e(Bsrc \e$B%D%j!<$+$i\e(B
+    1 \e$B3,AX>e\e(B (..) \e$B$G$9!#\e(BInstallBin \e$B@_Dj$r=$@5$7!"\e(B
+    INSTDIR= \e$B$rL\E*$N%G%#%l%/%H%j$X$HJT=8$7$F$/$@$5$$!#\e(B
+    </p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/win_service.html.en b/htdocs/manual/win_service.html.en
new file mode 100644 (file)
index 0000000..0059822
--- /dev/null
@@ -0,0 +1,435 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Running Apache for Windows as a Service</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER">Running Apache for Windows as a Service</h1>
+
+    <p>Apache can be run as a service on Windows NT/2000. (There is
+    also some experimental support for similar behavior on
+    <a href="#win95svc">Windows 95/98</a>, introduced with Apache
+    1.3.13).</p>
+
+    <p>Installing Apache as a service should only be done once you
+    can successfully run it in a console window. See <a
+    href="windows.html">Using Apache with Microsoft Windows</a>
+    before you attempt to install or run Apache as a service.
+    Changes to the httpd.conf file should always be followed by
+    starting Apache as a console window. If this succeeds, the
+    service should succeed.</p>
+
+    <p><strong>NOTE: Prior to version 1.3.13, the configuration was
+    <em>not tested</em> prior to performing the
+    installation</strong>, and a lack of service dependencies often
+    caused the console window to succeed, but the service would
+    still fail. See <a href="#service">below</a> if you are having
+    problems running a version of Apache prior to 1.3.13 to resolve
+    the issue. If you have this problem with version 1.3.13 or
+    greater, first try uninstalling (-u) and re-installing (-i) the
+    Apache service.  Better yet, upgrade to the most recent version.</p>
+    <hr />
+
+    <p>To start Apache as a service, you first need to install it
+    as a service. Multiple Apache services can be installed, each
+    with a different name and configuration. To install the default
+    Apache service named "Apache", choose the "Install as Service for
+    All Users" option when launching the Apache installation package.
+    Once this is done you can start the "Apache" service by opening 
+    the Services window (in the Control Panel, hidden in "Administrative
+    Tools" on Windows 2000), selecting Apache, then clicking
+    on Start. Apache will now be running, hidden in the background.
+    You can later stop Apache by clicking on Stop. As an
+    alternative to using the Services window, you can start and
+    stop the "Apache" service from the command line with</p>
+<pre>
+  NET START APACHE
+  NET STOP APACHE
+</pre>
+
+    <p>See <a href="#signal">Controlling Apache as a Service</a>
+    for more information on installing and controlling Apache
+    services.</p>
+
+    <p><strong>Apache, unlike many other Windows NT/2000 services,
+    logs most errors to its own error.log file, in the logs folder
+    within the Apache server root folder. You will find few Apache
+    error details in the Windows NT Event Log. Only errors as
+    Apache attempts to start are captured in the Application Event
+    Log.</strong></p>
+
+    <p>After starting Apache as a service (or if you have trouble
+    starting it) you can test it using the same <a
+    href="windows.html#test">procedure</a> as for running in a
+    console window. Remember to use the command:</p>
+<pre>
+  apache -n "service name"
+</pre>
+
+    <p>to assure you are using the service's default
+    configuration.</p>
+
+    <h2><a id="service" name="service">Running Apache for Windows
+    as a Service</a></h2>
+
+    <p><strong>Note: The -n option to specify a service name is
+    only available with Apache 1.3.7 and later.</strong> Earlier
+    versions of Apache only support the default service name
+    'Apache'.  Only version 1.3.21 supports Windows 2000 ability
+    to 'rename' the display name of a service.</p>
+
+    <p>You can install Apache as a Windows NT service as
+    follows:</p>
+<pre>
+    apache -i -n "service name"
+</pre>
+
+    <p>To install a service to use a particular configuration,
+    specify the configuration file when the service is
+    installed:</p>
+<pre>
+    apache -i -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+    <p>You can pass any other arguments, such as -d to change the
+    default server root directory, -D, -C or -c to change config
+    file processing, etc. Since these are stored in the registry
+    and are difficult to modify, use this command to clear the
+    options and replace them with a new list of options;</p>
+<pre>
+    apache -k config -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+    <p>To remove an Apache service, use:</p>
+<pre>
+    apache -u -n "service name"
+</pre>
+
+    <p>The default "service name", if one is not specified, is
+    "Apache".</p>
+
+    <p>Once a service is installed, you can use the <samp>-n</samp>
+    option, in conjunction with other options, to refer to a
+    service's configuration file. For example:</p>
+
+    <p>To test a service's configuration file and report the
+    default options for the service (configured with -i, -k install
+    or -k config) use:</p>
+<pre>
+    apache -n "service name" -t
+</pre>
+
+    <p>To start a console Apache using a service's configuration
+    file and its default options, use:</p>
+<pre>
+    apache -n "service name"
+</pre>
+
+    <p>Effective with Apache release 1.3.15, the -k install option
+    was added as an alias to -i, and the -k uninstall option was
+    added as an alias to -u. The original -i and -u options are
+    deprecated in Apache 2.0. These aliases were added to ease the
+    transition for administrators running both versions.</p>
+
+    <h2><a id="depends" name="depends">Important Note on service
+    dependencies:</a></h2>
+
+    <p>Prior to Apache release 1.3.13, the dependencies required to
+    successfully start an installed service were not configured.
+    After installing a service using earlier versions of Apache,
+    you must follow these steps:</p>
+<pre>
+    Run regedt32
+    Select <u>W</u>indow - "HKEY_LOCAL_MACHINE on Local Machine" from the menu
+    Double-click to open the SYSTEM, then the CurrentControlSet keys
+    Scroll down and click on the Apache servicename
+    Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+    Fill in the Add Value dialog with 
+        <u>V</u>alue Name: DependOnGroup 
+        <u>D</u>ata Type: REG_MULTI_SZ
+        and click OK
+    Leave the Multi-String Editor dialog empty and click OK
+    Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+    Fill in the Add Value dialog with 
+        <u>V</u>alue Name: DependOnService
+        <u>D</u>ata Type: REG_MULTI_SZ
+        and click OK
+    Type the following list (one per line) in the Multi-String Editor dialog
+        Tcpip
+        Afd
+        and click OK
+</pre>
+
+    <p>If you are using COM or DCOM components from a third party
+    module, ISAPI, or other add-in scripting technologies such as
+    ActiveState Perl, you may also need to add the entry Rpcss to
+    the DependOnService list. To avoid exposing the TCP port 135
+    when it is unnecessary, Apache does not create that entry upon
+    installation. Follow the directions above to find or create the
+    DependOnService value, double click that value if it already
+    exists, and add the Rpcss entry to the list.</p>
+
+    <p>Other installations may require additional dependencies.
+    If any files required at startup reside on a network drive, you
+    may need to first configure the service to depend on the network
+    redirector (usually lanmanworkstation) and follow the directions
+    below under the "User Account for Apache Service to Run As" section.</p>
+
+    <p>Attempting to use both IIS and Apache, on the same port but on
+    two different IP addresses may require the W3SVC (IIS) to start prior 
+    to Apache, because IIS tries to glom onto all IP addresses (0.0.0.0) 
+    as it starts, and will fail if Apache has already started on a 
+    specific IP address.</p>
+
+    <p>Apache 1.3.21 introduces a MUCH simpler way to add a dependency.
+    The -W "servicename" argument modifies the -k install or -k config
+    commands to configure a dependency for Apache.  Multiple -W arguments
+    may be given, but they should all occur after the -k option.
+    For example, to add the LanmanWorkstation dependency to an installed
+    "Apache" service, use this command:</p>
+<pre>
+    apache -k config -n Apache -W LanmanWorkstation
+</pre>
+
+    <h2>User Account for Apache Service to Run As (NT/2000)</h2>
+
+    <p>When Apache is first installed as a service (e.g. with the
+    -i option) it will run as user "System" (the LocalSystem
+    account). There should be few issues if all resources for the
+    web server reside on the local system, but it has broad
+    security privileges to affect the local machine!</p>
+
+    <blockquote>
+      LocalSystem is a very privileged account locally, so you
+      shouldn't run any shareware applications there. However, it
+      has no network privileges and cannot leave the machine via
+      any NT-secured mechanism, including file system, named pipes,
+      DCOM, or secure RPC.
+    </blockquote>
+
+    <p><strong>NEVER grant network privileges to the SYSTEM
+    account!</strong> Create a new user account instead, grant the
+    appropriate privileges to that user, and use the 'Log On As:'
+    option. Select the Start Menu -&gt; Settings -&gt; Control
+    Panel -&gt; Services -&gt; apache service ... and click the
+    "Startup" button to access this setting.</p>
+
+    <blockquote>
+      A service that runs in the context of the LocalSystem account
+      inherits the security context of the SCM. It is not
+      associated with any logged-on user account and does not have
+      credentials (domain name, user name, and password) to be used
+      for verification.
+    </blockquote>
+
+    <p>The SYSTEM account has no privileges to the network, so
+    shared pages or a shared installation of Apache is invisible to
+    the service. If you intend to use <em>any</em> network
+    resources, the following steps should help:</p>
+
+    <ul>
+      <li>Select Apache from the Control Panel's Service dialog and
+      click Startup.</li>
+
+      <li>Verify that the service account is correct. You may wish
+      to create an account for your Apache services.</li>
+
+      <li>Retype the password and password confirmation.</li>
+
+      <li>Go to User Manager for Domains.</li>
+
+      <li>Click on Policies from the title bar menu, and select
+      User Rights.</li>
+
+      <li>Select the option for Advanced User Rights.</li>
+
+      <li>
+        In the drop-down list, verify that the following rights
+        have been granted to the selected account: 
+
+        <ul>
+          <li>Act as part of the operating system</li>
+
+          <li>Back up files and directories</li>
+
+          <li>Log on as a service</li>
+
+          <li>Restore files and directories</li>
+        </ul>
+      </li>
+
+      <li>Confirm that the selected account is a member of the
+      Users group.</li>
+
+      <li>Confirm the selected account has access to all document
+      and script directories (minimally read and browse
+      access).</li>
+
+      <li>Confirm the selected account has read/write/delete access
+      to the Apache logs directory!</li>
+    </ul>
+
+    <p>If you allow the account to log in as a user, then you can
+    log in yourself and test that the account has the privileges to
+    execute the scripts, read the web pages, and that you can start
+    Apache in a console window. If this works, and you have
+    followed the steps above, Apache should execute as a service
+    with no problems.</p>
+
+    <p><strong>Note: error code 2186</strong> is a good indication
+    that you need to review the 'Log On As' configuration, since
+    the server can't access a required network resource.</p>
+
+    <h2><a id="trouble" name="trouble">Troubleshooting Apache for
+    Windows as a Service</a></h2>
+
+    <p>When starting Apache as a service you may encounter an error
+    message from Windows service manager. For example if you try to
+    start Apache using the Services applet in Windows Control Panel
+    you may get the following message;</p>
+<pre>
+  Could not start the apache service on \\COMPUTER
+  Error 1067; The process terminated unexpectedly.
+</pre>
+
+    <p>You will get this error if there is any problem starting
+    Apache. In order to see what is causing the problem you should
+    follow the instructions for <a href="windows.html#test">Testing
+    Apache at the Command Prompt</a>.</p>
+
+    <p>Also, Apache 1.3.13 now records startup errors in the
+    Application Event Log under Windows NT/2000, if Apache is run
+    as a service. Run the Event Viewer and select <u>L</u>og ...
+    <u>A</u>pplication to see these events.</p>
+
+    <p><strong>Check the Application Event Log with the Event
+    Viewer in case of any problems, even if no error message pops
+    up to warn you that an error occurred.</strong></p>
+
+    <h2><a id="cmdline" name="cmdline">Running Apache for Windows
+    from the Command Line</a></h2>
+    For details on controlling Apache service from the command
+    line, please refer to <a href="windows.html#cmdline">console
+    command line</a> section. 
+
+    <h2><a id="signal" name="signal">Controlling Apache as a
+    Service</a></h2>
+
+    <p>Multiple instances of Apache can be installed and run as
+    services. Signal an installed Apache service to start, restart,
+    or shutdown/stop as follows:</p>
+<pre>
+    apache -n "service name" -k start
+    apache -n "service name" -k restart
+    apache -n "service name" -k shutdown
+    apache -n "service name" -k stop
+</pre>
+
+    <p>For the default "Apache" service, the -n Apache option is
+    still required, since the -k commands without the -n option are
+    directed at Apache running in a console window. The quotes are
+    only required if the service name contains spaces.</p>
+
+    <p><strong>Note: the -k stop alias for the -k shutdown command
+    was introduced in Apache version 1.3.13.</strong> Earlier
+    versions of Apache will only recognize the -k shutdown option.
+    Prior to 1.3.3, Apache did not recognize <em>any</em> -k
+    options at all!</p>
+
+    <p>Note that you may specify startup options on the apache -k
+    start command line, including the -D, -C and -c options. These
+    affect the processing of the service configuration, and may be
+    used with an &lt;IfDefine&gt; block to conditionally process
+    directives. You may also override the server root path or
+    configuration file with the -d or -f options. The options
+    should also be passed to the -k restart command, but they are
+    ignored if the service is running, and only processed if the
+    service is started.</p>
+
+    <p>The service also appears in the Service Control applet on
+    Windows NT/2000. For NT, this is found in the Settings -&gt;
+    Control Panel -&gt; Services entry, and on 2000 it is found in
+    the Settings -&gt; Control Panel -&gt; Administrative Tools
+    -&gt; Services entry. Here you can select the desired Apache
+    service to start or stop it. Pass additional options such as
+    -D, -C and -c, or override the default -d or -f options in the
+    Start Parameters box before clicking the Start button. These
+    options behave identically to the apache -k start command.</p>
+
+    <p>In addition, you can use the native Windows NT/2000 command
+    NET to start and stop Apache services:</p>
+<pre>
+    NET START "service name"
+    NET STOP "service name"
+</pre>
+
+    <p>Again, quotes are only required if the service name contains
+    spaces. There is no way using the NET START command to pass
+    additional options such as -D, -c or -C using the NET START
+    command. If options are required, use one of the other two
+    methods instead.</p>
+
+    <h2><a id="win95svc" name="win95svc">Experimental
+    Windows 95/98 Service</a></h2>
+
+    <p><strong>Note: The service options for Windows 95 and 98 are
+    only available with Apache 1.3.13 and later.</strong> Earlier
+    versions of Apache only supported Apache in a console window
+    for Windows 95/98.</p>
+
+    <p>There is some support for Apache on Windows 95/98 to behave
+    in a similar manner as a service on Windows NT/2000. It is
+    <em>experimental</em>, if it works (at all) the Apache
+    Software Foundation will not attest to its reliability or
+    future support. Proceed at your own risk!</p>
+
+    <p>Once you have confirmed that Apache runs correctly at the <a
+    href="windows.html#test">Command Prompt</a> you can install,
+    control and uninstall it with the same commands as the Windows
+    NT/2000 version.</p>
+
+    <p>There are, however, significant differences that you should
+    note:</p>
+
+    <p>Apache will attempt to start and if successful it will run
+    in the background. If you run the command</p>
+<pre>
+   Apache -n "service name" -k start
+</pre>
+
+    <p>via a shortcut on your desktop, for example, then if the
+    service starts successfully a console window will flash up but
+    immediately disappears. If Apache detects any errors on startup
+    such as a incorrect entries in the httpd.conf file, then the
+    console window will remain visible. This may display an error
+    message which will be useful in tracking down the cause of the
+    problem, and you should also review the error.log file in the
+    Apache logs directory.</p>
+
+    <p>Windows 95/98 does not support NET START or NET STOP
+    commands so you must use Apache's Service Control options at a
+    command prompt. You may wish to set up a shortcut for each of
+    these commands so that you can just choose it from the start
+    menu or desktop to perform the required action.</p>
+
+    <p>Apache and Windows 95/98 offer no support for running the
+    Apache service as a specific user with network privileges. In
+    fact, Windows 95/98 offers no security on the local machine,
+    either. This is the simple reason that the Apache Software
+    Foundation never endorses the use of Windows 95/98 as a public
+    httpd server. These facilities exist only to assist the user in
+    developing web content and learning the Apache server, and
+    perhaps as a intranet server on a secured, private network.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/win_service.html.html b/htdocs/manual/win_service.html.html
new file mode 100644 (file)
index 0000000..66272ce
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="win_service.html.en" -->
+
diff --git a/htdocs/manual/win_service.html.ja.jis b/htdocs/manual/win_service.html.ja.jis
new file mode 100644 (file)
index 0000000..27ecede
--- /dev/null
@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Windows \e$B$G\e(B Apache \e$B$r%5!<%S%9$H$7$FF0$+$9\e(B</title>
+
+ </head>
+  <!-- English revision:1.9 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center">Windows \e$B$G\e(B Apache \e$B$r%5!<%S%9$H$7$FF0$+$9\e(B</h1>
+
+    <p>Windows NT/2000 \e$B$G$O\e(B Apache
+    \e$B$r%5!<%S%9$H$7$FF0$+$9$3$H$,$G$-$^$9!#\e(B(Apache 1.3.13
+    \e$B$G!"Hs>o$K<B83E*$K\e(B<a href="#win95svc">Windows 95/98</a>
+    \e$B$K$*$$$F$bF1MM$NF0:n$r%5%]!<%H$r$9$k$h$&$K$J$j$^$7$?\e(B)\e$B!#\e(B</p>
+
+    <p>\e$B%5!<%S%9$H$7$F\e(B Apache \e$B$r%$%s%9%H!<%k$9$k$K$O!"\e(B
+    \e$B%3%s%=!<%k%&%#%s%I%&$G$?$C$?0lEY$3$N<B9T$,@.8y$G$-$l$P$$$$$O$:$G$9!#\e(B
+    Apache \e$B$r%5!<%S%9$H$7$F%$%s%9%H!<%k$7$?$j!"F0$+$=$&$H$9$kA0$K\e(B <a
+    href="windows.html">Microsoft Windows \e$B$G\e(B Apache \e$B$rF0$+$9\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#\e(Bhttpd.conf \e$B%U%!%$%k$X$NJQ99$O%3%s%=!<%k%&%#%s%I%&$G\e(B
+    Apache \e$B$r5/F0$9$k$3$H$K$h$j!"$$$D$bH?1G$5$l$^$9!#\e(B
+    \e$B$3$l$G$&$^$/$$$1$P!"%5!<%S%9$O@.8y$9$k$G$7$g$&!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B: \e$B%P!<%8%g%s\e(B 1.3.13 \e$B$h$jA0$G$O%$%s%9%H!<%k<B9TA0$K\e(B
+    \e$B@_Dj$O\e(B<em>\e$B%F%9%H$5$l$^$;$s\e(B</em></strong>\e$B!#%5!<%S%9$N0MB8@-$NITB-$,\e(B
+    \e$B860x$G!"%3%s%=!<%k%&%#%s%I%&$G$O$7$P$7$P$&$^$/$$$-$^$9$,!"\e(B
+    \e$B%5!<%S%9$O$^$@<:GT$7$^$9!#\e(BApache \e$B$N\e(B 1.3.13 \e$B$h$jA0$N%P!<%8%g%s$r\e(B
+    \e$BF0$+$9$H$-$KLdBj$,$"$k$J$i$P!"\e(B<a href="#service">\e$B8e=R$N@bL@\e(B</a>
+    \e$B$r;2>H$7$F$/$@$5$$!#%P!<%8%g%s\e(B 1.3.13 \e$B0J9_$G$3$NLdBj$,$"$k$J$i!"\e(B
+    \e$B$^$::G=i$K\e(B Apache \e$B$r%"%s%$%s%9%H!<%k\e(B (-u) \e$B$7$F$+$i:F%$%s%9%H!<%k\e(B
+    (-i) \e$B$r;n$7$F$_$F$/$@$5$$!#\e(B
+    \e$B$b$C$H$h$$<jCJ$O:G?7$N%P!<%8%g%s$K%"%C%W%0%l!<%I$9$k$3$H$G$9!#\e(B</p>
+    <hr />
+
+    <p>Apache \e$B$r%5!<%S%9$H$7$F3+;O$9$k$?$a$K$O!"$^$::G=i$K%5!<%S%9$H$7$F\e(B
+    \e$B%$%s%9%H!<%k$9$kI,MW$,$"$j$^$9!#$=$l$>$lJL$NL>A0$H@_Dj$r;H$C$F!"\e(B
+    Apache \e$B%5!<%S%9$rJ#?t%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#%G%U%)%k%H$N\e(B
+    "Apache" \e$B$H$$$&L>A0$G\e(B Apache \e$B%5!<%S%9$r%$%s%9%H!<%k$9$k$K$O!"%9%?!<%H\e(B
+    \e$B%a%K%e!<$+$i\e(B "Install Apache as Service" \e$B%*%W%7%g%s$r<B9T$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$r0lEY9T$J$($P!"\e(B(\e$B%3%s%H%m!<%k%Q%M%kCf$N\e(B) \e$B%5!<%S%9%&%#%s%I%&\e(B
+    \e$B!J\e(BWindows 2000\e$B$G$O4IM}%D!<%k$NCf$K$"$j$^$9!K$r3+$$$F!"\e(BApache \e$B$rA*Br$7$F!"\e(B
+    \e$B<!$K\e(B Start \e$B$r%/%j%C%/$9$k$3$H$G!"\e(B"Apache" \e$B%5!<%S%9$r3+;O$G$-$^$9!#\e(B
+    \e$B$3$l$G\e(B Apache \e$B$O%P%C%/%0%i%&%s%I$GF0$-$^$9!#\e(B
+    \e$B$=$N8e$O\e(B Stop \e$B$r%/%j%C%/$9$k$3$H$G!"\e(BApache \e$B$r=*N;$G$-$^$9!#\e(B
+    \e$B%5!<%S%9%&%#%s%I%&$r;H$&Be$o$j$K!"%3%^%s%I%i%$%s$+$i!"\e(B
+    \e$B0J2<$r<B9T$9$k$3$H$G!"\e(B"Apache" \e$B%5!<%S%9$r3+;O!"=*N;$G$-$^$9!#\e(B</p>
+<pre>
+  NET START APACHE
+  NET STOP APACHE
+</pre>
+
+    <p>Apache \e$B%5!<%S%9$N%$%s%9%H!<%k$H%3%s%H%m!<%k$K4X$9$k$5$i$J$k>pJs$O!"\e(B
+    <a href="#signal">Apache \e$B%5!<%S%9$N%3%s%H%m!<%k\e(B</a>\e$B$r;2>H$7$F$/$@$5$$!#\e(B
+    </p>
+
+    <p><strong>Apache \e$B$O!"B>$NB?$/$N\e(B Windows NT/2000 \e$B$N%5!<%S%9$H0[$J$j!"\e(B
+    \e$B$[$H$s$I$N%(%i!<$OFH<+$K\e(B Apache \e$B$N%5!<%P%k!<%H$N\e(B logs \e$B%U%)%k%@$K$"$k\e(B
+    error.log \e$B%U%!%$%k$K5-O?$7$^$9!#$[$H$s$I$N\e(B Apache \e$B$N%(%i!<$K4X$9$k\e(B
+    \e$B>\:Y$O\e(BWindows NT \e$B$N%$%Y%s%H%m%0$G$OJ,$+$i$J$$$G$7$g$&!#\e(BApache
+    \e$B$r5/F0$7$h$&$H$7$?$H$-$KH/@8$7$?%(%i!<$@$1$,%$%Y%s%H%m%0$K5-O?$5$l$^$9!#\e(B
+    </strong></p>
+
+    <p>Apache \e$B$r%5!<%S%9$H$7$F3+;O$7$?8e\e(B (\e$B$^$?$O!"3+;O$9$k$3$H$KLdBj$,\e(B
+    \e$B$"$l$P\e(B)\e$B!"%3%s%=!<%k%&%#%s%I%&$+$iF1$8\e(B<a href="windows.html#test">\e$B<j=g\e(B</a>
+    \e$B$G%F%9%H$G$-$^$9!#%G%U%)%k%H$N%5!<%S%9@_Dj$r3NG'$9$k$?$a$K$O!"\e(B
+    \e$B$3$N%3%^%s%I\e(B:</p>
+<pre>
+  apache -n "service name"
+</pre>
+
+    <p>\e$B$r;H$&$3$H$r3P$($F$*$$$F$/$@$5$$!#\e(B</p>
+
+
+    <h2><a id="service" name="service">Windows \e$B$G\e(B Apache \e$B$r%5!<%S%9$H$7$F\e(B
+    \e$BF0$+$9\e(B</a></h2>
+
+    <p><strong>\e$BCm0U\e(B: \e$B%5!<%S%9L>$r;XDj$9$k\e(B -n \e$B%*%W%7%g%s$O\e(B Apache 1.3.7
+    \e$B0J9_$G$N$_MxMQ2DG=$G$9!#\e(B</strong> \e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$G$O!"\e(B
+    \e$B%G%U%)%k%H$N%5!<%S%9L>\e(B 'Apache' \e$B$@$1$,%5%]!<%H$5$l$F$$$^$9!#\e(B
+    \e$B%P!<%8%g%s\e(B 1.3.21 \e$B$K8B$j!"\e(BWindows 2000 \e$B$G%5!<%S%9L>$H$7$FI=<($5$l$k\e(B
+    \e$BL>A0$NJQ99$,%5%]!<%H$5$l$F$$$^$9!#\e(B</p>
+
+    <p>\e$B0J2<$N$h$&$K$9$k$3$H$G!"\e(BApache \e$B$r\e(B Windows NT \e$B$N%5!<%S%9$H$7$F\e(B
+    \e$B%$%s%9%H!<%k$G$-$^$9\e(B:</p>
+<pre>
+    apache -i -n "service name"
+</pre>
+
+    <p>\e$BFCDj$N@_Dj$r;H$C$F%5!<%S%9$r%$%s%9%H!<%k$9$k$K$O!"\e(B
+    \e$B%$%s%9%H!<%k$N:]$K@_Dj%U%!%$%k$r;XDj$7$F$/$@$5$$\e(B:</p>
+
+<pre>
+    apache -i -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+    <p>\e$B%5!<%P%k!<%H%G%#%l%/%H%j$r%G%U%)%k%H$+$iJQ99$9$k$?$a$N\e(B -d\e$B!"\e(B
+    \e$B@_Dj%U%!%$%k$rJQ99$9$k$?$a$N\e(B -D, -C \e$B$d\e(B -c \e$B$J$I!"$=$NB>$NB0@-$O\e(B
+    \e$B>JN,$G$-$^$9!#$3$l$i$,%l%8%9%H%j$K=q$-9~$^$l$F$$$FJQ99$,:$Fq$J$H$-$O!"\e(B
+    \e$B$3$N%3%^%s%I$r;H$C$F%*%W%7%g%s$r%/%j%"$7!"?7$7$$%*%W%7%g%s$KCV$-49$($^$9!#\e(B
+    </p>
+<pre>
+    apache -k config -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+    <p>Apache \e$B%5!<%S%9$r:o=|$9$k$K$O!"0J2<$N$h$&$K$7$^$9\e(B:</p>
+<pre>
+    apache -u -n "service name"
+</pre>
+
+    <p>\e$B%5!<%S%9L>$,;XDj$5$l$J$$>l9g$N%G%U%)%k%H$N!V%5!<%S%9L>!W$O\e(B
+    "Apache" \e$B$H$J$j$^$9!#\e(B</p>
+
+    <p>\e$B%5!<%S%9$,%$%s%9%H!<%k$5$l$k$H!"%5!<%S%9$N@_Dj%U%!%$%k$r<($9$N$K\e(B
+    \e$BB>$N%*%W%7%g%s$HF1;~$K\e(B <samp>-n</samp> \e$B%*%W%7%g%s$r;HMQ$9$k$3$H$,\e(B
+    \e$B$G$-$^$9!#Nc\e(B:</p>
+
+    <p>\e$B%5!<%S%9$N@_Dj%U%!%$%k$r%F%9%H$7$F!"%5!<%S%9$N%G%U%)%k%H$N\e(B
+    \e$B%*%W%7%g%s$r3NG'$9$k$K$O<!$N$h$&$K$7$^$9!J@_Dj$K$O\e(B -i, -k install,
+    -k config \e$B%*%W%7%g%s$r;H$$$^$9\e(B) \e$BNc\e(B:</p>
+<pre>
+    apache -n "service name" -t
+</pre>
+
+    <p>\e$B%5!<%S%9$N@_Dj%U%!%$%k$H%G%U%)%k%H$N%*%W%7%g%s$r;HMQ$7$F!"\e(B
+    \e$B%3%s%=!<%k$+$i\e(B Apache \e$B$r5/F0$9$k$K$O<!$N$h$&$K$7$^$9\e(B:</p>
+<pre>
+    apache -n "service name"
+</pre>
+
+    <p>Apache \e$B%j%j!<%9\e(B 1.3.15 \e$B$G\e(B -k install \e$B%*%W%7%g%s$,\e(B -i \e$B%*%W%7%g%s$N!"\e(B
+    \e$B$^$?!"\e(B-k uninstall \e$B%*%W%7%g%s$,\e(B -u \e$B%*%W%7%g%s$NJLL>$H$7$FDI2C$5$l$^$7$?!#\e(B
+    \e$B85$N\e(B -i \e$B$=$7$F\e(B -u \e$B%*%W%7%g%s$O\e(B Apache 2.0 \e$B$G$O;HMQ$7$J$$$h$&$K$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$i$NJLL>$O!"N>J}$N%P!<%8%g%s$r1?MQ$9$k4IM}<T$,\e(B (\e$BLuCm\e(B: Apache 2.0 \e$B$K\e(B)
+    \e$B0\9T$7$d$9$/$9$k$?$a$KDI2C$5$l$^$7$?!#\e(B</p>
+
+    <h2><a id="depends" name="depends">\e$B%5!<%S%9$N0MB8$K4X$9$k=EMW$JN10UE@\e(B</a>
+    </h2>
+
+    <p>\e$B%j%j!<%9\e(B 1.3.13 \e$B0JA0$N\e(B Apache \e$B$G$O!"%$%s%9%H!<%k$5$l$?%5!<%S%9$,\e(B
+    \e$B$&$^$/3+;O$9$k$3$H$,A0Ds>r7o$H$J$k0MB84X78$O9=@.$5$l$^$;$s!#\e(B
+    Apache \e$B$N0JA0$N%P!<%8%g%s$r;HMQ$7$F%5!<%S%9$r%$%s%9%H!<%k$7$?8e$K!"\e(B
+    \e$B0J2<$N<j=g$rF'$^$J$1$l$P$J$j$^$;$s\e(B : </p>
+<pre>
+    Run regedt32
+    Select <u>W</u>indow - "HKEY_LOCAL_MACHINE on Local Machine" from the menu
+    Double-click to open the SYSTEM, then the CurrentControlSet keys
+    Scroll down and click on the Apache servicename
+    Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+    Fill in the Add Value dialog with 
+        <u>V</u>alue Name: DependOnGroup 
+        <u>D</u>ata Type: REG_MULTI_SZ
+        and click OK
+    Leave the Multi-String Editor dialog empty and click OK
+    Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+    Fill in the Add Value dialog with 
+        <u>V</u>alue Name: DependOnService
+        <u>D</u>ata Type: REG_MULTI_SZ
+        and click OK
+    Type the following list (one per line) in the Multi-String Editor dialog
+        Tcpip
+        Afd
+        and click OK
+</pre>
+
+    <p>\e$B$^$?!"%5!<%I%Q!<%F%#!<$N%b%8%e!<%k!"\e(BISAPI\e$B!"$=$NB>\e(B ActiveState Perl
+    \e$B$J$I$K$h$k!"\e(BCOM \e$B$d\e(B DCOM \e$B$N9=@.MWAG$r;HMQ$7$F$$$k$J$i$P!"\e(BDependOnService
+    \e$B%j%9%H$K\e(B Rpcss \e$B$N%(%s%H%j!<$rDI2C$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#\e(B
+    \e$B$=$l$,ITMW$J>l9g$K!"\e(BTCP \e$B%]!<%H\e(B 135 \e$B$rO*=P$9$k$N$rHr$1$k$?$a$K!"\e(B
+    Apache \e$B$O%$%s%9%H!<%k$N$H$-$K$=$N%(%s%H%j!<$r:n@.$7$^$;$s!#\e(B
+    \e$B>e$N;X<($K=>$C$F!"\e(BDependOnService \e$BCM$r3NG'!"$^$?$O:n@.$7$F$/$@$5$$!#\e(B
+    \e$B4{$KB8:_$7$F$$$k$J$i$P$=$NCM$r%@%V%k%/%j%C%/$7$F!"\e(BRpcss \e$B$N%(%s%H%j!<$r\e(B
+    \e$B%j%9%H$KDI2C$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B0MB8@-$N$?$a$^$@B>$K2?$+%$%s%9%H!<%k$,MW5a$5$l$k$+$b$7$l$^$;$s!#\e(B
+    \e$B3+;O;~$K%M%C%H%o!<%/%I%i%$%V>e$KB8:_$9$k%U%!%$%k$rMW5a$5$l$k>l9g!"\e(B
+    \e$B$^$::G=i$K%M%C%H%o!<%/%j%@%$%l%/%?\e(B(\e$BDL>o\e(B lanmanworkstation)
+    \e$B$N0MB8@-$K4X$o$k%5!<%S%9$r@_Dj$7$F!"\e(B" \e$B%f!<%6%"%+%&%s%H$G\e(B Apache
+    \e$B$rF0$+$9\e(B " \e$B%;%/%7%g%s0J2<$N@bL@$K=>$C$F$/$@$5$$\e(B</p>
+
+    <p>IIS \e$B$H\e(B Apache \e$B$NN>J}$r;H$*$&$H$9$k$J$i!"0[$J$k\e(B IP
+    \e$B%"%I%l%9$NF1$8%]!<%HHV9f$G\e(B W3SVC (IIS) \e$B$r\e(B Apache
+    \e$B$NA0$K3+;O$5$;$F$*$/I,MW$,$"$j$^$9!#$J$<$J$i!"\e(BApache \e$B$,@h$KFCDj$N\e(B
+    IP \e$B%"%I%l%9$G3+;O$7$F$$$k$H!"\e(BIIS \e$B$O3+;O$9$k$H$-$KA4$F$N\e(B IP \e$B%"%I%l%9\e(B
+    (0.0.0.0) \e$B$r3NJ]$7$h$&$H$7$F<:GT$9$k$+$i$G$9!#\e(B</p>
+
+    <p>Apache 1.3.21 \e$B$G0MB8@-$r2C$($k$O$k$+$KC1=c$JJ}K!$,F3F~$5$l$^$7$?!#\e(B
+    -W "\e$B%5!<%S%9L>\e(B" \e$B0z?t$O\e(B Apache \e$B$N0MB8@-$r@_Dj$9$k\e(B -k install \e$B$d\e(B
+    -k config \e$B%3%^%s%I$K5!G=$rIU$12C$($^$9!#J#?t$N\e(B -W
+    \e$B0z?t$,M?$($i$l$^$9$,!"$9$Y$F\e(B -k \e$B%*%W%7%g%s$N8e$m$G;XDj$9$k$Y$-$G$9!#\e(B
+    \e$BNc$($P!"%$%s%9%H!<%k:Q$_$N\e(B "Apache" \e$B%5!<%S%9$K\e(B LanmanWorkstation
+    \e$B0MB8@-$r2C$($k$J$i!"$3$N%3%^%s%I$r;H$$$^$9!#\e(B</p>
+<pre>
+    apache -k config -n Apache -W LanmanWorkstation
+</pre>
+
+    <h2>\e$B%f!<%6%"%+%&%s%H$G\e(B Apache \e$B$rF0$+$9\e(B (NT/2000)</h2>
+
+    <p>Apache \e$B$,:G=i$K%5!<%S%9\e(B ( \e$BNc$($P!"\e(B-i \e$B%*%W%7%g%s\e(B ) \e$B$H$7$F%$%s%9%H!<%k$5$l$k$H$-!"\e(B
+    "System" \e$B$H$$$&%f!<%6\e(B (LocalSystem \e$B%"%+%&%s%H\e(B ) \e$B$GF0:n$9$k$G$7$g$&!#\e(B
+    \e$B$b$7\e(B web \e$B%5!<%P$N$9$Y$F$N%j%=!<%9$,%m!<%+%k%7%9%F%`>e$K$"$k$J$i\e(B
+    \e$B$[$H$s$ILdBj$"$j$^$;$s$,!"\e(B(LocalSystem \e$B%"%+%&%s%H\e(B ) \e$B$O%m!<%+%k%^%7%s$K\e(B
+    \e$B1F6A$rM?$($kI}9-$$%;%-%e%j%F%#FC8"$r;}$C$F$$$^$9!#\e(B</p>
+
+    <blockquote>
+      LocalSystem \e$B$O6I=jE*$KHs>o$KFC8"%"%+%&%s%H$J$N$G!"\e(B
+      \e$B$I$s$J%7%'%"%&%'%"%"%W%j%1!<%7%g%s$b$=$3$GF0:n$5$;$k$Y$-$G$O\e(B
+      \e$B$"$j$^$;$s!#$7$+$7$J$,$i!"$=$l$O%M%C%H%o!<%/FC8"$r;}$?$J$/$F!"\e(B
+      NT \e$B$N5!L)J];}5!G=!"%U%!%$%k%7%9%F%`!"%Q%$%W!"\e(BDCOM \e$B!"%;%-%e%"\e(B RPC \e$B$r4^$a$F\e(B
+      \e$B$=$N$^$^$K$7$F$*$/$3$H$O$G$-$^$;$s\e(B
+    </blockquote>
+
+    <p><strong>\e$B7h$7$F%7%9%F%`%"%+%&%s%H$K%M%C%H%o!<%/FC8"$rM?$($F$O\e(B
+    \e$B$$$1$^$;$s\e(B !</strong> \e$BBe$o$j$K?7$7$$%f!<%6%"%+%&%s%H$r:n@.$7$F!"\e(B
+    \e$B$=$N%f!<%6$KE,@Z$J8"8B$rM?$($F!"\e(B'Log On As' \e$B$H$$$&%*%W%7%g%s$r\e(B
+    \e$B;H$C$F$/$@$5$$!#%9%?!<%H%a%K%e!<\e(B -&gt; \e$B@_Dj\e(B -&gt; \e$B%3%s%H%m!<%k%Q%M%k\e(B
+    -&gt; \e$B%5!<%S%9\e(B -&gt; Apache Service \e$B$HA*Br$7$F!"!V%9%?!<%H%"%C%W!W\e(B
+    \e$B%\%?%s$r%/%j%C%/$7$F!"$3$N@_Dj$K%"%/%;%9$7$F$/$@$5$$!#\e(B</p>
+
+    <blockquote>
+      LocalSystem \e$B%"%+%&%s%H$N4D6-$GF0:n$9$k%5!<%S%9$O\e(B SCM
+      \e$B4XO"$N%;%-%e%j%F%#4D6-$r0z$-7Q$.$^$9!#\e(B
+      \e$B%5!<%S%9$O$I$N%f!<%6%"%+%&%s%H$H$b4XO"$E$1$i$l$:!"\e(B
+      \e$B$^$?3NG'$K;HMQ$5$l$k$Y$->ZL@\e(B ( \e$B%I%a%$%sL>!"%f!<%6L>!"%Q%9%o!<%I\e(B )
+      \e$B$r;}$A$^$;$s!#\e(B
+    </blockquote>
+
+    <p>SYSTEM \e$B%"%+%&%s%H$O%M%C%H%o!<%/$KFC8"$r;}$?$J$$$N$G!"6&M-$5$l$?%Z!<%8$d\e(B
+    \e$B6&M-$5$l$?%$%s%9%H!<%k$O%5!<%S%9$+$i$O8+$($^$;$s!#\e(B
+    \e$B$"$J$?$,\e(B<em>\e$B$I$s$J\e(B</em>\e$B%M%C%H%o!<%/%j%=!<%9$b;HMQ$9$k$D$b$j$G$"$k$J$i$P!"\e(B
+    \e$B0J2<$N%9%F%C%W$OLr$KN)$D$+$b$7$l$^$;$s\e(B</p>
+
+    <ul>
+      <li>Control Panel \e$B$N\e(B Service \e$B%@%$%"%m%0$+$i\e(B Apache \e$B$rA*Br$7$F!"\e(B
+      Startup \e$B$r%/%j%C%/$7$^$9!#\e(B</li>
+
+      <li>\e$B%5!<%S%9%"%+%&%s%H$,@5$7$$$3$H$r3NG'$7$F$/$@$5$$!#\e(B
+      Apache \e$B%5!<%S%9MQ$N%"%+%&%s%H$r:n@.$9$k$3$H$b$h$$J}K!$G$9!#\e(B</li>
+
+      <li>\e$B%Q%9%o!<%I$r7+$jJV$7F~NO$7$F%Q%9%o!<%I3NG'$r$7$^$9!#\e(B</li>
+
+      <li>\e$B%I%a%$%s$N%f!<%6%^%M!<%8%c$K9T$C$F$/$@$5$$!#\e(B</li>
+
+      <li>\e$B%?%$%H%k%P!<%a%K%e!<$+$i\e(B Policies \e$B$r%/%j%C%/$7$F!"\e(B
+      User Rights \e$B$rA*Br$7$F$/$@$5$$!#\e(B</li>
+
+      <li>Advanced User Rights \e$B$N%*%W%7%g%s$rA*Br$7$F$/$@$5$$!#\e(B</li>
+
+      <li>
+        \e$B%I%m%C%W%@%&%s%j%9%HCf$G!"A*Br$5$l$?%"%+%&%s%H$K0J2<$N8"8B$,\e(B
+        \e$BM?$($i$l$?$3$H$r3NG'$7$F$/$@$5$$!#\e(B
+
+        <ul>
+          <li>Act as part of the operating system</li>
+
+          <li>Back up files and directories</li>
+
+          <li>Log on as a service</li>
+
+          <li>Restore files and directories</li>
+        </ul>
+      </li>
+
+      <li>\e$BA*Br$5$l$?%"%+%&%s%H$,\e(B Users \e$B%0%k!<%W$N%a%s%P$G$"$k$3$H$r\e(B
+      \e$B3NG'$7$F$/$@$5$$!#\e(B</li>
+
+      <li>\e$BA*Br$5$l$?%"%+%&%s%H$,$9$Y$F$N%I%-%e%a%s%H$H%9%/%j%W%H%G%#%l%/%H%j$K\e(B
+      \e$B%"%/%;%9$9$k<jCJ\e(B (\e$B:GDc8BFI$_9~$_$H%V%i%&%:\e(B) \e$B$r;}$C$F$$$k$3$H$r\e(B
+      \e$B3NG'$7$F$/$@$5$$!#\e(B</li>
+
+      <li>\e$BA*Br$5$l$?%"%+%&%s%H$,\e(B Apache logs \e$B%G%#%l%/%H%j$KBP$7$FFI$_=q$-!"\e(B
+      \e$B:o=|$9$k<jCJ$r;}$C$F$$$k$3$H$r3NG'$7$F$/$@$5$$!#\e(B</li>
+    </ul>
+
+    <p>\e$B$=$N%"%+%&%s%H$G%f!<%6$H$7$F%m%0%$%s$9$k$3$H$r5v2D$7$?$i!"\e(B
+    \e$B<+J,<+?H$G%m%0%$%s$7$F$=$N%"%+%&%s%H$,%9%/%j%W%H$N<B9T!"%&%'%V\e(B
+    \e$B%Z!<%8$NFI$_9~$_$r$9$k8"8B$r;}$C$F$$$k$3$H!"%3%s%=!<%k%&%#%s%I%&$+$i\e(B
+    Apache \e$B$r5/F0$G$-$k$3$H$r%F%9%H$9$k$3$H$,$G$-$^$9!#$3$l$,$&$^$/$$$-!"\e(B
+    \e$B>e5-$N%9%F%C%W$K=>$C$F<j=g$rF'$a$P!"\e(BApache \e$B$OLdBj$J$/%5!<%S%9$H$7$F\e(B
+    \e$B<B9T$9$k$O$:$G$9!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B: \e$B%(%i!<%3!<%I\e(B 2186</strong> \e$B$O%5!<%P$,I,MW$J\e(B
+    \e$B%M%C%H%o!<%/%j%=!<%9$K%"%/%;%9$9$k$3$H$,$G$-$J$$$N$G\e(B 'Log On As'
+    \e$B$N@_Dj$r8+D>$9I,MW$,$"$k!"$H$$$&;X<($G$9!#\e(B</p>
+
+    <h2><a id="trouble" name="trouble"> Apache \e$B$r\e(B Windows \e$B$G%5!<%S%9$H$7$F\e(B
+    \e$BF0$+$9$H$-$N\e(B \e$B%H%i%V%k%7%e!<%F%#%s%0\e(B</a></h2>
+
+    <p>\e$B%5!<%S%9$H$7$F\e(B Apache \e$B$r3+;O$9$k>l9g!"\e(BWindows \e$B%5!<%S%9%^%M!<%8%c$+$i$N\e(B
+    \e$B%(%i!<%a%C%;!<%8$r8+$k$3$H$K$J$k$+$b$7$l$^$;$s!#Nc$($P%3%s%H%m!<%k%Q%M%k$N\e(B
+    \e$B%5!<%S%9\e(B \e$B%"%W%l%C%H$r;HMQ$7$F\e(B Apache \e$B$r3+;O$5$;$h$&$H$9$k;~$K!"\e(B
+    \e$B0J2<$N%a%C%;!<%8$r8+$k$+$b$7$l$^$;$s!#\e(B</p>
+<pre>
+  Could not start the apache service on \\COMPUTER
+  Error 1067; The process terminated unexpectedly.
+</pre>
+
+    <p>Apache \e$B$N3+;O$K$*$$$F2?$i$+$NLdBj$,$"$k>l9g!"$3$N%(%i!<$KAx$$$^$9!#\e(B
+    \e$BLdBj$N860x$r3NG'$9$k$?$a$K$O!"\e(B<a href="windows.html#test">\e$B%3%^%s%I\e(B
+    \e$B%W%m%s%W%H$G\e(B Apache \e$B$r%F%9%H$9$k\e(B</a>\e$B$N;X<($K=>$C$F$/$@$5$$!#\e(B</p>
+
+
+    <p>\e$B$^$?!"\e(BApache 1.3.13 \e$B$G$O\e(B Windows NT/2000 \e$B$G%5!<%S%9$H$7$FF0$+$9$H$-!"\e(B
+    \e$B3+;O;~$N%(%i!<$r\e(B \e$B%"%W%j%1!<%7%g%s\e(B \e$B%m%0\e(B \e$B$K5-O?$7$^$9!#%$%Y%s%H\e(B \e$B%S%e!<%"\e(B
+    \e$B$r5/F0$7!"\e(B<u>L</u>og ... <u>A</u>pplication
+    \e$B$HA*Br$7$F%$%Y%s%H$r3NG'$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p><strong>\e$BLdBj$,$"$C$?>l9g$O!"%(%i!<$,H/@8$7$?$3$H$r7Y9p$N$?$a$N\e(B
+    \e$B%(%i!<%a%C%;!<%8$,%]%C%W%"%C%W$5$l$J$/$F$b!"%$%Y%s%H\e(B \e$B%S%e!<%"$G\e(B
+    \e$B%"%W%j%1!<%7%g%s\e(B \e$B%m%0$r%A%'%C%/$7$F$/$@$5$$!#\e(B</strong></p>
+
+    <h2><a id="cmdline" name="cmdline">Windows \e$B$G%3%^%s%I%i%$%s$+$i\e(B
+    Apache \e$B$rF0$+$9\e(B</a></h2>
+    \e$B%3%^%s%I%i%$%s$+$i\e(B Apache \e$B%5!<%S%9$r@)8f$9$k$3$H$K4X$9$k>\:Y$K$D$$$F$O!"\e(B
+    <a href="windows.html#cmdline"
+    >\e$B%3%s%=!<%k%3%^%s%I%i%$%s\e(B</a>\e$B$N>O$r;2>H$7$F$/$@$5$$!#\e(B
+
+    <h2><a id="signal" name="signal">\e$B%5!<%S%9$H$7$F$N\e(B Apache
+    \e$B$r@)8f$9$k\e(B</a></h2>
+
+    <p>Apache \e$B$OJ#?t%$%s%9%H!<%k$7$F!"%5!<%S%9$H$7$FF0$+$9$3$H$,$G$-$^$9!#\e(B
+    \e$B%$%s%9%H!<%k$5$l$?\e(B Apache \e$B%5!<%S%9$r3+;O!":F3+!"=*N;!"Dd;_$9$k$K$O\e(B
+    \e$B0J2<$N$h$&$K$7$^$9\e(B:</p>
+<pre>
+    apache -n "service name" -k start
+    apache -n "service name" -k restart
+    apache -n "service name" -k shutdown
+    apache -n "service name" -k stop
+</pre>
+
+    <p>-n \e$B%*%W%7%g%s$N$J$$\e(B -k \e$B%3%^%s%I$O%3%s%=!<%k%&%#%s%I%&$G5/F0$7$F$$$k\e(B
+    Apache \e$B$K8~$1$i$l$k$N$G!"%G%U%)%k%H$N\e(B "Apache" \e$B%5!<%S%9$G$O\e(B -n Apache
+    \e$B%*%W%7%g%s$,I,MW$G$9!#0zMQId$O%5!<%S%9L>$K%9%Z!<%9$,4^$^$l$k>l9g$K8B$j\e(B
+    \e$BI,MW$K$J$j$^$9!#\e(B</p>
+
+    <p><strong>\e$BCm0U\e(B: -k shutdown \e$B%3%^%s%I$NJLL>$N\e(B -k stop \e$B%3%^%s%I$O\e(B
+    Apache \e$B%P!<%8%g%s\e(B 1.3.13 \e$B$GF3F~$5$l$^$7$?!#\e(B</strong>
+    \e$B$=$l$h$jA0$N%P!<%8%g%s$N\e(B Apache \e$B$G$O\e(B -k shutdown
+    \e$B%*%W%7%g%s$@$1$,G'<1$5$l$^$9!#\e(B1.3.3 \e$B$h$jA0$N\e(B Apache
+    \e$B$G$O\e(B<em>\e$B$I$s$J\e(B</em> -k \e$B%*%W%7%g%s$bG'<1$5$l$^$;$s$G$7$?!#\e(B</p>
+
+    <p>-D, -C, -c \e$B%*%W%7%g%s$r4^$a$?\e(B apache -k start
+    \e$B%3%^%s%I$G5/F0;~$N%*%W%7%g%s$r;XDj$9$k$3$H$b$G$-$^$9!#\e(B
+    \e$B$3$l$i$O%5!<%S%9$N@_Dj%W%m%;%9$K1F6A$7$^$9\e(B &lt;IfDefine&gt;
+    \e$B%V%m%C%/$G;H$&$3$H$G>r7o$D$-$N;XDj$r$9$k$3$H$b$G$-$^$9!#\e(B
+    \e$B%5!<%P%k!<%H$N%Q%9$d\e(B -d \e$B%*%W%7%g%s$d\e(B -f
+    \e$B%*%W%7%g%s$r;H$C$F@_Dj%U%!%$%k$r>e=q$-$9$k$3$H$b$G$-$^$9!#\e(B
+    \e$B$3$l$i$N%*%W%7%g%s$O\e(B -k restart \e$B%3%^%s%I$K$h$C$F$bFI$_9~$^$l$^$9$,!"\e(B
+    \e$B%5!<%S%9$NF0:nCf$K$OH?1G$5$l$:!"%5!<%S%9$N5/F0;~$K$N$_H?1G$5$l$^$9!#\e(B
+    </p>
+
+    <p>\e$B%5!<%S%9$O\e(B Windows NT/2000 \e$B$N\e(B Service Control
+    \e$B%"%W%l%C%H$K$b8=$l$^$9!#\e(BNT \e$B$N>l9g!"\e(BSettings -&gt; Control Panel
+    -&gt; Services \e$B%(%s%H%j!"\e(B2000 \e$B$N>l9g!"\e(BSettings -&gt; Control Panel
+    -&gt; Administrative Tools -&gt; Services \e$B%(%s%H%j$G;2>H$G$-$^$9!#\e(B
+    \e$B$=$3$+$i3+;O$d=*N;$5$;$k\e(B Apache \e$B%5!<%S%9$rA*Br$G$-$^$9!#\e(B
+    -D, -C, -c \e$B$N$h$&$JDI2C$N%*%W%7%g%s$d!"3+;O%Q%i%a!<%?$N%G%U%)%k%H$N\e(B
+    -d \e$B$d\e(B -f \e$B%*%W%7%g%s$N>e=q$-$O3+;O%\%?%s$r%/%j%C%/$9$kA0$K$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$i$N%*%W%7%g%s$O\e(B apache -k start
+    \e$B%3%^%s%I$HA4$/F1$8$h$&$K=hM}$5$l$^$9!#\e(B</p>
+
+    <p>\e$B$5$i$K!"\e(BApache \e$B%5!<%S%9$N3+;O!"=*N;$K%M%$%F%#%V$N\e(B
+    Windows NT/2000 \e$B$N\e(B NET \e$B%3%^%s%I$r;H$&$3$H$b$G$-$^$9\e(B:</p>
+<pre>
+    NET START "service name"
+    NET STOP "service name"
+</pre>
+
+    <p>\e$B7+$jJV$7$^$9$,!"%5!<%S%9L>$,%9%Z!<%9$r4^$`>l9g$N$_!"\e(B
+    \e$B0zMQId$,I,MW$K$J$j$^$9!#\e(B-D, -c, -C \e$B$J$I$NDI2C%*%W%7%g%s$r\e(B
+    NET START \e$B%3%^%s%I$G;XDj$9$kJ}K!$O$"$j$^$;$s!#\e(B
+    \e$B%*%W%7%g%s$,I,MW$J$H$-$O!"B>$N\e(B
+    2 \e$B<oN`$N%a%=%C%I$N$I$A$i$+$r;HMQ$7$F$/$@$5$$!#\e(B</p>
+
+    <h2><a id="win95svc" name="win95svc">\e$BHs>o$K<B83E*$J\e(B
+    Windows 95/98 \e$B%5!<%S%9\e(B</a></h2>
+
+    <p><strong>\e$BCm0U\e(B: Windows 95 \e$B$H\e(B 98 \e$B$G$N%5!<%S%9%*%W%7%g%s$O\e(B
+    Apache 1.3.13 \e$B0J9_$G$N$_M-8z$G$9!#\e(B</strong>\e$B0JA0$N%P!<%8%g%s$N\e(B
+    Apache \e$B$G$O\e(B Windows 95/98
+    \e$B$K$*$$$F$O%3%s%=!<%k%&%#%s%I%&$G$N$_%5%]!<%H$5$l$F$$$^$9!#\e(B</p>
+
+    <p>Windows NT/2000 \e$B$G$N%5!<%S%9$HF1$8$h$&$J\e(B Windows 95/98 \e$B>e$G$N\e(B
+    Apache \e$B$NF0:n$r$"$kDxEY%5%]!<%H$7$F$$$^$9!#\e(B
+    \e$B$=$l$O\e(B<em>\e$BHs>o$K<B83E*\e(B</em>\e$B$J$b$N$G!"$b$7\e(B (\e$B$9$Y$F=gD4$K\e(B)
+    \e$BF0$$$?$H$7$F$b\e(B Apache Software Foundation \e$B$O!"?.Mj@-$d>-Mh$N%5%]!<%H\e(B
+    \e$B$OJ]>Z$7$^$;$s!#0J9_$K$D$$$F$O<+J,<+?H$N%j%9%/$G?J$s$G$/$@$5$$\e(B!</p>
+
+    <p>Apache \e$B$,\e(B <a href="windows.html#test">Command Prompt</a>
+    \e$B$G@5>o$KF0:n$9$k$3$H$r3NG'$7$?$i!"\e(BWindows NT/2000
+    \e$B$N>l9g$HF1$8%3%^%s%I$G%$%s%9%H!<%k!"@)8f!"\e(B
+    \e$B%"%s%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+    <p>\e$B$?$@$7!"Cm0U$9$Y$-=EMW$J0c$$$,$"$j$^$9\e(B:</p>
+
+
+    <p>Apache \e$B$O!"5/F0$,@.8y$9$k$H!"%P%C%/%0%i%&%s%I$GF0:n$7$^$9!#\e(B
+    \e$B%G%9%/%H%C%W$N%7%g!<%H%+%C%H$rDL$7$F!"%3%^%s%I\e(B</p>
+<pre>
+   Apache -n "service name" -k start
+</pre>
+
+    <p>\e$B$r<B9T$7$?$i!"Nc$($P!"%5!<%S%9$,$&$^$/3+;O$5$l$l$P!"\e(B
+    \e$B%3%s%=!<%k%&%#%s%I%&$OI=<($5$l$^$9$,$9$0$K8+$($J$/$J$j$^$9!#\e(B
+    Apache \e$B$,3+;O;~$K!"\e(Bhttpd.conf
+    \e$B%U%!%$%k$K$*$1$kIT@5$J%(%s%H%j$N$h$&$J%(%i!<$r8+$D$1$k$H!"\e(B
+    \e$B%3%s%=!<%k%&%#%s%I%&$OI=<($5$l$?$^$^$G;D$j$^$9!#\e(B
+    \e$B$=$3$K$OLdBj$N860x$NDI5a$KLr$KN)$D\e(B
+    \e$B%(%i!<%a%C%;!<%8$,I=<($5$l$F$$$k$G$7$g$&!#$=$N:]\e(B Apache \e$B$N\e(B
+    logs \e$B%G%#%l%/%H%j$K$"$k\e(B error.log \e$B%U%!%$%k$rD4$YD>$9$Y$-$G$9!#\e(B</p>
+
+    <p>Windows 95/98 \e$B$G$O\e(B NET START \e$B$d\e(B NET STOP \e$B%3%^%s%I$r\e(B
+    \e$B%5%]!<%H$7$F$$$J$$$N$G!"\e(BCommand Prompt \e$B$+$i\e(B Apache \e$B$N\e(BService Control
+    \e$B%*%W%7%g%s$r;HMQ$7$J$1$l$P$J$j$^$;$s!#$3$l$i$N%3%^%s%IKh$K\e(B
+    \e$B%7%g!<%H%+%C%H$rMQ0U$7!"%9%?!<%H%a%K%e!<$d%G%9%/%H%C%W$+$i\e(B
+    \e$B$=$l$r$?$@A*$V$3$H$GI,MW$JF0:n$r<B9T$9$k$h$&$K$9$k$N$O$h$$J}K!$G$9!#\e(B</p>
+
+    <p>Apache \e$B$H\e(B Windows 95/98 \e$B$OFCDj$N%f!<%6$KBP$7$F!"\e(BApache
+    \e$B%5!<%S%9$r%M%C%H%o!<%/FC8"$G$ODs6!$7$^$;$s!#<B:]!"\e(BWindows 95/98
+    \e$B$O$I$s$J%;%-%e%j%F%#$b%m!<%+%k%^%7%s$KDs6!$7$F$$$^$;$s!#\e(B
+    Apache Software Fondation \e$B$,%Q%V%j%C%/$J\e(B httpd \e$B%5!<%P$H$7$F\e(B
+    Windows 95/98 \e$B$N;HMQ$r7h$7$FG'$a$J$$$N$O!"$3$l$,C1=c$JM}M3$G$9!#\e(B
+    \e$B$3$l$i$O!"\e(Bweb \e$B%3%s%F%s%D$N@):n$d\e(B Apache \e$B%5!<%P$N3X=,!"\e(B
+    \e$B$^$?$O0BA4$J%$%s%H%i%M%C%H>e$N%5!<%P!"%W%i%$%Y!<%H%M%C%H%o!<%/$N\e(B
+    \e$B%f!<%6$rJd=u$9$k$?$a$KJX59>eB8:_$7$F$$$k$K$9$.$^$;$s!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
diff --git a/htdocs/manual/windows.html.en b/htdocs/manual/windows.html.en
new file mode 100644 (file)
index 0000000..3d6c0b4
--- /dev/null
@@ -0,0 +1,625 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+    <title>Using Apache with Microsoft Windows</title>
+  </head>
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+  vlink="#000080" alink="#FF0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="CENTER"><a id="help" name="help">Using Apache With
+    Microsoft Windows</a></h1>
+
+    <p>This document explains how to install, configure and run
+    Apache 1.3 under Microsoft Windows. Most of this document
+    assumes that you are installing Windows from a binary
+    distribution. If you want to compile Apache yourself (possibly
+    to help with development, or to track down bugs), see <a
+    href="win_compiling.html">Compiling Apache for Microsoft
+    Windows</a>.</p>
+
+    <p>If you find any bugs, please document them on our <a
+    href="http://httpd.apache.org/bug_report.html">bug reporting
+    page.</a> Contributions are welcomed, please submit your code
+    or suggestions to the bug report page, or join the new-httpd
+    mailing list.</p>
+
+    <p>The bug reporting page and new-httpd mailing list are
+    <em>not</em> provided to answer questions about configuration
+    or running Apache. Before you submit a bug report or request,
+    first consult this document, the <a
+    href="misc/FAQ.html">Frequently Asked Questions</a> page and
+    the other relevant documentation topics. If you still have a
+    question or problem, post it to the <a
+    href="news:comp.infosystems.www.servers.ms-windows">comp.infosystems.www.servers.ms-windows</a>
+    newsgroup, where many Apache users and several contributions
+    are more than willing to answer new and obscure questions about
+    using Apache on Windows.</p>
+
+    <p><a
+    href="http://groups.google.com/groups?hl=en&amp;lr=&amp;safe=off&amp;group=comp.infosystems.www.servers.ms-windows">
+    groups.google.com's newsgroup archive</a> offers easy browsing
+    of previous questions. Searching the newsgroup archives, you
+    will usually find your question was already asked and answered
+    by other users!</p>
+
+    <p><strong>Warning: Apache on NT has not yet been optimized for
+    performance.</strong> Apache still performs best, and is most
+    reliable on Unix platforms. Over time NT performance has
+    improved, and great progress is being made in the upcoming
+    version 2.0 of Apache for the Windows platforms. Folks doing
+    comparative reviews of webserver performance are still asked to
+    compare against Apache on a Unix platform such as Solaris,
+    FreeBSD, or Linux.</p>
+    <hr />
+
+    <ul>
+      <li><a href="#req">Requirements</a></li>
+
+      <li><a href="#down">Downloading Apache for Windows</a></li>
+
+      <li><a href="#inst">Installing Apache for Windows (binary
+      install)</a></li>
+
+      <li><a href="#run">Running Apache for Windows</a></li>
+
+      <li><a href="#test">Testing Apache for Windows</a></li>
+
+      <li><a href="#use">Configuring Apache for Windows</a></li>
+
+      <li><a href="#cmdline">Running Apache in a Console
+      Window</a></li>
+
+      <li><a href="#signal">Controlling Apache in a Console
+      Window</a></li>
+
+      <li><a href="win_service.html">Running Apache for Windows as
+      a Service</a></li>
+
+      <li><a href="win_service.html#signal">Controlling Apache as a
+      Service</a></li>
+
+      <li><a href="win_compiling.html">Compiling Apache for
+      Microsoft Windows</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="req" name="req">Requirements</a></h2>
+
+    <p>Apache 1.3 is designed to run on Windows NT 4.0 and Windows
+    2000. The binary installer will only work with the x86 family
+    of processors, such as Intel's. Apache may also run on Windows
+    95 and 98, but these have not been tested. In all cases TCP/IP
+    networking must be installed.</p>
+
+    <p>If running on NT 4.0, installing Service Pack 3 or 6 is
+    recommended, as Service Pack 4 created known issues with
+    TCP/IP and WinSock integrity that were resolved in Service
+    Pack 5 and later.</p>
+
+    <p><strong>Note: "Winsock2" is required for Apache 1.3.7 and
+    later.</strong></p>
+
+    <p>If running on Windows 95, the "Winsock2" upgrade must be
+    installed before Apache will run. "Winsock2" for Windows 95 is
+    available <a
+    href="http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp">
+    here</a> or via <a
+    href="http://www.microsoft.com/windows95/downloads/">here</a>.
+    Be warned that the Dialup Networking 1.2 (MS DUN) updates
+    include a Winsock2 that is entirely insufficient, and the
+    Winsock2 update must be reinstalled after installing Windows 95
+    dialup networking.  Windows 98, NT (Service Pack 3 or later) and
+    2000 users need to take no special action, those versions provide
+    Winsock2 as distributed.</p>
+
+    <h2><a id="down" name="down">Downloading Apache for
+    Windows</a></h2>
+
+    <p>Information on the latest version of Apache can be found on
+    the Apache web server at <a
+    href="http://httpd.apache.org/">http://httpd.apache.org/</a>.
+    This will list the current release, any more recent alpha or
+    beta-test releases, together with details of mirror web and
+    anonymous FTP sites.</p>
+
+    <p>You should download the binary build of Apache for Windows
+    named as <code>apache_1_3_#-win32-src.msi</code> if you are
+    interested in the source code, or simply
+    <code>apache_1_3_#-win32-no_src.msi</code> if you don't plan to
+    do anything with the source code and appreciate a faster
+    download. Each of these files contains the complete Apache
+    runtime. You must have the Microsoft Installer version 1.10
+    installed on your PC before you can install the Apache runtime
+    distributions. Windows 2000 and Windows ME are both delivered
+    with the Microsoft Installer support, others will need to
+    download it.  For more information, visit the main download
+    page at <a
+    href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a>.
+    Instructions on locating the Microsoft Installer,
+    as well as the binary distributions of Apache, are found at 
+    <a href="http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/"
+      >the win32 download directory on the mirrors.</a></p>
+
+    <p>The source code is available in the <code>-src.msi</code>
+    distribution, or from the
+    <a href="http://www.apache.org/dyn/closer.cgi/httpd/"
+      >distribution directory</a> as a <code>.zip</code> file. If you plan
+    on compiling Apache yourself, there is no need to install
+    either <code>.msi</code> package. The <code>.zip</code> file
+    contains only source code, with MS-DOS line endings (that is
+    cr/lf line endings, instead of the single lf used for Unix
+    files distributed in .tar.gz or .tar.Z archives.)</p>
+
+    <p>While the source is also available as a <samp>.tar.gz</samp>
+    <samp>.tar.Z</samp> archive, these contain unix lf line endings
+    that cause grief for Windows users. To use those archives, you
+    must convert at least the <samp>.mak</samp> and
+    <samp>.dsp</samp> files to have DOS line endings before MSVC
+    can understand them. Please stick with the <samp>.zip</samp>
+    file to spare yourself the headache.</p>
+
+    <p>Note: prior to 1.3.17 Apache was distributed as an
+    InstallShield 2.0 <samp>.exe</samp> file. With an increasing
+    number of users unable to run the InstallShield package [on
+    Windows ME or Windows 2000] the binaries were repackaged into
+    the readily available Microsoft Installer <samp>.msi</samp>
+    format.</p>
+
+    <h2><a id="inst" name="inst">Installing Apache for
+    Windows</a></h2>
+
+    <p>Run the Apache <samp>.msi</samp> file you downloaded above.
+    This will prompt you for:</p>
+
+    <ul>
+      <li>whether or not you want to run Apache for all users
+      (installing Apache as a Service), or if you want it installed
+      to run in a console window when you choose the Start Apache
+      shortcut.</li>
+
+      <li>your Server name, Domain name and administrative email
+      account.</li>
+
+      <li>the directory to install Apache into (the default is
+      <code>C:\Program Files\Apache Group\Apache</code> although
+      you can change this to any other directory you wish)</li>
+
+      <li>the installation type. The "Complete" option installs
+      everything, including the source code if you downloaded the
+      <samp>-src.msi</samp> package. Choose the "Custom" install if
+      you choose not to install the documentation, or the source
+      code from that package.</li>
+    </ul>
+
+    <p>During the installation, Apache will configure the files in
+    the <samp>conf</samp> directory for your chosen installation
+    directory. However if any of the files in this directory
+    already exist they will <strong>not</strong> be overwritten.
+    Instead the new copy of the corresponding file will be left
+    with the extension <samp>.default.conf</samp>. So, for example,
+    if <samp>conf\httpd.conf</samp> already exists it will not be
+    altered, but the version which would have been installed will
+    be left in <samp>conf\httpd.default.conf</samp>. After the
+    installation has finished you should manually check to see what
+    in new in the <samp>.default.conf</samp> file, and if necessary
+    update your existing configuration files.</p>
+
+    <p>Also, if you already have a file called
+    <samp>htdocs\index.html</samp> then it will not be overwritten
+    (no <samp>index.html.default</samp> file will be installed
+    either). This should mean it is safe to install Apache over an
+    existing installation (but you will have to stop the existing
+    server running before doing the installation, then start the
+    new one after the installation is finished).</p>
+
+    <p>After installing Apache, you should edit the configuration
+    files in the <samp>conf</samp> directory as required. These
+    files will be configured during the install ready for Apache to
+    be run from the directory where it was installed, with the
+    documents served from the subdirectory <samp>htdocs</samp>.
+    There are lots of other options which should be set before you
+    start really using Apache. However to get started quickly the
+    files should work as installed.</p>
+
+    <p>If you eventually uninstall Apache, your configuration and log 
+    files will not be removed. You will need to delete the installation
+    directory tree ("C:\Program Files\Apache Group" by default)
+    yourself if you do not care to keep your configuration and
+    other web files. Since the httpd.conf file is your
+    accumulated effort in using Apache, you need to take the effort
+    to remove it. The same happens for all other files you may have
+    created, as well as any log files Apache created.</p>
+
+    <h2><a id="run" name="run">Running Apache for Windows</a></h2>
+
+    <p>There are two ways you can run Apache:</p>
+
+    <ul>
+      <li>As a <a href="win_service.html">"service"</a>. This is
+      the best option if you want Apache to automatically start
+      when your machine boots, and to keep Apache running when you
+      log-off.</li>
+
+      <li>From a <a href="#cmdline">console window</a>. Closing
+      this console window will terminate the Apache server.</li>
+    </ul>
+
+    <p><strong>Complete the steps below before you attempt to start
+    Apache as a Windows "<a
+    href="win_service.html">service</a>"!</strong></p>
+
+    <p>To run Apache from a console window, select the "Start
+    Apache as console app" option from the Start menu (in Apache
+    1.3.4 and earlier, this option was called "Apache Server").
+    This will open a console window and start Apache running inside
+    it. The window will remain active until you stop Apache. To
+    stop Apache running, either press select the "Shutdown Apache
+    console app" icon option from the Start menu (this is not
+    available in Apache 1.3.4 or earlier), or see <a
+    href="#signal">Controlling Apache in a Console Window</a> for
+    commands to control Apache in a console window.</p>
+
+    <p>In Apache 1.3.13 and above it is now quite safe to press
+    Ctrl+C or Ctrl+Break to stop the Apache in the console window.
+    And on Windows NT/2000 with version 1.3.13, Apache will stop if
+    you select 'Close' from the system menu (clicking the icon on
+    the top-left corner of the console window) or click the close
+    (X) button on the top-right corner. The Close menu item and
+    close (X) button also work on Windows 95/98 as of Apache
+    version 1.3.15. But do <em>not</em> try any of these approaches
+    on earlier versions of the Apache server, since Apache would
+    not clean up.</p>
+
+    <h2><a id="test" name="test">Testing Apache for
+    Windows</a></h2>
+
+    <p>If you have trouble starting Apache please use the following
+    steps to isolate the problem. This applies if you started
+    Apache using the "Start Apache as a console app" shortcut from
+    the Start menu and the Apache console window closes immediately
+    (or unexpectedly) or if you have trouble starting Apache as a
+    service.</p>
+
+    <p>Run the "Command Prompt" from the Start Menu - Programs
+    list. Change to the folder to which you installed Apache, type
+    the command apache, and read the error message. Then review the
+    error.log file for configuration mistakes. If you accepted the
+    defaults when you installed Apache, the commands would be:</p>
+<pre>
+  c:
+  cd "\program files\apache group\apache"
+  apache
+  <em>Wait for Apache to exit, or press</em> Ctrl+C
+  more &lt;logs\error.log
+</pre>
+
+    <p>After looking at the error.log you will probably have a good
+    chance of working out what went wrong and be able to fix the
+    problem and try again. If you are unable to work it out then
+    please follow the <a href="#help">guidelines for assistance</a>
+    at the top of this document or in the <a
+    href="misc/FAQ.html#what2do">FAQ</a>. Many users discover that
+    the nature of the httpd.conf file is easier to manage and audit
+    than page after page of configuration dialog boxes.</p>
+
+    <p>After starting Apache running (either in a console window or
+    as a service) it will be listening to port 80 (unless you
+    changed the <samp>Port</samp>, <samp>Listen</samp> or
+    <samp>BindAddress</samp> directives in the configuration
+    files). To connect to the server and access the default page,
+    launch a browser and enter this URL:</p>
+<pre>
+  http://localhost/
+</pre>
+
+    <p>This should respond with a welcome page, and a link to the
+    Apache manual. If nothing happens or you get an error, look in
+    the <samp>error.log</samp> file in the <samp>logs</samp>
+    directory. If your host isn't connected to the net, you may
+    have to use this URL:</p>
+<pre>
+  http://127.0.0.1/
+</pre>
+
+    <p>Once your basic installation is working, you should
+    configure it properly by editing the files in the
+    <samp>conf</samp> directory.</p>
+
+    <p>Because Apache <em>CANNOT</em> share the same port with
+    another TCP/IP application, you may need to stop or uninstall
+    certain services first. These include (but are not limited to)
+    other web servers, and firewall products such as BlackIce. If
+    you can only start Apache with these services disabled,
+    reconfigure either Apache or the other product so that they do
+    not listen on the same TCP/IP ports. You may find the Windows
+    "netstat -an" command useful in finding out what ports are in
+    use.</p>
+
+    <h2><a id="use" name="use">Configuring Apache for
+    Windows</a></h2>
+
+    <p>Apache is configured by files in the <samp>conf</samp>
+    directory. These are the same as files used to configure the
+    Unix version, but there are a few different directives for
+    Apache on Windows. See the <a href="./">Apache
+    documentation</a> for all the available directives.</p>
+
+    <p>Begin configuring the Apache server by reviewing
+    <code>httpd.conf</code> and its directives. Although the files
+    <code>access.conf</code> and <code>srm.conf</code> both exist,
+    these are old files which are no longer used by most
+    administrators, and you will find no directives there.</p>
+
+    <p><code>httpd.conf</code> contains a great deal of
+    documentation itself, followed by the default configuration
+    directives recommended when starting with the Apache server.
+    Begin by reading these comments to understand the configuration
+    file, and make small changes, starting Apache in a console
+    window with each change. If you make a mistake, it will be
+    easier to back up to configuration that last worked. You will
+    have a better idea of which change caused the server to
+    fail.</p>
+
+    <p>The main differences in Apache for Windows are:</p>
+
+    <ul>
+      <li>
+        Because Apache for Windows is multithreaded, it does not
+        use a separate process for each request, as Apache does
+        with Unix. Instead there are usually only two Apache
+        processes running: a parent process, and a child which
+        handles the requests. Within the child each request is
+        handled by a separate thread. So, "process"-management
+        directives are different: 
+
+        <ul>
+          <li><a
+          href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a>
+          - Like the Unix directive, this controls how many
+          requests a process will serve before exiting. However,
+          unlike Unix, a process serves all the requests at once,
+          not just one, so if this is set, it is recommended that a
+          very high number is used. The recommended default,
+          <code>MaxRequestsPerChild 0</code>, does not cause the
+          process to ever exit.</li>
+
+          <li><a
+          href="mod/core.html#threadsperchild">ThreadsPerChild</a>
+          - This directive is new, and tells the server how many
+          threads it should use. This is the maximum number of
+          connections the server can handle at once; be sure and
+          set this number high enough for your site if you get a
+          lot of hits. The recommended default is
+          <code>ThreadsPerChild 50</code>.</li>
+        </ul>
+      </li>
+
+      <li>The directives that accept filenames as arguments now
+      must use Windows filenames instead of Unix ones. However,
+      because Apache uses Unix-style names internally, you must use
+      forward slashes, not backslashes. Drive letters can be used;
+      if omitted, the drive with the Apache executable will be
+      assumed.</li>
+
+      <li>
+        Apache for Windows has the ability to load modules at
+        runtime, without recompiling the server. If Apache is
+        compiled normally, it will install a number of optional
+        modules in the <code>modules</code> directory. To activate
+        these, or other modules, the new <a
+        href="mod/mod_so.html#loadmodule">LoadModule</a> directive
+        must be used. For example, to activate the status module, use
+        the following (in addition to the status-activating
+        directives in <code>httpd.conf</code> - see <a
+        href="mod/mod_status.html">the mod_status docs</a> for more
+        details.): 
+<pre>
+    LoadModule status_module modules/mod_status.so
+</pre>
+
+        <p>Information on <a
+        href="mod/mod_so.html#creating">creating loadable
+        modules</a> is also available. Note that some 3rd party
+        modules may be distributed in the old style names,
+        ApacheModuleFoo.dll. Always set the LoadModule command as
+        directed by the 3rd party module's own documentation.</p>
+      </li>
+
+      <li>Apache for Windows version 1.3 series is implemented in
+      synchronous calls. This poses an enormous problem for CGI
+      authors, who won't see unbuffered results sent immediately to
+      the browser. This is not the behavior described for CGI in
+      Apache, but it is a side-effect of the Windows port. Apache
+      2.0 is making progress to implement the expected asynchronous
+      behavior, and we hope to discover that the NT/2000
+      implementation allows CGI's to behave as documented.</li>
+
+      <li>
+        <p>Apache can also load ISAPI Extensions (<em>i.e.</em>,
+        Internet Server Applications), such as those used by
+        Microsoft's IIS, and other Windows servers. <a
+        href="mod/mod_isapi.html">More information is
+        available.</a> Note that Apache <em>CANNOT</em> load ISAPI
+        Filters.</p>
+      </li>
+
+      <li>When running CGI scripts, the method Apache uses to find
+      the interpreter for the script is configurable using the <a
+      href="mod/core.html#scriptinterpretersource">ScriptInterpreterSource</a>
+      directive.</li>
+
+      <li>Since it is often difficult to manage files with names
+      like <code>.htaccess</code> under windows, you may find it
+      useful to change the name of this configuration file using
+      the <a href="mod/core.html#accessfilename">AccessFilename</a>
+      directive.</li>
+    </ul>
+
+    <h2><a id="cmdline" name="cmdline">Running Apache in a Console
+    Window</a></h2>
+
+    <p>The Start menu icons and the NT Service manager can provide
+    a simple interface for administering Apache. But in some cases
+    it is easier to work from the command line.</p>
+
+    <p>When working with Apache it is important to know how it will
+    find the configuration files. You can specify a configuration
+    file on the command line in two ways:</p>
+
+    <ul>
+      <li>-f specifies a path to a particular configuration
+      file:</li>
+    </ul>
+<pre>
+    apache -f "c:\my server\conf\my.conf"
+</pre>
+<pre>
+    apache -f test\test.conf
+</pre>
+
+    <ul>
+      <li>-n specifies the configuration file of an installed
+      Apache service (Apache 1.3.7 and later):</li>
+    </ul>
+<pre>
+    apache -n "service name"
+</pre>
+
+    <p>In these cases, the proper ServerRoot should be set in the
+    configuration file.</p>
+
+    <p>If you don't specify a configuration file name with -f or
+    -n, Apache will use the file name compiled into the server,
+    usually "conf/httpd.conf". Invoking Apache with the -V switch
+    will display this value labeled as SERVER_CONFIG_FILE. Apache
+    will then determine its ServerRoot by trying the following, in
+    this order:</p>
+
+    <ul>
+      <li>A ServerRoot directive via a -C switch.</li>
+
+      <li>The -d switch on the command line.</li>
+
+      <li>The current working directory</li>
+
+      <li>A registry entry, created if you did a binary
+      install.</li>
+
+      <li>The server root compiled into the server.</li>
+    </ul>
+
+    <p>The server root compiled into the server is usually
+    "/apache". invoking apache with the -V switch will display this
+    value labeled as HTTPD_ROOT.</p>
+
+    <p>When invoked from the start menu, Apache is usually passed
+    no arguments, so using the registry entry is the preferred
+    technique for console Apache.</p>
+
+    <p>During a binary installation, a registry key will have been
+    installed, for example:</p>
+<pre>
+  HKEY_LOCAL_MACHINE\Software\Apache Group\Apache\1.3.13\ServerRoot
+</pre>
+
+    <p>This key is compiled into the server and can enable you to
+    test new versions without affecting the current version. Of
+    course you must take care not to install the new version on top
+    of the old version in the file system.</p>
+
+    <p>If you did not do a binary install then Apache will in some
+    scenarios complain about the missing registry key. This warning
+    can be ignored if it otherwise was able to find its
+    configuration files.</p>
+
+    <p>The value of this key is the "ServerRoot" directory,
+    containing the <samp>conf</samp> directory. When Apache starts
+    it will read the <samp>httpd.conf</samp> file from this
+    directory. If this file contains a <samp>ServerRoot</samp>
+    directive which is different from the directory obtained from
+    the registry key above, Apache will forget the registry key and
+    use the directory from the configuration file. If you copy the
+    Apache directory or configuration files to a new location it is
+    vital that you update the <samp>ServerRoot</samp> directory in
+    the <samp>httpd.conf</samp> file to the new location.</p>
+
+    <p>To run Apache from the command line as a console
+    application, use the following command:</p>
+<pre>
+    apache 
+</pre>
+
+    <p>Apache will execute, and will remain running until it is
+    stopped by pressing control-C.</p>
+
+    <h2><a id="signal" name="signal">Controlling Apache in a
+    Console Window</a></h2>
+
+    <p>You can tell a running Apache to stop by opening another
+    console window and running:</p>
+<pre>
+    apache -k shutdown
+</pre>
+
+    <p><strong>Note: This option is only available with Apache
+    1.3.3 and later.</strong></p>
+
+    <p>For earlier versions, you must use Control-C in the Apache
+    console window to shut down the server.</p>
+
+    <p>From version 1.3.3 through 1.3.12, this should be used
+    instead of pressing Control-C in a running Apache console
+    window, because it allowed Apache to end any current
+    transactions and cleanup gracefully.</p>
+
+    <p>As of version 1.3.13 pressing Control-C in the running
+    window will cleanup Apache quite gracefully, and you may use -k
+    stop as an alias for -k shutdown. Earlier versions do not
+    understand -k stop.</p>
+
+    <p>You can also tell Apache to restart. This makes it re-read
+    the configuration files. Any transactions in progress are
+    allowed to complete without interruption. To restart Apache,
+    run:</p>
+<pre>
+    apache -k restart
+</pre>
+
+    <p><strong>Note: This option is only available with Apache
+    1.3.3 and later. For earlier versions, you need to use
+    Control-C in the Apache console window to shut down the server,
+    and then restart the server with the Apache
+    command.</strong></p>
+
+    <p>Another <em>very useful</em> feature is the configuration
+    files test option. To test the Apache configuration files,
+    run:</p>
+<pre>
+    apache -t
+</pre>
+
+    <p>This is especially useful following alterations to the
+    configuration files while Apache is still running. You can make
+    the changes, confirm that the syntax is good by issuing the
+    "apache -t" command, then restart Apache with "apache -k
+    restart". Apache will re-read the configuration files, allowing
+    any transactions in progress to complete without interruption.
+    Any new request will then be served using the new
+    configuration.</p>
+
+    <p>Note: for people familiar with the Unix version of Apache,
+    these commands provide a Windows equivalent to <code>kill -TERM
+    <em>pid</em></code> and <code>kill -USR1 <em>pid</em></code>.
+    The command line option used, <code>-k</code>, was chosen as a
+    reminder of the "kill" command used on Unix.</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>
+
diff --git a/htdocs/manual/windows.html.html b/htdocs/manual/windows.html.html
new file mode 100644 (file)
index 0000000..f916c34
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--#include virtual="windows.html.en" -->
+
diff --git a/htdocs/manual/windows.html.ja.jis b/htdocs/manual/windows.html.ja.jis
new file mode 100644 (file)
index 0000000..c06f6ba
--- /dev/null
@@ -0,0 +1,636 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <title>Microsoft Windows \e$B$G$N\e(B Apache \e$B$N;HMQ\e(B</title>
+
+  </head>
+  <!-- English revision: 1.58 -->
+  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+  <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+  vlink="#000080" alink="#ff0000">
+    <!--#include virtual="header.html" -->
+
+    <h1 align="center"><a id="help" name="help">Microsoft Windows \e$B$G$N\e(B Apache \e$B$N;HMQ\e(B</a></h1>
+
+    <p>\e$B$3$NJ8=q$O!"\e(BMicrosoft Windows \e$B>e$G$N\e(B Apache 1.3
+    \e$B$N%$%s%9%H!<%k!"@_Dj!"<B9TJ}K!$r@bL@$7$^$9!#$3$NJ8=q$NBgItJ,$O!"\e(B
+    \e$B%P%$%J%jG[I[$+$i\e(B Windows \e$B$K%$%s%9%H!<%k$7$F$$$k$HA[Dj$7$F$$$^$9!#\e(B
+    \e$B$b$7\e(B (\e$B3+H/$N<j=u$1$d%P%0DI@W$N$?$a\e(B) Apache \e$B$r<+J,$G%3%s%Q%$%k\e(B
+    \e$B$7$?$$>l9g$O!"\e(B<a href="win_compiling.html">Microsoft Windows \e$B$G$N\e(B
+    Apache \e$B$N%3%s%Q%$%k\e(B</a> \e$B$r8+$F$/$@$5$$!#\e(B
+    </p>
+
+    <p>\e$B$b$7%P%0$r8+$D$1$?$i!"\e(B<a
+    href="http://httpd.apache.org/bug_report.html"
+    >\e$B%P%0Js9p%Z!<%8\e(B</a>\e$B$GJs9p$7$F$/$@$5$$!#\e(B
+    \e$B$=$&$$$C$?4sM?$O4?7^$7$^$9!#\e(B
+    \e$B%3!<%I$^$?$ODs0F$r%P%0Js9p%Z!<%8$GJs9p$9$k$+!"\e(B
+    new-httpd \e$B%a!<%j%s%0%j%9%H$K;22C$7$F$/$@$5$$!#\e(B</p>
+
+    <p>\e$B%P%0Js9p%Z!<%8$H\e(B new-httpd \e$B%a!<%j%s%0%j%9%H$O!"\e(BApache
+    \e$B$N@_Dj$d<B9TJ}K!$K$D$$$F<ALd$9$k$?$a$KMQ0U$7$F$$$k$o$1$G$O\e(B
+    <em>\e$B$"$j$^$;$s\e(B</em>\e$B!#\e(B \e$B%P%0!&%l%]!<%H$dMW5a$rDs=P$9$kA0$K$^$:!"\e(B
+    \e$B$3$NJ8=q!"\e(B<a href="misc/FAQ.html">\e$B$h$/=P$k<ALd\e(B</a>
+    \e$B$N%Z!<%8!"$=$NB>4XO"$9$kJ8=q$r;2>H$7$F$/$@$5$$!#\e(B
+    \e$B$=$l$G$b$^$@5?Ld$dLdBj$,$"$k$J$i!"\e(B<a
+    href="news:comp.infosystems.www.servers.ms-windows"
+    >comp.infosystems.www.servers.ms-windows</a>
+    \e$B%K%e!<%9%0%k!<%W$KEj9F$7$F$/$@$5$$!#B?$/$N\e(B Apache \e$B%f!<%6$,$$$F\e(B
+    Windows \e$B>e$G\e(B Apache \e$B$r;HMQ$9$k$K$"$?$C$F$N?7$7$$5?Ld!"\e(B
+    \e$B$o$+$j$K$/$$5?Ld$KBP$7$FJVEz$r$/$l$k$G$7$g$&!#\e(B</p>
+
+    <p><a
+    href="http://groups.google.com/groups?hl=en&amp;lr=&amp;safe=off&amp;group=comp.infosystems.www.servers.ms-windows"
+    >groups.google.com \e$B$N%K%e!<%9%0%k!<%W$N%"!<%+%$%V\e(B</a>\e$B$K$h$j0JA0$NLdBj$r\e(B
+    \e$B4JC1$K1\Mw$G$-$^$9!#%K%e!<%9%0%k!<%W$N%"!<%+%$%V$r8!:w$9$l$P!"\e(B
+    \e$B$[$H$s$I$NLdBj$O4{=P$G!"C/$+$,2sEz$7$F$$$k$N$r8+$D$1$i$l$k$G$7$g$&!#\e(B
+    </p>
+
+    <p><strong>\e$B7Y9p\e(B: NT \e$B>e$G$N\e(B Apache \e$B$O@-G=LL$G$^$@:GE,2=$5$l$F$$$^$;$s!#\e(B</strong>
+    \e$B8=;~E@$G$O\e(B Apache \e$B$O\e(B Unix \e$B%W%i%C%H%U%)!<%`$G:G9b$N@-G=$rH/4x$7!"\e(B
+    \e$B:G$b?.Mj$G$-$^$9!#;~$H$H$b$K\e(B NT \e$B$G$N@-G=$O2~A1$5$l$F!"\e(BWindows
+    \e$B%W%i%C%H%U%)!<%`>e$G$OMh$?$k$Y$-%P!<%8%g%s\e(B 2.0
+    \e$B$K$*$$$FBg$-$/?JJb$7$F$$$^$9!#%&%'%V%5!<%P@-G=$NAjBPE*$J%l%S%e!<$r\e(B
+    \e$B$7$F$$$k?M$KBP$7$F$O!"$^$@!"\e(BSolaris\e$B!"\e(BFreeBSD\e$B!"\e(BLinux \e$B$J$I$N\e(B Unix
+    \e$B%W%i%C%H%U%)!<%`$G$N\e(B Apache \e$B$KBP$7$FHf3S$9$k$h$&$K$*4j$$$7$F$$$^$9!#\e(B
+    </p>
+    <hr />
+
+    <ul>
+      <li><a href="#req">\e$BMW7o\e(B</a></li>
+
+      <li><a href="#down">Windows \e$BMQ$N\e(B Apache \e$B$r%@%&%s%m!<%I$9$k\e(B</a></li>
+
+      <li><a href="#inst">Windows \e$BMQ$N\e(B Apache \e$B$r%$%s%9%H!<%k$9$k\e(B
+      \e$B!J%P%$%J%j%$%s%9%H!<%k\e(B</a>\e$B!K\e(B</li>
+
+      <li><a href="#run">Windows \e$BMQ$N\e(B Apache \e$B$r<B9T$9$k\e(B</a></li>
+
+      <li><a href="#test">Windows \e$BMQ$N\e(B Apache \e$B$r%F%9%H$9$k\e(B</a></li>
+
+      <li><a href="#use">Windows \e$BMQ$N\e(B Apache \e$B$r@_Dj$9$k\e(B</a></li>
+
+      <li><a href="#cmdline">\e$B%3%s%=!<%k%&%#%s%I%&$G\e(B Apache
+      \e$B$r<B9T$9$k\e(B</a></li>
+
+      <li><a href="#signal">\e$B%3%s%=!<%k%&%#%s%I%&$G\e(B Apache
+      \e$B$r%3%s%H%m!<%k$9$k\e(B</a></li>
+
+      <li><a href="win_service.html">\e$B%5!<%S%9$H$7$F\e(B Windows \e$BMQ$N\e(B
+      Apache \e$B$r<B9T$9$k\e(B</a></li>
+
+      <li><a href="win_service.html#signal">\e$B%5!<%S%9$H$7$F\e(B Apache
+      \e$B$r%3%s%H%m!<%k$9$k\e(B</a></li>
+
+      <li><a href="win_compiling.html">Microsoft Windows \e$BMQ$N\e(B Apache
+      \e$B$r%3%s%Q%$%k$9$k\e(B</a></li>
+    </ul>
+    <hr />
+
+    <h2><a id="req" name="req">\e$BMW7o\e(B</a></h2>
+
+    <p>Apache 1.3 \e$B$O!"\e(BWindowsNT 4.0 \e$B$H\e(B Windows 2000
+    \e$B$GF0$/$h$&$K@_7W$5$l$F$$$^$9!#%P%$%J%j$N%$%s%9%H!<%i$O\e(B
+    \e$B%$%s%F%k@=$N$b$N$J$I\e(B x86 \e$B%U%!%_%j!<$N%W%m%;%C%5$G$N$_F0:n$7$^$9!#\e(B
+    Apache \e$B$O\e(B Windows 95 \e$B$d\e(B 98 \e$B$G$bF0:n$7$^$9$,!"\e(B
+    \e$B$3$l$i$O%F%9%H$5$l$F$$$^$;$s!#\e(B
+    \e$B$9$Y$F$N>l9g\e(B TCP/IP \e$B%M%C%H%o!<%/$,%$%s%9%H!<%k$5$l$F$$$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>NT 4.0 \e$B$G<B9T$9$k>l9g!"%5!<%S%9%Q%C%/\e(B 3 \e$B$^$?$O\e(B 6
+    \e$B$N%$%s%9%H!<%k$r?d>)$7$^$9!#%5!<%S%9%Q%C%/\e(B 4 \e$B$K$O\e(B TCP/IP \e$B$H\e(B WinSock
+    \e$B$NLdBj$,$"$j!"$=$l$O%5!<%S%9%Q%C%/\e(B 5 \e$B0J9_$G$O2r7h$5$l$F$$$^$9!#\e(B</p>
+
+
+    <p><strong>\e$BCm\e(B: Apache 1.3.7 \e$B0J9_$G$O\e(B &quot;Winsock2&quot;
+    \e$B$,I,MW$K$J$j$^$9!#\e(B</strong></p>
+
+    <p>Windows 95 \e$B$G<B9T$9$k>l9g!"\e(BApache \e$B$r<B9T$9$kA0$K\e(B &quot;Winsock2&quot;
+    \e$B%"%C%W%0%l!<%I$r%$%s%9%H!<%k$7$J$1$l$P$J$j$^$;$s!#\e(B
+    Windows 95 \e$BMQ$N\e(B &quot;Winsock2&quot; \e$B$O\e(B<a
+    href="http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp"
+    >\e$B$3$3\e(B</a>\e$B$+\e(B<a href="http://www.microsoft.com/windows95/downloads/"
+    >\e$B$3$3\e(B</a>\e$B$+$iF~<j2DG=$G$9!#%@%$%"%k%"%C%W%M%C%H%o!<%/\e(B 1.2 (MS DUN)
+    \e$B%"%C%W%G!<%H$K$OA4$/ITE,Ev$J\e(B Winsock2 \e$B$,4^$^$l$F$$$k$N$G\e(B Winsock2
+    \e$B%"%C%W%G!<%H$O!"\e(BWindows 95 \e$B%@%$%"%k%"%C%W%M%C%H%o!<%/$r%$%s%9%H!<%k\e(B
+    \e$B$7$?8e$K:F%$%s%9%H!<%k$7$J$1$l$P$J$i$J$$$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+    Windows 98\e$B!"\e(BNT (\e$B%5!<%S%9%Q%C%/\e(B 3 \e$B0J9_\e(B)\e$B!"$*$h$S\e(B 2000 \e$B$N%f!<%6$O\e(B
+    Winsock2 \e$B$,G[I[$5$l$F$$$k$b$N$K4^$^$l$F$$$k$?$a$3$3$G$OFC$K$9$k\e(B
+    \e$BI,MW$O$"$j$^$;$s!#\e(B</p>
+
+    <h2><a id="down" name="down">Windows \e$BMQ$N\e(B Apache
+    \e$B$N%@%&%s%m!<%I\e(B</a></h2>
+
+    <p>Apache \e$B$N:G?7$N%P!<%8%g%s$K$D$$$F$N>pJs$O!"\e(B<a
+    href="http://httpd.apache.org/">http://httpd.apache.org/</a> \e$B$N\e(B
+    Apache \e$B%&%'%V%5!<%P$N%Z!<%8$G8+$D$1$i$l$^$9!#$=$3$K$O!"8=:_$N%j%j!<%9!"\e(B
+    \e$B:G?7$N%"%k%U%!!"$^$?$O%Y!<%?%F%9%H%j%j!<%9$H$H$b$K%_%i!<%&%'%V%5%$%H!"\e(B
+    anonymous FTP \e$B%5%$%H$N>\:Y$,%j%9%H$5$l$^$9!#\e(B</p>
+
+
+    <p>Windows \e$BMQ$N\e(B Apache \e$B$N%P%$%J%jG[I[$O!"%=!<%9%3!<%I$K6=L#$,$"$k$J$i\e(B
+    <code>apache_1_3_#-win32-src.msi</code> \e$B$HL>IU$1$i$l$?$b$N$r!"\e(B
+    \e$B$^$?$O%=!<%9%3!<%I$KBP$7$F2?$b$9$k$D$b$j$,$J$/!"\e(B
+    \e$B%@%&%s%m!<%I$,Aa$/:Q$s$@J}$,$$$$$H;W$&$J$i\e(B
+    <code>apache_1_3_#-win32-no_src.msi</code> \e$B$r%@%&%s%m!<%I$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$i$N%U%!%$%k$O$=$l$>$l$K40A4$J\e(B Apache \e$B%i%s%?%$%`$r4^$s$G$$$^$9!#\e(B
+    Apache \e$B%i%s%?%$%`G[I[$r%$%s%9%H!<%k$9$kA0$K\e(B Microsoft Installer
+    version 1.10 \e$B$,\e(B PC \e$B$K%$%s%9%H!<%k$5$l$F$$$J$1$l$P$J$j$^$;$s!#\e(BWindows
+    2000 \e$B5Z$S\e(B Windows Me \e$B$G$O\e(B Microsoft Installer \e$B$,I8=`$G\e(B
+    \e$B%5%]!<%H$5$l$F$$$^$9$,!"B>$G$O$=$l$r%@%&%s%m!<%I$9$kI,MW$,$"$j$^$9!#\e(B
+    \e$B$5$i$J$k>pJs$O%a%$%s$N%@%&%s%m!<%I%Z!<%8\e(B <a
+    href="http://httpd.apache.org/download.cgi"
+    >http://httpd.apache.org/download.cgi</a> \e$B$K9T$C$F$/$@$5$$!#\e(B
+    Microsoft Installer \e$B$r8+$D$1$k<j=g$O\e(B Apache \e$B$N%P%$%J%jG[I[$HF1MM!"\e(B
+    <a href="http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/"
+    >\e$B%_%i!<%5%$%H$N\e(B win32 \e$B%@%&%s%m!<%I%G%#%l%/%H%j\e(B</a>\e$B$K8+$D$+$j$^$9\e(B</p>
+
+    <p>\e$B%=!<%9%3!<%I$O\e(B <code>-src.msi</code> \e$B$NG[I[$^$?$O\e(B <a
+    href="http://www.apache.org/dyn/closer.cgi/httpd/"
+    >\e$BG[I[%G%#%l%/%H%j\e(B</a> \e$B$K$"$k\e(B <code>.zip</code>
+    \e$B%U%!%$%k$+$iF~<j2DG=$G$9!#$b$7\e(B Apache
+    \e$B$r<+J,$G%3%s%Q%$%k$9$k$D$b$j$J$i!"\e(B<code>.msi</code> \e$B%Q%C%1!<%8$r\e(B
+    \e$B%$%s%9%H!<%k$9$kI,MW$O$^$C$?$/$"$j$^$;$s!#\e(B<code>.zip</code>
+    \e$B%U%!%$%k$O!"\e(BMS-DOS \e$B$N2~9T\e(B (.tar.gz \e$B$d\e(B .tar.Z \e$B$GG[I[$5$l$k\e(B unix
+    \e$B$G;H$o$l$k\e(B lf \e$B$@$1$N2~9T$NBe$o$j$K\e(B cr/lf \e$B$N2~9T\e(B) \e$B$,;H$o$l$?\e(B
+    \e$B%=!<%9%3!<%I$@$1$,4^$^$l$^$9!#\e(B
+    </p>
+
+    <p>\e$B$^$?!"%=!<%9$O\e(B<samp>.tar.gz</samp>, <samp>.tar.Z</samp>
+    \e$B$N%"!<%+%$%V$+$i$bF~<j$G$-$^$9!#$3$l$i$N%U%!%$%k$K$O!"\e(B
+    Windows \e$B%f!<%6$K$O07$$$K$/$$\e(B unix lf \e$B2~9T$,4^$^$l$^$9!#\e(B
+    \e$B$=$N%"!<%+%$%V$r;H$&$?$a$K$O>/$J$/$H$b\e(B <samp>.mak</samp> \e$B$H\e(B
+    <samp>.dsp</samp> \e$B$r\e(B MSVC \e$B$,2r<a$G$-$k$h$&!"\e(BDOS
+    \e$B2~9T$KJQ49$7$J$1$l$P$J$j$^$;$s!#F,DK$N<o$r:n$i$J$$$?$a$K$b\e(B
+    <samp>.zip</samp> \e$B%U%!%$%k$rA*$s$G$/$@$5$$!#\e(B</p>
+
+    <p>\e$BCm\e(B: Apache 1.3.17 \e$B$h$jA0$G$O!"\e(BInstallShield 2.0 \e$B$N7A<0$N\e(B
+    <samp>.exe</samp> \e$B%U%!%$%k$,G[I[$5$l$^$7$?\e(B
+    [Windows Me \e$B$d\e(B Windows 2000 \e$B$G\e(B] InstallShield
+    \e$B%Q%C%1!<%8$r;H$($J$$%f!<%6$,A}Bg$7$?$?$a!"\e(B
+    \e$B%P%$%J%jG[I[$O4JC1$KMxMQ$G$-$k\e(B Microsoft Installer \e$B$N\e(B
+    <samp>.msi</samp> \e$B$N7A<0$G:F%Q%C%1!<%8$5$l$^$7$?\e(B</p>
+
+    <h2><a id="inst" name="inst">Windows \e$BMQ$N\e(B Apache
+    \e$B$N%$%s%9%H!<%k\e(B</a></h2>
+
+    <p>\e$B>e$G%@%&%s%m!<%I$7$?\e(B Apache <samp>.msi</samp> \e$B$r<B9T$7$F$/$@$5$$!#\e(B
+    \e$B$9$k$H0J2<$NF~NO$,MW5a$5$l$^$9\e(B</p>
+
+    <ul>
+      <li>\e$B$9$Y$F$N%f!<%6$G\e(B Apache \e$B$r<B9T$5$;$?$$\e(B (\e$B%5!<%S%9$H$7$F$N\e(B
+      Apache \e$B$N%$%s%9%H!<%k\e(B) \e$B$N$+!"$^$?$O\e(B Start Apache
+      \e$B$N%7%g!<%H%+%C%H$rA*$VEy$7$F!"\e(B
+      \e$BI,MW$J$H$-$K%3%s%=!<%k%&%#%s%I%&$+$i<B9T$5$;$?$$$N$+!#\e(B</li>
+
+      <li>\e$B%5!<%PL>!"%I%a%$%sL>!"$*$h$S4IM}<T$N\e(B E \e$B%a!<%k%"%+%&%s%H!#\e(B</li>
+
+
+      <li>Apache \e$B$r%$%s%9%H!<%k$9$k%G%#%l%/%H%j\e(B (\e$B%G%U%)%k%H$O\e(B
+      <code>C:\Program Files\Apache Group\Apache</code> \e$B$G$9$,\e(B
+      \e$B$3$l$O$I$N%G%#%l%/%H%j$K$G$bJQ99$G$-$^$9\e(B)\e$B!#\e(B</li>
+
+      <li>\e$B%$%s%9%H!<%k%?%$%W!#\e(B"Complete" \e$B%*%W%7%g%s$G$O!"\e(B
+      \e$B$9$Y$F$,%$%s%9%H!<%k$5$l$^$9!#$b$7\e(B <samp>-src.msi</samp>
+      \e$B%Q%C%1!<%8$r%@%&%s%m!<%I$7$?$N$J$i%=!<%9%3!<%I$b4^$^$l$^$9!#\e(B
+      \e$B%I%-%e%a%s%H$d%=!<%9%3!<%I$r%$%s%9%H!<%k\e(B
+      \e$B$7$?$/$J$$>l9g$O\e(B "Custom" \e$B%$%s%9%H!<%k$rA*$s$G$/$@$5$$!#\e(B</li>
+    </ul>
+
+    <p>\e$B%$%s%9%H!<%k$N4V$K!"\e(BApache \e$B$O%$%s%9%H!<%k%G%#%l%/%H%jCf$N\e(B
+    <samp>conf</samp> \e$B%G%#%l%/%H%j$N%U%!%$%k$r@_Dj$7$^$9!#$7$+$7!"\e(B
+    \e$B$3$N%G%#%l%/%H%j$N%U%!%$%k$,$I$l$+B8:_$7$?>l9g$O!"$=$l$r>e=q$-\e(B
+    <strong>\e$B$7$^$;$s\e(B</strong>\e$B!#Be$o$j$K!"BP1~$7$?%U%!%$%k$,\e(B
+    <samp>.default.conf</samp> \e$B$N3HD%;R$rIU$1$FJ]B8$5$l$^$9!#\e(B
+    \e$B$D$^$j!"Nc$($P\e(B <samp>conf\httpd.conf</samp> \e$B$,B8:_$7$?$J$i!"\e(B
+    \e$B$=$l<+BN$OJQ99$5$l$J$$$1$l$I$b!"%$%s%9%H!<%k$5$l$?$G$"$m$&%P!<%8%g%s$,\e(B
+    <samp>conf\httpd.default.conf</samp> \e$B$H$7$F;D$5$l$^$9!#%$%s%9%H!<%k8e$K!"\e(B
+    <samp>.default.conf</samp> \e$B$G$I$3$,?7$7$/$J$C$?$N$+!"\e(B
+    \e$B<jF0$G%A%'%C%/$9$Y$-$G!"I,MW$K1~$8$F4{B8$N@_Dj%U%!%$%k$r\e(B
+    \e$B99?7$7$F$/$@$5$$!#\e(B</p>
+
+    <p><samp>htdocs\index.html</samp>
+    \e$B%U%!%$%k$b!"$9$G$KB8:_$9$l$P>e=q$-$5$l$^$;$s\e(B
+    (<samp>index.html.default</samp> \e$B%U%!%$%k$H$7$F%$%s%9%H!<%k\e(B
+    \e$B$5$l$k$3$H$b$"$j$^$;$s\e(B)\e$B!#\e(B
+    \e$B$3$l$O!"4{B8$N\e(B Apache \e$B$X$N>e=q$-%$%s%9%H!<%k$,0BA4$J$3$H$r0UL#$7$^$9\e(B
+    (\e$B$7$+$7!"%$%s%9%H!<%k$r$9$kA0$KF0$$$F$$$k4{B8$N%5!<%P$O\e(B
+    \e$B;_$a$J$1$l$P$J$j$^$;$s!#\e(B
+    \e$B%$%s%9%H!<%k40N;8e$K?7$7$$$b$N$r3+;O$7$F$/$@$5$$\e(B)\e$B!#\e(B</p>
+
+    <p>Apache \e$B$r%$%s%9%H!<%k$7$?8e$K!"I,MW$J$i\e(B <samp>conf</samp>
+    \e$B%G%#%l%/%H%jFb$N@_Dj%U%!%$%k$rJT=8$7$F$/$@$5$$!#\e(B
+    \e$B$3$l$i$N%U%!%$%k$O%$%s%9%H!<%k$N4V$K!"\e(B
+    \e$B%$%s%9%H!<%k$5$l$?%G%#%l%/%H%j$+$i\e(B Apache
+    \e$B$,F0:n$G$-$k$h$&$K@_Dj$5$l!"%I%-%e%a%s%H$O%5%V%G%#%l%/%H%j\e(B
+    <samp>htdocs</samp> \e$B$N$b$N$,%/%i%$%"%s%H$KAw$i$l$^$9!#\e(B
+    Apache \e$B$r<B:]$K;H$$;O$a$kA0$K!"\e(B
+    \e$B@_Dj$5$l$k$Y$-%*%W%7%g%s$OB>$K$bBt;3$"$j$^$9$,!"\e(B
+    \e$B$9$0$K;H$$;O$a$?$$>l9g$O!"\e(B
+    \e$B%$%s%9%H!<%k$5$l$?$^$^$N>uBV$G$bF0:n$9$k$G$7$g$&!#\e(B</p>
+
+    <p>\e$B$b$7\e(B Apache \e$B$r%"%s%$%s%9%H!<%k$9$k$3$H$K$J$C$?>l9g!"@_Dj%U%!%$%k$H\e(B
+    \e$B%m%0%U%!%$%k$O:o=|$5$l$^$;$s!#@_Dj%U%!%$%k$dB>$N%&%'%V%U%!%$%k$r\e(B
+    \e$B;D$7$?$$$H;W$o$J$$$J$i%G%#%l%/%H%j%D%j!<\e(B (\e$B%G%U%)%k%H$G$O\e(B
+    "C:\Program Files\Apache Group") \e$B$r<+J,$G:o=|$9$kI,MW$,$"$j$^$9!#\e(B
+    httpd.conf \e$B%U%!%$%k$O\e(B Apache \e$B$r;H$&>e$GC_@Q$5$l$?@.2L$G$"$k$N$G!"\e(B
+    \e$B:o=|$9$k$?$a$K$OO+NO$rJ'$&I,MW$,$"$j$^$9!#\e(B
+    \e$B$"$J$?$N:n$C$?2DG=@-$,$"$kB>$NA4$F$N%U%!%$%k$K$*$$$F$bF1$8$3$H$,\e(B
+    \e$B8@$($^$9!#\e(BApache \e$B$,:n$C$?%m%0%U%!%$%k$bF1MM$G$9!#\e(B</p>
+
+    <h2><a id="run" name="run">Windows \e$BMQ$N\e(B Apache \e$B$r<B9T$9$k\e(B</a></h2>
+
+    <p>Apache \e$B$r<B9T$9$k$K$O\e(B 2 \e$B$D$NJ}K!$,$"$j$^$9\e(B</p>
+
+    <ul>
+      <li>\e$B!V\e(B<a href="win_service.html">\e$B%5!<%S%9\e(B</a>\e$B!W$H$7$F!#\e(B
+      \e$B$b$7%^%7%s%V!<%H;~$K\e(B Apache \e$B$K!"<+F0E*$K3+;O$7$?$$!"\e(B
+      \e$B$^$?%m%0%*%U$7$F$b!"\e(BApache \e$B$NF0:n$OB3$1$?$$$J$i!"\e(B
+      \e$B$3$l$,:GA1$N%*%W%7%g%s$G$9!#\e(B</li>
+
+      <li><a href="#cmdline">\e$B%3%s%=!<%k%&%#%s%I%&\e(B</a>\e$B$+$i!#\e(B
+      \e$B$3$N%3%s%=!<%k%&%#%s%I%&$rJD$8$k$3$H$K$h$j\e(B Apache
+      \e$B%5!<%P$O=*N;$5$l$^$9!#\e(B</li>
+    </ul>
+
+    <p><strong>Apache \e$B$r\e(B Windows <a href="win_service.html"
+    >\e$B%5!<%S%9\e(B</a>\e$B$H$7$F3+;O$7$h$&$H$9$kA0$K!"\e(B
+    \e$B0J2<$N<j=g$r40N;$5$;$F$/$@$5$$\e(B!</strong></p>
+
+    <p>\e$B%3%s%=!<%k%&%#%s%I%&$+$i\e(B Apache \e$B$r<B9T$9$k$K$O%9%?!<%H%a%K%e!<$+$i!"\e(B
+    "Start Apache as console app" \e$B%*%W%7%g%s$rA*$s$G$/$@$5$$\e(B (Apache
+    1.3.4 \e$B0JA0$G$O$3$N%*%W%7%g%s$O\e(B "Apache Server" \e$B$H8F$P$l$F$$$^$7$?\e(B)\e$B!#\e(B
+    \e$B$3$l$K$h$j%3%s%=!<%k%&%#%s%I%&$,3+$+$l!"\e(BApache \e$B$O$=$NCf$G<B9T$5$l$^$9!#\e(B
+    \e$B%&%#%s%I%&$O!"\e(BApache \e$B$r;_$a$k$^$G!"%"%/%F%#%V$G$"$jB3$1$^$9!#\e(BApache
+    \e$B$r;_$a$k$K$O!"%9%?!<%H%a%K%e!<$+$i!"\e(B"Shutdown Apache console app"
+    \e$B$rA*Br$9$k$+\e(B (Apache 1.3.4 \e$B0JA0$G$O;H$($^$;$s\e(B)\e$B!"\e(B<a
+    href="#signal">\e$B%3%s%=!<%k%&%#%s%I%&$G\e(B Apache \e$B$r%3%s%H%m!<%k$9$k\e(B</a>
+    \e$B$r;2>H$7$F!"%3%s%=!<%k%&%#%s%I%&$G\e(B Apache
+    \e$B$r%3%s%H%m!<%k$9$k%3%^%s%I$r;H$C$F$/$@$5$$!#\e(B</p>
+
+    <p>Apache 1.3.13 \e$B0J9_$G$O!"\e(BCtrl+C \e$B$^$?$O\e(B Ctrl+Break
+    \e$B$r2!$7$F$b!"%3%s%=!<%k%&%#%s%I%&$N\e(B Apache \e$B$r0BA4$K\e(B
+    \e$B;_$a$i$l$k$h$&$K$J$j$^$7$?!#$=$7$F!"%P!<%8%g%s\e(B 1.3.13 \e$B$+$i!"\e(B
+    Windows NT/2000 \e$B>e$G;H$&>l9g$O!"%7%9%F%`%a%K%e!<\e(B
+    (\e$B%3%s%=!<%k%&%#%s%I%&$N:8>e%3!<%J!<$N%"%$%3%s$r%/%j%C%/\e(B)
+    \e$B$+$i!VJD$8$k!W$rA*$V$+!"1&>e%3!<%J!<$N=*N;\e(B (X)
+    \e$B%\%?%s$r%/%j%C%/$9$k$3$H$K$h$j\e(B Apache \e$B$rDd;_$5$;$k$3$H$b$G$-$^$9!#\e(B
+    Apache \e$B%P!<%8%g%s\e(B 1.3.15 \e$B$+$i!"%a%K%e!<9`L\$N!VJD$8$k!W$d=*N;\e(B (X)
+    \e$B%\%?%s$O\e(B Windows 95/98 \e$B$G$bF/$-$^$9!#$7$+$7!"$=$l$h$jA0$N%P!<%8%g%s$N\e(B
+    Apache \e$B%5!<%P$G$O$-$l$$$K=*N;$7$J$$$N$G$=$&$$$C$?<jCJ$O\e(B
+    <em>\e$B:N$i$J$$$G$/$@$5$$\e(B</em>\e$B!#\e(B</p>
+
+    <h2><a id="test" name="test">Windows \e$BMQ$N\e(B Apache \e$B$r%F%9%H$9$k\e(B</a></h2>
+
+    <p>Apache \e$B$N5/F0$K$*$$$F%H%i%V%k$,$"$l$P!"LdBj$r@Z$jN%$9$?$a!"\e(B
+    \e$B0J2<$N<j=g$K=>$C$F$/$@$5$$!#$3$l$O\e(B "Start Apache as a console app"
+    \e$B$N%7%g!<%H%+%C%H$r%9%?!<%H%a%K%e!<$+$iA*$V$3$H$K$h$j\e(B Apache
+    \e$B$r5/F0$7$?$i$9$0$K\e(B (\e$B$"$k$$$OFMA3\e(B) \e$B%3%s%=!<%k%&%#%s%I%&$,JD$8$?!"$^$?$O\e(B
+    Apache \e$B$r%5!<%S%9$H$7$F3+;O$9$k$H$-$K%H%i%V%k$KAx$C$?>l9g$K\e(B
+    \e$B$"$F$O$^$j$^$9!#\e(B
+    </p>
+
+    <p>\e$B%9%?!<%H%a%K%e!<\e(B - \e$B%W%m%0%i%`\e(B \e$B$+$i!V%3%^%s%I%W%m%s%W%H!W$r<B9T$7$F$/$@$5$$!#\e(B
+    Apache \e$B$r%$%s%9%H!<%k$7$?%U%)%k%@$K0\F0$7!"\e(Bapache
+    \e$B%3%^%s%I$rF~NO$7$F%(%i!<%a%C%;!<%8$rFI$s$G$/$@$5$$!#\e(B
+    \e$B$=$7$F!"@_Dj%_%9$,$J$$$+!"\e(Berror.log \e$B%U%!%$%k$rD4$Y$F$/$@$5$$!#\e(B
+    Apache \e$B$r%G%U%)%k%H$G%$%s%9%H!<%k$7$?>l9g$O!"%3%^%s%I$O0J2<$NMM$K$J$j$^$9!#\e(B</p>
+<pre>
+  c:
+  cd "\program files\apache group\apache"
+  apache
+  <em>Apache \e$B$,=*N;$9$k$N$rBT$D$+!"\e(BCtrl+C \e$B$rF~NO\e(B</em> 
+  more &lt;logs\error.log
+</pre>
+
+    <p>error.log \e$B$r3NG'$9$k$3$H$G!"$*$=$i$/0-$+$C$?$H$3$m$rD>$7!"\e(B
+    \e$BLdBj$r2r7h$7$F$d$jD>$9$3$H$,$G$-$k$G$7$g$&!#$b$7<+NO$G\e(B
+    \e$B2r7h$G$-$J$+$C$?>l9g$O!"\e(B
+    \e$B$3$NJ8=q$NKAF,$N\e(B <a href="#help">\e$BJd=u$N$?$a$N%,%$%I%i%$%s\e(B</a>
+    \e$B$d\e(B <a href="misc/FAQ.html#what2do">FAQ</a> \e$B$K=>$C$F$/$@$5$$!#\e(B
+    \e$BB?$/$N%f!<%6$O$?$/$5$s$N@_Dj%@%$%"%m%0$h$j$b!"\e(B
+    httpd.conf \e$B%U%!%$%k$NJ}$,4IM}$d8!::$,4JC1$J$3$H$K5$$E$/$G$7$g$&!#\e(B</p>
+
+
+    <p>\e$B3+;O8e$O\e(B Apache \e$B$O\e(B(\e$B@_Dj%U%!%$%k$G\e(B <samp>Port</samp>,
+    <samp>Listen</samp> \e$B$^$?$O\e(B <samp>BindAddress</samp>
+    \e$B%G%#%l%/%F%#%V$rJQ99$7$F$$$J$1$l$P\e(B)
+    (\e$B%3%s%=!<%k%&%#%s%I%&$G$b%5!<%S%9$G$b\e(B) 80 \e$BHV%]!<%H$r\e(B Listen
+    \e$B$7$F<B9T$5$l$^$9!#%V%i%&%6$r5/F0$7!"$3$N\e(B URL</p>
+<pre>
+  http://localhost/
+</pre>
+    <p>\e$B$rF~NO$7$F%5!<%P$K@\B3$7!"%G%U%)%k%H%Z!<%8$K%"%/%;%9$7$F$/$@$5$$\e(B</p>
+
+    <p>\e$B$3$l$G\e(B welcome \e$B%Z!<%8$,JV$5$l!"\e(BApache
+    \e$B%^%K%e%"%k$X$N%j%s%/$,$"$k$O$:$G$9!#$b$72?$b5/$3$i$J$$$+!"\e(B
+    \e$B%(%i!<$@$C$?>l9g$O!"\e(B<samp>logs</samp> \e$B%G%#%l%/%H%jCf$N\e(B
+    <samp>error.log</samp> \e$B%U%!%$%k$r8+$F$/$@$5$$!#$b$7%[%9%H$,%M%C%H$K\e(B
+    \e$B@\B3$5$l$F$$$J$$>l9g$O!"$3$N\e(B URL</p>
+<pre>
+  http://127.0.0.1/
+</pre>
+    <p>\e$B$r;H$&I,MW$,$"$k$+$b$7$l$^$;$s\e(B</p>
+
+    <p>\e$B$$$C$?$s4pK\E*$J%$%s%9%H!<%k$GF0:n$7$?$i!"\e(B<samp>conf</samp>
+    \e$B%G%#%l%/%H%jCf$N%U%!%$%k$rJT=8$7$FE,@Z$K@_Dj$7$F$/$@$5$$!#\e(B</p>
+
+    <p>Apache \e$B$OF1$8%]!<%H$rB>$N\e(B TCP/IP \e$B%"%W%j%1!<%7%g%s$H6&M-$9$k$3$H$O\e(B
+    <em>\e$B=PMh$J$$\e(B</em> \e$B$N$G!"$^$:FCDj$N%5!<%S%9$r;_$a$k$+%"%s%$%s%9%H!<%k\e(B
+    \e$B$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#$3$l$K$OB>$N%&%'%V%5!<%P$d\e(B BlackIce
+    \e$B$J$I$N%U%!%$%"%&%)!<%k@=IJ$,\e(B (\e$B$3$l$i$K8B$i$l$^$;$s$,\e(B) \e$B4^$^$l$^$9!#\e(B
+    \e$B$=$l$i$N%5!<%S%9$r;HMQ$;$:\e(B Apache \e$B$@$1$r5/F0$5$;$k$+!"\e(B
+    \e$B$=$l$i$N@=IJ$HF1$8\e(B TCP/IP \e$B%]!<%H$r\e(B listen \e$B$7$J$$$h$&$K!"\e(BApache
+    \e$B$^$?$OB>$N@=IJ$r:F@_Dj$7$F$/$@$5$$!#$I$N%]!<%H$,;HMQ$5$l$F$$$k$N$+\e(B
+    \e$B$r3NG'$9$k$K$O\e(B Windows \e$B$N\e(B "netstat -an"
+    \e$B%3%^%s%I$,JXMx$+$bCN$l$^$;$s!#\e(B</p>
+
+    <h2><a id="use" name="use">Windows \e$BMQ$N\e(B Apache \e$B$r@_Dj$9$k\e(B</a></h2>
+
+    <p>Apache \e$B$O\e(B <samp>conf</samp>
+    \e$B%G%#%l%/%H%jCf$N%U%!%$%k$K$h$j@_Dj$5$l$^$9!#$3$l$i$O!"\e(BUnix
+    \e$B%P!<%8%g%s$N@_DjMQ%U%!%$%k$HF1$8$G$9$,!"\e(BWindows \e$B$N\e(B Apache
+    \e$B$O$$$/$i$+0[$J$k%G%#%l%/%F%#%V$,$"$j$^$9!#\e(B
+    \e$BM-8z$J%G%#%l%/%F%#%V$rCN$k$?$a$K$O\e(B <a href="./">Apache
+    \e$B%I%-%e%a%s%H\e(B</a>\e$B$r8+$F$/$@$5$$!#\e(B</p>
+
+
+    <p><code>httpd.conf</code> \e$B$H$=$N%G%#%l%/%F%#%V$rFI$`$3$H$+$i\e(B
+    Apache \e$B%5!<%P$N@_Dj$r$O$8$a$F$/$@$5$$!#\e(B<code>access.conf</code>
+    \e$B$H\e(B <code>srm.conf</code> \e$B$OB8:_$O$7$F$$$^$9$,!"\e(B
+    \e$B8=:_$G$O$[$H$s$I$N4IM}<T$K;H$o$l$J$$8E$$%U%!%$%k$G!"\e(B
+    \e$B$=$NCf$K$O%G%#%l%/%F%#%V$,A4$/=q$+$l$F$$$J$$$3$H$,J,$+$k$G$7$g$&!#\e(B</p>
+
+    <p><code>httpd.conf</code> \e$B$K$O$=$l<+BN$K%I%-%e%a%s%H$,$?$/$5$s4^$^$l$F$$$F!"\e(B
+    Apache \e$B%5!<%P$r3+;O$9$k;~$K?d>)$5$l$k%G%U%)%k%H@_Dj$N%G%#%l%/%F%#%V$,B3$$$F$$$^$9!#\e(B
+    \e$B@_Dj%U%!%$%k$rM}2r$9$k$K$O$=$l$i$N%3%a%s%H$rFI$`$3$H$+$i;O$a$F!"\e(B
+    \e$B>/$7JQ99$r$7$F$O%3%s%=!<%k%&%#%s%I%&$+$i\e(B Apache
+    \e$B$r3+;O$7!"JQ99$rE,MQ$5$;$F$/$@$5$$!#\e(B
+    \e$B4V0c$($?$H$-$K:G8e$K9T$C$?JQ99$r85$KLa$9$N$O$h$j4JC1$G$7$g$&!#\e(B
+    \e$B$=$&$9$k$&$A$K$I$NJQ99$,%5!<%P$NIT6q9g$K$D$J$,$k$N$+$H$$$&\e(B
+    \e$BCN<1$,@8$^$l$^$9!#\e(B
+    </p>
+
+    <p>Windows \e$BMQ$N\e(B Apache \e$B$G0[$J$k<g$JE@$O0J2<$NDL$j$G$9\e(B</p>
+
+    <ul>
+      <li>
+        Windows \e$BMQ$N\e(B Apache \e$B$O%^%k%A%9%l%C%I$J$N$G!"\e(BUnix \e$B$G$N\e(B Apache
+        \e$B$N$h$&$K$=$l$>$l$NMW5a$4$H$KJL8D$N%W%m%;%9$r;H$$$^$;$s!#\e(B
+        \e$BBe$o$j$K!"DL>o\e(B Apache \e$B%W%m%;%9$,Fs$D$@$1;H$o$l$^$9!#\e(B
+        \e$B?F%W%m%;%9$H%j%/%(%9%H$r=hM}$9$k;R%W%m%;%9$G$9!#\e(B
+        \e$B;R%W%m%;%9$G$O!"$=$l$>$l$N%j%/%(%9%H$OJL8D$N%9%l%C%I$K$h$j\e(B
+        \e$B=hM}$5$l$^$9!#=>$C$F!"!V%W%m%;%9!W\e(B
+        \e$B$r4IM}$9$k%G%#%l%/%F%#%V$,0[$J$j$^$9\e(B:
+
+        <ul>
+          <li><a
+          href="mod/core.html#maxrequestsperchild"
+          >MaxRequestsPerChild</a> - Unix \e$BMQ$N%G%#%l%/%F%#%V$HF1$8$h$&$K!"\e(B
+          \e$B%W%m%;%9$,>C$($k$^$G$K$I$l$/$i$$$N%j%/%(%9%H$r=hM}$9$k$N$+$r\e(B
+          \e$B%3%s%H%m!<%k$7$^$9!#$?$@$7!"\e(BUnix \e$B$H$O0[$J$j0l$D$N%W%m%;%9$O\e(B
+          \e$B0l$D$N%j%/%(%9%H$@$1$N=hM}$G$O$J$/!"$9$Y$F$NMW5a$rF1;~$K=hM}$7$^$9!#\e(B
+          \e$B=>$C$F!"$3$l$r@_Dj$9$k>l9g$O!"Hs>o$K9b$$?t$r;H$&$3$H$,?d>)$5$l$^$9!#\e(B
+          \e$B?d>)$5$l$?%G%U%)%k%H$N\e(B <code>MaxRequestsPerChild 0</code>
+          \e$B$G$O%W%m%;%9$O>C$($^$;$s!#\e(B</li>
+
+          <li><a
+          href="mod/core.html#threadsperchild">ThreadsPerChild</a> -
+          \e$B$3$N?7$7$$%G%#%l%/%F%#%V$O!"$$$/$D$N%9%l%C%I$r;H$&$N$+$r\e(B
+          \e$B<($7$^$9!#$3$l$O!"F1;~$K%5!<%P$,=hM}$G$-$k@\B3$N\e(B
+          \e$B:GBg?t$K$J$j$^$9!#BgNL$N%"%/%;%9$,M-$k$N$J$i!"\e(B
+          \e$B$3$l$r==J,$K9b$$?tCM$K@_Dj$7$F$/$@$5$$!#?d>)$N%G%U%)%k%H$O\e(B
+          <code>ThreadsPerChild 50</code> \e$B$G$9!#\e(B
+          </li>
+        </ul>
+      </li>
+
+      <li>\e$B%G%#%l%/%F%#%V$N0z?t$N%U%!%$%kL>$O\e(B Unix \e$B7A<0$G$J$/\e(B Windows
+      \e$B7A<0$N%U%!%$%kL>$r;H$o$l$J$1$l$P$J$j$^$;$s!#$7$+$7!"\e(BApache
+      \e$BFbIt$G$O\e(B Unix \e$B7A<0$NL>A0$r;H$&$N$G!"%P%C%/%9%i%C%7%e$NBe$o$j$K\e(B
+      \e$B%9%i%C%7%e$r;H$o$J$1$l$P$J$j$^$;$s!#%I%i%$%VL>$r;H$&$3$H$b$G$-$^$9!#\e(B
+      \e$B>JN,$7$?>l9g$O!"\e(BApache \e$B$N<B9T%U%!%$%k$,$"$k%I%i%$%V$K$J$j$^$9!#\e(B
+      </li>
+
+      <li>
+        Windows \e$BMQ$N\e(B Apache \e$B$O%5!<%P$r:F%3%s%Q%$%k$;$:$K<B9T;~$K\e(B
+        \e$B%b%8%e!<%k$r%m!<%I$9$k$3$H$,=PMh$^$9!#\e(BApache \e$B$rIaDL$K%3%s%Q%$%k\e(B
+        \e$B$7$?>l9g$O\e(B <code>modules</code> \e$B%G%#%l%/%H%j$K$"$kB?$/$N\e(B
+        \e$B%*%W%7%g%s$N%b%8%e!<%k$r%$%s%9%H!<%k$7$^$9!#$=$l$i$N%b%8%e!<%k$d\e(B
+        \e$BB>$N%b%8%e!<%k$rM-8z$K$9$k$K$O!"?7$7$$\e(B <a
+        href="mod/mod_so.html#loadmodule">LoadModule</a>
+        \e$B%G%#%l%/%F%#%V$r;H$o$J$1$l$P$J$j$^$;$s!#Nc$($P!"\e(Bstatus
+        \e$B%b%8%e!<%k$rM-8z$K$9$k$K$O0J2<\e(B (\e$B$5$i$K!"\e(B<code>httpd.conf</code> \e$B$K\e(B
+        status \e$B$rM-8z$K$9$k%G%#%l%/%F%#%V$,I,MW!#>\:Y$K$D$$$F$O\e(B <a
+        href="mod/mod_status.html">mod_status</a>
+        \e$B$r;2>H\e(B) \e$B$,I,MW$G$9!#\e(B
+<pre>
+    LoadModule status_module modules/mod_status.so
+</pre>
+
+        <p><a
+        href="mod/mod_so.html#creating"
+        >\e$B%m!<%I$G$-$k%b%8%e!<%k$N:n@.\e(B</a>\e$B$K$D$$$F$N>pJs$b$"$j$^$9!#\e(B
+        \e$B%5!<%I%Q!<%F%#!<$N%b%8%e!<%k$NCf$K$O\e(B
+        \e$B8E$$7A<0$NL>A0!"\e(BApacheModuleFoo.dll \e$B$GG[I[$5$l$F$$$k$3$H$,\e(B
+        \e$B$"$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+        LoadModule \e$B%G%#%l%/%F%#%V$O>o$K%5!<%I%Q!<%F%#!<$N%b%8%e!<%k<+?H$N\e(B
+        \e$B%I%-%e%a%s%H$K=>$C$F@_Dj$7$F$/$@$5$$!#\e(B</p></li>
+
+      <li>Windows \e$BMQ$N\e(B Apache \e$B%P!<%8%g%s\e(B 1.3
+      \e$B7O$G$OF14|E*$J8F$S=P$7$,<BAu$5$l$F$$$^$9!#\e(B
+      \e$B$3$N$3$H$O!"%P%C%U%!$5$l$F$$$J$$7k2L$,D>$A$K%V%i%&%6$G8+$i$l$J$$$H$$$&\e(B
+      CGI \e$B@):n<T$K$H$C$F$OBg$-$JLdBj$N860x$K$J$j$^$9!#$3$l$O!"\e(BApache
+      \e$B$N\e(B CGI \e$B$K5-=R$5$l$?F0:n$G$O$J$/!"\e(BWindows \e$B$X$N0\?"$NI{:nMQ$G$9!#\e(B
+      Apache 2.0 \e$B$G$O!"K>$^$l$kHsF14|$NF0:n$r<BAu$,9T$J$o$l$F$$$F!"\e(B
+      NT/2000 \e$B$G$N<BAu$G!"\e(BCGI \e$B$,3[LLDL$j$NF0:n$,2DG=$K$J$k$3$H$r\e(B
+      \e$B4|BT$7$F$$$^$9!#\e(B</li>
+
+      <li>
+        <p>Apache \e$B$O!"\e(BMicrosoft \e$B$N\e(B IIS \e$B$dB>$N\e(B Windows
+        \e$B%5!<%P$G;H$o$l$k$h$&$J\e(B ISAPI \e$B3HD%\e(B (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B
+        \e$B%$%s%?!<%M%C%H%5!<%P%"%W%j%1!<%7%g%s\e(B) \e$B$b%m!<%I$G$-$^$9!#\e(B
+        <a href="mod/mod_isapi.html">\e$B>\$7$$>pJs$b$"$j$^$9\e(B</a>\e$B!#\e(B
+        Apache \e$B$O\e(B ISAPI
+        \e$B%U%#%k%?$O%m!<%I\e(B<em>\e$B$G$-$J$$\e(B</em>\e$B$3$H$KCm0U$7$F$/$@$5$$!#\e(B</p>
+      </li>
+
+      <li>CGI \e$B$,F0:n$9$k;~$K\e(B Apache \e$B$,%9%/%j%W%H$N%$%s%?%W%j%?$r\e(B
+      \e$BH=CG$9$kJ}K!$r\e(B <a href="mod/core.html#scriptinterpretersource"
+      >ScriptInterpreterSource</a> \e$B%G%#%l%/%F%#%V$r;H$C$F@_Dj$G$-$^$9!#\e(B
+      </li>
+
+      <li>Windows \e$B$G$O\e(B <code>.htaccess</code>
+      \e$B$N$h$&$JL>A0$N%U%!%$%k$O4IM}$7$K$/$$$3$H$,B?$$$N$G!"\e(B
+      <a href="mod/core.html#accessfilename">AccessFilename</a>
+      \e$B%G%#%l%/%F%#%V$r;H$C$F$3$N%U%!%$%kL>$rJQ99$9$k$H\e(B
+      \e$BJXMx$+$b$7$l$^$;$s!#\e(B</li>
+    </ul>
+
+    <h2><a id="cmdline" name="cmdline">\e$B%3%s%=!<%k%&%#%s%I%&$G\e(B Apache
+    \e$B$r<B9T$9$k\e(B</a></h2>
+
+    <p>\e$B%9%?!<%H%a%K%e!<%"%$%3%s5Z$S\e(B NT \e$B%5!<%S%9%^%M%8%c!<$O!"\e(B
+    Apache \e$B$r4IM}$9$k$?$a$N4JC1$J%$%s%?%U%'!<%9$rDs6!$7$^$9!#\e(B
+    \e$B$7$+$7!"%3%^%s%I%i%$%s$+$i$NJ}$,4JC1$J>l9g$b$"$j$^$9!#\e(B</p>
+
+    <p>Apache \e$B$G2?$+$9$k$H$-$K$O@_Dj%U%!%$%k$r$I$N$h$&$K8+$D$1$k$N$+$r\e(B
+    \e$BCN$C$F$$$k$3$H$,=EMW$G$9!#%3%^%s%I%i%$%s$G@_Dj%U%!%$%k$r;XDj$9$k$K$O\e(B
+    \e$BFs$D$NJ}K!$,$"$j$^$9\e(B</p>
+
+    <ul>
+      <li>-f \e$B$G$OFCDj$N@_Dj%U%!%$%k$N%Q%9$r;XDj$7$^$9\e(B</li>
+    </ul>
+
+<pre>
+    apache -f "c:\my server\conf\my.conf"
+</pre>
+<pre>
+    apache -f test\test.conf
+</pre>
+
+    <ul>
+      <li>-n \e$B$O!"%$%s%9%H!<%k$5$l$?\e(B Apache
+      \e$B%5!<%S%9$N@_Dj%U%!%$%k$r;XDj$7$^$9\e(B (Apache 1.3.7\e$B0J9_\e(B)</li>
+    </ul>
+<pre>
+    apache -n "service name"
+</pre>
+
+    <p>\e$B$3$l$i$N>l9g!"@_Dj%U%!%$%k$GE,@Z$J%5!<%P%k!<%H\e(B
+     \e$B$,@_Dj$5$l$F$$$kI,MW$,$"$j$^$9!#\e(B</p>
+
+    <p> -f \e$B$d\e(B -n \e$B$G@_Dj%U%!%$%kL>$r;XDj$7$J$$>l9g$O!"\e(BApache \e$B$ODL>o\e(B
+    "conf/httpd.conf" \e$B$H$$$&%5!<%P$KAH$_9~$^$l$?\e(B
+    \e$B%U%!%$%kL>$,;H$o$l$^$9!#\e(BApache \e$B$K\e(B -V \e$B%9%$%C%A$rIU$1$?>l9g!"\e(B
+    SERVER_CONFIG_FILE \e$B$HL>IU$1$i$l$?$3$NCM$,I=<($5$l$^$9!#\e(B
+    Apache \e$B$O!"0J2<$N=g=x$G;n$7$F%5!<%P%k!<%H$r7hDj$7$^$9\e(B
+    </p>
+
+    <ul>
+      <li>-C \e$B%9%$%C%A$K$h$k\e(B ServerRoot \e$B%G%#%l%/%F%#%V\e(B</li>
+
+      <li>\e$B%3%^%s%I%i%$%s$N\e(B -d \e$B%9%$%C%A\e(B</li>
+
+      <li>\e$B8=:_$N:n6H%G%#%l%/%H%j\e(B</li>
+
+      <li>\e$B%P%$%J%j%$%s%9%H!<%k$7$?>l9g$O%l%8%9%H%j$N%(%s%H%j\e(B</li>
+
+      <li>\e$B%5!<%P$K%3%s%Q%$%k$5$l$F$$$k%5!<%P%k!<%H\e(B</li>
+
+    </ul>
+
+    <p>\e$B%5!<%P$KAH$_9~$^$l$k%5!<%P%k!<%H$O!"DL>o\e(B "/apache"
+    \e$B$K$J$j$^$9!#\e(Bapache \e$B$K\e(B -V \e$B%9%$%C%A$rIU$1$?>l9g$O!"\e(BHTTPD_ROOT
+    \e$BL>IU$1$i$l$?$3$NCM$,I=<($5$l$^$9!#\e(B</p>
+
+    <p>\e$B%9%?!<%H%a%K%e!<$+$i$N>l9g$ODL>o!"\e(BApache \e$B$K0z?t$,EO$5$l$J$$$N$G\e(B
+    \e$B%3%s%=!<%k$N\e(B Apache \e$B$G$b%l%8%9%H%j$N%(%s%H%j$r;H$&$3$H$,\e(B
+    \e$B?d>)$5$l$kJ}K!$G$9!#\e(B
+    </p>
+
+    <p>\e$B%P%$%J%j%$%s%9%H!<%kCf$K!"%l%8%9%H%j$N%-!<$,%$%s%9%H!<%k$5$l$^$9!#\e(B
+    \e$BNc$($P\e(B</p>
+<pre>
+  HKEY_LOCAL_MACHINE\Software\Apache Group\Apache\1.3.13\ServerRoot
+</pre>
+
+    <p>\e$B$3$N%-!<$O%5!<%P$KAH$_9~$^$l$F$$$F!"8=:_$N%P!<%8%g%s$K1F6A$r\e(B
+    \e$BM?$($:$K?7$7$$%P!<%8%g%s$r%F%9%H$9$k$3$H$r2DG=$K$7$^$9!#\e(B
+    \e$B$b$A$m$s!"%U%!%$%k%7%9%F%`>e$G8E$$%P!<%8%g%s$N>e$K?7$7$$\e(B
+    \e$B%P!<%8%g%s$r%$%s%9%H!<%k$7$J$$$h$&$KCm0U$7$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>\e$B$b$7%P%$%J%j%$%s%9%H!<%k$r$7$J$+$C$?>l9g$O!"\e(BApache
+    \e$B$O$$$/$D$+$N6Z=q$K1h$C$F!"7gMn$7$F$$$k%l%8%9%H%j%-!<$K$D$$$F$N7Y9p$rH/$7$^$9!#\e(B
+    \e$B$3$N7Y9p$O!"@_Dj%U%!%$%k$r8+$D$1$k$3$H$,2?$i$+$N7A$G=PMh$?$J$i\e(B
+    \e$BL5;k$7$F$+$^$$$^$;$s!#\e(B</p>
+
+    <p>\e$B$3$N%-!<$NCM$O\e(B <samp>conf</samp> \e$B%G%#%l%/%H%j$N$"$k\e(B
+    "ServerRoot" \e$B%G%#%l%/%H%j$G$9!#\e(BApache \e$B$O3+;O;~$K\e(B
+    <samp>httpd.conf</samp> \e$B%U%!%$%k$r$3$N%G%#%l%/%H%j$+$iFI$_$^$9!#\e(B
+    \e$B>e5-$N%l%8%9%H%j%-!<$+$iF@$?%G%#%l%/%H%j$H0[$J$k%G%#%l%/%H%j$,\e(B
+    \e$B$3$N%U%!%$%k$N\e(B <samp>ServerRoot</samp> \e$B%G%#%l%/%F%#%V$G;XDj$5$l$?>l9g$O!"\e(B
+    Apache \e$B$O%l%8%9%H%j%-!<$rK:$l$F@_Dj%U%!%$%k$G;X<($5$l$?%G%#%l%/%H%j$r\e(B
+    \e$B;H$$$^$9!#$b$7\e(B Apache \e$B%G%#%l%/%H%j$d@_Dj%U%!%$%k$rJL$N>l=j$K\e(B
+    \e$B%3%T!<$9$k>l9g$O\e(B <samp>httpd.conf</samp> \e$B$N\e(B <samp>ServerRoot</samp>
+    \e$B$r99?7$9$k$3$H$,4N?4$G$9!#\e(B
+    </p>
+
+    <p>\e$B%3%s%=!<%k%"%W%j%1!<%7%g%s$H$7$F%3%^%s%I%i%$%s$+$i\e(B Apache
+    \e$B$r<B9T$9$k$K$O!"0J2<$N%3%^%s%I$r;H$C$F$/$@$5$$\e(B</p>
+<pre>
+    apache 
+</pre>
+
+    <p>Apache \e$B$,<B9T$5$l!"\e(Bcontrol-C
+    \e$B$r;H$&$3$H$K$h$j;_$a$i$l$k$^$GF0$-B3$1$^$9!#\e(B</p>
+
+    <h2><a id="signal" name="signal">\e$B%3%s%=!<%k%&%#%s%I%&$N\e(B Apache
+    \e$B$r%3%s%H%m!<%k$7$^$9\e(B</a></h2>
+
+    <p>\e$B<B9TCf$N\e(B Apache \e$B$r!"JL$N%3%s%=!<%k%&%#%s%I%&$+$i\e(B
+    \e$B0J2<$r<B9T$9$k$3$H$K$h$j;_$a$k$3$H$,$G$-$^$9\e(B</p>
+<pre>
+    apache -k shutdown
+</pre>
+
+    <p><strong>\e$BCm\e(B: \e$B$3$N%*%W%7%g%s$O\e(B Apache 1.3.3 \e$B0J9_$G$N$_M-8z$G$9!#\e(B
+    </strong></p>
+
+    <p>\e$B$h$j0JA0$N%P!<%8%g%s$G$O!"%5!<%P$r;_$a$k$K$O!"\e(BApache
+    \e$B$N%3%s%=!<%k%&%#%s%I%&$G\e(B control-C \e$B$r;H$o$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+    <p>\e$B%P!<%8%g%s\e(B 1.3.3 \e$B$+$i\e(B 1.3.12 \e$B$^$G$G$O!"\e(BApache
+    \e$B$N%3%s%=!<%k%&%#%s%I%&$G\e(B control-C \e$B$r;H$&Be$o$j$K$3$l$NJ}$r\e(B
+    \e$B;H$&$N$,I,MW$G$7$?!#$=$l$r;H$&$H!"\e(BApache \e$B$,$=$N;~E@$G$N\e(B
+    \e$B=hM}$r=*N;$7$F$-$l$$$K=*N;$G$-$k$3$H$,$G$-$?$+$i$G$9!#\e(B
+    </p>
+
+    <p>\e$B%P!<%8%g%s\e(B 1.3.13 \e$B$G!"F0:n$7$F$$$k%&%#%s%I%&$G\e(B Control-C
+    \e$B$r;H$C$F$b\e(B Apache \e$B$,$-$l$$$K=*N;$9$k$h$&$K$J$C$?$N$G\e(B
+     -k shutdown \e$B$NJLL>$H$7$F\e(B -k stop \e$B$r;H$C$F$+$^$$$^$;$s!#\e(B
+     \e$BAa4|$N%P!<%8%g%s$G$O\e(B -k stop \e$B$r2r<a$7$^$;$s!#\e(B</p>
+
+    <p>Apache \e$B$r!":F%9%?!<%H$5$;$k$3$H$b$G$-$^$9!#$=$l$K$h$j@_Dj%U%!%$%k\e(B
+    \e$B$N:FFI9~$r$7$^$9!#7P2aCf$N$I$N=hM}$b3d9~$^$;$:$K40N;$9$k$3$H$,5v$5$l$^$9!#\e(B
+    Apache \e$B$r:F%9%?!<%H$9$k$K$O$3$l$r<B9T$7$F$/$@$5$$\e(B
+    </p>
+<pre>
+    apache -k restart
+</pre>
+
+    <p><strong>\e$BCm\e(B: \e$B$3$N%*%W%7%g%s$O\e(B Apache 1.3.3 \e$B0J9_$G$N$_M-8z$G$9!#\e(B
+    \e$BAa4|$N%P!<%8%g%s$G$O!"\e(BApache \e$B$N%3%s%=!<%k%&%#%s%I%&$G\e(B Control-C
+    \e$B$K$h$j%5!<%P$r=*N;$5$;!"$=$l$+$i\e(B Apache
+    \e$B%3%^%s%I$K$h$C$F%5!<%P$r:F5/F0$9$kI,MW$,$"$j$^$9!#\e(B
+    </strong></p>
+
+    <p>\e$BB>$K!"@_Dj%U%!%$%k%F%9%H%*%W%7%g%s$H$$$&\e(B<em>\e$BHs>o$KJXMx$J\e(B</em>
+    \e$B5!G=$,$"$j$^$9!#\e(BApache
+    \e$B$N@_Dj%U%!%$%k$r%F%9%H$9$k$K$O$3$l$r<B9T$7$F$/$@$5$$\e(B:</p>
+<pre>
+    apache -t
+</pre>
+
+    <p>Apache \e$B$,$^$@<B9T$7$F$$$k$H$-$K@_Dj%U%!%$%k$NJQ99$r$7$?$H$-$K\e(B
+    \e$BFC$KJXMx$G$9!#JQ99$r2C$(!"\e(B"apache -t"
+    \e$B%3%^%s%I$K$h$j9=J8$,@5$7$$$+3NG'$7$F$+$i\e(B "apache -k restart" \e$B$K$h$j\e(B
+    Apache \e$B$r:F5/F0$9$k$H$$$&$3$H$,$G$-$^$9!#\e(BApache
+    \e$B$O@_Dj%U%!%$%k$rFI$_D>$7!"\e(B
+    \e$B3d9~$_$5$;$k$3$H$J$/=hM}$r?J$a$k$3$H$,=PMh$^$9!#\e(B
+    \e$B?7$7$$%j%/%(%9%H$O?7$7$$@_Dj$K4p$E$$$F=hM}$5$l$^$9!#\e(B
+    </p>
+
+    <p>\e$BCm\e(B: Apache \e$B$N\e(B Unix
+    \e$B%P!<%8%g%s$K@:DL$7$??M!9$K$O!"$3$l$i$N%3%^%s%I$O\e(B
+    <code>kill -TERM <em>pid</em></code>
+    \e$B$*$h$S\e(B <code>kill -USR1 <em>pid</em></code> \e$B$HF1Ey$N5!G=$r\e(B Windows
+    \e$B$KDs6!$9$k!"$H8@$C$?J}$,$o$+$j$d$9$$$G$7$g$&!#\e(B
+    \e$B%3%^%s%I%i%$%s$N%*%W%7%g%s$G;H$o$l$k\e(B <code>-k</code>
+    \e$B$O\e(B Unix \e$B$K$*$1$k\e(B "kill" \e$B%3%^%s%I$rO"A[$5$;$k$b$N$H$7$FA*$P$l$^$7$?!#\e(B</p>
+    <!--#include virtual="footer.html" -->
+  </body>
+</html>