Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/03/2011, 12h00   #1
Invité régulier
 
Thomas Lartaud
Inscription : février 2009
Messages : 18
Détails du profil
Informations personnelles :
Nom : Thomas Lartaud
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2009
Messages : 18
Points : 5
Points : 5
Par défaut RewriteRule et redirection.

Bonjour à tous.

J'utilise pour mon site un lien de page qui est le suivant :
Code :
Coloration_9_Naturels_color-star-n-1-Noir__CSP1-100ML.html
Ce lien doit être transformé en :
Code :
produit.php?ref=CSP1-100ML&id_rubrique=9
J'utilise donc dans mon htaccess la règle suivante :
Code :
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)__([^.]*)\.html  produit.php?ref=$5&id_rubrique=$2  [NC,QSA,L]
Le code fonctionne très bien. Seulement, j'ai plusieurs références de produits sur mon site qui contienne un "." , et dans ce cas là, la redirection ne fonctionne plus.
Par exemple, ce lien ne fonctionnera pas :
Code :
Shampoings_30_Shampooings-techniques_Shampooing-argent-dejaunisseur-1L__SH.ARG-1L_.html
( Not found ... )

Je suppose donc que ce qui pose problème est ma règle de réécriture dans mon htaccess, mais vu que je n'y connais rien en htaccess, je ne sais pas vraiment quoi modifier.
Selon mes recherches, l'élément ([^.]*) récupère une chaine de caractère en excluant le "." ou alors, le "." déterminerait la fin de l'élément, je ne sais pas trop ... J'imagine donc que c'est ceci qu'il faudrait modifier ... Mais le remplacer par quoi ?
Je sèches ...

Merci d'avance !!
28ToM47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h43   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Citation:
Envoyé par 28ToM47 Voir le message
Selon mes recherches, l'élément ([^.]*) récupère une chaine de caractère en excluant le "." ou alors, le "." déterminerait la fin de l'élément, je ne sais pas trop ... J'imagine donc que c'est ceci qu'il faudrait modifier ... Mais le remplacer par quoi ?
Exactement. Le plus simple c'est de remplacer [^.] par . : (.*)
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h02.


 
 
 
 
Partenaires

Hébergement Web