Besoin d'aide pour Url rewriting

  • Auteur de la discussion Auteur de la discussion amazigh25
  • Date de début Date de début
WRInaute impliqué
Bonsoir
J'ai programé un script pour un annuaire de cartouches et j'aimerai réecrire les urls.

Voici ce que je voudrais faire :
URL réele :
Code:
marque.php?marque=Canon
Résultat Voulu :
Code:
marque-canon.html

URL réele :
Code:
imprimante.php?id=1
Résultat voulu :
Code:
imprimante-1.html

J'ai suivit le tutorial mais j'ai pas réussi, sois j'obtient une erreur 500 soit les urls ne changent pas !
Mon hébérgeur accepte l'UR ( 1and1)

Es ce que vous pouvez m'aider ?

Merci d'avance
 
WRInaute occasionnel
le mod rewrite ne sert pas à convertir "imprimante.php?id=1" en "imprimante-1.html" mais l'inverse. Pour fair ce que tu dit, c'est dans ton script ... PHP je suppose ... que tu doit géré le truc.
 
WRInaute impliqué
Merci beaucoup j'ai compris à l'envers !

Voici le code que j'ai mis dans mon htacces :
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^marque-([A-Za-z]*).html$ marque.php?marque=$1 [L]


RewriteRule ^imprimante-([0-9]+)\.html$ imprimante.php?id=$1 [L]

Es ce que c'est le bon ?

Si c'est bon, /imprimante-2.html devrait rediriger vers /imprimante.php?id=2 ?

Merci encore
 
WRInaute occasionnel
J'apporterais une petite modif :
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^marque-([A-Za-z]*)\.html$ /marque.php?marque=$1 [L]

RewriteRule ^imprimante-([0-9]+)\.html$ /imprimante.php?id=$1 [L]
Ou peut-être
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/marque-([A-Za-z]*)\.html$ /marque.php?marque=$1 [L]

RewriteRule ^/imprimante-([0-9]+)\.html$ /imprimante.php?id=$1 [L]

Si le problême perciste, marque.php est il a la racine ou dans un repértoire ?
 
WRInaute impliqué
Bonsoir
le problême perciste, marque.php et imprimante.php sont dans le dossier "cartouches" et le .htacces aussi ;)

Merci
 
WRInaute occasionnel
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^marque-([A-Za-z]*)\.html$ /cartouches/marque.php?marque=$1 [L]

RewriteRule ^imprimante-([0-9]+)\.html$ /cartouches/imprimante.php?id=$1 [L]
Ou
Code:
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/marque-([A-Za-z]*)\.html$ /cartouches/marque.php?marque=$1 [L]

RewriteRule ^/imprimante-([0-9]+)\.html$ /cartouches/imprimante.php?id=$1 [L]
 
WRInaute impliqué
Bonsoir

Le premier code a marché.
Je te remercie pour cette aide rapide.

Dernière question, si je passe chez OVH je garde le même code ou j'utilise le 2ème ?

Bonne nuit ;)
 
WRInaute occasionnel
La seul différence entre les deux, c'est le slash en debut de regle.

Personellement, sous EasyPHP seul la numéro deux fonctionne et sur mon hébergeur c'est l'inverse.

Donc garde l'astuce en tête, si ta règle ne marche pas, test l'une et l'autre avant de cherché plus loin. Je me suis enmer*er plusieur jour à cause de se petit détail. :D

PS: Pense aussi, quand tu à des scripts dans des répertoire de les spécifier dans ta règle, peut importe où se trouve le .htaccess. Je me suis aussi enm**der plusieur semaine a cause de ça. :D

Bon Weekend ;)
 
Discussions similaires
Haut