phpLD (php Link Directory) este o aplicatie pentru crearea de directoare web. Un dezavantaj il prezinta inexistenta unei posibilitati de personalizare a mesajelor de eroare. In cazul in care accesati un link inexistent, datorita modului de functionare a aplicatiei, vi se va afisa pagina index iar in acelasi timp browserul va primi ca raspuns un cod de eroare 404, adica pagina inexistenta. E frustrant uneori sa vezi cum pagina exista dar crawlerele o detecteaza ca pagina inexistenta. De asemenea e urat ca cineva sa incerce sa acceseze o pagina inexistenta datorita unui link scris gresit iar acea persoana sa nu stie ca pagina nu exista iar ceea ce vede nu are relevanta.
Pentru a rezolva problema paginilor de eroare personalizate trebuie sa facem mici modificari in aplicatie (ce bine ca e open source). Nu e complicat, e chiar simplu. Trebuie sa modificam un fisier, index.php, si si cream un alt fisier 404.tpl, care sa-l folosim ca template pentru mesajele de eroare aparute in cazul accesarii unei pagini inexistente.
Prima data deschidem fisierul index.php cu un editor de texte sau cu o aplicatie specializata. In cod cautam urmatoarele doua linii:
$id = get_category();
if (!$tpl->is_cached('main.tpl', $id))
Daca nu s-au facut alte modificari ar trebui sa fie liniile 190 si 191. Cele doua linii se inlocuiesc cu urmatorul cod:
$id = get_category();
if($id==0 &&
strlen(request_uri()) > 2 &&
request_uri() != '/index.php' &&
!isset($_REQUEST['q']))
{
$path[] = array('ID'=>'0',
'TITLE'=>_L('404, Pagina inexistenta'),
'TITLE_URL'=>", 'DESCRIPTION'=>");
$tpl->load_filter('output', 'trimwhitespace');
echo $tpl->fetch('404.tpl');
@exit(0);
} else if (!$tpl->is_cached('main.tpl', $id))
Dupa cum se poate observa am modificat codul care, acum, inainte de a verifica existenta in cache a template-ului, va verifica existenta paginii cerute. Cum phpLD 2.2.0 nu ofera un mod concret pentru identificarea paginilor inexistente codul de mai sus e o "carpeala" si implicit are si un bung, si anume nu va fi valid pentru paginile inexistente care au numele de lungime 1 caracter. Bineinteles, cazurile acestea sunt rare si avand in vedere conditiile date putem fi multumiti cu ceea ce avem.
Dupa ce am facut aceasta modificare trebuie sa cream in directorul templates o pagina numita 404.tpl in care sa introducem urmatorul cod:
{capture name="title"}{l} - Eroare 404, pagina inexistenta{/l} - {/capture}
{capture assign="in_page_title"}{l}Eroare 404, pagina inexistenta{/l}{/capture}
{capture assign="description"}{l}Eroare 404, pagina inexistenta{/l}{/capture}
{include file="header.tpl"}
{include file="top_bar.tpl"}
{include file="admin/messages.tpl"}
<h3>Eroare 404, pagina inexistenta</h3>
<table border="0" cellspacing="10" class="formPage">
<tr>
<td class="contact">
Pagina solicitata nu a fost gasita pe server.
</td>
</tr>
</table>
{include file="footer.tpl"}
Designul rezultat va fi putin ciudat, dar se poate personaliza asa cum se poate personaliza orice fisier template din phpLD.
Daca aveti intrebari sau daca nu va descurcati postati aici si incerc sa va ajut/lamuresc 
Articol original:Pagina de eroare personalizata pentru phpLD v2.2.0