From: Daniel Gruno Date: Fri, 27 Apr 2012 12:59:32 +0000 (+0000) Subject: Even more xforms that somehow didn't trigger earlier. I wonder if they're silently... X-Git-Tag: 2.5.0-alpha~6973 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8fa573336000d9ccbcc51209992c8455ea3af05a;p=thirdparty%2Fapache%2Fhttpd.git Even more xforms that somehow didn't trigger earlier. I wonder if they're silently revolting against me. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1331408 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_example.html.en b/docs/manual/mod/mod_example.html.en index 4ca745c1974..849ee0a3cb3 100644 --- a/docs/manual/mod/mod_example.html.en +++ b/docs/manual/mod/mod_example.html.en @@ -113,17 +113,19 @@

To activate the example module, include a block similar to the following in your httpd.conf file:

-

- <Location /example-info>
- SetHandler example-handler
- </Location> -

+
+<Location /example-info>
+   SetHandler example-handler
+</Location>
+
+

As an alternative, you can put the following into a .htaccess file and then request the file "test.example" from that location:

-

+

    AddHandler example-handler .example
-

+ +

After reloading/restarting your server, you should be able to browse to this location and see the brief display mentioned diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en index ab914ad1f63..6f14d1ae6ff 100644 --- a/docs/manual/mod/mod_ext_filter.html.en +++ b/docs/manual/mod/mod_ext_filter.html.en @@ -77,30 +77,26 @@ delivery to the client

Examples

Generating HTML from some other type of response

-

- # mod_ext_filter directive to define a filter
- # to HTML-ize text/c files using the external
- # program /usr/bin/enscript, with the type of
- # the result set to text/html
- ExtFilterDefine c-to-html mode=output \
- - intype=text/c outtype=text/html \
- cmd="/usr/bin/enscript --color -W html -Ec -o - -"
-
-
- <Directory "/export/home/trawick/apacheinst/htdocs/c">
- - # core directive to cause the new filter to
- # be run on output
- SetOutputFilter c-to-html
-
- # mod_mime directive to set the type of .c
- # files to text/c
- AddType text/c .c
-
-
- </Directory> -

+
+# mod_ext_filter directive to define a filter
+# to HTML-ize text/c files using the external
+# program /usr/bin/enscript, with the type of
+# the result set to text/html
+ExtFilterDefine c-to-html mode=output \
+    intype=text/c outtype=text/html \
+    cmd="/usr/bin/enscript --color -W html -Ec -o - -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+    # core directive to cause the new filter to
+    # be run on output
+    SetOutputFilter c-to-html
+    
+    # mod_mime directive to set the type of .c
+    # files to text/c
+    AddType text/c .c
+</Directory>
+      
+

Implementing a content encoding filter

@@ -108,116 +104,104 @@ delivery to the client Please refer to mod_deflate for a practical implementation.

-

- # mod_ext_filter directive to define the external filter
- ExtFilterDefine gzip mode=output cmd=/bin/gzip
-
- <Location /gzipped>
- - # core directive to cause the gzip filter to be
- # run on output
- SetOutputFilter gzip
-
- # mod_header directive to add
- # "Content-Encoding: gzip" header field
- Header set Content-Encoding gzip
-
- </Location> -

+
+# mod_ext_filter directive to define the external filter
+ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+<Location /gzipped>
+    
+    # core directive to cause the gzip filter to be
+    # run on output
+    SetOutputFilter gzip
+    
+    # mod_header directive to add
+    # "Content-Encoding: gzip" header field
+    Header set Content-Encoding gzip
+</Location>
+      
+

Slowing down the server

-

- # mod_ext_filter directive to define a filter
- # which runs everything through cat; cat doesn't
- # modify anything; it just introduces extra pathlength
- # and consumes more resources
- ExtFilterDefine slowdown mode=output cmd=/bin/cat \
- - preservescontentlength
-
-
- <Location />
- - # core directive to cause the slowdown filter to
- # be run several times on output
- #
- SetOutputFilter slowdown;slowdown;slowdown
-
- </Location> -

+
+# mod_ext_filter directive to define a filter
+# which runs everything through cat; cat doesn't
+# modify anything; it just introduces extra pathlength
+# and consumes more resources
+ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+    preservescontentlength
+
+<Location />
+    # core directive to cause the slowdown filter to
+    # be run several times on output
+    #
+    SetOutputFilter slowdown;slowdown;slowdown
+</Location>
+      
+

