IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[.htaccess] RewriteCond %{QUERY_STRING} pas pris en compte


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut [.htaccess] RewriteCond %{QUERY_STRING} pas pris en compte
    Bonjour,

    J'aimerais utiliser RewriteCond pour créer un url rewriting en fonction des variables présentent dans mes url

    J'ai vu que l'on pouvait utiliser RewriteCond %{QUERY_STRING} pour créer des conditions en fonction des variables envoyées.

    J'ai donc fait le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RewriteCond %{QUERY_STRING} !ir=([0-9]+)
    RewriteRule map-(.*)-([0-9]+)-(.*)-([0-9]+)-(.*) map.php?type=$1&ic=$2&nc=$3&ib=$4&nb=$5 
    RewriteRule map-(.*)-([0-9]+)-(.*) map.php?type=$1&ic=$2&nc=$3 
    RewriteRule map-(.*) map.php?type=$1 
     
    RewriteCond %{QUERY_STRING} ir=([0-9]+)
    RewriteRule map-(.*)-([0-9]+)-(.*)-([0-9]+)-(.*)-([0-9]+)-(.*) map.php?type=$1&ir=$2&nr=$3ic=$4&nc=$5&ib=$6&nb=$7 
    RewriteRule map-(.*)-([0-9]+)-(.*)-([0-9]+)-(.*) map.php?type=$1&ir=$2&nr=$3&ic=$4&nc=$5 
    RewriteRule map-(.*)-([0-9]+)-(.*) map.php?type=$1&ir=$2&nr=$3 
    RewriteRule map-(.*) map.php?type=$1
    si je ne récupere pas la variable de ir qui n'est pas indispensable je la supprime des nouvelles url, si je la récupére je l'ajoute ...

    J'ai essayé tout les combinaisons possibles mais ce code ne marche pas

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Il faut répéter le RewriteCond avant chaque RewriteRule : on ne peut pas mettre un RewriteCond pour un groupe de RewriteRule indépendantes (i.e. qui ne se cascadent pas avec [C]).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut
    merci,

    Donc je dois mettre [c] a la fin de chaque RewriteRule ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Il faut répéter le RewriteCond avant chaque RewriteRule

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut
    Ok merci

    Mais je pense qu'au final ce que j'essaye de faire est impossible, car mes liens sont déja rewrité sur mon site du style :

    http://monsite.com/search-2-homme

    donc logiquement je ne peux pas faire des conditions avec des variables qui ne sont plus présentent dans mes urls comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} ir=([0-9]+)


    Donc comment faire pour faire des conditions sur des urls re-écrites

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Utilise %{REQUEST_URI} : ça correspondra à search-2-homme (sans le / devant car dans un .htaccess, par opposition au fichier de conf principal d'Apache).

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Par défaut
    ok, mais peut on récupérer les éléments séparés ?

    par exemple 2 et homme et faire des conditions sur ces éléments séparés

Discussions similaires

  1. htaccess pas pris en compte
    Par Emilie012 dans le forum Apache
    Réponses: 14
    Dernier message: 08/02/2008, 12h58
  2. getline(cin,s) pas pris en compte ?
    Par FinalSpirit dans le forum SL & STL
    Réponses: 3
    Dernier message: 19/01/2006, 01h18
  3. [Mail] Les sauts de lignes pas pris en compte
    Par Anduriel dans le forum Langage
    Réponses: 15
    Dernier message: 14/12/2005, 19h13
  4. [Plugi][phpeclipse] point d'arrêt pas pris en compte
    Par damjal dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 22/11/2005, 23h58
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo