URL rewriting fonctionne avec une variable pas plus

Discussion dans 'URL Rewriting et .htaccess' créé par bing, 6 Décembre 2012.

  1. bing
    bing Nouveau WRInaute
    Inscrit:
    27 Mai 2011
    Messages:
    7
    J'aime reçus:
    0
    Bonjour
    Après avoir lu ce tutoriel https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting
    j'ai besoin de votre aide parce que certain point ne marche pas chez moi.
    Ci-dessous mon fichier .htaccess

    Code:
    RewriteRule ^([a-zA-Z0-9_].+)\.html$   /index.php?page=$1 [L]
    											 
    RewriteRule ^([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)\.html$   /index.php?page=$1&ID=$2&categorie=$3 [L]	
    la 1ère réécriture fonctionne sans problème mais la seconde ne fonctionne pas. j'aimerai savoir pourquoi SVP
     
  2. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    407
    J'aime reçus:
    0
    Tout simple :
    le htaccess se lit du haut vers le bas. Donc, si il trouve une règle de réécriture qui correspond, il arrête la lecture du htaccess et fait fonctionner directement la règle trouvée.

    Ce qui signifie que tu dois juste inverser tes deux règles dans le htaccess pour que la règle 2 :
    Code:
    RewriteRule ^([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)\.html$   /index.php?page=$1&ID=$2&categorie=$3 [L] 
    s'exécute si l'URL est de la forme nomdepage-12-nomdelacategorie.html .

    Si par contre, il ne trouve pas de correspondance avec la règle 2, à savoir par exemple nomdelapage.html, il testera la correspondance avec la règle d'après, soit :
    Code:
    RewriteRule ^([a-zA-Z0-9_].+)\.html$   /index.php?page=$1 [L]
    Dans ton cas, tu dois donc écrire :
    Code:
    RewriteRule ^([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)\.html$   /index.php?page=$1&ID=$2&categorie=$3 [L]
    
    RewriteRule ^([a-zA-Z0-9_].+)\.html$   /index.php?page=$1 [L]
    
    VOilà, tiens nous au jus ;)
     
  3. bing
    bing Nouveau WRInaute
    Inscrit:
    27 Mai 2011
    Messages:
    7
    J'aime reçus:
    0
    Quand j'inverse, aucun des 2 règles ne fonctionne.

    j'aimerai aussi rappeler que la variable "page" n'a pas la même valeur dans les deux règles
     
  4. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    407
    J'aime reçus:
    0
    Alors tu vas devoir donner plus d'incications à ton URL réécrite pour que le htaccess comprenne qui est qui :

    exemple :
    pour cette règle,
    Code:
    /index.php?page=$1&ID=$2&categorie=$3
    
    je pense que tu devrais avoir une URL finale du type :
    Code:
    ([a-zA-Z0-9_].+)-id([a-zA-Z0-9_].+)-cat([a-zA-Z0-9_].+)\.html$
    
    Ce qui donnerait :
    Code:
    ([a-zA-Z0-9_].+)-id([a-zA-Z0-9_].+)-cat([a-zA-Z0-9_].+)\.html$   /index.php?page=$1&ID=$2&categorie=$3
    
    Et pour ta règle 1 resterait identique :
    Code:
    RewriteRule ^([a-zA-Z0-9_].+)\.html$   /index.php?page=$1 [L]
    Le but de la manoeuvre est de faire comprendre au htaccess que s'il trouve -id et -cat ça correspond à la règle
    Code:
    ([a-zA-Z0-9_].+)-id([a-zA-Z0-9_].+)-cat([a-zA-Z0-9_].+)\.html$   /index.php?page=$1&ID=$2&categorie=$3
    
    sinon, ça correspond à la suivante.
     
  5. bing
    bing Nouveau WRInaute
    Inscrit:
    27 Mai 2011
    Messages:
    7
    J'aime reçus:
    0
    Tout d'abord un grand merci Djibou_Te@M pour ton assistance.

    Après toutes ces modifications je reçois maintenant un page d'erreur sur les 2 règles
     
  6. bing
    bing Nouveau WRInaute
    Inscrit:
    27 Mai 2011
    Messages:
    7
    J'aime reçus:
    0
    rectification
    cette règle fonctionne
    Code:
    RewriteRule ^([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)-cat-([a-zA-Z0-9_].+)-([a-zA-Z0-9_].+)\.html$   /index.php?page=$1&ID=$2&categorie=$3&titre=$4 [L]
    
    mais la 2ème règle
    Code:
    RewriteRule ^([a-zA-Z0-9_].+)\.html$   /index.php?page=$1 [L]
    me renvois une page d'erreur.
    et quand j'inverse c'est la règle qui est en tête qui fonction
     
  7. bing
    bing Nouveau WRInaute
    Inscrit:
    27 Mai 2011
    Messages:
    7
    J'aime reçus:
    0
    Merci spout pour tes liens elles sont intéressantes mais je pense que si je les suis les choses risquent de tout se gâté dans ma tête
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 760
    J'aime reçus:
    234
    C'est 1 règle de rewrite pour TOUT faire ... à toi de voir, si tu préfères te prendre la tête :)
     
  9. bing
    bing Nouveau WRInaute
    Inscrit:
    27 Mai 2011
    Messages:
    7
    J'aime reçus:
    0
    Dans mon cas expliqué ci-dessous SVP comment mettre en place cette règle
     
Chargement...
Similar Threads - rewriting fonctionne variable Forum Date
rewriting qui fonctionne pas URL Rewriting et .htaccess 13 Avril 2018
URL Rewriting simple ne fonctionne pas URL Rewriting et .htaccess 16 Février 2018
URL rewriting avec Htaccess qui ne fonctionne pas Développement d'un site Web ou d'une appli mobile 1 Novembre 2016
URL Rewriting ne fonctionne pas URL Rewriting et .htaccess 19 Décembre 2014
Url rewriting et redirection 301 [R=301,L] ne fonctionne pas ensemble URL Rewriting et .htaccess 18 Septembre 2013
URL Rewriting qui de fonctionne pas URL Rewriting et .htaccess 8 Avril 2013
URL Rewriting qui ne fonctionne pas URL Rewriting et .htaccess 5 Janvier 2012
Pb url rewriting non fonctionnel URL Rewriting et .htaccess 7 Décembre 2010
urlrewriting qui fonctionne en local mais pas en ligne URL Rewriting et .htaccess 22 Octobre 2010
[WP 3.0] Rewriting ne fonctionne pas avec les custom types ??? Développement d'un site Web ou d'une appli mobile 6 Octobre 2010
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice