116 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/perl -T
 | |
| # Copyright (c) Juli 1997-2000. Wolfram Schneider <wosch@FreeBSD.org>, Berlin.
 | |
| # All rights reserved.
 | |
| #
 | |
| # Redistribution and use in source and binary forms, with or without
 | |
| # modification, are permitted provided that the following conditions
 | |
| # are met:
 | |
| # 1. Redistributions of source code must retain the above copyright
 | |
| #    notice, this list of conditions and the following disclaimer.
 | |
| # 2. Redistributions in binary form must reproduce the above copyright
 | |
| #    notice, this list of conditions and the following disclaimer in the
 | |
| #    documentation and/or other materials provided with the distribution.
 | |
| #
 | |
| # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 | |
| # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 | |
| # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
| # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
| # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
| # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
| # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
| # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
| # SUCH DAMAGE.
 | |
| #
 | |
| # missing_handler.cgi -  User friendly error response (Apache style)
 | |
| #
 | |
| #
 | |
| # default apache message:
 | |
| # ----------------------------------------------------------------------
 | |
| # File Not found
 | |
| # The requested URL /~wosch/test/bla was not found on this server.
 | |
| # ----------------------------------------------------------------------
 | |
| #
 | |
| #
 | |
| # missing_handler.cgi message:
 | |
| # ----------------------------------------------------------------------
 | |
| #                       FreeBSD.org - Document not found
 | |
| #                                       
 | |
| #   The file
 | |
| #   
 | |
| #      http://www.FreeBSD.org/~wosch/test/bla
 | |
| #     
 | |
| #   does not exist at this server. You are coming from
 | |
| #   
 | |
| #      http://www.FreeBSD.org/~wosch/test/error.html.
 | |
| #     
 | |
| #   The closest match to your request is http://www.FreeBSD.org.
 | |
| #   Please contact the server administrator wosch@FreeBSD.org.
 | |
| #   
 | |
| #   Thank you very much!
 | |
| #
 | |
| #     _________________________________________________________________
 | |
| #                                      
 | |
| # $FreeBSD: www/en/cgi/missing_handler.cgi,v 1.9 2000/12/28 13:32:15 wosch Exp $
 | |
| # ----------------------------------------------------------------------
 | |
| 
 | |
| # output title
 | |
| $title = $ENV{'MISSING_HANDLER_TITLE'} || 
 | |
|     'FreeBSD.org - Document not found';
 | |
| 
 | |
| # footer message
 | |
| $footer = $ENV{'MISSING_HANDLER_FOOT'} || '';
 | |
| 
 | |
| 
 | |
| # Server environment variables
 | |
| $http_referer=$ENV{'HTTP_REFERER'};
 | |
| $redirect_url=$ENV{'REDIRECT_URL'};
 | |
| $server_admin=$ENV{'SERVER_ADMIN'};
 | |
| $http_host=$ENV{'HTTP_HOST'};
 | |
| $server_name=$ENV{'SERVER_NAME'};
 | |
| 
 | |
| # rfc1738 says that ";"|"/"|"?"|":"|"@"|"&"|"=" may be reserved.
 | |
| $http_referer_url = $http_referer;
 | |
| $http_referer_url =~ s/([^a-zA-Z0-9;\/?:&=])/sprintf("%%%02x",ord($1))/eg;
 | |
| $redirect_url_save = $redirect_url;
 | |
| $redirect_url_save =~ s/([^a-zA-Z0-9;\/?:&=])/sprintf("%%%02x",ord($1))/eg;
 | |
| 
 | |
| 
 | |
| $hsty_base = '';
 | |
| require './cgi-style.pl';
 | |
| print &html_header($title);
 | |
| 
 | |
| # HTML body
 | |
| print qq[The file <blockquote><b>
 | |
| http://$http_host$redirect_url
 | |
| </b></blockquote>
 | |
| does not exist at this server.\n];
 | |
| 
 | |
| if ($http_referer) {
 | |
|     print qq{You are coming from 
 | |
| <blockquote>
 | |
| <a href="$http_referer_url">$http_referer</a>.
 | |
| </blockquote>
 | |
| <p>\n};
 | |
| }
 | |
| 
 | |
| print qq[
 | |
| The closest match to your request is 
 | |
| <a href="http://$server_name">http://$server_name</a>.
 | |
| 
 | |
| Please contact the server administrator
 | |
| <a href="mailto:$server_admin?subject=Document%20not%20found%20-%20http://$http_host$redirect_url_save">$server_admin</a>.<p>
 | |
| 
 | |
| <center>
 | |
| Please try our 
 | |
| <a href="http://www.freebsd.org/search/index-site.html">Site Map</a> or
 | |
| <a href="http://www.freebsd.org/search/search.html">Search Page</a> 
 | |
| </center>
 | |
| <p>
 | |
| 
 | |
| Thank you very much!<p>
 | |
| ];
 | |
| 
 | |
| print&html_footer;
 | |
| exit;
 |