GFXVoid Graphic Design Forum

Remove Text Formatting
Loading...

» Online Users: 2,211

0 members and 2,211 guests
No Members online

» Site Navigation

 > FAQ

» Stats

Members: 35,442
Threads: 103,075
Posts: 826,688
Top Poster: cc.RadillacVIII (7,429)
Welcome to our newest member, Lekelindids
Results 1 to 4 of 4
  1. #1
    Join Date
    Apr 2006
    Posts
    14

    Default

    Here is the code for a custom 404 page, it will handle errors for you...

    Code:
    <?
    # Please dont rip made my xNirinium, loyal member of GFXVOID
    # Set these variables to configure the script:
    
    # Set $domain to your domain name (no www) 
    $domain = ""; 
    
    # Set $docroot to the URL of the directory which contains your
    # .htaccess file. Don't include trailing slash.
    $docroot = "http://www.#.com";
    
    # Font type
    $fontface = "Verdana";
    
    # Font size 
    $fontsize = "2";
    
    # Background 
    $bgcolor = "#ffffff";
    
    # Text color 
    $textcolor = "#000000";
    
    # This script is capable of mailing the details of each 404 error
    # to the webmaster. Use the $reportlevel variable to control when
    # you receive these reports.
    #
    # 0 = don't use the email capabilities
    # 1 = send email only if the error's referer contains your domain name
    #**** (i.e. the 404 was generated by a broken link on your site)
    # 2 = send email any time a 404 error is generated (useful for tracking
    #**** broken links at other sites which link to you)
    
    $reportlevel = 2;
    
    # Set $emailaddress to the email address of whoever should be
    # notified of 404 errors. Don't escape the @ symbol.
    # You can leave this unassigned if you're not using email features.
    
    $emailaddress = "you@example.com";
    
    #
    #Configuration ends here!
    #
    
    #Until I rewrite my scripts, this will suffice for bg-compatibility;
    if(phpversion() >= "4.2.0"){
    ** extract($_POST);
    ** extract($_SERVER);
    ** extract($_ENV);
    }
    # The print_details function is what prints the 404 error to
    # the visitor. 
    
    function print_details(){
    ** # Request access to the global variables we need
    ** global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;
    ** global $bgcolor, $textcolor;
    
    ** # Print the 404 error in web format
    ** echo <<<EOT
    <html><head><title>404 Not Found</title></head>
    <body bgcolor="$bgcolor" text="$textcolor">
    <b><h1>404 Not Found</h1></b>
    <p><font face="$fontface" size="$fontsize">
    We're sorry. The page you requested, $docroot$REQUEST_URI, doesn't exist
    on this server.</font></p>
    EOT;
    
    ** # If an email report is being generated, let the visitor know:
    ** if ($reportlevel != 0){
    ******echo "<p><font face=\"$fontface\" size=\"$fontsize\">";
    ******echo "The details of this error have automatically been mailed to the webmaster.";** 
    **** }
    ** return;
    **}
    
    
    # The send_email function sends the details of the 404 error to the
    # webmaster. 
    
    function send_email(){
    ** # Request access to the global variables we need
    ** global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;
    
    ** # Build the $errortime variable to contain the date/time of the error.
    ** $errortime = (date("d M Y h:m:s")); 
    
    ** # Create the body of the email message
    ** $message .= "404 Error Report\n\nA 404 error was encountered by $REMOTE_ADDR";
    ** $message .= " on $errortime.\n\n";
    ** $message .= "The URI which generated the error is: \n$docroot$REQUEST_URI\n\n";
    ** $message .= "The referring page was:\n$HTTP_REFERER\n\n";
    
    ** # Send the mail message. This assumes mail() will work on your system!
    ** $headers = "From: $emailaddress\nDate: $errortime -0600\n";
    ** $subject = "404 Error: $docroot$REQUEST_URI";
    ** mail($emailaddress, $subject, $message, $headers);
    ** 
    ** return;
    **}
    
    # Done with function declarations. Main function begins here.
    header("404 Not Found");
    # Send a 404 error to the user's browser
    print_details();
    
    # See whether or not we should send an email report. If so, do it.
    if ($reportlevel != 0)
    **if ($reportlevel == 1) {
    ****if (eregi($domain,$HTTP_REFERER))** 
    ******send_email(); }
    **else
    **** send_email();
    ** 
    # Close up the HTML tags
    echo "</body></html>";
    
    ?>

  2. #2
    Join Date
    Jun 2006
    Location
    Prestonsburg, Kentucky
    Posts
    133

    Default

    Well, your declarations are all correct.

  3. #3

    Default

    Personally i would also use:

    # Apache Error Handling
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) /errors.php?act=FourZeroFour
    ErrorDocument 404 /errors.php?act=FourZeroFour

    and that goes into .HTACCESS

  4. #4
    Join Date
    Feb 2011
    Posts
    8

    Default

    Quote Originally Posted by Karlos View Post
    Personally i would also use:

    # Apache Error Handling
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) /errors.php?act=FourZeroFour
    ErrorDocument 404 /errors.php?act=FourZeroFour

    and that goes into .HTACCESS
    Me too.


Similar Threads

  1. First custom brushes
    By Adam in forum Sigs & Manips
    Replies: 1
    Last Post: 09-23-2005, 12:53 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Powered by vBadvanced CMPS v4.1.1