URL Rewriting - Besoin de conseil pour mise en place - PHP - Programmation
Marsh Posté le 19-07-2010 à 10:12:54
aspirateur a écrit : |
oui.
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
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
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. |
Merci d'avoir pris le temps de m'expliquer ca me parait plus clair
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 ?
Marsh Posté le 19-07-2010 à 20:10:22
aspirateur a écrit : |
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...
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 ?
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.
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
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.