[résolu] tirets dans url rewriting ???
Règles du forum
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
11 messages
• Page 1 sur 1
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
-

guigui48 - Nouveau WRInaute

- Messages: 13
- Inscription: 14 Fév 2010
[résolu] tirets dans url rewriting ???
Bonjour à tous
Je continue mon petit site, et j'ai un petit souci concernant l'url rewriting
Explication :
j'ai fait une table famille_produit et une table produit
Pour faire simple :
FAMILLE_PRODUIT
idfamille
nom
PRODUIT
idproduit
idfamilleproduit
reference
Pour eviter les URL du genre cadeauenfant.php?id=4, je veux faire de l'url rewriting
Imaginons que j'ai une famille de produits "sac à dos" (id=4)
J'aimerai avoir l'adresse suivante : cadeau-enfant-sac-a-dos-4.php
Pour cela j'ai fait le code suivant :
Je précise que j'ai créé un script permettant d'enlever les accents et d'ajouter des tirets à la place des espaces au sein de mon menu php
Est-ce que ce sont les tirets qui posent probleme ????
Merci de me répondre, en vous souhaitant un bon week-end
Je continue mon petit site, et j'ai un petit souci concernant l'url rewriting
Explication :
j'ai fait une table famille_produit et une table produit
Pour faire simple :
FAMILLE_PRODUIT
idfamille
nom
PRODUIT
idproduit
idfamilleproduit
reference
Pour eviter les URL du genre cadeauenfant.php?id=4, je veux faire de l'url rewriting
Imaginons que j'ai une famille de produits "sac à dos" (id=4)
J'aimerai avoir l'adresse suivante : cadeau-enfant-sac-a-dos-4.php
Pour cela j'ai fait le code suivant :
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule cadeau-enfant-([0-9]+)-(.+)\.html$ /cadeau-enfant.php?id=$1 [L]
Je précise que j'ai créé un script permettant d'enlever les accents et d'ajouter des tirets à la place des espaces au sein de mon menu php
Est-ce que ce sont les tirets qui posent probleme ????
Merci de me répondre, en vous souhaitant un bon week-end
-

vitalizo - WRInaute passionné

- Messages: 1086
- Inscription: 27 Nov 2005
Re: tirets dans url rewriting ???
salut,
teste ca:
RewriteRule ^cadeau-enfant-([a-zA-Z0-9]+)\.html$ /cadeau-enfant.php?id=$1 [L]
Mais j'ai un doute sur ton url. A mon avis, il faut deux variables (l'id et le nom)
Je pense que ton url est mauvaise:
ca doit etre
cadeau-enfant.php?id=variable1&nom=variable2
avec une url comme ça tu pourrais faire de l'ur cadeau-enfant-sac-a-dos-4.html
teste ca:
RewriteRule ^cadeau-enfant-([a-zA-Z0-9]+)\.html$ /cadeau-enfant.php?id=$1 [L]
Mais j'ai un doute sur ton url. A mon avis, il faut deux variables (l'id et le nom)
Je pense que ton url est mauvaise:
ca doit etre
cadeau-enfant.php?id=variable1&nom=variable2
avec une url comme ça tu pourrais faire de l'ur cadeau-enfant-sac-a-dos-4.html
-

guigui48 - Nouveau WRInaute

- Messages: 13
- Inscription: 14 Fév 2010
Re: tirets dans url rewriting ???
Bonjour et merci pour ta réponse !
Mais cela ne fonctionne pas !
En gros, imagine dans mon menu, je souhaite que
cadeau-enfant-sac-a-dos-4.html amene à cadeau-enfant.php?id=4
ou que cadeau-enfant-poupee-6.html mène à cadeau-enfant.php?id=6
J'ai aussi essayé de la façon suivante :
en admettant que ref=$1 ne sert à rien !!!
cela non plus ne fonctionne malheureusement pas
J'ai aussi essayé de pointer sur cadeau-enfant-sac_a_dos-4.html, cela ne marche pas non plus (en modifiant les - par des _)
Merci de votre aide !!!!
Mais cela ne fonctionne pas !
En gros, imagine dans mon menu, je souhaite que
cadeau-enfant-sac-a-dos-4.html amene à cadeau-enfant.php?id=4
ou que cadeau-enfant-poupee-6.html mène à cadeau-enfant.php?id=6
J'ai aussi essayé de la façon suivante :
- Code: Tout sélectionner
RewriteRule ^cadeau-enfant-([a-zA-Z0-9]+)-([0-9]+)\.html$ /cadeau-enfant.php?ref=$1&id=$2 [L]
en admettant que ref=$1 ne sert à rien !!!
cela non plus ne fonctionne malheureusement pas
J'ai aussi essayé de pointer sur cadeau-enfant-sac_a_dos-4.html, cela ne marche pas non plus (en modifiant les - par des _)
Merci de votre aide !!!!
-