Using sed to replace text in the response

-

- # mod_ext_filter directive to define a filter which
- # replaces text in the response
- #
- ExtFilterDefine fixtext mode=output intype=text/html \
- - cmd="/bin/sed s/verdana/arial/g"
-
-
- <Location />
- - # core directive to cause the fixtext filter to
- # be run on output
- SetOutputFilter fixtext
-
- </Location> -

+
+# mod_ext_filter directive to define a filter which
+# replaces text in the response
+#
+ExtFilterDefine fixtext mode=output intype=text/html \
+    cmd="/bin/sed s/verdana/arial/g"
+
+<Location />
+    # core directive to cause the fixtext filter to
+    # be run on output
+    SetOutputFilter fixtext
+</Location>
+      
+

Tracing another filter

-

- # Trace the data read and written by mod_deflate
- # for a particular client (IP 192.168.1.31)
- # experiencing compression problems.
- # This filter will trace what goes into mod_deflate.
- ExtFilterDefine tracebefore \
- - cmd="/bin/tracefilter.pl /tmp/tracebefore" \
- EnableEnv=trace_this_client
-
-
- # This filter will trace what goes after mod_deflate.
- # Note that without the ftype parameter, the default
- # filter type of AP_FTYPE_RESOURCE would cause the
- # filter to be placed *before* mod_deflate in the filter
- # chain. Giving it a numeric value slightly higher than
- # AP_FTYPE_CONTENT_SET will ensure that it is placed
- # after mod_deflate.
- ExtFilterDefine traceafter \
- - cmd="/bin/tracefilter.pl /tmp/traceafter" \
- EnableEnv=trace_this_client ftype=21
-
-
- <Directory /usr/local/docs>
- - SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
- SetOutputFilter tracebefore;deflate;traceafter
-
- </Directory> -

+
+# Trace the data read and written by mod_deflate
+# for a particular client (IP 192.168.1.31)
+# experiencing compression problems.
+# This filter will trace what goes into mod_deflate.
+ExtFilterDefine tracebefore \
+    cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+    EnableEnv=trace_this_client
+
+# This filter will trace what goes after mod_deflate.
+# Note that without the ftype parameter, the default
+# filter type of AP_FTYPE_RESOURCE would cause the
+# filter to be placed *before* mod_deflate in the filter
+# chain.  Giving it a numeric value slightly higher than
+# AP_FTYPE_CONTENT_SET will ensure that it is placed
+# after mod_deflate.
+ExtFilterDefine traceafter \
+    cmd="/bin/tracefilter.pl /tmp/traceafter" \
+    EnableEnv=trace_this_client ftype=21
+
+<Directory /usr/local/docs>
+    SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+    SetOutputFilter tracebefore;deflate;traceafter
+</Directory>
+      
+

Here is the filter which traces the data:

- #!/usr/local/bin/perl -w
- use strict;
-
- open(SAVE, ">$ARGV[0]")
- - or die "can't open $ARGV[0]: $?";
-
-
- while (<STDIN>) {
- - print SAVE $_;
- print $_;
-
- }
-
- close(SAVE); +

+#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+    or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+    print SAVE $_;
+    print $_;
+}
+
+close(SAVE);
+        
+

@@ -344,9 +328,10 @@ delivery to the client filter is removed and the request continues without it. -

Example

+

       ExtFilterOptions LogStderr
-    

+ +

Messages written to the filter's standard error will be stored in the Apache error log.

diff --git a/docs/manual/mod/mod_file_cache.html.en b/docs/manual/mod/mod_file_cache.html.en index 48536c0e6b3..cccec3c6e99 100644 --- a/docs/manual/mod/mod_file_cache.html.en +++ b/docs/manual/mod/mod_file_cache.html.en @@ -169,7 +169,10 @@ mod_rewrite.

Example

+

       CacheFile /usr/local/apache/htdocs/index.html
+      
+

@@ -199,7 +202,10 @@ mod_rewrite.

Example

+

       MMapFile /usr/local/apache/htdocs/index.html
+      
+

