URL Rewriting

Répondre
Suta
Suta
Déconnecté
J'ai un probleme d'URL Rewriting.

Je suis hébergé sur 1and1 et le serveur accepte l'URL Rewriting.

L'URL que je veux réécrir est de la forme :

  1.  
  2. index.php?url=mon-titre&news_id=1
  3.  


la source de mon fichier .htaccess est :
  1.  
  2. Options +FollowSymLinks
  3. RewriteEngine On
  4. RewriteRule ^(-[a-z]*).html$ /index.php?url=$1 [L]
  5.  


la réécriture de mon URL ne se fait pas...

Je suis novice en la matiere et apres plusieurs recherche sur le net je n'ai toujours pas trouvé de solution.

Merci d'avance pour votre aide et à bientôt !
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Est-ce que index.php est bien appelé ?
Suta
Suta
Déconnecté
Je n'ai pas trop compris ta question ^^.

Je crois que j'ai compris ou était mon erreur :

je n'avais jamais fait d'URL Rewriting avant et je pensait que si sur ma page j'avais un lien du type :
  1.  
  2. <a href="index.php?url=titre_de_lurl&id_news=1">Lien</a>
  3.  

alors mon htaccess le réécrirai sous la forme que je lui demande ; en l'occurence :
  1.  
  2. titre_de_lurl.html
  3.  


Mais je crois comprendre que ça ne fonctionne pas comme cela (dites moi si je me trompe).

il faudrai que mon lien (dans la source) soit du type de l'URL réécrite, cad. :
  1.  
  2. //dans l'url j'inclue le titre et l'id de la news (-1)
  3. <a href="titre_de_lurl-1.html">Lien</a>
  4.  

puis apres cet URL est traitée par le htaccess pour afficher dans ma page ce que devrai m'afficher l'URL suivante :
  1.  
  2. index.php?url=titre_de_lurl&id_news=1
  3.  


Je ne suis pas sure d'avoir bien compris, alors si quelqun pouvait confirmer mes dires :)...

Merci d'avance, à bientot !
Suta
Suta
Déconnecté
Bon alors j'ai un petit peu avancé...

voila la source de mon .htaccess

  1.  
  2. Options +FollowSymLinks
  3. RewriteEngine On
  4.  
  5. RewriteRule ^([0-9]+)/(-[a-z]*)$ /index.php?news_id=$1 [L]
  6.  


voila la source de ma page (au niveau des lien)

  1.  
  2. <a href="15/le-titre-du-lien">lien</a>
  3.  


Mais ça ne marche toujours pas :'(

silvousplais ! aidez moi !

merci d'avance
Suta
Suta
Déconnecté
Ah, j'allais oublier de dire que cela fonctionne dans le cas suivant

source du .htaccess

  1.  
  2. Options +FollowSymLinks
  3. RewriteEngine On
  4.  
  5. RewriteRule ^([0-9]+)$ /index.php?news_id=$1 [L]
  6.  


lien html :
  1.  
  2. <a href="15">lien</a>
  3.  


donc si cela marche je suis pres du but non ?
Suta
Suta
Déconnecté
Bon apres beacoup de recherch j'ai trouvé d'ou venait le probleme :

j'avais mal écris l'expression réguliere dans le htaccess :

au lieu d'ecrire :
  1.  
  2. RewriteRule ^([0-9]+)_([a-z-]+)$ /index.php?news_id=$1 [L]
  3.  

J'avai ecrit :
  1.  
  2. RewriteRule ^([0-9]+)_(-[a-z]+)$ /index.php?news_id=$1 [L]
  3.  


En résumé je vous donne ce lien qui explique comment l'URL rewriting fonctionne :
[url]http://www.webrankinfo.com/analyses/autres/mettre-en-place-url-rewriting.php
[/url]

Attention car il y a quelques fautes (la mienne) dans la notation d'expression régulieres.

Il est important de retenir ceci : l'URL rewriting necessite de réécrire les liens à la source. Autant vous dire que si vous developez un site, n'attendez pas de l'avoir fini pour vous interesser à l'url rewriting...

J'espere que ça en aidera certain a mieux comprendre tout ça.

Bon courage !
Carssou
Carssou
Déconnecté
Merci beaucoup pour le lien
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog