Aller au contenu

Rewriting


Sujets conseillés

Bonjour à tous ;-)

J'essaie en vain de créer un rewriting avec cette adresse

www.monsite.com/affichecat.php?nomcat=Habillement

mon hebergeur autorise le rewriting et j'ai fais un test et sa marche

RewriteEngine on

RewriteRule ^nexistepas.html$ /trouve.html [L]

Voici le fichier htaccess que j'ai fais, mais là, sa ne marche pas !

RewriteEngine on

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

et j'aimerais également remplacer les %20

www.monsite.com/affichecat.php?nomcat=Habillement

Si qql a une solution, sa fais 2 jours que je cherhe l'erreur.

Merci, et bonne fin de semaine :-)

Posté 2 fois car erreur de catégorie

Lien vers le commentaire
Partager sur d’autres sites

edit: Pour ton cas ca serai réécrire

www.monsite.com/affichecat.php?nomcat=Habillement

en

www.monsite.com/affichecat-Habillement.html

c'est bien ça ??

Si oui, essaye :

RewriteEngine on

RewriteRule ^affichecat-([a-Z]+)\.html$ /affichecat.php?nomcat=$1 [L]

Modifié par Ryo
Lien vers le commentaire
Partager sur d’autres sites

Merci pour ces réponses...

pour la premiere réponse cela me donne une erreur interne ! donc.... marche pas :-(

L'url de base est

www.monsite.com/affichecat.php?nomcat=Habillement

j'aimerai que sa donne en gros

www.monsite.com/affichecat-Habillement.htm

ou www.monsite.com/categorie-Habillement.htm

?? en tous cas, merci quand même pour votre premiére réponse.

Lien vers le commentaire
Partager sur d’autres sites

RewriteEngine on

RewriteRule ^affichecat-(.+)\.htm$ /affichecat.php?nomcat=$1 [L]

essaye avec et sans le /

Pour les %20 dans les url, il faut les encoder par urlencode() :

<a href="affichecat-<?php echo urlencode($nomcat); ?>.htm">Mon beau lien sans %20</a>

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup, je vais essayer ... je posterai un msg dans le cas où sa marche ou pas .. Je ne connaissais pas webmaster-hub, je vois que ici vous êtes très sympa :-)

Lien vers le commentaire
Partager sur d’autres sites

cela fonctionne en effet si j'appele directement la page rewritée

mais sa ne fonctionne pas si je pas par les liens habituels.

Le code .htaccess

RewriteEngine on

RewriteRule ^affichecat-(.+)\.htm$ /affichecat.php?nomcat=$1 [L]

Lien vers le commentaire
Partager sur d’autres sites

J'avais bien l'intention de mettre un post aprés vérification ! ;)

je n'avais pas changé le liens du menu

<a target="_parent" href="affichecat.php?nomcat=<? echo $t[$i]['cat'];?>" >

qui est devenu :

<a target="_parent" href="affichecat-<?php echo urlencode($nomcat); ?><? echo $t[$i]['cat'];?>.htm">

par contre je galére un peut pour "urlencode", mais bon... j'apprends ;)

Merci pour ces leçons!

Lien vers le commentaire
Partager sur d’autres sites

Qui aurait une solution ??

<a target="_parent" href="affichecat-<?php echo urlencode($nomcat); ?><? echo $t[$i]['cat'];?>.htm">

mon urlencode ne me remplace pas les %20, et là je ne pige plus !

Lien vers le commentaire
Partager sur d’autres sites

Déjà le . (point) permet de concaténer, cad de fusionner deux variables :

<a target="_parent" href="affichecat-<?php echo urlencode($nomcat).$t[$i]['cat'];?>.htm">

Question : que contient la variable $t[$i]['cat'] ?

Il n'y a pas de séparateur entre $nomcat et $t[$i]['cat'] ?

Que vaut $nomcat ?

Urlencode() remplace (entre autre) les espaces par des + mais si la variable contient déjà des %20, pas sur que ça change qq chose.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...