diff --git a/docs/manual/mod/mod_filter.html.en b/docs/manual/mod/mod_filter.html.en index ee9ce29e565..e740f5717ba 100644 --- a/docs/manual/mod/mod_filter.html.en +++ b/docs/manual/mod/mod_filter.html.en @@ -174,52 +174,54 @@
Server side Includes (SSI)
A simple case of replacing AddOutputFilterByType -

- FilterDeclare SSI
- FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
- FilterChain SSI -

+
+FilterDeclare SSI
+FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
+FilterChain SSI
+    
+
Server side Includes (SSI)
The same as the above but dispatching on handler (classic SSI behaviour; .shtml files get processed). -

- FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
- FilterChain SSI -

+
+FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
+FilterChain SSI
+    
+
Emulating mod_gzip with mod_deflate
Insert INFLATE filter only if "gzip" is NOT in the Accept-Encoding header. This filter runs with ftype CONTENT_SET. -

- FilterDeclare gzip CONTENT_SET
- FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
- FilterChain gzip -

+
+FilterDeclare gzip CONTENT_SET
+FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
+FilterChain gzip
+    
+
Image Downsampling
Suppose we want to downsample all web images, and have filters for GIF, JPEG and PNG. -

- FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
- FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'"
- FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'"
-
- FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|"
- FilterProtocol downsample "change=yes"
-
- FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'"
- FilterProvider repack gif_pack "%{CONTENT_TYPE} = 'image/gif'"
- FilterProvider repack png_pack "%{CONTENT_TYPE} = 'image/png'"
- <Location /image-filter>
- - FilterChain unpack downsample repack
-
- </Location> -

+
+FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'"
+
+FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|"
+FilterProtocol downsample "change=yes"
+
+FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider repack gif_pack "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider repack png_pack "%{CONTENT_TYPE} = 'image/png'"
+<Location /image-filter>
+    FilterChain unpack downsample repack
+</Location>
+    
+
top
@@ -286,9 +288,10 @@ being moved to mod_filter< text/html or text/plain before it is sent to the client.

-

+

       AddOutputFilterByType DEFLATE text/html text/plain
-    

+ +

If you want the content to be processed by more than one filter, their names have to be separated by semicolons. It's also possible to use one @@ -300,14 +303,13 @@ being moved to mod_filter< INCLUDES filter and then by the DEFLATE filter.

-

- <Location /cgi-bin/>
- - Options Includes
- AddOutputFilterByType INCLUDES;DEFLATE text/html
-
- </Location> -

+
+<Location /cgi-bin/>
+    Options Includes
+    AddOutputFilterByType INCLUDES;DEFLATE text/html
+</Location>
+    
+

See also

diff --git a/docs/manual/mod/mod_firehose.html.en b/docs/manual/mod/mod_firehose.html.en index 3cb5f7db7b1..fc56a9e605c 100644 --- a/docs/manual/mod/mod_firehose.html.en +++ b/docs/manual/mod/mod_firehose.html.en @@ -178,7 +178,10 @@ later. present.

Example

+

       FirehoseConnectionInput connection-input.firehose
+      
+

@@ -199,7 +202,10 @@ later. keepalive is present.

Example

+

       FirehoseConnectionOutput connection-output.firehose
+      
+

@@ -218,7 +224,10 @@ later.

Capture traffic being received by mod_proxy.

Example

+

       FirehoseProxyConnectionInput proxy-input.firehose
+      
+

@@ -237,7 +246,10 @@ later.

Capture traffic being sent out by mod_proxy.

Example

+

       FirehoseProxyConnectionOutput proxy-output.firehose
+      
+

@@ -257,7 +269,10 @@ later. will be captured separately, regardless of the presence of keepalive.

Example

+

       FirehoseRequestInput request-input.firehose
+      
+

@@ -277,7 +292,10 @@ later. will be captured separately, regardless of the presence of keepalive.

Example

+

       FirehoseRequestOutput request-output.firehose
+      
+

diff --git a/docs/manual/mod/mod_imagemap.html.en b/docs/manual/mod/mod_imagemap.html.en index f362c9c7862..856f7255fd1 100644 --- a/docs/manual/mod/mod_imagemap.html.en +++ b/docs/manual/mod/mod_imagemap.html.en @@ -44,11 +44,13 @@

The following directive will activate files ending with .map as imagemap files:

-

AddHandler imap-file map

+
AddHandler imap-file map
+

Note that the following is still supported:

-

AddType application/x-httpd-imap map

