Vous êtes ici La finalisation de la réécriture d'url en 301
La finalisation 301 sert à empêcher les urls d'origines (urls physiques) d'êtres délivrées par le serveur,
en cas de réécriture.
La méthode consiste à rediriger les urls d'origines vers les nouvelles à l'aide d'entêtes php.
Ce chapitre n'est pas indispensable mais essentiel. Il devient indispensable pour les sites qui utilisent
beaucoup de mailing car souvent les serveurs en l'absence de proxy redirige directement
les requêtes sur le moteur php sans passer par le moteur de réécriture.
Vous n'aimeriez pas que votre client cliquant sur un lien de votre mail aboutisse sur l'url non réécrite
au lieu de celle réécrite. Obliger vous ici à mettre des redirections pour éviter ce problème!
Ce chapitre est également indispensable pour les sites qui ont des urls déjà indexées dans les
moteurs de recherche et veulent les désindexer rapidement pour indexer les nouvelles urls réécrite à leur place.
Dans un cas général, nous conseillons à tous développeurs de bloquer l'accès aux anciennes urls
en appliquant des redirections 301 afin d'éviter bien des surprises !!
Procédure de redirection: - récupérer l'uri - tester si la chaine correspond au motif - si oui : a) envoyer une entête 301 pour une redirection définitive b) faire la redirection sur l'url réécrite PHP va nous aider à faire ces redirections ;) Redirection simple: L'exemple ci dessous va rediriger index.php?id=15 vers index-15.html
.01 .02 .03 .04 .05 .06 .07 .08 .09 .10 .11 .12 .13 |
<?php
$URi = $_SERVER["REQUEST_URI"]; $motif = "'/index\.php\?id=15'i"; if (preg_match($motif,$URi)) { header("Status: 301 Moved Permanently"); header("Location: http://www.site.com/index-15.html"); exit; } ?> |
.01 .02 .03 .04 .05 .06 .07 .08 .09 .10 .11 .12 .13 |
<?php
$URi = $_SERVER["REQUEST_URI"]; $motif = "'(/index\.php\?id=)+([0-9]+)'"; if (preg_match($motif,$URi,$capture)) { header("Status: 301 Moved Permanently"); header("Location: http://www.site.com/index-$capture[2].html"); exit; } ?> |
La librairie est ouverte à tous et elle est accès principalement sur les langages Snippets. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter