Modification des liens et inclusion des fonctions

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.

Pour terminer la mise en place de l'url rewriting, il nous faut à présent modifier l'ensemble des liens et inclure le fichier des fonctions. Pour que la conversion des titres s'effectuent correctement, on fait appel à la fonction OptimiseUrl() (qui est le nom de la fonction inclue dans le fichier fonctions.php) directement sur le titre de la page que l'on va inclure dans les url. Ainsi, si notre titre est :"Création d'un site dynamique", il sera automatiquement modifié en :"creation-d-un-site-dynamique".
Par exemple, si notre variable est '.$affiche['titre'].', on la modifie en '.OptimiseUrl($affiche['titre']).' .

Histoire de bien comprendre la chose, nous allons faire un petit résumé de la mise en place .

Dans notre fichier .htaccess, nous avons la ligne :

 RewriteRule  ^(.*)-([0-9]*)\.php$  page.php?titre=$1&id=$2 [L]

Cette ligne dit en gros que (.*) correspond à titre=$1 suivit d'un tiret (-) et que ([0-9]*) correspond à id=$2 sinon dit, dans l'url doit se trouver le titre, suivit d'un tiret, suivit de l'identifiant et que la page est du php.

Cela nous donne donc :

'.$affiche['titre'].'-'.$affiche['id'].'.php

 qui correspond donc à une url du style : Création d'un site dynamique-1.php .

Comme vous le savez sans doute, une url ne doit pas contenir d'espace, d'accent ou autre caractère bizarre et c'est la qu'intervient notre fonction OptimiseUrl() sur le titre :

'.OptimiseUrl($affiche['titre']).'-'.$affiche['id'].'.php
qui transforme notre url en : creation-d-un-site-dynamique-1.php .

Passons maintenant à la modification des fichiers.

Fichier index.php :

Cherchez la ligne
include('menu.php');
et ajoutez au dessus
include('fonctions.php');
Cherchez la ligne
<a title="'.$affiche['titre'].'" href="page.php?id='.$affiche['id'].'">
'.$affiche['
titre'].'</a>
et remplacez par
<a title="'.$affiche['titre'].'" href="'.OptimiseUrl($affiche['titre']).'-
'.$affiche['id'].'.php"
>'.$affiche['titre'].'</a>
Fichier categorie.php :
Cherchez la ligne
include('connexion_bd.php');
et ajoutez en dessous
include('fonctions.php');
Cherchez la ligne
<a title="'.$affiche['titre'].'" href="page.php?id='.$id=$affiche['id'].'">
'.$affiche['
titre'].'</a>
et remplacez par
<a title="'.$affiche['titre'].'" href="'.OptimiseUrl($affiche['titre']).'-
'.$affiche['id'].'.php"
>'.$affiche['titre'].'</a>
Fichier menu.php :
Cherchez la ligne
<a class="menu" title="'.$affiche['nom_categorie'].'" href="categorie.php?id=
'.$affiche['id'].'"
>'.$affiche['nom_categorie'].'</a>
et remplacez par
<a class="menu" title="'.$affiche['nom_categorie'].'" href="categorie-'.$affiche['id'].'
-'.OptimiseUrl($affiche['nom_categorie']).'.php"
>'.$affiche['nom_categorie'].'</a>
Fichier page.php :
Cherchez la ligne
include('connexion_bd.php');
et ajoutez en dessous
include('fonctions.php');
Fichier rss.php :
Cherchez la ligne
include('connexion_bd.php');
et ajoutez en dessous
include('fonctions.php');
Cherchez la ligne
'.$url.'/page.php?id='.$affiche['id'].'
et remplacez par
'.$url.'/'.OptimiseUrl($affiche['titre']).'-'.$affiche['id'].'.php
Fichier sitemap.php :
Cherchez la ligne
SELECT id, date FROM CONTENU ORDER BY id ASC
et ajoutez y le titre
SELECT id,titre, date FROM CONTENU ORDER BY id ASC
Cherchez la ligne
include('connexion_bd.php');
et ajoutez en dessous
include('fonctions.php');
Cherchez la ligne
'.$url.'/page.php?id='.$affiche['id'].'
et remplacez par
'.$url.'/'.OptimiseUrl($affiche['titre']).'-'.$affiche['id'].'.php
Fichier moteur.php :
Cherchez la ligne
include('menu.php');
et ajoutez au dessus
include('fonctions.php');
Cherchez la ligne
<a title="'.$donnees['titre'].'" href="page.php?id='.$donnees['id'].'">
'.$donnees['
titre'].'</a>
et remplacez par
<a title="'.$donnees['titre'].'" href="'.OptimiseUrl($donnees['titre']).'-
'.$donnees['id'].'.php"
>'.$donnees['titre'].'</a>

Si vous avez mis en place la déclaration du flux rss sur une ou plusieurs pages, modifier la ligne
  <link rel="alternate" type="application/rss+xml" title="Flux Rss"  href="rss.php"/>
  par
<link rel="alternate" type="application/rss+xml" title="Flux Rss"  href="rss.xml"/>
  
    Il en va de même si vous avez effectuez des liens texte vers votre flux rss ou votre plan sitemap, pensez à modifier
<a title="Flux Rss" href="rss.php">Rss</a>
    par
<a title="Flux Rss" href="rss.xml">Rss</a>
    et
<a title="Sitemap XML" href="sitemap.php">Sitemap</a>
    par
<a title="Sitemap XML" href="sitemap.xml">Sitemap</a>
Si vous utilisez l'url rewriting sur votre site, il est important de ne pas oublier de changer tout les liens sous peine d'une double indexation de vos pages et donc d'un bon gros duplicate content (duplication de contenu) interne!
Nous voici arrivé au terme de ce tutoriel sur la mise en place de l'url rewriting sur un site dynamique .
Pensez à renvoyer tout vos fichier modifiés sur votre serveur et vérifiez que tout vos liens soient bien rewrités sans aucun doublon!
Voir/déposer un commentaire (15) | Signaler un problème