URL Rewriting

Répondre
Suta
le 21/08/2006 à 00:27
Suta
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 :

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


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


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
le 21/08/2006 à 09:19
LupusMic
Est-ce que index.php est bien appelé ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Suta
le 21/08/2006 à 10:12
Suta
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 :
<a href="index.php?url=titre_de_lurl&id_news=1">Lien</a>

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


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. :
//dans l'url j'inclue le titre et l'id de la news (-1)
<a href="titre_de_lurl-1.html">Lien</a>

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


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

Merci d'avance, à bientot !
Suta
le 27/08/2006 à 14:26
Suta
Bon alors j'ai un petit peu avancé...

voila la source de mon .htaccess

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([0-9]+)/(-[a-z]*)$ /index.php?news_id=$1 [L]


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

<a href="15/le-titre-du-lien">lien</a>


Mais ça ne marche toujours pas :'(

silvousplais ! aidez moi !

merci d'avance
Suta
le 27/08/2006 à 14:29
Suta
Ah, j'allais oublier de dire que cela fonctionne dans le cas suivant

source du .htaccess

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([0-9]+)$ /index.php?news_id=$1 [L]


lien html :
<a href="15">lien</a>


donc si cela marche je suis pres du but non ?
Suta
le 27/08/2006 à 14:50
Suta
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 :
RewriteRule ^([0-9]+)_([a-z-]+)$ /index.php?news_id=$1 [L]

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


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 !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours