• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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#
63#ServerRoot "/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#
74#LockFile "/private/var/run/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#
180Listen 127.0.0.1:8000
181Listen 127.0.0.1:8080
182Listen 127.0.0.1:8081
183Listen 127.0.0.1:9000
184Listen 127.0.0.1:9080
185
186#
187# Dynamic Shared Object (DSO) Support
188#
189# To be able to use the functionality of a module which was built as a DSO you
190# have to place corresponding `LoadModule' lines at this location so the
191# directives contained in it are actually available _before_ they are used.
192# Please read the file http://httpd.apache.org/docs/dso.html for more
193# details about the DSO mechanism and run `httpd -l' for the list of already
194# built-in (statically linked and thus always available) modules in your httpd
195# binary.
196#
197# Note: The order in which modules are loaded is important.  Don't change
198# the order below without expert advice.
199#
200# Example:
201# LoadModule foo_module lib/apache/mod_foo.dll
202#LoadModule vhost_alias_module  lib/apache/mod_vhost_alias.dll
203#LoadModule env_module          lib/apache/mod_env.dll
204LoadModule config_log_module    lib/apache/mod_log_config.dll
205#LoadModule mime_magic_module   lib/apache/mod_mime_magic.dll
206LoadModule mime_module          lib/apache/mod_mime.dll
207LoadModule negotiation_module   lib/apache/mod_negotiation.dll
208#LoadModule status_module       lib/apache/mod_status.dll
209#LoadModule info_module         lib/apache/mod_info.dll
210LoadModule includes_module      lib/apache/mod_include.dll
211LoadModule autoindex_module     lib/apache/mod_autoindex.dll
212#LoadModule dir_module          lib/apache/mod_dir.dll
213LoadModule cgi_module           lib/apache/mod_cgi.dll
214LoadModule asis_module          lib/apache/mod_asis.dll
215LoadModule imap_module          lib/apache/mod_imap.dll
216LoadModule action_module        lib/apache/mod_actions.dll
217#LoadModule speling_module      lib/apache/mod_speling.dll
218#LoadModule userdir_module      lib/apache/mod_userdir.dll
219LoadModule alias_module         lib/apache/mod_alias.dll
220LoadModule rewrite_module       lib/apache/mod_rewrite.dll
221LoadModule access_module        lib/apache/mod_access.dll
222LoadModule auth_module          lib/apache/mod_auth.dll
223#LoadModule anon_auth_module    lib/apache/mod_auth_anon.dll
224#LoadModule dbm_auth_module     lib/apache/mod_auth_dbm.dll
225#LoadModule digest_module       lib/apache/mod_digest.dll
226#LoadModule proxy_module        lib/apache/libproxy.dll
227#LoadModule cern_meta_module    lib/apache/mod_cern_meta.dll
228#LoadModule expires_module      lib/apache/mod_expires.dll
229LoadModule headers_module       lib/apache/mod_headers.dll
230#LoadModule usertrack_module    lib/apache/mod_usertrack.dll
231#LoadModule log_forensic_module lib/apache/mod_log_forensic.dll
232#LoadModule unique_id_module    lib/apache/mod_unique_id.dll
233#LoadModule setenvif_module     lib/apache/mod_setenvif.dll
234#LoadModule dav_module          lib/apache/libdav.dll
235#LoadModule ssl_module          lib/apache/libssl.dll
236#LoadModule perl_module         lib/apache/libperl.dll
237#LoadModule php4_module          lib/apache/libphp4.dll
238#LoadModule hfs_apple_module    lib/apache/mod_hfs_apple.dll
239#LoadModule bonjour_module      lib/apache/mod_bonjour.dll
240
241#  Reconstruction of the complete module list from all available modules
242#  (static and shared ones) to achieve correct module execution order.
243#  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
244ClearModuleList
245#AddModule mod_vhost_alias.c
246#AddModule mod_env.c
247AddModule mod_log_config.c
248#AddModule mod_mime_magic.c
249AddModule mod_mime.c
250AddModule mod_negotiation.c
251#AddModule mod_status.c
252#AddModule mod_info.c
253AddModule mod_include.c
254AddModule mod_autoindex.c
255#AddModule mod_dir.c
256AddModule mod_cgi.c
257AddModule mod_asis.c
258AddModule mod_imap.c
259AddModule mod_actions.c
260#AddModule mod_speling.c
261#AddModule mod_userdir.c
262AddModule mod_alias.c
263AddModule mod_rewrite.c
264AddModule mod_access.c
265AddModule mod_auth.c
266#AddModule mod_auth_anon.c
267#AddModule mod_auth_dbm.c
268#AddModule mod_digest.c
269#AddModule mod_proxy.c
270#AddModule mod_cern_meta.c
271#AddModule mod_expires.c
272AddModule mod_headers.c
273#AddModule mod_usertrack.c
274#AddModule mod_log_forensic.c
275#AddModule mod_unique_id.c
276AddModule mod_so.c
277#AddModule mod_setenvif.c
278#AddModule mod_dav.c
279#AddModule mod_ssl.c
280#AddModule mod_perl.c
281#AddModule mod_php4.c
282#AddModule mod_hfs_apple.c
283#AddModule mod_bonjour.c
284
285### Section 2: 'Main' server configuration
286#
287# The directives in this section set up the values used by the 'main'
288# server, which responds to any requests that aren't handled by a
289# <VirtualHost> definition.  These values also provide defaults for
290# any <VirtualHost> containers you may define later in the file.
291#
292# All of these directives may appear inside <VirtualHost> containers,
293# in which case these default settings will be overridden for the
294# virtual host being defined.
295#
296
297#
298# ServerName allows you to set a host name which is sent back to clients for
299# your server if it's different than the one the program would get (i.e., use
300# "www" instead of the host's real name).
301#
302# Note: You cannot just invent host names and hope they work. The name you
303# define here must be a valid DNS name for your host. If you don't understand
304# this, ask your network administrator.
305# If your host doesn't have a registered DNS name, enter its IP address here.
306# You will have to access it by its address (e.g., http://123.45.67.89/)
307# anyway, and this will make redirections work in a sensible way.
308#
309# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
310# machine always knows itself by this address. If you use Apache strictly for
311# local testing and development, you may use 127.0.0.1 as the server name.
312#
313ServerName 127.0.0.1
314
315#
316# DocumentRoot: The directory out of which you will serve your
317# documents. By default, all requests are taken from this directory, but
318# symbolic links and aliases may be used to point to other locations.
319#
320# Configured from the httpd command line for WebKit layout tests.
321#DocumentRoot "/Library/WebServer/Documents"
322
323#
324# Each directory to which Apache has access, can be configured with respect
325# to which services and features are allowed and/or disabled in that
326# directory (and its subdirectories).
327#
328<Directory />
329#
330# This may also be "None", "All", or any combination of "Indexes",
331# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
332#
333# Note that "MultiViews" must be named *explicitly* --- "Options All"
334# doesn't give it to you.
335#
336    Options Indexes FollowSymLinks MultiViews ExecCGI Includes
337
338#
339# This controls which options the .htaccess files in directories can
340# override. Can also be "All", or any combination of "Options", "FileInfo",
341# "AuthConfig", and "Limit"
342#
343    AllowOverride All
344
345#
346# Controls who can get stuff from this server.
347#
348    Order allow,deny
349    Allow from all
350</Directory>
351
352#
353# AccessFileName: The name of the file to look for in each directory
354# for access control information.
355#
356AccessFileName .htaccess
357
358#
359# The following lines prevent .htaccess files from being viewed by
360# Web clients.  Since .htaccess files often contain authorization
361# information, access is disallowed for security reasons.  Comment
362# these lines out if you want Web visitors to see the contents of
363# .htaccess files.  If you change the AccessFileName directive above,
364# be sure to make the corresponding changes here.
365#
366# Also, folks tend to use names such as .htpasswd for password
367# files, so this will protect those as well.
368#
369<Files ~ "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
370    Order allow,deny
371    Deny from all
372    Satisfy All
373</Files>
374
375#
376# Apple specific filesystem protection.
377#
378
379<Files "rsrc">
380    Order allow,deny
381    Deny from all
382    Satisfy All
383</Files>
384
385<Directory  ~ ".*\.\.namedfork">
386    Order allow,deny
387    Deny from all
388    Satisfy All
389</Directory>
390
391#
392# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
393# document that was negotiated on the basis of content. This asks proxy
394# servers not to cache the document. Uncommenting the following line disables
395# this behavior, and proxies will be allowed to cache the documents.
396#
397#CacheNegotiatedDocs
398
399#
400# UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
401# Apache needs to construct a self-referencing URL (a URL that refers back
402# to the server the response is coming from) it will use ServerName and
403# Port to form a "canonical" name.  With this setting off, Apache will
404# use the hostname:port that the client supplied, when possible.  This
405# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
406#
407UseCanonicalName On
408
409#
410# TypesConfig describes where the mime.types file (or equivalent) is
411# to be found.
412#
413# Configured from the httpd command line for WebKit layout tests.
414#
415#<IfModule mod_mime.c>
416#    TypesConfig /private/etc/httpd/mime.types
417#</IfModule>
418
419#
420# DefaultType is the default MIME type the server will use for a document
421# if it cannot otherwise determine one, such as from filename extensions.
422# If your server contains mostly text or HTML documents, "text/plain" is
423# a good value.  If most of your content is binary, such as applications
424# or images, you may want to use "application/octet-stream" instead to
425# keep browsers from trying to display binary files as though they are
426# text.
427#
428DefaultType text/plain
429
430#
431# HostnameLookups: Log the names of clients or just their IP addresses
432# e.g., www.apache.org (on) or 204.62.129.132 (off).
433# The default is off because it'd be overall better for the net if people
434# had to knowingly turn this feature on, since enabling it means that
435# each client request will result in AT LEAST one lookup request to the
436# nameserver.
437#
438HostnameLookups Off
439
440#
441# ErrorLog: The location of the error log file.
442# If you do not specify an ErrorLog directive within a <VirtualHost>
443# container, error messages relating to that virtual host will be
444# logged here.  If you *do* define an error logfile for a <VirtualHost>
445# container, that host's errors will be logged there and not here.
446#
447# Configured from the httpd command line for WebKit layout tests.
448#ErrorLog "/tmp/layout-test-results/error_log"
449
450#
451# LogLevel: Control the number of messages logged to the error_log.
452# Possible values include: debug, info, notice, warn, error, crit,
453# alert, emerg.
454#
455LogLevel warn
456
457#
458# The following directives define some format nicknames for use with
459# a CustomLog directive (see below).
460#
461LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
462LogFormat "%p %h %l %u %t \"%r\" %>s %b" common
463LogFormat "%{Referer}i -> %U" referer
464LogFormat "%{User-agent}i" agent
465
466#
467# The location and format of the access logfile (Common Logfile Format).
468# If you do not define any access logfiles within a <VirtualHost>
469# container, they will be logged here.  Contrariwise, if you *do*
470# define per-<VirtualHost> access logfiles, transactions will be
471# logged therein and *not* in this file.
472#
473# Configured from the httpd command line for WebKit layout tests.
474#CustomLog "/tmp/layout-test-results/access_log" common
475
476#
477# If you prefer a single logfile with access, agent, and referer information
478# (Combined Logfile Format) you can use the following directive.
479#
480#CustomLog "/tmp/layout-test-results/access_log" combined
481
482#
483# Optionally add a line containing the server version and virtual host
484# name to server-generated pages (error documents, FTP directory listings,
485# mod_status and mod_info output etc., but not CGI generated documents).
486# Set to "EMail" to also include a mailto: link to the ServerAdmin.
487# Set to one of:  On | Off | EMail
488#
489ServerSignature On
490
491#
492# Aliases: Add here as many aliases as you need (with no limit). The format is
493# Alias fakename realname
494#
495<IfModule mod_alias.c>
496</IfModule>
497# End of aliases.
498
499#
500# Redirect allows you to tell clients about documents which used to exist in
501# your server's namespace, but do not anymore. This allows you to tell the
502# clients where to look for the relocated document.
503# Format: Redirect old-URI new-URL
504#
505
506#
507# Document types.
508#
509<IfModule mod_mime.c>
510
511    #
512    # AddLanguage allows you to specify the language of a document. You can
513    # then use content negotiation to give a browser a file in a language
514    # it can understand.
515    #
516    # Note 1: The suffix does not have to be the same as the language
517    # keyword --- those with documents in Polish (whose net-standard
518    # language code is pl) may wish to use "AddLanguage pl .po" to
519    # avoid the ambiguity with the common suffix for perl scripts.
520    #
521    # Note 2: The example entries below illustrate that in quite
522    # some cases the two character 'Language' abbreviation is not
523    # identical to the two character 'Country' code for its country,
524    # E.g. 'Danmark/dk' versus 'Danish/da'.
525    #
526    # Note 3: In the case of 'ltz' we violate the RFC by using a three char
527    # specifier. But there is 'work in progress' to fix this and get
528    # the reference data for rfc1766 cleaned up.
529    #
530    # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
531    # French (fr) - German (de) - Greek-Modern (el)
532    # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
533    # Portugese (pt) - Luxembourgeois* (ltz)
534    # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cs)
535    # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
536    # Russian (ru)
537    #
538    AddLanguage da .dk
539    AddLanguage nl .nl
540    AddLanguage en .en
541    AddLanguage et .ee
542    AddLanguage fr .fr
543    AddLanguage de .de
544    AddLanguage el .el
545    AddLanguage he .he
546    AddCharset ISO-8859-8 .iso8859-8
547    AddLanguage it .it
548    AddLanguage ja .ja
549    AddCharset ISO-2022-JP .jis
550    AddLanguage kr .kr
551    AddCharset ISO-2022-KR .iso-kr
552    AddLanguage nn .nn
553    AddLanguage no .no
554    AddLanguage pl .po
555    AddCharset ISO-8859-2 .iso-pl
556    AddLanguage pt .pt
557    AddLanguage pt-br .pt-br
558    AddLanguage ltz .lu
559    AddLanguage ca .ca
560    AddLanguage es .es
561    AddLanguage sv .sv
562    AddLanguage cs .cz .cs
563    AddLanguage ru .ru
564    AddLanguage zh-TW .zh-tw
565    AddCharset Big5         .Big5    .big5
566    AddCharset WINDOWS-1251 .cp-1251
567    AddCharset CP866        .cp866
568    AddCharset ISO-8859-5   .iso-ru
569    AddCharset KOI8-R       .koi8-r
570    AddCharset UCS-2        .ucs2
571    AddCharset UCS-4        .ucs4
572    AddCharset UTF-8        .utf8
573
574    # LanguagePriority allows you to give precedence to some languages
575    # in case of a tie during content negotiation.
576    #
577    # Just list the languages in decreasing order of preference. We have
578    # more or less alphabetized them here. You probably want to change this.
579    #
580    <IfModule mod_negotiation.c>
581        LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
582    </IfModule>
583
584    #
585    # AddType allows you to tweak mime.types without actually editing it, or to
586    # make certain files to be certain types.
587    #
588    AddType application/x-tar .tgz
589
590    #
591    # AddEncoding allows you to have certain browsers uncompress
592    # information on the fly. Note: Not all browsers support this.
593    # Despite the name similarity, the following Add* directives have nothing
594    # to do with the FancyIndexing customization directives above.
595    #
596    AddEncoding x-compress .Z
597    AddEncoding x-gzip .gz .tgz
598    #
599    # If the AddEncoding directives above are commented-out, then you
600    # probably should define those extensions to indicate media types:
601    #
602    #AddType application/x-compress .Z
603    #AddType application/x-gzip .gz .tgz
604
605    #
606    # AddHandler allows you to map certain file extensions to "handlers",
607    # actions unrelated to filetype. These can be either built into the server
608    # or added with the Action command (see below)
609    #
610    # If you want to use server side includes, or CGI outside
611    # ScriptAliased directories, uncomment the following lines.
612    #
613    # To use CGI scripts:
614    #
615    AddHandler cgi-script .cgi .pl
616
617    #
618    # To use server-parsed HTML files
619    #
620    AddType text/html .shtml
621    AddHandler server-parsed .shtml
622
623    #
624    # Uncomment the following line to enable Apache's send-asis HTTP file
625    # feature
626    #
627    AddHandler send-as-is asis
628
629    #
630    # If you wish to use server-parsed imagemap files, use
631    #
632    #AddHandler imap-file map
633
634    #
635    # To enable type maps, you might want to use
636    #
637    #AddHandler type-map var
638
639</IfModule>
640# End of document types.
641
642#
643# Action lets you define media types that will execute a script whenever
644# a matching file is called. This eliminates the need for repeated URL
645# pathnames for oft-used CGI file processors.
646# Format: Action media/type /cgi-script/location
647# Format: Action handler-name /cgi-script/location
648#
649
650#
651# MetaDir: specifies the name of the directory in which Apache can find
652# meta information files. These files contain additional HTTP headers
653# to include when sending the document
654#
655#MetaDir .web
656
657#
658# MetaSuffix: specifies the file name suffix for the file containing the
659# meta information.
660#
661#MetaSuffix .meta
662
663#
664# Customizable error response (Apache style)
665#  these come in three flavors
666#
667#    1) plain text
668#ErrorDocument 500 "The server made a boo boo.
669#  n.b.  the single leading (") marks it as text, it does not get output
670#
671#    2) local redirects
672#ErrorDocument 404 /missing.html
673#  to redirect to local URL /missing.html
674#ErrorDocument 404 /cgi-bin/missing_handler.pl
675#  N.B.: You can redirect to a script or a document using server-side-includes.
676#
677#    3) external redirects
678#ErrorDocument 402 http://some.other-server.com/subscription_info.html
679#  N.B.: Many of the environment variables associated with the original
680#  request will *not* be available to such a script.
681
682#
683# Proxy Server directives. Uncomment the following lines to
684# enable the proxy server:
685#
686#<IfModule mod_proxy.c>
687#    ProxyRequests On
688
689#    <Directory proxy:*>
690#        Order deny,allow
691#        Deny from all
692#        Allow from .your-domain.com
693#    </Directory>
694
695    #
696    # Enable/disable the handling of HTTP/1.1 "Via:" headers.
697    # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
698    # Set to one of: Off | On | Full | Block
699    #
700#    ProxyVia On
701
702    #
703    # To enable the cache as well, edit and uncomment the following lines:
704    # (no cacheing without CacheRoot)
705    #
706#    CacheRoot "/private/var/run/proxy"
707#    CacheSize 5
708#    CacheGcInterval 4
709#    CacheMaxExpire 24
710#    CacheLastModifiedFactor 0.1
711#    CacheDefaultExpire 1
712#    NoCache a-domain.com another-domain.edu joes.garage-sale.com
713
714#</IfModule>
715# End of proxy directives.
716
717
718<IfModule mod_php4.c>
719    # If php is turned on, we repsect .php and .phps files.
720    AddType application/x-httpd-php .php
721    AddType application/x-httpd-php-source .phps
722
723    # Since most users will want index.php to work we
724    # also automatically enable index.php
725    <IfModule mod_dir.c>
726        DirectoryIndex index.html index.php
727    </IfModule>
728</IfModule>
729
730<IfModule mod_rewrite.c>
731    RewriteEngine On
732    RewriteCond %{REQUEST_METHOD} ^TRACE
733    RewriteRule .* - [F]
734</IfModule>
735