+
AddType application/x-httpd-imap map
+

However, we are trying to phase out "magic MIME types" so we are deprecating this method.

diff --git a/docs/manual/mod/mod_include.html.en b/docs/manual/mod/mod_include.html.en index 663541e2c8f..4ec29685ea4 100644 --- a/docs/manual/mod/mod_include.html.en +++ b/docs/manual/mod/mod_include.html.en @@ -82,10 +82,11 @@ parse them and assign the resulting document the mime type of text/html:

-

- AddType text/html .shtml
- AddOutputFilter INCLUDES .shtml -

+
+AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+    
+

The following directive must be given for the directories containing the shtml files (typically in a @@ -94,9 +95,10 @@ AllowOverride Options is set):

-

+

       Options +Includes
-    

+ +

For backwards compatibility, the server-parsed handler also activates the @@ -773,9 +775,10 @@

This directive changes the string that mod_include looks for to mark the end of an include element.

-

Example

+

       SSIEndTag "%>"
-    

+ +

See also

@@ -806,9 +809,10 @@ directive]"

This directive has the same effect as the <!--#config errmsg=message --> element.

-

Example

+

       SSIErrorMsg "<!-- Error -->"
-    

+ +
top
@@ -930,10 +934,11 @@ server. output of a file each processing different commands (possibly at different times).

-

Example

+

       SSIStartTag "<%"
SSIEndTag "%>" -

+ +

The example given above, which also specifies a matching SSIEndTag, will @@ -970,9 +975,10 @@ displayed

This directive has the same effect as the <!--#config timefmt=formatstring --> element.

-

Example

+

       SSITimeFormat "%R, %B %d, %Y"
-    

+ +

The above directive would cause times to be displayed in the format "22:26, June 14, 2002".

@@ -993,9 +999,10 @@ displayed

This directive changes the string that mod_include displays when a variable is not set and "echoed".

-

Example

+

       SSIUndefinedEcho "<!-- undef -->"
-    

