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 :

[mod_rewrite] Condition basée à la fois sur la query string et le chemin


Sujet :

Apache

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [mod_rewrite] Condition basée à la fois sur la query string et le chemin
    Bonjour à tous.

    J'ai un souci avec une rewriterule. Je ne comprends vraiment pas d'ailleurs car elle fonctionnait sur mon server de test.

    Voila l'idée : dans certain cas je redirige vers un server et des fois non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RewriteLog "/var/log/apache2/rewrite"
    RewriteLogLevel 3
    RewriteEngine on
     
    RewriteCond %{REQUEST_URI} !.*/polling/flash/.* [NC]
    RewriteCond %{REQUEST_URI} .*/SOP/.* [NC,OR]
    RewriteCond %{REQUEST_URI} .*/interview/interview.do?pid=.* [NC,OR]
    RewriteCond %{QUERY_STRING} !^/interview/interview.do?qid= [NC]
    RewriteCond %{REQUEST_URI}  .*/polling/.* [NC]
    RewriteRule (.*)$  http://sub1.domain.com$1 [R,L]
    Ce qui devrait se passer, c'est que lorsque j'ai ...interview.do?pid=..... je sois redirigé vers http://sub1.domain.com+fin d'url . Et bien non, ça fonctionne que si je retire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} !^/interview/interview.do?qid= [NC]
    . Mais le problème c'est que je ne veux pas être redirigé quand il y a interview.do?qid

    Quelqu'un a-t-il une idée ?
    Merci

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par mib182 Voir le message
    [CODE]RewriteCond %{REQUEST_URI} .*/interview/interview.do?pid=.* [NC,OR]
    RewriteCond %{QUERY_STRING} !^/interview/interview.do?qid= [NC]
    Aucune de ces deux conditions ne peut fonctionner : %{REQUEST_URI} contient tout ce qui se trouve entre http://serveur.com/ et le ? qui sépare la query string (donc /interview/interview.do par exemple), et %{QUERY_STRING} qui, par définition, contient tout ce qu'il y a après le ? (donc par exemple pid=...). Donc il faut revoir tes conditions, quitte à concaténer %{REQUEST_URI} et %{QUERY_STRING} :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ...

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse.

    Mais sur ma plate-forme de test j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteCond %{REQUEST_URI} .*/SOP/.* [NC,OR]
    RewriteCond %{REQUEST_URI} .*/polling/.* [NC,OR]
    RewriteCond %{REQUEST_URI} .*/interview/.* [NC,OR]
    RewriteCond %{REQUEST_URI} !.*/polling/flash/.* [NC]
    RewriteCond %{QUERY_STRING} !.*qid=.* [NC]
    RewriteRule (.*)$  http://sub1.domain.com$1 [R,L]
    et ceci fonctionne très bien.
    Mais pas sur la plate-forme de production.

    Les deux sont en debian 4 (etch)
    et apache 2 2.2.3-4+etch11

    Je ne comprends vraiment pas.


    je vai devoir me spécialisé dans les 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
    Points : 12 977
    Points
    12 977
    Par défaut
    Il se passe quoi exactement en production ? Tu peux donner une URL de test ?

    Essaie en ajoutant ceci au tout début du .htaccess :

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. [XL-2007] condition basée sur une mise en forme conditionnelle
    Par scoulibri dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2015, 11h43
  2. [Débutant] Utilisation de findobj avec condition basée sur une partie de la propriété Name de l'objet
    Par roudoudounette dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 01/11/2012, 12h43
  3. condition qui ne marche qu'une fois sur deux
    Par guy59960 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/03/2010, 22h43
  4. Une seule personne a la fois sur la base
    Par Arttt dans le forum Sécurité
    Réponses: 5
    Dernier message: 28/06/2008, 10h12
  5. Réponses: 1
    Dernier message: 13/12/2005, 19h48

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