vitalizo - WRInaute passionné

- Messages: 1086
- Inscription: 27 Nov 2005
Re: tirets dans url rewriting ???
salut,
a mon avis comme j'ai dis plus haut, t'as un soucis dans ton url.
Ta variable id ne peut pas en même temps renvoyer vers un chiffre (ici le 4) et un termes (sac à dos).
Exemple
cadeau-enfant-sac-a-dos-4.html amene à cadeau-enfant.php?id=4
2 variables dans la première url alors qu'il n'y a qu'une dans la seconde.
a mon avis comme j'ai dis plus haut, t'as un soucis dans ton url.
Ta variable id ne peut pas en même temps renvoyer vers un chiffre (ici le 4) et un termes (sac à dos).
Exemple
cadeau-enfant-sac-a-dos-4.html amene à cadeau-enfant.php?id=4
2 variables dans la première url alors qu'il n'y a qu'une dans la seconde.
-

guigui48 - Nouveau WRInaute

- Messages: 13
- Inscription: 14 Fév 2010
Re: tirets dans url rewriting ???
vitalizo a écrit:salut,
a mon avis comme j'ai dis plus haut, t'as un soucis dans ton url.
Ta variable id ne peut pas en même temps renvoyer vers un chiffre (ici le 4) et un termes (sac à dos).
Exemple
cadeau-enfant-sac-a-dos-4.html amene à cadeau-enfant.php?id=4
2 variables dans la première url alors qu'il n'y a qu'une dans la seconde.
En effet, après avoir un peu réfléchi et t'avoir lu, j'ai fait de la façon suivante :
RewriteRule ^cadeau-enfant-([a-zA-Z0-9]+)-([0-9]+)\.html$ /cadeau-enfant.php?ref=$1&id=$2 [L]
mais meêm comme ça, cela ne fonctionne pas
-

guigui48 - Nouveau WRInaute

