URL rewriting pour les nuls

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

M.o.n.d.i.a.n.i
WRInaute impliqué
WRInaute impliqué
 
Messages: 317
Inscription: Sam Juil 09, 2005 20:41

URL rewriting pour les nuls

Message le Lun Juil 18, 2005 1:07

Hello,

C'est sans doute moi mais je n'ai pas trouvé de tutoriel pour les Rewrite Rules sur le site. Je vous propose donc le mien. Vous verrez c'est etonnament facile.


Principe:
L'url rewriting permet d'utiliser des
urls toute simples au lieu d'url longues et complexes

maPage-val1-val2-val3.html

à la place de

maPage.php?var1=val1&var2=val2&var3=val3

IL NE FAIT PAS LA TRANSFO AUTOMATIQUE DE

maPage.php?var1=val1&var2=val2&var3=val3

EN

maPage-val1-val2-val3.html

Vous devez vous meme modifier l'ecriture des URL DANS VOTRE CODE SOURCE.



Avantages:
Les bots suivront les liens simplifiés et indexeront votre site en
profondeur. Traitement qui etait réservé avec les URL dynamiques que pour les gros sites à haut PR

Inconvénients:
Il faut un serveur à la hauteur - car cela consomme en ressource.
Il faut réécrire les liens dans ses pages.

Comment ca marche?
Vous devez ajouter les regles de réecriture dans le fichier .htaccess
et activer le mod
ex:


RewriteEngine on
RewriteRule \photo-([0-9]+)\.html$ /photo.php?id=$1


Et réecrire vos liens dans vos pages.

L'url rewriting décortiqué:
D'abord il faut identifier les liens que vous allez réecrire:
Comme je suis photographe j'ai un site qui gére des photos, des albums
(appelés event) et des portfolios. Chacunes de ces pages sont à la racine (optimisation google)


portfolio.php?part=2
portfoliodetail.php?id=41&part=2
portfoliodetail.php?part=2&order=22
event.php?id=20
photo.php?id=527
photo.php?next=527&event=20
photo.php?prev=528&event=20
index.php?language=FR


Dès que vous avez listé les URL vous devez concevoir le format des nlles
URLs. Elles deviennent donc:

portfolio-2.html
portfoliodetail-id-41-22.html
portfoliodetail-order-2-22.html
event-20.html
photo-527.html
photo-next-527-20.html
photo-prev-528-20.html
indexFR.html


L'etape suivante consiste à modifier vos codes sources pour transformer vos url en url simplifiées. Le mod d'url rewriting lui se chargera de transformer les url simplifiées en url dynamiques. Ensuite aller dans le .htaccess pour specifier les rewrite rules.

Ajouter les regles de réecriture dans le .htaccess

la 1ere concerne le portfolio.php
RewriteRule \portfolio-([0-9]+)\.html$ /portfolio.php?part=$1

\ est un caractere d'echappement qui indique un pattern à rechercher dans l'URL: ici portfolio- et .html

([0-9]+) indique une suite de chiffres qui sera placée dans une variable

$ cloture la chaine de caracteres à retrouver

/ debute la réécriture

$1 la premiere variable - correspond ici à la suite de chiffres


La 2eme url est plus complexe elle contient 2 paramétres $1 et $2

RewriteRule \portfoliodetail-id-([0-9]+)\-([0-9]+)\.html$
/portfoliodetail.php?id=$1&part=$2

....

Je laisse les autres regles de réécriture en exercice et je passe
directement à la dernière :wink:

RewriteRule \index(.+)\.html$ /index.php?language=$1

Ou . est un joker comme * en dos


Les options [] entre crochets

[L] plus de réecriture

ex
rewrite rule (.*)\.htm $1.jsp [L]
rewrite rule (.*)\.jsp $1.truc

transforme les fichiers html en jsp
et les jsp en truc

sans la directive L on n'aurait que des fichiers truc





[R] option de redirection
[R=301] redirection permanente
[R=302] redirection temporaire

ex:
RewriteRule \index(.+)\.html$ /index.php?language=$1 [R=permanent]


[QSA]
tenir compte de la query
permet de faire photo-527.html?language=FR

ex

RewriteRule \photo-([0-9]+)\.html$ /photo.php?id=$1 [QSA]



On peut combiner pls options ce qui donne par exemple [QSA,L]


BON A SAVOIR:

Il est inutile de réecrire les url pour les formulaires: les bots ne font pas d'envoi de formulaire.


Voila j'espère que vous y voyez plus clair qu'au début du post.
Dernière édition par M.o.n.d.i.a.n.i le Mer Juil 20, 2005 15:44, édité 4 fois.


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Lun Juil 18, 2005 1:13

bonne petite picure de rappel :D

op Image

Startide
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Lun Juil 11, 2005 10:29

Message le Lun Juil 18, 2005 5:54

Une des choses les plus tordues à assimiler avec l'url rewriting - quand on commence - c'est que en fait ca ne réécrit pas exactement les url dans nos pages.

Il faut soit même changer les url dans les fichiers, et c'est quand elles sont cliquées (ou tapées dans la barre d'adresse) que le serveur se charge alors d'interpréter les règles de réécriture et changer ce qui lui est envoyé dans le format que php saura lire.

Par exemple forums/viewtopic_32396.htm est afffiché sur les pages du forum parce que le code du forum a été modifié. Au lieu d'afficher viewtopic.php?id=$id, on affiche viewtopic_$id.html

