URL rewriting pour les nuls
36 messages
• Page 1 sur 3 • 1, 2, 3
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- M.o.n.d.i.a.n.i
- WRInaute occasionnel

- Messages: 317
- Inscription: 9 Juil 2005
URL rewriting pour les nuls
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
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.
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
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.
- Startide
- WRInaute discret

- Messages: 158
- Inscription: 11 Juil 2005
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"
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"
-

cybervince - WRInaute impliqué

- Messages: 880
- Inscription: 1 Aoû 2004
Y'a pas du duplicate content la:
photo-527.html
photo-next-527-20.html
??
photo-527.html
photo-next-527-20.html
??
- M.o.n.d.i.a.n.i
- WRInaute occasionnel

- Messages: 317
- Inscription: 9 Juil 2005
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 impliqué

- Messages: 880
- Inscription: 1 Aoû 2004
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.
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 occasionnel

- Messages: 317
- Inscription: 9 Juil 2005
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
-

hardmicro - WRInaute passionné

- Messages: 1279
- Inscription: 5 Oct 2004
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 occasionnel

- Messages: 317
- Inscription: 9 Juil 2005
Juste de cette petite ligne: RewriteEngine on
Demarrer le module de réécriture
Demarrer le module de réécriture
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
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.
Parce que ce sont des erreurs très fréquentes et ça devient lassant de toujours répéter la même chose.
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
Et tu les interdirais :
Je ne vois aucun moyen de répondre à ces 3 questions.
- pourquoi ?
- Ã qui ?
- comment ?
Je ne vois aucun moyen de répondre à ces 3 questions.
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
C'est pour cela que les forums existe !
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é
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. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
(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
36 messages
• Page 1 sur 3 • 1, 2, 3
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 :
- URL Rewriting chez Free.fr et Online.net pour les nuls
- Et l'url rewriting pour les ultra nuls alors?
- URL Rewriting : règle de rewriting qui change selon la cat ?
- Gestion de la page par défaut, multingue, url Rewriting, url friendly
- URL Rewriting... Mais la nouvelle URL apparait dans la barre d'adresse
- url rewriting: modification d'un dossier dans une url + l'extension
- Changement url rewriting, anciennes url dans le resultat de la recherche
- nettoyer des URL de la base Google apres url rewriting
- Supprimer de google mes anciennes URL (après URL rewriting)
- URL rewriting url avec parametres vers autre url avec param
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Analyse de popularité
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Transformer des simples citations de votre site en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