- Messages: 13
- Inscription: 14 Fév 2010
Re: tirets dans url rewriting ???
Super, ça marche enfin, merci de ton aide !
Mais j'ai encore un bug :
Si je pointe là dessus : cadeau-enfant-sac-1.html, ça marche sans probleme
Par contre si je pointe sur cadeau-enfant-sac-a-dos-1.html ou sur cadeau-enfant-sac_a_dos-1.html, ça ne marche plus !!!
J'en reviens donc à la question : Les tiretsd ou underscores peuvent ils poser problème ? Que me conseillez vous comme séparateur de chaines de caractères ?
Je pensais au / mais n'y a t'il pas de risques de problèmes 404 au niveau des arboresecences (par exemple, il va chercher le fichier 1.html dans les dossier sac, situé lui meme dans le dossier a, etc.... mais ces dossiers n'existent pas)
Mais j'ai encore un bug :
Si je pointe là dessus : cadeau-enfant-sac-1.html, ça marche sans probleme
Par contre si je pointe sur cadeau-enfant-sac-a-dos-1.html ou sur cadeau-enfant-sac_a_dos-1.html, ça ne marche plus !!!
J'en reviens donc à la question : Les tiretsd ou underscores peuvent ils poser problème ? Que me conseillez vous comme séparateur de chaines de caractères ?
Je pensais au / mais n'y a t'il pas de risques de problèmes 404 au niveau des arboresecences (par exemple, il va chercher le fichier 1.html dans les dossier sac, situé lui meme dans le dossier a, etc.... mais ces dossiers n'existent pas)
-

guigui48 - Nouveau WRInaute

- Messages: 13
- Inscription: 14 Fév 2010
Re: tirets dans url rewriting ???
Rebonjour, et merci de porter attention à mon probleme
Cependant, je pense que j'ai du mal m'expliquer, de ce fait, je vais te copier/coller le sql de la table et le script
Là dedans, le champ nompage est la variable que j'utilise pour l'url rewriting (j'ai préféré passer par ce moyen là via un panneau admin plutot que générer un script de remplacement de caractères
En gros, je dois donc générer deux pages:
cadeau-enfant-sac-a-dos-1.html qui pointe sur cadeau-enfant.php?id=1
et
cadeau-enfant-sac-2.html qui pointe sur cadeau-enfant.php?id=2
Pour cela, voici le script utilisé pour mon menu :
Probleme :
ca marche pour la famille sac, et non pour la famille sac à dos, certainement à cause des tirets
Voici le htaccess (je précise que les rewrite sont prises en compte par mon serveur)
Dans ce htacess, la variale ref est facultative car non interprétée par mon code php
Cependant, je pense que j'ai du mal m'expliquer, de ce fait, je vais te copier/coller le sql de la table et le script
- Code: Tout sélectionner
CREATE TABLE IF NOT EXISTS `familleproduit` (
`id` int(11) NOT NULL auto_increment,
`nomproduit` varchar(255) NOT NULL,
`nompage` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
INSERT INTO `familleproduit` (`id`, `nomproduit`, `nompage`) VALUES
(1, 'Sac à dos', 'sac-a-dos'),
(2, 'Sacs', 'sacs');
Là dedans, le champ nompage est la variable que j'utilise pour l'url rewriting (j'ai préféré passer par ce moyen là via un panneau admin plutot que générer un script de remplacement de caractères
En gros, je dois donc générer deux pages:
cadeau-enfant-sac-a-dos-1.html qui pointe sur cadeau-enfant.php?id=1
et
cadeau-enfant-sac-2.html qui pointe sur cadeau-enfant.php?id=2
Pour cela, voici le script utilisé pour mon menu :
- Code: Tout sélectionner
$chercheartenfant = mysql_query("select* from familleproduit order by nomproduit asc");
while ($reqart = mysql_fetch_object($chercheartenfant))
{
echo "<p><a href=\"cadeau-enfant-$reqart->nompage-$reqart->id.html\">$reqart->nomproduit</a></p>";
}
Probleme :
ca marche pour la famille sac, et non pour la famille sac à dos, certainement à cause des tirets
Voici le htaccess (je précise que les rewrite sont prises en compte par mon serveur)
- Code: Tout sélectionner
RewriteRule ^cadeau-enfant-([a-zA-Z0-9]+)-([0-9]+)\.html$ /cadeau-enfant.php?ref=$1&id=$2 [L]
Dans ce htacess, la variale ref est facultative car non interprétée par mon code php
-

guigui48 - Nouveau WRInaute

- Messages: 13
- Inscription: 14 Fév 2010
Re: tirets dans url rewriting ???
Ca y est !!!!
j'ai trouvé !
Je le mets si ça peut aider quelqu'un un jour :
en fait, il fallait simplement remplacer ([a-zA-Z0-9]+) par (.+) pour qu'il puisse prendre en compte tous les caractères
Merci de votre aide en tout cas et bon dev !
PS : par contre je n'arrive pas à éditer afin de mettre RESOLU
j'ai trouvé !
Je le mets si ça peut aider quelqu'un un jour :
en fait, il fallait simplement remplacer ([a-zA-Z0-9]+) par (.+) pour qu'il puisse prendre en compte tous les caractères
Merci de votre aide en tout cas et bon dev !
PS : par contre je n'arrive pas à éditer afin de mettre RESOLU
11 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- [Résolu] Tirets dans les noms de domaine ?
- [RESOLU merci] nom de domaine avec tirets
- URL Rewriting à plusieurs variables / problèmes de tirets
- URL Rewriting, plusieurs tirets dans votre SEO
- Tirets ou pas tirets ? Qu'est-ce que google préfère ?
- [RESOLU] Redirection ou rewriting ?
- [Résolu] Variable Get et rewriting
- [Résolu] Rewriting en minuscule
- [Résolu] Pb d'URL Rewriting
- On débute. rewriting possible (résolu)
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