+ +
top
diff --git a/docs/manual/mod/mod_log_debug.html.en b/docs/manual/mod/mod_log_debug.html.en index 3ba6e881dbe..4c1e2d20991 100644 --- a/docs/manual/mod/mod_log_debug.html.en +++ b/docs/manual/mod/mod_log_debug.html.en @@ -48,20 +48,22 @@
  • Log message after request to /foo/* is processed: -

    - <Location /foo/>
    -   LogMessage "/foo/ has been requested"
    - </Location>
    -

    +
    +<Location /foo/>
    +  LogMessage "/foo/ has been requested"
    +</Location>
    +        
    +
  • Log message if request to /foo/* is processed in a sub-request: -

    - <Location /foo/>
    -   LogMessage "subrequest to /foo/" hook=type_checker expr=%{IS_SUBREQ}
    - </Location>
    -

    +
    +<Location /foo/>
    +  LogMessage "subrequest to /foo/" hook=type_checker expr=%{IS_SUBREQ}
    +</Location>
    +        
    + The default log_transaction hook is not executed for sub-requests, therefore we have to use a different hook. @@ -70,21 +72,22 @@
  • Log message if an IPv6 client causes a request timeout: -

    - LogMessage "IPv6 timeout from %{REMOTE_ADDR}" - "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408" -

    +
    +            LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
    +        
    + Note the placing of the double quotes for the expr= argument.
  • Log the value of the "X-Foo" request environment variable in each stage of the request: -

    - <Location />
    -   LogMessage "%{reqenv:X-Foo}" hook=all
    - </Location>
    -

    +
    +<Location />
    +  LogMessage "%{reqenv:X-Foo}" hook=all
    +</Location>
    +        
    + Together with microsecond time stamps in the error log, hook=all also allows to determine the times spent in the different parts of the request processing. diff --git a/docs/manual/mod/mod_mime.html.en b/docs/manual/mod/mod_mime.html.en index 742c4ae7e09..2de25da73ca 100644 --- a/docs/manual/mod/mod_mime.html.en +++ b/docs/manual/mod/mod_mime.html.en @@ -157,11 +157,12 @@ of using AddHandler cgi-script .cgi, use

    Configure handler based on final extension only

    - <FilesMatch \.cgi$> - - SetHandler cgi-script - - </FilesMatch> +

    +<FilesMatch \.cgi$>
    +  SetHandler cgi-script
    +</FilesMatch>
    +    
    +

    top
    @@ -205,7 +206,8 @@ resource, in order to tell the client browser about the encoding method.

    -

    Content-encoding: pkzip

    +
    Content-encoding: pkzip
    +
    top

    Character sets and languages

    @@ -238,8 +240,8 @@ render the information.

    - Content-Language: en, fr
    - Content-Type: text/plain; charset=ISO-8859-1 +Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1

    The language specification is the two-letter abbreviation @@ -269,10 +271,13 @@ charset extension.

    Example

    - AddLanguage ja .ja
    - AddCharset EUC-JP .euc
    - AddCharset ISO-2022-JP .jis
    - AddCharset SHIFT_JIS .sjis +

    +AddLanguage ja .ja
    +AddCharset EUC-JP .euc
    +AddCharset ISO-2022-JP .jis
    +AddCharset SHIFT_JIS .sjis
    +      
    +

    Then the document xxxx.ja.jis will be treated @@ -317,8 +322,11 @@ type extension.

    Example

    - AddEncoding x-gzip .gz
    - AddEncoding x-compress .Z +

    +AddEncoding x-gzip .gz
    +AddEncoding x-compress .Z
    +      
    +

    This will cause filenames containing the .gz extension @@ -365,9 +373,10 @@ handler activate CGI scripts with the file extension .cgi, you might use:

    -

    +

           AddHandler cgi-script .cgi
    -    

    + +

    Once that has been put into your httpd.conf file, any file containing the .cgi extension will be treated as a CGI program.

    @@ -441,9 +450,12 @@ language extension.

    Example

    - AddEncoding x-compress .Z
    - AddLanguage en .en
    - AddLanguage fr .fr +

    +AddEncoding x-compress .Z
    +AddLanguage en .en
    +AddLanguage fr .fr
    +      
    +

    Then the document xxxx.en.Z will be treated as @@ -459,11 +471,12 @@ language extension, the last one encountered is the one that is used. That is, for the case of:

    -

    - AddLanguage en .en
    - AddLanguage en-gb .en
    - AddLanguage en-us .en -

    +
    +AddLanguage en .en
    +AddLanguage en-gb .en
    +AddLanguage en-us .en
    +    
    +

    documents with the extension .en would be treated as being en-us.

    @@ -503,9 +516,10 @@ later. .shtml files for server-side includes and will then compress the output using mod_deflate.

    -

    +

           AddOutputFilter INCLUDES;DEFLATE shtml
    -    

    + +

    If more than one filter is specified, they must be separated by semicolons in the order in which they should process the @@ -522,34 +536,27 @@ later. the AddOutputFilter directive.

    -

    - # Effective filter "DEFLATE"
    - AddOutputFilter DEFLATE shtml
    - <Location /foo>
    - - # Effective filter "INCLUDES", replacing "DEFLATE"
    - AddOutputFilter INCLUDES shtml
    -
    - </Location>
    - <Location /bar>
    - - # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE"
    - AddOutputFilter INCLUDES;DEFLATE shtml
    -
    - </Location>
    - <Location /bar/baz>
    - - # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE"
    - AddOutputFilter BUFFER shtml
    -
    - </Location>
    - <Location /bar/baz/buz>
    - - # No effective filter, replacing "BUFFER"
    - RemoveOutputFilter shtml
    -
    - </Location> -

    +
    +# Effective filter "DEFLATE"
    +AddOutputFilter DEFLATE shtml
    +<Location /foo>
    +  # Effective filter "INCLUDES", replacing "DEFLATE"
    +  AddOutputFilter INCLUDES shtml
    +</Location>
    +<Location /bar>
    +  # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE"
    +  AddOutputFilter INCLUDES;DEFLATE shtml
    +</Location>
    +<Location /bar/baz>
    +  # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE"
    +  AddOutputFilter BUFFER shtml
    +</Location>
    +<Location /bar/baz/buz>
    +  # No effective filter, replacing "BUFFER"
    +  RemoveOutputFilter shtml
    +</Location>
    +    
    +

    See also

      @@ -584,13 +591,19 @@ type

    Example

    +

           AddType image/gif .gif
    +      
    +

    Or, to specify multiple file extensions in one directive:

    Example

    +

           AddType image/jpeg jpeg jpg jpe
    +      
    +

    The extension argument is case-insensitive and can @@ -604,7 +617,10 @@ type qs:

    Example

    - Addtype application/rss+xml;qs=0.8 .xml +

    +      AddType application/rss+xml;qs=0.8 .xml
    +      
    +

    This is useful in situations, e.g. when a client @@ -652,7 +668,10 @@ assigned a language-tag by some other means. Content-Language header field will be generated.

    Example

    +

           DefaultLanguage en
    +      
    +

    See also

    @@ -681,7 +700,10 @@ components as part of the filename

    This directive is recommended when you have a virtual filesystem.

    Example

    +

           ModMimeUsePathInfo On
    +      
    +

    If you have a request for /index.php/foo.shtml @@ -746,9 +768,10 @@ a matching file with MultiViews and filters to participate in Multviews, but will exclude unknown files:

    -

    +

           MultiviewsMatch Handlers Filters
    -    

    + +

    MultiviewsMatch is not allowed in a <Location> or <LocationMatch> section.

    @@ -784,7 +807,10 @@ later. be specified with or without a leading dot.

    Example

    +

           RemoveCharset .html .shtml
    +      
    +

    @@ -807,13 +833,14 @@ extensions server config files. An example of its use might be:

    /foo/.htaccess:

    - AddEncoding x-gzip .gz
    - AddType text/plain .asc
    - <Files *.gz.asc>
    - - RemoveEncoding .gz
    -
    - </Files> +

    +AddEncoding x-gzip .gz
    +AddType text/plain .asc
    +<Files *.gz.asc>
    +    RemoveEncoding .gz
    +</Files>
    +      
    +

    This will cause foo.gz to be marked as being @@ -850,11 +877,17 @@ extensions config files. An example of its use might be:

    /foo/.htaccess:

    +

           AddHandler server-parsed .html
    +      
    +

    /foo/bar/.htaccess:

    +

           RemoveHandler .html
    +      
    +

    This has the effect of returning .html files in @@ -944,7 +977,10 @@ later. be specified with or without a leading dot.

    Example

    +

           RemoveOutputFilter shtml
    +      
    +

    See also

    @@ -972,7 +1008,10 @@ extensions might be:

    /foo/.htaccess:

    +

           RemoveType .cgi
    +      
    +

    This will remove any special handling of .cgi diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en index e4dd2a04097..e64c26b6bb9 100644 --- a/docs/manual/mod/mod_proxy_ajp.html.en +++ b/docs/manual/mod/mod_proxy_ajp.html.en @@ -73,19 +73,23 @@ an HTTP reverse proxy, but uses the ajp:// prefix:

    Simple Reverse Proxy

    +

         ProxyPass /app ajp://backend.example.com:8009/app
    +    
    +

    Balancers may also be used:

    Balancer Reverse Proxy

    - <Proxy balancer://cluster>
    - - BalancerMember ajp://app1.example.com:8009 loadfactor=1
    - BalancerMember ajp://app2.example.com:8009 loadfactor=2
    - ProxySet lbmethod=bytraffic
    -
    - </Proxy>
    - ProxyPass /app balancer://cluster/app +

    +<Proxy balancer://cluster>
    +    BalancerMember ajp://app1.example.com:8009 loadfactor=1
    +    BalancerMember ajp://app2.example.com:8009 loadfactor=2
    +    ProxySet lbmethod=bytraffic
    +</Proxy>
    +ProxyPass /app balancer://cluster/app
    +      
    +

    Note that usually no @@ -101,8 +105,11 @@ original host URL (not the backend ajp:// URL), for example:

    Rewriting Proxied Path

    - ProxyPass /apps/foo ajp://backend.example.com:8009/foo
    - ProxyPassReverse /apps/foo http://www.example.com/foo +

    +ProxyPass /apps/foo ajp://backend.example.com:8009/foo
    +ProxyPassReverse /apps/foo http://www.example.com/foo
    +    
    +

    However, it is usually better to deploy the application on the backend server at the same path as the proxy rather than to take this approach. diff --git a/docs/manual/mod/mod_proxy_balancer.html.en b/docs/manual/mod/mod_proxy_balancer.html.en index 2d175a4c5a9..e078d3dbfe0 100644 --- a/docs/manual/mod/mod_proxy_balancer.html.en +++ b/docs/manual/mod/mod_proxy_balancer.html.en @@ -109,31 +109,32 @@ load balancing between two back-end servers:

    -

    - <Proxy balancer://mycluster>
    - BalancerMember http://192.168.1.50:80
    - BalancerMember http://192.168.1.51:80
    - </Proxy>
    - ProxyPass /test balancer://mycluster
    - ProxyPassReverse /test balancer://mycluster -

    +
    +<Proxy balancer://mycluster>
    +    BalancerMember http://192.168.1.50:80
    +    BalancerMember http://192.168.1.51:80
    +</Proxy>
    +ProxyPass /test balancer://mycluster
    +ProxyPassReverse /test balancer://mycluster
    +    
    +

    Another example of how to provide load balancing with stickyness using mod_headers, even if the back-end server does not set a suitable session cookie:

    -

    - Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" - env=BALANCER_ROUTE_CHANGED
    - <Proxy balancer://mycluster>
    - BalancerMember http://192.168.1.50:80 route=1
    - BalancerMember http://192.168.1.51:80 route=2
    - ProxySet stickysession=ROUTEID
    - </Proxy>
    - ProxyPass /test balancer://mycluster
    - ProxyPassReverse /test balancer://mycluster -

    +
    +Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
    +<Proxy balancer://mycluster>
    +    BalancerMember http://192.168.1.50:80 route=1
    +    BalancerMember http://192.168.1.51:80 route=2
    +    ProxySet stickysession=ROUTEID
    +</Proxy>
    +ProxyPass /test balancer://mycluster
    +ProxyPassReverse /test balancer://mycluster
    +    
    +
    top

    Exported Environment Variables

    @@ -206,13 +207,13 @@

    To enable load balancer management for browsers from the example.com domain add this code to your httpd.conf configuration file

    -

    - <Location /balancer-manager>
    - SetHandler balancer-manager
    -
    - Require host example.com
    - </Location> -

    +
    +<Location /balancer-manager>
    +    SetHandler balancer-manager
    +    Require host example.com
    +</Location>
    +
    +

    You can now access load balancer manager by using a Web browser to access the page diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en index 2388ccff763..3b63c24630e 100644 --- a/docs/manual/mod/mod_proxy_ftp.html.en +++ b/docs/manual/mod/mod_proxy_ftp.html.en @@ -80,7 +80,10 @@

    application/octet-stream   bin dms lha lzh exe class tgz taz

    Alternatively you may prefer to default everything to binary:

    -
    ForceType application/octet-stream
    +

    +

    ForceType application/octet-stream
    + +

    top

    How can I force an FTP ASCII download of diff --git a/docs/manual/mod/mod_session_cookie.html.en b/docs/manual/mod/mod_session_cookie.html.en index ba5ba32d4bc..aa591e2ec52 100644 --- a/docs/manual/mod/mod_session_cookie.html.en +++ b/docs/manual/mod/mod_session_cookie.html.en @@ -80,8 +80,11 @@ session, configure the session as follows:

    Browser based session

    - Session On
    - SessionCookieName session path=/
    +

    +Session On
    +SessionCookieName session path=/
    +        
    +

    For more examples on how the session can be configured to be read @@ -113,8 +116,11 @@

    Cookie with attributes

    - Session On
    - SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
    +

    +Session On
    +SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
    +      
    +

    @@ -140,8 +146,11 @@

    Cookie2 with attributes

    - Session On
    - SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
    +

    +Session On
    +SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
    +    
    +

    diff --git a/docs/manual/mod/mod_session_crypto.html.en b/docs/manual/mod/mod_session_crypto.html.en index 8610f46acae..6598328958a 100644 --- a/docs/manual/mod/mod_session_crypto.html.en +++ b/docs/manual/mod/mod_session_crypto.html.en @@ -77,9 +77,12 @@ session, configure the session as follows:

    Browser based encrypted session

    - Session On
    - SessionCookieName session path=/
    - SessionCryptoPassphrase secret +

    +Session On
    +SessionCookieName session path=/
    +SessionCryptoPassphrase secret
    +    
    +

    The session will be encrypted with the given key. Different servers can @@ -133,19 +136,31 @@ which are specified as parameters with optional values after the driver name.

    NSS without a certificate database

    +

           SessionCryptoDriver nss
    +      
    +

    NSS with certificate database

    +

           SessionCryptoDriver nss dir=certs
    +      
    +

    NSS with certificate database and parameters

    +

           SessionCryptoDriver nss dir=certs key3=key3.db cert7=cert7.db secmod=secmod
    +      
    +

    NSS with paths containing spaces

    +

           SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
    +      
    +

    The NSS crypto driver might have already been configured by another @@ -155,7 +170,10 @@ To avoid this warning, use the noinit parameter as follows.

    NSS with certificate database

    +

           SessionCryptoDriver nss noinit
    +      
    +

    To prevent confusion, ensure that all modules requiring NSS are configured with @@ -165,7 +183,10 @@ the engine to be used for encryption.

    OpenSSL with engine support

    +

           SessionCryptoDriver openssl engine=name
    +      
    +

    diff --git a/docs/manual/mod/mod_session_dbd.html.en b/docs/manual/mod/mod_session_dbd.html.en index fc3afde6826..3364256fbb7 100644 --- a/docs/manual/mod/mod_session_dbd.html.en +++ b/docs/manual/mod/mod_session_dbd.html.en @@ -97,13 +97,16 @@ session. These queries are configured as per the example below.

    Sample DBD configuration

    - DBDriver pgsql
    - DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost"
    - DBDPrepareSQL "delete from session where key = %s" deletesession
    - DBDPrepareSQL "update session set value = %s, expiry = %lld where key = %s" updatesession
    - DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession
    - DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession
    - DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
    +

    +DBDriver pgsql
    +DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost"
    +DBDPrepareSQL "delete from session where key = %s" deletesession
    +DBDPrepareSQL "update session set value = %s, expiry = %lld where key = %s" updatesession
    +DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession
    +DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession
    +DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
    +    
    +

    top
    @@ -119,8 +122,11 @@ called session, configure the session as follows:

    SQL based anonymous session

    - Session On
    - SessionDBDCookieName session path=/
    +

    +Session On
    +SessionDBDCookieName session path=/
    +        
    +

    For more examples on how the session can be configured to be read @@ -150,8 +156,11 @@ userid, configure the session as follows:

    SQL based per user session

    - Session On
    - SessionDBDPerUser On
    +

    +Session On
    +SessionDBDPerUser On
    +        
    +

    top
    @@ -188,8 +197,11 @@

    Cookie with attributes

    - Session On
    - SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
    +

    +Session On
    +SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
    +      
    +

    @@ -215,8 +227,11 @@

    Cookie2 with attributes

    - Session On
    - SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
    +

    +Session On
    +SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
    +      
    +

    diff --git a/docs/manual/mod/mpm_common.html.en b/docs/manual/mod/mpm_common.html.en index a5384b1d618..241fa0f0146 100644 --- a/docs/manual/mod/mpm_common.html.en +++ b/docs/manual/mod/mpm_common.html.en @@ -182,25 +182,28 @@ The protocol argument was added in 2.1.5

    For example, to make the server accept connections on both port 80 and port 8000, use:

    -

    - Listen 80
    - Listen 8000 -

    +
    +Listen 80
    +Listen 8000
    +    
    +

    To make the server accept connections on two specified interfaces and port numbers, use

    -

    - Listen 192.170.2.1:80
    - Listen 192.170.2.5:8000 -

    +
    +Listen 192.170.2.1:80
    +Listen 192.170.2.5:8000
    +    
    +

    IPv6 addresses must be surrounded in square brackets, as in the following example:

    -

    +

           Listen [2001:db8::a00:20ff:fea7:ccea]:80
    -    

    + +

    The optional protocol argument is not required for most configurations. If not specified, https is the default for @@ -212,9 +215,10 @@ The protocol argument was added in 2.1.5

    You only need to set the protocol if you are running on non-standard ports. For example, running an https site on port 8443:

    -

    +

           Listen 192.170.2.1:8443 https
    -    

    + +

    Error condition

    Multiple Listen directives for the same ip @@ -437,7 +441,10 @@ of the daemon ServerRoot.

    Example

    +

           PidFile /var/run/apache.pid
    +      
    +

    It is often useful to be able to send the server a signal, @@ -492,7 +499,10 @@ the child processes Apache httpd to always create the file on the disk.

    Example

    +

           ScoreBoardFile /var/run/apache_status
    +      
    +

    File-based shared memory is useful for third-party applications