Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1655 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  URL Rewriting - Besoin de conseil pour mise en place

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

URL Rewriting - Besoin de conseil pour mise en place

n°2009876
aspirateur
Posté le 19-07-2010 à 08:40:36  profilanswer
 

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.
 
 

mood
Publicité
Posté le 19-07-2010 à 08:40:36  profilanswer
 

n°2009894
Nico5779
Posté le 19-07-2010 à 10:12:54  profilanswer
 

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
n°2009972
jeff@be
Posté le 19-07-2010 à 13:16:08  profilanswer
 

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  :)

n°2009977
Dj YeLL
$question = $to_be || !$to_be;
Posté le 19-07-2010 à 13:24:12  profilanswer
 

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
n°2009979
aspirateur
Posté le 19-07-2010 à 13:35:50  profilanswer
 

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 ?

n°2010171
jeff@be
Posté le 19-07-2010 à 20:10:22  profilanswer
 

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...

n°2010179
aspirateur
Posté le 19-07-2010 à 21:02:38  profilanswer
 

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 ?

n°2010227
NewsletTux
<Insérez ici votre vie />
Posté le 20-07-2010 à 09:17:06  profilanswer
 

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
n°2010384
aspirateur
Posté le 20-07-2010 à 13:57:48  profilanswer
 

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
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  URL Rewriting - Besoin de conseil pour mise en place

 

Sujets relatifs
[Oracle]Mise à jour de clé étrangère aléatoireQu'est-il à dire de cette erreur ? (URL)
Passer une variable qui a un caractere & dans l'URLBesoin d'information sur les fichiers partagés sur Excel
[CSS] problème de mise en pageProblème de mise à jours avec une requête Microsoft Query
mise à jour de liste déroulante sous access 2007Je cale sur les erreurs d'URL... ENCORE
Besoin de conseils pour se lancer dans le codage 
Plus de sujets relatifs à : URL Rewriting - Besoin de conseil pour mise en place


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR