News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Kustomisasi Error 404

Started by Informatics, November 25, 2009, 11:18:09 AM

Previous topic - Next topic

Informatics

Error 404 singkatnya adalah error yang terjadi disebabkan data yang direquest ke webserver tidak ditemukan.

QuoteDocument or file requested by the client was not found.

Kemungkinannya:
- url berubah
- url memang tidak ada
- dll

Penjelasan lengkap di sini: http://en.wikipedia.org/wiki/HTTP_404 atau http://www.404errorpages.com/

Tampilan umumnya adalah seperti ini:



Ada juga yang memodifikasinya supaya lebih "keren" menjadi seperti ini:



Hal ini pula yang terjadi pada forum kami http://if.web.id , dulu ketika masih menggunakan SMF 1 yang menggunakan mod SEO4SMF, memang menghasilkan URL yang "cantik", sehingga sangat disenangi sama search engine, dan cukup membantu dalam menampilkan iklan adsense.

Setelah 2-3 tahun, kami update ke SMF 2, dimana sekarang sudah tidak pakai mod SEO4SMF tsb, dikarenakan sudah tidak kompatibel dan tidak support sama versi 2 ini.

Alhasil, semua link yang udah diindeks mbah Google atau Search Engine lain yang udah 2-3 tahun ini bakal error semua  :(

Daripada error gak ada manfaat, maka kami mendesain penanganan error 404 ini supaya lebih friendly.  ;)


Pertama-tama, saya buat file .htaccess di root (public_html), dengan isi sbb:

Options +IncludesNOEXEC
ErrorDocument 404 /404.php


Kemudian buat file 404.PHP di direktori yang sama, dengan isi sbb:


<?php

include ('SSI.php');

echo
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>404 - File Tidak ditemukan</title>
<meta name="keywords" content="404, page, file, URL, not, found, error">
<meta name="description" content="404 - File Not Found">
<link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/css/index'$context['theme_variant'], '.css?rc2" />
<link rel="stylesheet" type="text/css" href="'
$settings['default_theme_url'], '/css/print.css?rc2" media="print" />
</head>
<body>
<div id="header"><div class="frame">
        <div id="top_section">
            <h1 class="forumtitle">Link Tidak Ditemukan</h1>
        </div>
        

<p>Link yang Anda minta tidak ditemukan:</p>
<b>http://' 
$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '</b>

'
;

$parts pathinfo($_SERVER['REQUEST_URI']);

$poshtml=strpos($parts ['basename'],".html");
if (
$poshtml 0)
{
    
$post=strrpos($parts ['basename'],"-t");

    if (
$post>0)
    {
        
$posid=substr($parts ['basename'],$post+2,$poshtml-$post-2);

        echo 
'<br><br>Link yang Anda minta kemungkinan ada di sini: <a href=http://' $_SERVER['SERVER_NAME'] . 
             
'/index.php?topic=' $posid '>http://' $_SERVER['SERVER_NAME'] . '/index.php?topic=' $posid '</a>';
    }
    else
    {
        
$posid=substr($parts ['basename'],0,$poshtml);

        echo 
'<br><br>Link yang Anda minta kemungkinan ada di sini: <a href=http://' $_SERVER['SERVER_NAME'] . 
             
'/index.php?action=' $posid '>http://' $_SERVER['SERVER_NAME'] . '/index.php?action=' $posid '</a>';
    }
}
else
{
    
$posb=strrpos($parts ['basename'],"-b");
    
$st=substr($parts ['basename'],$posb+2,strlen($parts ['basename'])-$posb);

    echo 
'<br><br>Link yang Anda minta kemungkinan ada di sini: <a href=http://' $_SERVER['SERVER_NAME'] . 
         
'/index.php?board=' $st '>http://' $_SERVER['SERVER_NAME'] . '/index.php?board=' $st '</a>';
}
echo 
'<br />';
?>

<script type="text/javascript">
  var GOOG_FIXURL_LANG = 'in';
  var GOOG_FIXURL_SITE = 'http://if.web.id/';
</script>
<script type="text/javascript" 
    src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>

<?php
echo'
<br />
</div></div>
<div id="footer_section"><div class="frame">Forum Informatika - <a href="http://if.web.id/">http://if.web.id/</a></div></div>
</body>
</html>'
;
?>


Alhamdulillah, dengan berbekal pengetahuan PHP dasar, URL lama kami yang sudah tidak berfungsi lagi seperti:

http://if.web.id/software-tutorial-tips-and-tweaks/repair-cara-memperbaiki-windows-xp-tanpa-instalasi-ulang-t15.0.html

secara otomatis akan ditampilkan informasi supaya merujuk ke url baru di:

http://if.web.id/index.php?topic=15.0



Baru segitu penjelasannya, nanti kalau ada tambahan info akan saya tambah di sini.  :D


You can catch me @ Forum Informatika a.k.a Indonesian Informatics Online Community @ http://if.web.id




Mods:
1. LinkTree v.1.1.0 [Topic  || Download]
2. Header Rotator v.1.1.0 for 1.1.x | v.2.1 for 2.0 [Topic || Download]


Advertisement: