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 :

Rewriting avec Proxy : paramètre avec espace tronqué


Sujet :

Apache

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Rewriting avec Proxy : paramètre avec espace tronqué
    Bonjour à tous !

    Je viens vous demander de l'aide car je suis débutante sur Apache et je n'arrive pas à résoudre mon problème malgré toutes les recherches que j'ai faites...
    Je redirectionne via apache l'utilisateur et dans cette nouvelle url je fais passer des paramètres dont un qui se trouve être l'user agent. Or l'user agent contient des espaces. Un script python est appelé dans cette nouvelle url et via ce script je récupère mon paramètre user agent. Mais quand je le récupère en fait je ne récupère que la première partie avant le premier espace donc j'imagine que l'url a été tronquée à cause de ces espaces... Je dois absolument mettre le flag Proxy pour ce rewritting mais j'ai essayé sans et les espaces de ce paramètre sont remplacés par %20 dans ce cas mais lorsque je mets le [P] c'est tronqué dès que je récupère le paramètre dans le script.
    (Désolée si ce n'est pas assez clair... n'hésitez pas à me me demander si j'ai été trop vague !) Voilà mon fichier de config apache :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <VirtualHost *:80>
       ServerName *********
       DocumentRoot /var/www/
     
       <Directory /var/www/>
                    Options +FollowSymLinks +MultiViews -Indexes
                    AllowOverride None
                    Require all granted
       </Directory>
     
       LogLevel debug
       ProxyRequests Off 
       RequestHeader unset Accept-Encoding
     
       <Proxy *>
            # Permission : tout le monde
            Order deny,allow
            Allow from all
     
        </Proxy>
           <Directory /var/www/pic>
            Options +FollowSymLinks +MultiViews -Indexes
            AllowOverride None
            Require all granted
            AddHandler python-program .py
            PythonHandler script
     
        </Directory>
     
              RewriteEngine on
     
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule (.*)\.jpg$ http://**************/script.py?ua=%{HTTP_USER_AGENT} [P]
    Et la partie du script qui reçoit et envoie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     # -*- coding: utf-8 -*-
    from mod_python import apache
    from mod_python import util
    import os
    from stompy import Stomp
    import cgi
     
    def handler(req):
     	parameters = util.FieldStorage(req)
     
    	QUEUE = '/queue/QUEUE2'
     
    		   ua=parameters["ua"]
     
    		   co = Stomp('localhost')
    		   co.connect()
    		   co.send({'destination': QUEUE ,'body':ua,'persistent': 'true'})
     
    		   co.disconnect()
            return apache.OK
    Je vous remercie d'avance!

  2. #2
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Résolu
    Bonjour, après plein de tests j'ai finalement réussi à faire ce que je voulais, même si la manière par laquelle j'y suis arrivée ne me plait pas tellement.

    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{HTTP_USER_AGENT} ^(.*)$ 
    RewriteRule (.*)\.jpg$ http://**************/script.py?ua=%1 [B,P]
    Je ne sais pas si tout est nécessaire et j'imagine qu'une autre méthode est possible mais ça fonctionne.

    Je ferme donc la discussion et la mets en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête paramétrée avec deux paramètres
    Par Le gris dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/08/2012, 11h35
  2. Url rewriting sans paramètres avec base de données
    Par accion mutante dans le forum Apache
    Réponses: 1
    Dernier message: 24/04/2009, 13h23
  3. Passage de paramètres avec un espace
    Par isoman dans le forum C++
    Réponses: 8
    Dernier message: 27/06/2008, 16h19
  4. Passage de paramètres avec espaces
    Par rems033 dans le forum Langage
    Réponses: 2
    Dernier message: 13/03/2008, 15h19
  5. [URL Rewriting] Problème avec un paramètre
    Par antitrust56 dans le forum Apache
    Réponses: 11
    Dernier message: 07/11/2007, 18h40

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