Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Custom HTTP Error Documents Details »»
Custom HTTP Error Documents
Version: 1.00, by JJR512 JJR512 is offline
Developer Last Online: Jun 2006 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 07-28-2002 Last Update: Never Installs: 13
 
No support by the author.

I've made a little hack that will show custom HTTP error documents to any visitor to your site, if he or she creates the error condition. These are errors like 404 (file not found) or 500 (internal server error). I've included processing for about 23 various HTTP errors.

The error documents are templates within vBulletin, but these do not apply only to vBulletin. Any visitor to any part of your site would see the error document (if appropriate). Now obviously this means that this hack should not be used by those of you that do not allow guest/unlogged-in viewing of your board, because if a guest creates an error condition, he/she would only see the vBulletin "not logged in or no permission" message, which wouldn't be very useful.

This hack also involves modifying your .htaccess file, and I believe only Apache-powered servers use that (correct me if I'm wrong). Because screwing up that file can make your site unusable, make sure you keep a backup copy of it, and if you can't find a .htaccess file in your root web directory, check with your webhost to see if they've hidden it, which is often the case. DO NOT just make a new, blank .htaccess file and upload it because you may overwrite a hidden one, potentially killing your site.

As you can probably tell by now, this hack is perhaps not an appropriate choice for the complete newbie. I strongly suggest that you use this hack only if you read the directions and actually understand them; many times, people just blindly follow the instructions without a clue as to what they're doing, and usually, this is fine, but I'm warning you now, you can hurt your site if you screw this up, and if you don't know what you're doing, you won't know how to fix it if/when you do screw it up.

(By now you may be asking why I'm releasing this. Well, I did it originally for my own site, and figured some others of you may like it as well. This is actually a very simple hack to install; it involves only one file mod, one new very small file, and importing one file into the db, and that's it. You may wish to modify/customize the templates as you desire. You will find them in with the regular vB templates in the section "HTTP Error Templates".)

For a demo, please visit this non-existant page on my website, to show you a 404 (other errors look similar, with customized messages): http://www.jjr512.com/ddkd4iafgi8d.php

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 07-29-2002, 03:21 PM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Tried it, ..

cpanel 4.9 lets you save as 400.shtml etc.
So I just put in a meta refresh tag for 0s to redirect to the error.php and it works now very nice
Reply With Quote
  #13  
Old 07-29-2002, 03:28 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
1. Import the newtemplates.sql into your database. NOTE: You should make a backup of your database first, or at least of the template table.
How do i do this ?
Reply With Quote
  #14  
Old 07-29-2002, 03:46 PM
Ian's Avatar
Ian Ian is offline
 
Join Date: Mar 2002
Location: Minnesota
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Mist
How do i do this ?
I'm wondering the same thing.
Reply With Quote
  #15  
Old 07-29-2002, 03:48 PM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Run an SQL query

phpMyAdmin = your best friend.
Reply With Quote
  #16  
Old 07-29-2002, 03:54 PM
Ian's Avatar
Ian Ian is offline
 
Join Date: Mar 2002
Location: Minnesota
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by xiphoid
Run an SQL query

phpMyAdmin = your best friend.
Could you elaborate on this? I have phpMyAdmin installed and I've used it many times... How do I import the file?
Reply With Quote
  #17  
Old 07-29-2002, 04:00 PM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd say .. read the manual.

But.. you could copy paste the content of the .sql file to the big input window and press go. it will run the query then.
Reply With Quote
  #18  
Old 07-29-2002, 04:20 PM
Takara's Avatar
Takara Takara is offline
 
Join Date: Apr 2002
Location: :bunny:
Posts: 169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just a note, in the instructions it says

Quote:
In the .htaccess file, locate any lines beginning with "ErrorDocument". Erase those and replace with the following code. If you do not have any lines like that, just add this at the end of the file.

ErrorDocument 400 http://www.yourdomain.com/forums/error.php?error=400
ErrorDocument 401 http://www.yourdomain.com/forums/error.php?error=401
ErrorDocument 403 http://www.yourdomain.com/forums/error.php?error=403
ErrorDocument 404 http://www.yourdomain.com/forums/error.php?error=404
ErrorDocument 405 http://www.yourdomain.com/forums/error.php?error=405
ErrorDocument 406 http://www.yourdomain.com/forums/error.php?error=406
ErrorDocument 407 http://www.yourdomain.com/forums/error.php?error=407
If you just add the path, and leave out your domain the error document will take the place of the URL.. soo.. by going to dasdsa.php it leaves the url as dasdsa.php and gives the error reason. Otherwise it redirects you to the error.php ^^
Reply With Quote
  #19  
Old 07-29-2002, 06:53 PM
JJR512's Avatar
JJR512 JJR512 is offline
 
Join Date: Oct 2001
Location: Glen Burnie, MD, USA
Posts: 710
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by FireFly
Any particular reason for this?
PHP Code:
$error $error
Good hack.
Nope!

Well, actually, when I first tested it, I wasn't getting the number to show up in the browser title bar. So I figured maybe for the variable to get parsed into the template it had to be explicitly declared, which is why I did that. But I think I just needed to refresh or something...anyway, it started working, I don't know why, but it did, and I forgot to take that part out.

LouChipher: I can't release a German version myself, since I don't speak it well enough to translate it. But it should be easy, since all the language is in the templates. If anyone else wants to do it, by all means, feel free.

Ian: If you can use phpMyAdmin, it's easy. You can do what xiphoid said, which is to open the file newtemplates.sql, copy the entire contents, go to phpMyAdmin, on the screen where you see the list of tables in the left pane and below that you have a text box labelled "Run SQL query/queries...", paste the contents of the file into that box, and hit the Go button. Or, an easier way is to go to that same spot in phpMyAdmin, but below that text box is a smaller field with a Browse...button, which you can use to point it to the file newtemplates.sql, then hit the Go button. That will upload the file into the server's memory and execute the instructions inside it.

Takara: I'm not quite sure I understand what you're saying. Are you saying in the .htaccess file, on the ErrorDocument xxx lines, I can make the path to error.php be relative, not full? Just make it like ErrorDocument 400 forums/error.php?error=400?
Reply With Quote
  #20  
Old 07-29-2002, 10:41 PM
Velocd's Avatar
Velocd Velocd is offline
 
Join Date: Mar 2002
Location: CA University
Posts: 1,696
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very nice hack, looks great. I also use the cpanel for custom error documents, so I'll have to look into xiphoid tip on integrating it
Reply With Quote
  #21  
Old 07-29-2002, 10:48 PM
JJR512's Avatar
JJR512 JJR512 is offline
 
Join Date: Oct 2001
Location: Glen Burnie, MD, USA
Posts: 710
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I believe the various cpanels that let you add custom error documents only help to automate the process. That does not (or shouldn't) exclude the ability to do it manually. If you create a custom 404 page, for example, it just saves that page for you somewhere and adds the appropriate line to .htaccess. If you can edit .htaccess manually, you can do this hack.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:22 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04473 seconds
  • Memory Usage 2,308KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete