[résolu] tirets dans url rewriting ???

Discussion dans 'Débuter en référencement' créé par guigui48, 5 Juin 2010.

  1. guigui48
    guigui48 Nouveau WRInaute
    Inscrit:
    14 Février 2010
    Messages:
    13
    J'aime reçus:
    0
    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 :

    Code:
    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 :wink:
     
  2. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    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
     
  3. guigui48
    guigui48 Nouveau WRInaute
    Inscrit:
    14 Février 2010
    Messages:
    13
    J'aime reçus:
    0
    Re: tirets dans url rewriting ???

    Bonjour et merci pour ta réponse !

    Mais cela ne fonctionne pas ! :cry:

    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:
    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 !!!!
     
  4. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    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.
     
  5. guigui48
    guigui48 Nouveau WRInaute
    Inscrit:
    14 Février 2010
    Messages:
    13
    J'aime reçus:
    0
    Re: tirets dans url rewriting ???

    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 :?
     
  6. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Re: tirets dans url rewriting ???

    ben je vois pas le soucis, la règle fonctionne chez moi
     
  7. guigui48
    guigui48 Nouveau WRInaute
    Inscrit:
    14 Février 2010
    Messages:
    13
    J'aime reçus:
    0
    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)
     
  8. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Re: tirets dans url rewriting ???

    non les tirets ne posent pas de pb (les underscore oui il me semble).
    Pour ton pb, ca doit venir de ton script php qui remplace les espaces en tirets ( vu qu'il ne prend que sac dans l'ur)
     
  9. guigui48
    guigui48 Nouveau WRInaute
    Inscrit:
    14 Février 2010
    Messages:
    13
    J'aime reçus:
    0
    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

    Code:
    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:
    	
    $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:
    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
     
  10. guigui48
    guigui48 Nouveau WRInaute
    Inscrit:
    14 Février 2010
    Messages:
    13
    J'aime reçus:
    0
    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
     
  11. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 581
    J'aime reçus:
    3
    Re: tirets dans url rewriting ???

    C'est fait (la fonction n'existe pas encore).
     
Chargement...
Similar Threads - [résolu] tirets rewriting Forum Date
Problème images en https (forum phpbb) [résolu] Développement d'un site Web ou d'une appli mobile 18 Novembre 2017
[Résolu] Redirection 301 FR vers EN sur Prestashop uniquement sur outils Google ? Problèmes de référencement spécifiques à vos sites 11 Septembre 2017
[résolu] Passage à HTTPS, comment tester une page ? Développement d'un site Web ou d'une appli mobile 7 Septembre 2017
[Résolu] Redirection d'une famille d'URL URL Rewriting et .htaccess 9 Mars 2017
[Résolu] Diaporama et SEO Débuter en référencement 17 Janvier 2017
[résolu]Redirection monsite.fr/index.html sur monsite.fr et seo URL Rewriting et .htaccess 16 Janvier 2017
[resolu]Publicité facebook lié au compte instagram Facebook 12 Décembre 2016
[résolu] Récupérer des valeurs issues de javascript pour les mettre en base MySQL Développement d'un site Web ou d'une appli mobile 18 Juillet 2016
[résolu] Faire une redirection sauf pour mon adresse IP URL Rewriting et .htaccess 15 Juin 2016
[Résolu] 2 descriptions pour une même url selon requête Crawl et indexation Google, sitemaps 1 Juin 2016
[résolu] Action onchange sur FORM/SELECT qui ne fonctionne qu'à la première action ?!? Développement d'un site Web ou d'une appli mobile 31 Mai 2016
[résolu] Sessions : lire le contenu alors qu'on ne sait pas comment il est nommé... Développement d'un site Web ou d'une appli mobile 25 Mai 2016
[résolu] Avoir un paramètre de session "dynamique" ? Développement d'un site Web ou d'une appli mobile 25 Mai 2016
[résolu] Hauteur de div selon état d'un bouton radio Développement d'un site Web ou d'une appli mobile 23 Mai 2016
[résolu] recupération de flux xml et erreur encodage des caractères Développement d'un site Web ou d'une appli mobile 27 Janvier 2016
[résolu] Carte Google Maps avec "zones de densité" Développement d'un site Web ou d'une appli mobile 5 Novembre 2015
Balise NoIndex ignorée par Google? [résolu] Débuter en référencement 13 Janvier 2015
[Résolu] sites référents sans lien vers mon site Demandes d'avis et de conseils sur vos sites 7 Janvier 2015
Lorsqu'on a créé un site, faut-il mettre un lien vers son site dans le footer ? [Résolu] Débuter en référencement 31 Décembre 2014
[RESOLU] recuperer valeur d'un champ en js Développement d'un site Web ou d'une appli mobile 17 Décembre 2014