Pick a Free OS

Web server tutorial - Part 3

Customizable error response

Customizable error response, the Apache style, comes in three flavors:


1) Plain text

ErrorDocument 500 "The server made a boo boo.

Note: The (") marks it as text, it does not get output.


2) Local redirects

ErrorDocument 404 /missing.html to redirect to local URL /missing.html

ErrorDocument 404 /cgi-bin/missing_handler.pl

Note: You can redirect to a script or a document using server-side-includes.


3) External redirects

ErrorDocument 402 some.other_server.com/subscription_info

Note: Many of the environment variables associated with the original request will not be available to such a script.

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

If the perl module is installed, this will be enabled.

<IfModule mod_perl.c>

Alias /perl/ /home/httpd/perl/

<Location /perl>

SetHandler perl-script

PerlHandler Apache::Registry

Options +ExecCGI

</Location>

</IfModule>

Allow http put (such as Netscape Gold's publish feature)

Use htpasswd to generate /etc/httpd/conf/passwd


You must unremark these two lines at the top of this file as well:

LoadModule put_module modules/mod_put.so

AddModule mod_put.c

Alias /upload /tmp

<Location /upload>

EnablePut On

AuthType Basic

AuthName Temporary