Tiret dans règle de réécriture d'url

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

  1. ricotrutt
    ricotrutt WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    90
    J'aime reçus:
    2
    Bonjour à tous,

    j'ai un problème dans ma règle de réécriture d'url, je n'arrive pas à faire en sorte que ma variable puisse contenir un tiret.

    Voici ma règle, ça me fait une erreur 404 (page non trouvée) :
    Code:
    RewriteRule ^([a-z]+)/experts-comptables-(-[A-Z]+[a-z]+)$  /index.php?p=$1&d=$2 [L]
    Mon url type est http://www.mondomaine.com/annuaire/experts-comptables-Charentes-Maritime par exemple.

    Merci d'avance pour votre aide.
     
  2. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
    Tu cherches compliqué quand même, non ?

    Ceci devrait fonctionner :
    Code:
    RewriteRule ^(.+)/experts-comptables-(.+)  /index.php?p=$1&d=$2 [L]
    
    À moins de vouloir une règle très stricte, cette règle suffit amplement.
     
  3. ricotrutt
    ricotrutt WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    90
    J'aime reçus:
    2
    Génial, ça fonctionne parfaitement. Je ne maîtrise pas hyper bien les rewritings, donc je ne savais pas qu'on pouvait faire aussi simple. Merci beaucoup !
     
  4. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
  5. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Je ne te remercie pas @Blount pour ton lien..j'ai cliqué dessus et je viens de passer plus de 2 heures à tenter de comprendre les expressions régulières . Maintenant j'ai mal au crane :mrgreen:
    Code:
    <?php
    $texte ="Je te hais ;)!";
    $texte = preg_replace('#(hais)#', '<strong>$1</strong>', $texte);
    $texte = preg_replace('#(;\))#', '<big style="color:red;">$1</big>', $texte);
    echo $texte;
    ?>
    
     
  6. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
    Oui, mais avec les expressions régulières, tu fais tout ce que tu veux ;)

    Par contre, en PHP, il faut faire attention à ne les utiliser que si c'est nécessaire. Par exemple, préférer « str_replace » lorsque c'est possible (comme dans ton exemple).

    Bref, on sort du sujet, on va en rester là :)
     
  7. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Euh non j'ai une question :)
    Eviter les regex en php c'est pour une question de performance ?
     
  8. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
    Oui, il est plus gourmand de traiter une chaîne avec des regexp qu'avec des simples str_replace ou encore strpos (recherche de texte).

    Mais, ça se limite vite. On passe rapidement au regexp dans des choses compliqués.
     
  9. nutri74
    nutri74 Nouveau WRInaute
    Inscrit:
    11 Mai 2009
    Messages:
    42
    J'aime reçus:
    0
    Il suffit simplement de rajouter (0-9)
    J'ai eu le même blocage.
     
Chargement...
Similar Threads - Tiret règle réécriture 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