Simple Machines Community Forum

SMF Support => Bahasa Indonesia (Indonesian) => Language Specific Support => Tutorial SMF (Tutorials) => Topic started by: Informatics on November 25, 2009, 11:18:09 AM

Title: Kustomisasi Error 404
Post by: Informatics on November 25, 2009, 11:18:09 AM
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

(http://gambar.if.web.id/images/973_err.jpg)

Baru segitu penjelasannya, nanti kalau ada tambahan info akan saya tambah di sini.  :D
Title: Re: Kustomisasi Error 404
Post by: dheri on February 12, 2012, 12:49:19 PM
kok ane gagal kang... gimana ya....