url rewriting

patrick777
Invité n'ayant pas de compte PHPfrance

06 mars 2008, 21:32

Bonjour,

j'ai un site dont les adresse generees par php sont du style:

http://www.monsite.com/article.php?ville=CANNES
http://www.monsite.com/article.php?ville=GAP
etc...

Je voudrais que les pages générées soient du style:

http://www.monsite.com/article-CANNES.html

Dans mon fichier .htaccess, je met donc:

RewriteEngine On
RewriteRule ^article-([^/]*)\.html$ /article.php?ville=$1 [L]

ça fonctionne quand je tape directement l'adresse:

http://www.monsite.com/article-CANNES.html

mais quand je passe par le lien present sur ma page d'index, ça me sort:
http://www.monsite.com/article.php?ville=CANNES
ça ne prend pas en compte l'url rewriting.

Je pense qu'il faudrait peut etre que je change le lien dans mon code php, mais je ne sais pas trop comment faire.

mon code php est:

<?php
$sql = ("SELECT DISTINCT ville FROM livraison_fleurs ORDER BY ville");
$result = mysql_query($sql);

echo '<ul>';

while ($row = mysql_fetch_assoc($result)) {
echo '<li><a href="fleuriste.php?ville='.$row['ville'].'">'.$row['ville'].'</li>';
}

echo '</ul>';
?>

quelqu'un aurait il une idée? :roll:

Eléphant du PHP | 175 Messages

07 mars 2008, 11:02

le rewrite ne change que la maniere dont ton serveur web va rediriger les urls vers tes scripts.

il ne modifie pas les scripts, c'est a toi de le faire.

on peut changer une carte routiere mais la dde doit changer les panneaux, petite metaphore du matin... :twisted:

donc la ca donnerait dans ton script:
echo '<li><a href="article-'.$row['ville'].'.html">'.$row['ville'].'</li>';

Eléphanteau du PHP | 19 Messages

07 mars 2008, 12:53

Merci pour la métaphore,
ça vaut mieux que mille explications parfois.
C nikel, je suis super content.
Je suis pas vraiment un pro dans ce domaine, tout juste un amateur qui débute et qui
a un peu de mal;)
En tout cas, tu m'enleve une sacré épine du pied. :D :D :D
A +

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 mars 2008, 13:05

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...