httpd.conf revision dcc8cf2e65d1aa555cce12431a16547e66b469ee
1##
2## httpd.conf -- Apache HTTP server configuration file
3##
4
5#
6# Based upon the NCSA server configuration files originally by Rob McCool.
7#
8# This is the main Apache server configuration file.  It contains the
9# configuration directives that give the server its instructions.
10# See <URL:http://httpd.apache.org/docs/> for detailed information about
11# the directives.
12#
13# Do NOT simply read the instructions in here without understanding
14# what they do.  They're here only as hints or reminders.  If you are unsure
15# consult the online docs. You have been warned.  
16#
17# After this file is processed, the server will look for and process
18# /private/etc/httpd/srm.conf and then /private/etc/httpd/access.conf
19# unless you have overridden these with ResourceConfig and/or
20# AccessConfig directives here.
21#
22# The configuration directives are grouped into three basic sections:
23#  1. Directives that control the operation of the Apache server process as a
24#     whole (the 'global environment').
25#  2. Directives that define the parameters of the 'main' or 'default' server,
26#     which responds to requests that aren't handled by a virtual host.
27#     These directives also provide default values for the settings
28#     of all virtual hosts.
29#  3. Settings for virtual hosts, which allow Web requests to be sent to
30#     different IP addresses or hostnames and have them handled by the
31#     same Apache server process.
32#
33# Configuration and logfile names: If the filenames you specify for many
34# of the server's control files begin with "/" (or "drive:/" for Win32), the
35# server will use that explicit path.  If the filenames do *not* begin
36# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
37# with ServerRoot set to "/usr/local/apache" will be interpreted by the
38# server as "/usr/local/apache/logs/foo.log".
39#
40
41### Section 1: Global Environment
42#
43# The directives in this section affect the overall operation of Apache,
44# such as the number of concurrent requests it can handle or where it
45# can find its configuration files.
46#
47
48#
49# ServerType is either inetd, or standalone.  Inetd mode is only supported on
50# Unix platforms.
51#
52ServerType standalone
53
54#
55# ServerRoot: The top of the directory tree under which the server's
56# configuration, error, and log files are kept.
57#
58# NOTE!  If you intend to place this on an NFS (or otherwise network)
59# mounted filesystem then please read the LockFile documentation
60# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
61# you will save yourself a lot of trouble.
62#
63ServerRoot "/usr"
64
65#
66# The LockFile directive sets the path to the lockfile used when Apache
67# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
68# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
69# its default value. The main reason for changing it is if the logs
70# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
71# DISK. The PID of the main server process is automatically appended to
72# the filename. 
73#
74LockFile "/tmp/WebKit/httpd.lock"
75
76#
77# PidFile: The file in which the server should record its process
78# identification number when it starts.
79#
80PidFile "/tmp/WebKit/httpd.pid"
81
82#
83# ScoreBoardFile: File used to store internal server process information.
84# Not all architectures require this.  But if yours does (you'll know because
85# this file will be  created when you run Apache) then you *must* ensure that
86# no two invocations of Apache share the same scoreboard file.
87#
88ScoreBoardFile "/tmp/WebKit/httpd.scoreboard"
89
90#
91# In the standard configuration, the server will process httpd.conf (this 
92# file, specified by the -f command line option), srm.conf, and access.conf 
93# in that order.  The latter two files are now distributed empty, as it is 
94# recommended that all directives be kept in a single file for simplicity.  
95# The commented-out values below are the built-in defaults.  You can have the 
96# server ignore these files altogether by using "/dev/null" (for Unix) or
97# "nul" (for Win32) for the arguments to the directives.
98#
99ResourceConfig /dev/null
100AccessConfig /dev/null
101
102#
103# Timeout: The number of seconds before receives and sends time out.
104#
105Timeout 300
106
107#
108# KeepAlive: Whether or not to allow persistent connections (more than
109# one request per connection). Set to "Off" to deactivate.
110#
111KeepAlive On
112
113#
114# MaxKeepAliveRequests: The maximum number of requests to allow
115# during a persistent connection. Set to 0 to allow an unlimited amount.
116# We recommend you leave this number high, for maximum performance.
117#
118MaxKeepAliveRequests 100
119
120#
121# KeepAliveTimeout: Number of seconds to wait for the next request from the
122# same client on the same connection.
123#
124KeepAliveTimeout 15
125
126#
127# Server-pool size regulation.  Rather than making you guess how many
128# server processes you need, Apache dynamically adapts to the load it
129# sees --- that is, it tries to maintain enough server processes to
130# handle the current load, plus a few spare servers to handle transient
131# load spikes (e.g., multiple simultaneous requests from a single
132# Netscape browser).
133#
134# It does this by periodically checking how many servers are waiting
135# for a request.  If there are fewer than MinSpareServers, it creates
136# a new spare.  If there are more than MaxSpareServers, some of the
137# spares die off.  The default values are probably OK for most sites.
138#
139MinSpareServers 1
140MaxSpareServers 5
141
142#
143# Number of servers to start initially --- should be a reasonable ballpark
144# figure.
145#
146StartServers 1
147
148#
149# Limit on total number of servers running, i.e., limit on the number
150# of clients who can simultaneously connect --- if this limit is ever
151# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
152# It is intended mainly as a brake to keep a runaway server from taking
153# the system with it as it spirals down...
154#
155MaxClients 150
156
157#
158# MaxRequestsPerChild: the number of requests each child process is
159# allowed to process before the child dies.  The child will exit so
160# as to avoid problems after prolonged use when Apache (and maybe the
161# libraries it uses) leak memory or other resources.  On most systems, this
162# isn't really needed, but a few (such as Solaris) do have notable leaks
163# in the libraries. For these platforms, set to something like 10000
164# or so; a setting of 0 means unlimited.
165#
166# NOTE: This value does not include keepalive requests after the initial
167#       request per connection. For example, if a child process handles
168#       an initial request and 10 subsequent "keptalive" requests, it
169#       would only count as 1 request towards this limit.
170#
171MaxRequestsPerChild 100000
172
173#
174# Listen: Allows you to bind Apache to specific IP addresses and/or
175# ports, instead of the default. See also the <VirtualHost>
176# directive.
177#
178# Configured from the httpd command line for WebKit layout tests.
179# Port 8443 is hard-coded as it is needed for the HTTPS configuration later on.
180#
181#Listen 3000
182Listen 127.0.0.1:8080
183Listen 127.0.0.1:8443
184# Apache 1.3 only supports IPv4, so we do not listen on ::1 (IPv6 loopback).
185# This may cause flaky tests on systems which support IPv6 if localhost resolves
186# to ::1 in addition to 127.0.0.1.
187# See https://bugs.webkit.org/show_bug.cgi?id=37104
188
189#
190# Dynamic Shared Object (DSO) Support
191#
192# To be able to use the functionality of a module which was built as a DSO you
193# have to place corresponding `LoadModule' lines at this location so the
194# directives contained in it are actually available _before_ they are used.
195# Please read the file http://httpd.apache.org/docs/dso.html for more
196# details about the DSO mechanism and run `httpd -l' for the list of already
197# built-in (statically linked and thus always available) modules in your httpd
198# binary.
199#
200# Note: The order in which modules are loaded is important.  Don't change
201# the order below without expert advice.
202#
203# Example:
204# LoadModule foo_module libexec/mod_foo.so
205#LoadModule vhost_alias_module libexec/httpd/mod_vhost_alias.so
206#LoadModule env_module         libexec/httpd/mod_env.so
207LoadModule config_log_module  libexec/httpd/mod_log_config.so
208#LoadModule mime_magic_module  libexec/httpd/mod_mime_magic.so
209LoadModule mime_module        libexec/httpd/mod_mime.so
210LoadModule negotiation_module libexec/httpd/mod_negotiation.so
211#LoadModule status_module      libexec/httpd/mod_status.so
212#LoadModule info_module        libexec/httpd/mod_info.so
213LoadModule includes_module    libexec/httpd/mod_include.so
214#LoadModule autoindex_module   libexec/httpd/mod_autoindex.so
215#LoadModule dir_module         libexec/httpd/mod_dir.so
216LoadModule cgi_module         libexec/httpd/mod_cgi.so
217LoadModule asis_module        libexec/httpd/mod_asis.so
218LoadModule imap_module        libexec/httpd/mod_imap.so
219LoadModule action_module      libexec/httpd/mod_actions.so
220#LoadModule speling_module     libexec/httpd/mod_speling.so
221#LoadModule userdir_module     libexec/httpd/mod_userdir.so
222LoadModule alias_module       libexec/httpd/mod_alias.so
223LoadModule rewrite_module     libexec/httpd/mod_rewrite.so
224LoadModule access_module      libexec/httpd/mod_access.so
225LoadModule auth_module        libexec/httpd/mod_auth.so
226#LoadModule anon_auth_module   libexec/httpd/mod_auth_anon.so
227#LoadModule dbm_auth_module    libexec/httpd/mod_auth_dbm.so
228#LoadModule digest_module      libexec/httpd/mod_digest.so
229#LoadModule proxy_module       libexec/httpd/libproxy.so
230#LoadModule cern_meta_module   libexec/httpd/mod_cern_meta.so
231#LoadModule expires_module     libexec/httpd/mod_expires.so
232LoadModule headers_module     libexec/httpd/mod_headers.so
233#LoadModule usertrack_module   libexec/httpd/mod_usertrack.so
234#LoadModule log_forensic_module libexec/httpd/mod_log_forensic.so
235#LoadModule unique_id_module   libexec/httpd/mod_unique_id.so
236#LoadModule setenvif_module    libexec/httpd/mod_setenvif.so
237#LoadModule dav_module         libexec/httpd/libdav.so
238LoadModule ssl_module         libexec/httpd/libssl.so
239#LoadModule perl_module        libexec/httpd/libperl.so
240LoadModule php4_module        libexec/httpd/libphp4.so
241LoadModule hfs_apple_module   libexec/httpd/mod_hfs_apple.so
242#LoadModule bonjour_module     libexec/httpd/mod_bonjour.so
243
244#  Reconstruction of the complete module list from all available modules
245#  (static and shared ones) to achieve correct module execution order.
246#  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
247ClearModuleList
248#AddModule mod_vhost_alias.c
249#AddModule mod_env.c
250AddModule mod_log_config.c
251#AddModule mod_mime_magic.c
252AddModule mod_mime.c
253AddModule mod_negotiation.c
254#AddModule mod_status.c
255#AddModule mod_info.c
256AddModule mod_include.c
257#AddModule mod_autoindex.c
258#AddModule mod_dir.c
259AddModule mod_cgi.c
260AddModule mod_asis.c
261AddModule mod_imap.c
262AddModule mod_actions.c
263#AddModule mod_speling.c
264#AddModule mod_userdir.c
265AddModule mod_alias.c
266AddModule mod_rewrite.c
267AddModule mod_access.c
268AddModule mod_auth.c
269#AddModule mod_auth_anon.c
270#AddModule mod_auth_dbm.c
271#AddModule mod_digest.c
272#AddModule mod_proxy.c
273#AddModule mod_cern_meta.c
274#AddModule mod_expires.c
275AddModule mod_headers.c
276#AddModule mod_usertrack.c
277#AddModule mod_log_forensic.c
278#AddModule mod_unique_id.c
279AddModule mod_so.c
280#AddModule mod_setenvif.c
281#AddModule mod_dav.c
282AddModule mod_ssl.c
283#AddModule mod_perl.c
284AddModule mod_php4.c
285AddModule mod_hfs_apple.c
286#AddModule mod_bonjour.c
287
288### Section 2: 'Main' server configuration
289#
290# The directives in this section set up the values used by the 'main'
291# server, which responds to any requests that aren't handled by a
292# <VirtualHost> definition.  These values also provide defaults for
293# any <VirtualHost> containers you may define later in the file.
294#
295# All of these directives may appear inside <VirtualHost> containers,
296# in which case these default settings will be overridden for the
297# virtual host being defined.
298#
299
300#
301# ServerName allows you to set a host name which is sent back to clients for
302# your server if it's different than the one the program would get (i.e., use
303# "www" instead of the host's real name).
304#
305# Note: You cannot just invent host names and hope they work. The name you 
306# define here must be a valid DNS name for your host. If you don't understand
307# this, ask your network administrator.
308# If your host doesn't have a registered DNS name, enter its IP address here.
309# You will have to access it by its address (e.g., http://123.45.67.89/)
310# anyway, and this will make redirections work in a sensible way.
311#
312# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your 
313# machine always knows itself by this address. If you use Apache strictly for 
314# local testing and development, you may use 127.0.0.1 as the server name.
315#
316ServerName 127.0.0.1
317
318#
319# DocumentRoot: The directory out of which you will serve your
320# documents. By default, all requests are taken from this directory, but
321# symbolic links and aliases may be used to point to other locations.
322#
323# Configured from the httpd command line for WebKit layout tests.
324#DocumentRoot "/Library/WebServer/Documents"
325
326#
327# Each directory to which Apache has access, can be configured with respect
328# to which services and features are allowed and/or disabled in that
329# directory (and its subdirectories). 
330#
331<Directory />
332#
333# This may also be "None", "All", or any combination of "Indexes",
334# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
335#
336# Note that "MultiViews" must be named *explicitly* --- "Options All"
337# doesn't give it to you.
338#
339    Options Indexes FollowSymLinks MultiViews ExecCGI Includes
340
341#
342# This controls which options the .htaccess files in directories can
343# override. Can also be "All", or any combination of "Options", "FileInfo", 
344# "AuthConfig", and "Limit"
345#
346    AllowOverride All
347
348#
349# Controls who can get stuff from this server.
350#
351    Order allow,deny
352    Allow from all
353</Directory>
354
355#
356# AccessFileName: The name of the file to look for in each directory
357# for access control information.
358#
359AccessFileName .htaccess
360
361#
362# The following lines prevent .htaccess files from being viewed by
363# Web clients.  Since .htaccess files often contain authorization
364# information, access is disallowed for security reasons.  Comment
365# these lines out if you want Web visitors to see the contents of
366# .htaccess files.  If you change the AccessFileName directive above,
367# be sure to make the corresponding changes here.
368#
369# Also, folks tend to use names such as .htpasswd for password
370# files, so this will protect those as well.
371#
372<Files ~ "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
373    Order allow,deny
374    Deny from all
375    Satisfy All
376</Files>
377
378#
379# Apple specific filesystem protection.
380# 
381
382<Files "rsrc">
383    Order allow,deny
384    Deny from all
385    Satisfy All
386</Files>
387
388<Directory  ~ ".*\.\.namedfork">
389    Order allow,deny
390    Deny from all
391    Satisfy All
392</Directory>
393
394#
395# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
396# document that was negotiated on the basis of content. This asks proxy
397# servers not to cache the document. Uncommenting the following line disables
398# this behavior, and proxies will be allowed to cache the documents.
399#
400#CacheNegotiatedDocs
401
402#
403# UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
404# Apache needs to construct a self-referencing URL (a URL that refers back
405# to the server the response is coming from) it will use ServerName and
406# Port to form a "canonical" name.  With this setting off, Apache will
407# use the hostname:port that the client supplied, when possible.  This
408# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
409#
410UseCanonicalName On
411
412#
413# TypesConfig describes where the mime.types file (or equivalent) is
414# to be found.
415#
416# Configured from the httpd command line for WebKit layout tests.
417#
418#<IfModule mod_mime.c>
419#    TypesConfig /private/etc/httpd/mime.types
420#</IfModule>
421
422#
423# DefaultType is the default MIME type the server will use for a document
424# if it cannot otherwise determine one, such as from filename extensions.
425# If your server contains mostly text or HTML documents, "text/plain" is
426# a good value.  If most of your content is binary, such as applications
427# or images, you may want to use "application/octet-stream" instead to
428# keep browsers from trying to display binary files as though they are
429# text.
430#
431DefaultType text/plain
432
433#
434# HostnameLookups: Log the names of clients or just their IP addresses
435# e.g., www.apache.org (on) or 204.62.129.132 (off).
436# The default is off because it'd be overall better for the net if people
437# had to knowingly turn this feature on, since enabling it means that
438# each client request will result in AT LEAST one lookup request to the
439# nameserver.
440#
441HostnameLookups Off
442
443#
444# ErrorLog: The location of the error log file.
445# If you do not specify an ErrorLog directive within a <VirtualHost>
446# container, error messages relating to that virtual host will be
447# logged here.  If you *do* define an error logfile for a <VirtualHost>
448# container, that host's errors will be logged there and not here.
449#
450# Configured from the httpd command line for WebKit layout tests.
451#ErrorLog "/tmp/layout-test-results/error_log"
452
453#
454# LogLevel: Control the number of messages logged to the error_log.
455# Possible values include: debug, info, notice, warn, error, crit,
456# alert, emerg.
457#
458LogLevel warn
459
460#
461# The following directives define some format nicknames for use with
462# a CustomLog directive (see below).
463#
464LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
465LogFormat "%h %l %u %t \"%r\" %>s %b" common
466LogFormat "%{Referer}i -> %U" referer
467LogFormat "%{User-agent}i" agent
468
469#
470# The location and format of the access logfile (Common Logfile Format).
471# If you do not define any access logfiles within a <VirtualHost>
472# container, they will be logged here.  Contrariwise, if you *do*
473# define per-<VirtualHost> access logfiles, transactions will be
474# logged therein and *not* in this file.
475#
476# Configured from the httpd command line for WebKit layout tests.
477#CustomLog "/tmp/layout-test-results/access_log" common
478
479#
480# If you prefer a single logfile with access, agent, and referer information
481# (Combined Logfile Format) you can use the following directive.
482#
483#CustomLog "/tmp/layout-test-results/access_log" combined
484
485#
486# Optionally add a line containing the server version and virtual host
487# name to server-generated pages (error documents, FTP directory listings,
488# mod_status and mod_info output etc., but not CGI generated documents).
489# Set to "EMail" to also include a mailto: link to the ServerAdmin.
490# Set to one of:  On | Off | EMail
491#
492ServerSignature On
493
494#
495# Aliases: Add here as many aliases as you need (with no limit). The format is 
496# Alias fakename realname
497#
498<IfModule mod_alias.c>
499</IfModule>
500# End of aliases.
501
502#
503# Redirect allows you to tell clients about documents which used to exist in
504# your server's namespace, but do not anymore. This allows you to tell the
505# clients where to look for the relocated document.
506# Format: Redirect old-URI new-URL
507#
508
509#
510# Document types.
511#
512<IfModule mod_mime.c>
513
514    #
515    # AddLanguage allows you to specify the language of a document. You can
516    # then use content negotiation to give a browser a file in a language
517    # it can understand.  
518    #
519    # Note 1: The suffix does not have to be the same as the language 
520    # keyword --- those with documents in Polish (whose net-standard 
521    # language code is pl) may wish to use "AddLanguage pl .po" to 
522    # avoid the ambiguity with the common suffix for perl scripts.
523    #
524    # Note 2: The example entries below illustrate that in quite
525    # some cases the two character 'Language' abbreviation is not
526    # identical to the two character 'Country' code for its country,
527    # E.g. 'Danmark/dk' versus 'Danish/da'.
528    #
529    # Note 3: In the case of 'ltz' we violate the RFC by using a three char 
530    # specifier. But there is 'work in progress' to fix this and get 
531    # the reference data for rfc1766 cleaned up.
532    #
533    # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
534    # French (fr) - German (de) - Greek-Modern (el)
535    # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
536    # Portugese (pt) - Luxembourgeois* (ltz)
537    # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cs)
538    # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
539    # Russian (ru)
540    #
541    AddLanguage da .dk
542    AddLanguage nl .nl
543    AddLanguage en .en
544    AddLanguage et .ee
545    AddLanguage fr .fr
546    AddLanguage de .de
547    AddLanguage el .el
548    AddLanguage he .he
549    AddCharset ISO-8859-8 .iso8859-8
550    AddLanguage it .it
551    AddLanguage ja .ja
552    AddCharset ISO-2022-JP .jis
553    AddLanguage kr .kr
554    AddCharset ISO-2022-KR .iso-kr
555    AddLanguage nn .nn
556    AddLanguage no .no
557    AddLanguage pl .po
558    AddCharset ISO-8859-2 .iso-pl
559    AddLanguage pt .pt
560    AddLanguage pt-br .pt-br
561    AddLanguage ltz .lu
562    AddLanguage ca .ca
563    AddLanguage es .es
564    AddLanguage sv .sv
565    AddLanguage cs .cz .cs
566    AddLanguage ru .ru
567    AddLanguage zh-TW .zh-tw
568    AddCharset Big5         .Big5    .big5
569    AddCharset WINDOWS-1251 .cp-1251
570    AddCharset CP866        .cp866
571    AddCharset ISO-8859-5   .iso-ru
572    AddCharset KOI8-R       .koi8-r
573    AddCharset UCS-2        .ucs2
574    AddCharset UCS-4        .ucs4
575    AddCharset UTF-8        .utf8
576
577    # LanguagePriority allows you to give precedence to some languages
578    # in case of a tie during content negotiation.
579    #
580    # Just list the languages in decreasing order of preference. We have
581    # more or less alphabetized them here. You probably want to change this.
582    #
583    <IfModule mod_negotiation.c>
584        LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
585    </IfModule>
586
587    #
588    # AddType allows you to tweak mime.types without actually editing it, or to
589    # make certain files to be certain types.
590    #
591    AddType application/x-tar .tgz
592
593    #
594    # AddEncoding allows you to have certain browsers uncompress
595    # information on the fly. Note: Not all browsers support this.
596    # Despite the name similarity, the following Add* directives have nothing
597    # to do with the FancyIndexing customization directives above.
598    #
599    AddEncoding x-compress .Z
600    AddEncoding x-gzip .gz .tgz
601    #
602    # If the AddEncoding directives above are commented-out, then you
603    # probably should define those extensions to indicate media types:
604    #
605    #AddType application/x-compress .Z
606    #AddType application/x-gzip .gz .tgz
607
608    #
609    # AddHandler allows you to map certain file extensions to "handlers",
610    # actions unrelated to filetype. These can be either built into the server
611    # or added with the Action command (see below)
612    #
613    # If you want to use server side includes, or CGI outside
614    # ScriptAliased directories, uncomment the following lines.
615    #
616    # To use CGI scripts:
617    #
618    AddHandler cgi-script .cgi .pl
619
620    #
621    # To use server-parsed HTML files
622    #
623    AddType text/html .shtml
624    AddHandler server-parsed .shtml
625
626    #
627    # Uncomment the following line to enable Apache's send-asis HTTP file
628    # feature
629    #
630    AddHandler send-as-is asis
631
632    #
633    # If you wish to use server-parsed imagemap files, use
634    #
635    #AddHandler imap-file map
636
637    #
638    # To enable type maps, you might want to use
639    #
640    #AddHandler type-map var
641
642</IfModule>
643# End of document types.
644
645#
646# Action lets you define media types that will execute a script whenever
647# a matching file is called. This eliminates the need for repeated URL
648# pathnames for oft-used CGI file processors.
649# Format: Action media/type /cgi-script/location
650# Format: Action handler-name /cgi-script/location
651#
652
653#
654# MetaDir: specifies the name of the directory in which Apache can find
655# meta information files. These files contain additional HTTP headers
656# to include when sending the document
657#
658#MetaDir .web
659
660#
661# MetaSuffix: specifies the file name suffix for the file containing the
662# meta information.
663#
664#MetaSuffix .meta
665
666#
667# Customizable error response (Apache style)
668#  these come in three flavors
669#
670#    1) plain text
671#ErrorDocument 500 "The server made a boo boo.
672#  n.b.  the single leading (") marks it as text, it does not get output
673#
674#    2) local redirects
675#ErrorDocument 404 /missing.html
676#  to redirect to local URL /missing.html
677#ErrorDocument 404 /cgi-bin/missing_handler.pl
678#  N.B.: You can redirect to a script or a document using server-side-includes.
679#
680#    3) external redirects
681#ErrorDocument 402 http://some.other-server.com/subscription_info.html
682#  N.B.: Many of the environment variables associated with the original
683#  request will *not* be available to such a script.
684
685#
686# Proxy Server directives. Uncomment the following lines to
687# enable the proxy server:
688#
689#<IfModule mod_proxy.c>
690#    ProxyRequests On
691
692#    <Directory proxy:*>
693#        Order deny,allow
694#        Deny from all
695#        Allow from .your-domain.com
696#    </Directory>
697
698    #
699    # Enable/disable the handling of HTTP/1.1 "Via:" headers.
700    # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
701    # Set to one of: Off | On | Full | Block
702    #
703#    ProxyVia On
704
705    #
706    # To enable the cache as well, edit and uncomment the following lines:
707    # (no cacheing without CacheRoot)
708    #
709#    CacheRoot "/private/var/run/proxy"
710#    CacheSize 5
711#    CacheGcInterval 4
712#    CacheMaxExpire 24
713#    CacheLastModifiedFactor 0.1
714#    CacheDefaultExpire 1
715#    NoCache a-domain.com another-domain.edu joes.garage-sale.com
716
717#</IfModule>
718# End of proxy directives.
719
720
721<IfModule mod_php4.c>
722    # If php is turned on, we repsect .php and .phps files.
723    AddType application/x-httpd-php .php
724    AddType application/x-httpd-php .bat
725    AddType application/x-httpd-php-source .phps
726
727    # Since most users will want index.php to work we
728    # also automatically enable index.php
729    <IfModule mod_dir.c>
730        DirectoryIndex index.html index.php
731    </IfModule>
732</IfModule>
733
734<IfModule mod_rewrite.c>
735    RewriteEngine On
736    RewriteCond %{REQUEST_METHOD} ^TRACE
737    RewriteRule .* - [F]
738</IfModule>
739
740<VirtualHost 127.0.0.1:8443>
741    ServerName 127.0.0.1
742    SSLEngine On
743</VirtualHost>
744