DISQUS

DISQUS Hello! Joomla SEO Blog is using DISQUS, a powerful comment system, to manage its comments. Learn more.

Community Page

Jump to original thread »
Author

Please give me a 404 Page!

Started by hummerbie · 1 year ago

I really, really want a 404 page for my Joomla sites!

I know, you can create one via a content page, if its a static or dynamic, and set that URL in the configuration of your SEF component…

Been there, done that.. even do for most of my sites anyway.

BIG problem with this is, not that I […] ... Continue reading »

10 comments

  • Easy to do! Create a 404 page for yourself using PHP - call it what you want depending its use e.g myerrordochandler.php. Change the System SEF to point to that file. Now the tricky bit. Explode the URL separating the url path and get_vars, check if this is something you want to handle or something you want a 404 page for.

    If you want to handle the page with actual content then ensure you put on the PHP statement header("HTTP/1.1 200 OK"); BEFORE ANY OTHER OUTPUT TO THE BROWSER!!! If anything has gone to the browser already you will get a 'headers already sent' notice

    If you want to send a real '404 page' to stop missing pages being indexed then put a header("HTTP/1.0 404 Not Found"); statement in your PHP. Same rule applies - no output before the header statement. You can ob_start() and ob_end_flush() to buffer your output until after the header is sent if you are so inclined.

    BTW if you have 404 redirection on a site you coded yourself (not Joomla etc) you can use .htaccess or httpd.conf settings to redirect to your ErrorDocument 404 handler (PHP or whatever your personal poison) and then use the header() function to tell the browser it is a real page not a 404 page! A very cool and completely standard way to create SEF - not like the Joomla junk way.
  • Interesting answer, but it refers to several points that it would be nice to develop to make it useful :
    1°) Which version of Joomla ? 1.0, 1.5 Legacy or 1.5 ?
    2°) How and where can i "Change the System SEF to point to that file"
    3°) Do you have an example for "the tricky bit. Explode the URL separating the url path and get_vars, check if this is something you want to handle or something you want a 404 page for."
    4°) I suppose "then ensure you put on the PHP statement header("HTTP/1.1 200 OK"); " is at the beginning of the template's index.php
    5°) header("HTTP/1.0 404 Not Found"); // is not written this way, i suppose, but wiht Location: ??? and how does it refer to myerrordochandler.php
    6°) How to "ob_start() and ob_end_flush() to buffer your output until after the header is sent if you are so inclined"

    Thanks for the input but I don't have your skill ans a working example would help very much !
  • Just make a php page with:
    <?php
    header( 'Location: http://www.yoursite.com/error_page.html' ) ;
    ?>

    and place it in the templates/system folder and replace the error.php file

    I just redirect to home page and leave no 404 page info
  • All you've got to do really is read the following page

    http://docs.joomla.org/Custom_error_pages

    I got to it after checking your post... it includes stuff that @aeomer was talking about too.
  • @Bincom: True, the docs section is great for finding solutions for your problems.

    But for most Joomla webmasters this is to complicated. Using sh404SEF will give you the opportunity to modify your 404 page via a normal contant editing screen AND produce the right 404 error code for Joomla 1.5 and Joomla 1.0
  • "I am using sh404 component at my site. And index.php is coming in between my urls can any one help me to remove it.
    http://daventurewebtech.com/index.php/services.... i want to remove index.php and is should be look link this http://daventurewebtech.com/services.html"
  • @Daventurewebtech: Please goto the sh404sef component and switch on "extend display" on the right site of the component screen.

    Then open the configuration screen , and click the Tab "Advanced", there you will find an option "Rewriting mode" you should set this to "with .htaccess (rewrite mode" from the dropdown choices.

    Make sure you have your a .htaccess file in the root of your Joomla installation.
    Check if every thing works out, on some hosing providers you need to change some lines.
    Documentation on the content of that .htaccess file is also included in the SEF documentation that you can reach from the component control panel.
  • @Jim, It really helps thanks for the link.

    Although this post was writen in the Joomla 1.0.x era, we now face a new challenge and this will most certainly help to create a better 404 page then we currently get from a Joomla 1.5 install.

    sh404SEF is (not yet) ready to handle template based 404 error pages.
  • sh404sef does this fine. you can use a custom 404 page and get the right headers.
    (check anything at www.secnap.com . if you want to hack into it javascript with sql commands, you can do that also.

Add New Comment

Returning? Login