Quand l'url arrive au serveur, lui il fait "ok ca contient viewtopic_$1.html je sais que ca signifie que je dois prendre la variable $1 et l'utiliser comme si c'était $id et viewtopic_ veut dire que c'est viewtopic.php?id=

Je me permet cette précision car c'est ce que j'ai eu du mal à assimiler au départ, et tous ceux à qui j'en ai parlé avaient un peu le même problèmes ^^ "ah bon, ca change pas les url dans mes fichiers ? ca pue ton truc" :D

doeurf
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 117
Inscription: Jeu Avr 28, 2005 13:04

Message le Lun Juil 18, 2005 8:13

Arrétez de difuser tous les secrets des grands druides :D


cybervince
WRInaute passionné
WRInaute passionné
 
Messages: 872
Inscription: Dim Aoû 01, 2004 0:08

Message le Lun Juil 18, 2005 9:02

Y'a pas du duplicate content la:
photo-527.html
photo-next-527-20.html

??

M.o.n.d.i.a.n.i
WRInaute impliqué
WRInaute impliqué
 
Messages: 317
Inscription: Sam Juil 09, 2005 20:41

Message le Lun Juil 18, 2005 10:12

cybervince a écrit:Y'a pas du duplicate content la:
photo-527.html
photo-next-527-20.html

??



Arghhhh


Non mais bien avec

photo-527.html
photo-next-526-20.html
photo-prev-528-20.html

Je vais ajouter un noindex,follow


cybervince
WRInaute passionné
WRInaute passionné
 
Messages: 872
Inscription: Dim Aoû 01, 2004 0:08

Message le Lun Juil 18, 2005 10:22

C'est pas gérable au niveau de ton php de lui indiquer directement photo-526.html et photo-528.html sur la page photo-527.html en lieu et place des liens.
Car après tout tu connais le numéro de la photo précédente et suivante.

M.o.n.d.i.a.n.i
WRInaute impliqué
WRInaute impliqué
 
Messages: 317
Inscription: Sam Juil 09, 2005 20:41

Message le Lun Juil 18, 2005 10:30

cybervince a écrit:C'est pas gérable au niveau de ton php de lui indiquer directement photo-526.html et photo-528.html sur la page photo-527.html en lieu et place des liens.
Car après tout tu connais le numéro de la photo précédente et suivante.


seulement si je ne change pas si je ne retire pas de photos de l'album et que je n'en rajoute pas. Des que je rajoute une photo elle prend l'id disponible suivant ca pourait etre 528 comme 672. Les photos entre appartenant à d'autres albums. Les photos ne sont pas triées dans un ordre particulier dans les albums.

et merci pour m'avoir ouvert les yeux sur le bidule :mrgreen:

hardmicro
WRInaute accro
WRInaute accro
 
Messages: 1271
Inscription: Mar Oct 05, 2004 17:18

Message le Lun Juil 18, 2005 12:01

Le mod d'url rewriting lui se chargera de transformer les url simplifiées en url dynamiques. Ensuite aller dans le .htaccess pour specifier les rewrite rules.


tu parle de mod d'url rewriting que ve tu dire par la ou tu parle simplement de la configuration des url dans le fichier .htaccess ?!

M.o.n.d.i.a.n.i
WRInaute impliqué
WRInaute impliqué
 
Messages: 317
Inscription: Sam Juil 09, 2005 20:41

Message le Mar Juil 19, 2005 0:19

Juste de cette petite ligne: RewriteEngine on
Demarrer le module de réécriture


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 8:36

Qund vous faites des tutoriels sur la réécriture d'URL, ça serait sympa de préciser aux débutants qu'il y a des pages absolument inutiles à réécrire (résultats de formulaire...) et que l'UR n'est pas magique (ne peut pas faire rewriterule index.php?a=b index-a-b.html) et que un .php ou un .html ça ne change rien du tout (qu'il est stupide de faire une règle du genre redirect (.*).php $1.html)

Parce que ce sont des erreurs très fréquentes et ça devient lassant de toujours répéter la même chose.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mar Juil 19, 2005 8:44

.php ou un .html ça ne change rien du tout (qu'il est stupide de faire une règle du genre redirect (.*).php $1.html)



ça change tout ! si tu veu interdire .php ou .asp ou autre...
ca peut être très utile...


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 9:11

Et tu les interdirais :
  • pourquoi ?
  • à qui ?
  • comment ?

:roll:
Je ne vois aucun moyen de répondre à ces 3 questions.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mar Juil 19, 2005 9:16

C'est pour cela que les forums existe ! :wink:

pour partager le savoir et donc pouvoir y répondre...

pour la première j'y est répondu...(relire au dessus)
à qui (personne n'est visé particuièrement, mais si un utilisateur malin cherche un script.php ca peut le potéger oui ok normalement s'il est bien fait pas de pb...) enfin ca je l'ai aussi di au dessus............

comment ? (ca par contre faut partager les connaissances...)
j'attends the best....je suis pas encore tombé dessus ! héhé


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 9:21

(relire au dessus)

je ne vois rien dans ce sujet.
tu veux les interdire, je te demande pourquoi, tu me réponds "pour les interdire" :?

à qui ? à personne en particulier :?

comment ? tu ne sais pas...

je trouve ça un peu léger comme motivations pour la perte de temps que ça occasionne :lol:

URL rewriting pour les nuls

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités