Navigation 404 - floptwo

Description

Navigation 404 - floptwo :
Il s'agit d'un script permettant de naviguergrace a la page d'erreur 404.
C'est une sorte d'URL Rewriting.
C'est à peu près le même principe que les pseudo-frames sauf qu'au lieu de monsite.com/index?rub=blabla (ce dont j'ai horreur !) on a monsite.com/blabla/
Ca a l'avantage de perturber les petits curieux qui s'amusent à déchiffer les URL et puis je trouve ça plus original et plus propre.

Source / Exemple :


<?php
/* * * * * * * * * * * * * * * * * * * * * * * * * * * 

  • Navigation 404 - floptwo :
  • Il s'agit d'un script permettant de naviguer
  • grace a la page d'erreur 404.
  • C'est une sorte d'URL Rewriting.
  • C'est à peu près le même principe que les
  • pseudo-frames sauf qu'au lieu de
  • monsite.com/index?rub=blabla (ce dont j'ai horreur !)
  • on a monsite.com/blabla/
  • Ca a l'avantage de perturber les petits curieux
  • qui s'amusent à déchiffer les URL et puis je trouve
  • ça plus original et plus propre.
*
  • Script réalisépar floptwo (floptwo@gmail.com)
  • * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Je ne décrirais pas la partie CSS car ce n'est pas
  • fondamental pour le script.
  • Il faut avant tout créer un fichier .htacces à la racine
  • de votre site. Il doit contenir :
  • ErrorDocument 404 /index.php (l'URL de votre page de
  • pseudo-frame).
  • (Pour plus d'info voir les tutoriaux sur le htaccess)
*
  • Pour la navigation on se sert des variable PHP (ou
  • variables d'environnement que l'on obtient en tappant
  • phpinfo()).
  • On se sert ici de _SERVER["REQUEST_URI"] pour récupérer
  • ce qui nous interesse c'est à dire la page demandée qui
  • n'a pas été trouvée.
  • Ensuite c'est comme les pseudo frames (include($page)...).
  • Si vous ne connaissez pas, cherchez un tutoriel sur les
  • pseudo-frames, il y en a des milliers et dans toutes
  • les langues.*/
$a = explode('/', $_SERVER["SCRIPT_NAME"]); $a_count = count($a); $b = $a[$a_count-1]; $b_count = strlen($b); $adresse_index = substr($_SERVER["SCRIPT_NAME"],0, -($b_count+1)); /* $_SERVER["REQUEST_URI"] :
  • retourne l'adresse saisie (l'adresse censée générer
  • une erreur 404).
  • substr($var,1) retire le 1er caratère : un slash. */
$adresse = str_replace( $adresse_index.'/', '', $_SERVER["REQUEST_URI"]); /* On hache l'adresse à chaque slash '/' et retourne les
  • valeurs dans un tableau.
  • $tab[0] correspond au premier élément retrouver avant
  • un slash '/', $tab[1] deuxièmem élément, etc ...*/
$adresse_tableau = explode ('/', $adresse); if ($adresse_tableau[0] =='script') { if (isset($adresse_tableau[1]) && $adresse_tableau[1] == 'calendrier') { $page = 'page_script_calendrier.php'; } elseif (isset($adresse_tableau[1]) && $adresse_tableau[1] == 'bidon') { $page = 'page_script_bidon.php'; } else { $page = 'page_script.php'; } } elseif($adresse_tableau[0] =='contact') { $page = 'page_contact.php'; } elseif($adresse_tableau[0] == '') { $page = 'main.php'; } else { $page = 'page_erreur.php'; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <STYLE type="text/css"> @IMPORT URL(css.css); </STYLE> <title>Navigation 404 - floptwo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="500" height="400" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#999999"> <tr> <td><table width="100%" height="400" border="0" align="center" cellpadding="2" cellspacing="1"> <tr align="center" bgcolor="#CCCCCC"> <td height="20" colspan="2"> <div class="titre1">Monsite.com</div></td> </tr> <tr bgcolor="#CCCCCC"> <td height="10" colspan="2"> <div class="titre2" align="right"><?php echo $adresse ?></div></td> </tr> <tr bgcolor="#999999"> <td width="400" rowspan="2" valign="top" bgcolor="#FFFFFF"> <div> <?php //Contrôle si le fichier $page existe if(file_exists($page)) { //Si celui-ci existe, on l'insère dans la page centrale include($page); } else { //Sinon, on insère la page avec le message d'erreur include('page_erreur.php'); } ?> </div></td> <td height="10" bgcolor="#CCCCCC"><p class="titre2" align="center">Menu</p></td> </tr> <tr> <td width="100" valign="top" bgcolor="#FFFFFF"> <div class="text"> <li><a href="<?php echo $adresse_index ?>/">Acceuil</a></li> <hr/> <span> <div><a href="<?php echo $adresse_index ?>/script">Script</a></div> <li><a href="<?php echo $adresse_index ?>/script/calendrier">Calendrier</a></li> <li><a href="<?php echo $adresse_index ?>/script/bidon">Bidon</a></li> </span> <hr/> <div><a href="<?php echo $adresse_index ?>/contact">Contact</a></div> </div></td> </tr> </table></td> </tr> <tr> <td bgcolor="#FFFFFF"> <div align="center" class="text">Script réalisé par floptwo (floptwo@gmail.com)</div></td> </tr> </table> <?php /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
  • script réalisé par floptwo (floptwo@gmail.com)
  • * * * * * * * * * * * * * * * * * * * * * * * * * */
?> </body> </html>

Conclusion :


Noubliez pas de bien configurer le .htaccess avant de le tester

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.