URL Rewriting - Besoin de conseil pour mise en place

URL Rewriting - Besoin de conseil pour mise en place - PHP - Programmation

Marsh Posté le 19-07-2010 à 08:40:36    

Bonjour,
 
Je souhaite mettre en place l'url rewriting sur un site existant. Etant donné que je ne m'y suis jamais penché j'ai quelques questions pour lesquelles je n'ai pas trouvé de réponse.
 
Voilà ce que j'aimerai faire :
 
J'ai des pages en php qui me servent à afficher le contenu en fonction d'un id transmis en GET.  
L'idée serait de créer une table de correspondance pour l'url rewriting. Donc en gros : page.php?id=1  ---> Titre de ma page
 
Ensuite à partir de cette table, je voudrai pouvoir générer mon htaccess, ainsi quand je mets à jour ma table de correspondance, ca met à jour mon htaccess.
 
Comment je dois m'y prendre pour faire cela ?
 
Autre question : Dois-je modifier tous les liens sur mon site une fois l'url rewriting activé ? Du style le lien du menu "page.php?id=1" je dois le modifier pour "1-titre-de-ma-page.html" ?
 
Merci pour votre aide.
 
 

Reply

Marsh Posté le 19-07-2010 à 08:40:36   

Reply

Marsh Posté le 19-07-2010 à 10:12:54    

aspirateur a écrit :


 
Autre question : Dois-je modifier tous les liens sur mon site une fois l'url rewriting activé ? Du style le lien du menu "page.php?id=1" je dois le modifier pour "1-titre-de-ma-page.html" ?
 
 


 
oui.


---------------
Créer votre blog gratuitement
Reply

Marsh Posté le 19-07-2010 à 13:16:08    

Oula, c'est pas comme ça que ça marche l'url rewwriting. Tu ne dois pas mettre une ligne par page dans ton htaccess, ça va devenir très compliqué à gérér.
L'idée de l'URL rewriting, c'est de prendre une url structurée et d'y trouver les informations nécessaire à ton site pour afficher la page voulue.
 
Prends par exemple l'url de cette page ci du forum:
 
rewriting-besoin-conseil-sujet_130070_1.htm
 
Elle est composée de
 
- "rewriting-besoin-conseil" qui est le titre de ton sujet parsé pour retirer les caractères interdits d'une url
- "sujet_130070_1" qui est en fait (je suppose) l'id du sujet (130070) et la page (1)
 
Le moteur de rewriting reçoit cette url et la lit avec des expressions régulières pour y trouver 130070 et 1 ensuite transforme cette url pour le serveur web.
 
Donc dans ton case, sur base de ta table tu peux facilement à l'aide d'une fonction écrire les liens de ton site.
Imaginons que ta page ayant l'id 1 ait come titre "Paris Hilton nue sur internet", tu peux par exmple créer l'url suivante:
 
"/pages/123-paris-hilton-nue-sur-internet.htm"
 
dans ton htaccess, tu écris une règle comme par exemple:
 
RewriteRule ^pages/([0-1]+)[a-z-]+\.htm$ page.php?id=$1 [L]
 
le ([0-1]+) repère l'id dans l'url (ici 123), le "sauve" dans $1. Ensuite le "page.php?id=$1" appelle effectivement "page.php?id=123" sur le serveur web.
 
J'espère que ceci te mettra sur le droit chemin de l'url rewriting  :)

Reply

Marsh Posté le 19-07-2010 à 13:24:12    

jeff@be> tu racontes n'importe quoi.
 
Joce doit rajouter une ligne dans le fichier .htaccess à chaque fois qu'un nouveau sujet est posté, ou qu'une nouvelle page est nécessaire :o


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 19-07-2010 à 13:35:50    

jeff@be a écrit :

Oula, c'est pas comme ça que ça marche l'url rewwriting. Tu ne dois pas mettre une ligne par page dans ton htaccess, ça va devenir très compliqué à gérér.
L'idée de l'URL rewriting, c'est de prendre une url structurée et d'y trouver les informations nécessaire à ton site pour afficher la page voulue.
 
Prends par exemple l'url de cette page ci du forum:
 
rewriting-besoin-conseil-sujet_130070_1.htm
 
Elle est composée de
 
- "rewriting-besoin-conseil" qui est le titre de ton sujet parsé pour retirer les caractères interdits d'une url
- "sujet_130070_1" qui est en fait (je suppose) l'id du sujet (130070) et la page (1)
 
Le moteur de rewriting reçoit cette url et la lit avec des expressions régulières pour y trouver 130070 et 1 ensuite transforme cette url pour le serveur web.
 
Donc dans ton case, sur base de ta table tu peux facilement à l'aide d'une fonction écrire les liens de ton site.
Imaginons que ta page ayant l'id 1 ait come titre "Paris Hilton nue sur internet", tu peux par exmple créer l'url suivante:
 
"/pages/123-paris-hilton-nue-sur-internet.htm"
 
dans ton htaccess, tu écris une règle comme par exemple:
 
RewriteRule ^pages/([0-1]+)[a-z-]+\.htm$ page.php?id=$1 [L]
 
le ([0-1]+) repère l'id dans l'url (ici 123), le "sauve" dans $1. Ensuite le "page.php?id=$1" appelle effectivement "page.php?id=123" sur le serveur web.
 
J'espère que ceci te mettra sur le droit chemin de l'url rewriting  :)


 
Merci d'avoir pris le temps de m'expliquer ca me parait plus clair  :jap:  
 
Je vais donc laisser tomber ma table de correspondance.  
 
Par contre ce qui est moins cool c'est que je vais devoir modifier tous les liens dans les fichiers php ... Il n'existe pas un moyen de les modifier automatiquement ?

Reply

Marsh Posté le 19-07-2010 à 20:10:22    

aspirateur a écrit :


 
Par contre ce qui est moins cool c'est que je vais devoir modifier tous les liens dans les fichiers php ... Il n'existe pas un moyen de les modifier automatiquement ?


 
Même si le rewriting est activé, les liens page.php?id=123 fonctionneront toujours. Donc tu peux changer tes liens au fur et à mesure.
Sinon, un search and replace sur tes pages...

Reply

Marsh Posté le 19-07-2010 à 21:02:38    

Ok, merci, c'est parti pour la recherche d'url dans une trentaine de fichiers PHP.
 
Question bonus: pour le sitemap.xml, je mets bien les adresses réécrites hein ?

Reply

Marsh Posté le 20-07-2010 à 09:17:06    

si tu veux référencer les adresses réécrites, il faut que ça soit elles qui apparaissent.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 20-07-2010 à 13:57:48    

Merci à tous, ca y est tout est en place et ca fonctionne bien.
 
En fait c'est tout simple ... Juste un peu long mais simple
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed