Tiret dans mes $_GET et tiret comme séparateur => probleme :/

Discussion dans 'URL Rewriting et .htaccess' créé par ghostya, 14 Décembre 2011.

  1. ghostya
    ghostya Nouveau WRInaute
    Inscrit:
    8 Décembre 2011
    Messages:
    24
    J'aime reçus:
    0
    Bonjour,

    Je me retrouve bien dans une grosse cata que je n'ai pas pu anticipé car j'étais pourtant sur de mon coup.

    En fait j'ai une url avec 2 parametres: $_GET['cat'] et $_GET['page'].
    Ces deux parametres peuvent contenir des lettres,chiffres et tirets.

    Le problème est que j'ai choisi aussi comme séparateur d'url le caractère tiret (-).

    Donc quand je charge une url du type:

    www.monsite.com/categorie-1-page-2.html

    Et bien il me dit que mon $_GET['cat'] vaut "categorie" alors qu'il devrait récupérer "categorie-1".

    Ma règle est la suivante (je la mets si ça peut aider à trouver mon probleme):

    Code:
    RewriteRule ([0-9a-zA-Z-]+)-([0-9a-zA-Z-]+).html /cat=$2&page=$3
    Merci d'avance,
    J'espere que ce n'est pas trop compliqué :?
     
  2. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 882
    J'aime reçus:
    0
    Bonjour,

    Il ne faut pas demander l'impossible. Si ton URL peut être /chapeau-blanc-bonnet.html, je ne vois pas comment Apache pourrait deviner que tu veux dire "chapeau blanc" + "bonnet" plutôt que "chapeau" + "blanc bonnet".

    Jean-Luc
     
  3. ghostya
    ghostya Nouveau WRInaute
    Inscrit:
    8 Décembre 2011
    Messages:
    24
    J'aime reçus:
    0
    Bonjour,

    Ah bon c'est bien ce qui me semblait.

    Mais bon pas évident de ne pas demander l'impossible quand on entend sur ce forum que le signe "," n'est pas bien pris en compte lors d'un partage avec le bouton partager de facebook, que le signe + est compté comme un espace, que le "_" ne permet pas de séparer deux mots pour Google... etc etc.

    Que faire dans mon cas ? Quel séparateur utiliser ?

    Merci encore
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 026
    J'aime reçus:
    291
    Sauf s'il l'avait fait en PHP, explode() + test sur le type de variable.
     
  5. ghostya
    ghostya Nouveau WRInaute
    Inscrit:
    8 Décembre 2011
    Messages:
    24
    J'aime reçus:
    0
    Test sur le type de variable ? Il s'agit de deux string comprenant donc chiffres,lettres et tirets...
    Je développe bien en PHP mais je ne comprends pas ce que tu veux dire ?

    Sinon quel séparateur choisir à part le tiret ?

    Merci pour ta réponse ^^
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 026
    J'aime reçus:
    291
    S'il y a tjs 4 paramètres, il n'y a pas besoin de tester le type:

    -http://example.com/index.php?url=categorie-1-page-2
    PHP:
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php <br /></span><span class="syntaxkeyword">list(</span><span class="syntaxdefault">$cat</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $catId</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $page</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $pageId</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'-'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'url'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">"$cat $catId $page $pageId"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">?><br /></span></span>
    Il y a moyen de faire bcp plus flexible qu'avec le rewrite de cette façon, et surtout, avec 1 seule règle de rewrite:
    https://www.webrankinfo.com/forum/pratique-htaccess-lire-avant-poser-t13288 ... l#p1217718
     
  7. ghostya
    ghostya Nouveau WRInaute
    Inscrit:
    8 Décembre 2011
    Messages:
    24
    J'aime reçus:
    0
    Non tu ne m'as pas compris en fait ^^ Je vois ce que tu veux dire mais ce n'est pas aussi simple.

    Ma premiere variable $_GET peut très bien valoir ceci: "categorie-1-6-3" et mon autre variable pareil.

    Bon ce n'est pas grave je pense que je vais malheureusement devoir utiliser un autre séparateur comme l'underscore.

    Merci encore à tous^^
     
  8. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 192
    J'aime reçus:
    1
    d'un autre côté un truc du genre devrais faire la farce (dans l'esprit)

    RewriteRule ([a-zA-Z-]{1,100}-[0-9]{1,4})-([a-zA-Z-]{1,100}-[0-9]{1,4}).html /cat=$2&page=$3

    je connais pas l'usage du "+" les{x,y} permettent de fixer un certains nombre d’occurrences possible
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 026
    J'aime reçus:
    291
    Oui OK sorry j'avais pas fait attention :)

    Alors fait un mix des 2 avec slashes et tirets et la méthode de rewrite avec 1 seul paramètre GET (ou QUERY_STRING ou PATH_INFO)
     
Chargement...
Similar Threads - Tiret $_GET tiret Forum Date
Nom de domaine avec trois tirets VS nom de domaine sans tirets Débuter en référencement 29 Mars 2020
Meilleur référencement de nom de domaine avec ou sans tiret ? Débuter en référencement 22 Février 2019
nom de domaine avec ou sans tiret en 2017 ? Noms de domaine et référencement 13 Novembre 2017
Des tirets dans le nom de domaine (NDD) Débuter en référencement 2 Novembre 2016
rewriting probleme avec tiret soulignement, espace, accent et. Netlinking, backlinks, liens et redirections 9 Septembre 2015
Remplacer les underscores par des tirets URL Rewriting et .htaccess 1 Septembre 2015
Chiffres et tiret [nom de domaine] Noms de domaine et référencement 24 Juillet 2015
Nom de domaine avec un tiret ? Noms de domaine et référencement 7 Mai 2014
conseil pour une adresse url : tirets dans nom de domaine ? Problèmes de référencement spécifiques à vos sites 28 Avril 2014
URL Rewriting et paramètre contenant des tirets - WEBDEV URL Rewriting et .htaccess 30 Janvier 2014
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice