URL Rewriting
le 21/08/2006 à 00:27
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 !
le 21/08/2006 à 09:19
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Est-ce que index.php est bien appelé ?
le 21/08/2006 à 10:12
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 :
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 !
le 27/08/2006 à 14:26
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
le 27/08/2006 à 14:29
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 :
donc si cela marche je suis pres du but non ?
le 27/08/2006 à 14:50
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 !
le 09/11/2006 à 13:55
Merci beaucoup pour le lien
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter