Galactic Civilizations 3
Réécriture d'url - redirection et tests

Réécriture d'url - redirection et tests

Catégorie: Php.
Posté par le 05/12/2011.
Dernière mise à jour le 01/05/2014.

<<Tutoriel précédent 

Description

Tout au long de ce tutoriel, vous apprendrez comment mettre en place la redirection après la réécriture d’url.

Introduction

Ce tutoriel s’adresse aux personnes sous Linux utilisant un serveur apache2 comme serveur web. Lors de ce tutoriel nous considérerons que le dossier racine de votre site est /var/www/tutorielsenfolie. De plus, toutes les commandes de ce tutoriel seront exécutées en root. (Commande su).

Mise en place de la redirection

Nous allons maintenant mettre en place la redirection vers les bons fichiers si l’url demandée est autorisée, sinon nous redirigerons l’utilisateur vers la page d’erreur.

Pour ce faire, exécutez la commande suivante:

nano /var/www/tutorielsenfolie/routeur.php

Nous allons maintenant réécrire le fichier routeur. php.

routeur.php

<?php
// On ouvre le fichier XML.
$dom = new DOMDocument;
$dom->load(dirname(__FILE__).'/routes.xml');
 
// Par défaut, on redirige vers la page d'erreur.
$page = dirname(__FILE__).'/404.php';
foreach($dom->getElementsByTagName('route') as $route) { 
if(preg_match('`^'.$route->getAttribute('url').'$`', $_SERVER['REQUEST_URI'], $matches)){
   // Si il y a une correspondance entre l'expression régulière et l'url demandée par l'utilisateur.
   // On récupère le nom du fichier à afficher.
   $page = $route->getAttribute('fichier');
   if($route->hasAttribute('vars')){
      // Si il y a des variables, on les récupère.
      $vars = explode(',', $route->getAttribute('vars'));    
      foreach($matches as $cle => $valeur){
         if($cle !== 0) $_GET[$vars[$cle - 1]] = $valeur;
      }
   }
}
}
// On affiche la page.
require $page;
?>

Test de la redirection

Nous pouvons tester notre redirection, pour ce faire, rendez-vous aux adresses suivantes sur votre navigateur :

  • « http://localhost/tutorielsenfolie/»
  • « http://localhost/tutorielsenfolie/articles-9.html»
  • « http://localhost/tutorielsenfolie/test.html»

Vous devriez voir apparaître les messages suivants :

réécriture URL: accueil

réécriture URL: articles

réécriture URL: erreur

Tu as aimé ce tutoriel ?
Aide nous à améliorer le site ! Deviens partenaire officiel ou suis nous sur facebook !

<<Tutoriel précédent 

Commentaires[0]

Tu as aimé ce tutoriel ? Alors partage-le avec tes amis !
Partager sur Facebook Partager sur Twitter Partager sur Myspace Partager sur Stumbleupon Soumettre sur Reddit Partager sur Digg Ajouter à vos favoris Technorati Ajouter à vos favoris Live Ajouter à vos favoris Google Ajouter sur vos favoris Yahoo Voir le flux rss

Mots Clés: php réécriture d'url redirection routeur tests web

Veve :
(11/04/2013 - 17:19:44)
il faut juste mettre "sudo" à la place de "su" pour exécuter la commande en root

Veve :
(11/04/2013 - 17:18:56)
Salut tu peux aller lire ce tutoriel: http://www.tutorielsenfolie.com/tutoriels-63-installation-configuration-opennebula.html Il fonctionne aussi sous ubuntu

safa.souissi4 :
(10/04/2013 - 20:58:13)
s'il vous plait c urgent :(

safa.souissi4 :
(10/04/2013 - 20:56:25)
bonsoir,je cherche un tutos pour installer opennebula.org sous ubuntu 12.

Veve :
(18/03/2013 - 20:07:49)
oui, j'essaye de voir d'ou viens le problème.

sonde :
(18/03/2013 - 13:29:57)
re merci (j apprend un peu plus) je crois que j ai trouver pourquoi je peu pas poster si il y a ligne code impossible de poster lol

Veve :
(17/03/2013 - 21:34:49)
Salut, j'espère que ça t'a aidé.

sonde :
(17/03/2013 - 09:59:02)
pour ton aide

sonde :
(17/03/2013 - 09:57:36)
slt Veve impossible de laisser com

sonde :
(17/03/2013 - 09:56:55)
??

Demi-dieu :
(15/03/2013 - 18:41:13)
salut ^^

sonde :
(13/03/2013 - 14:49:35)
un petit coucou

Tanamoureuse :
(29/09/2011 - 06:11:08)
Je t'aime

Faire un don

Ma Publicité ici


Faire un don