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 :

[URL Rewriting] Problème d'encodage


Sujet :

Apache

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 48
    Points : 41
    Points
    41
    Par défaut [URL Rewriting] Problème d'encodage
    Bonjour messieurs,

    Voici mon problème. J'ai une rewrite qui tourne sur mon serveur HTTP qui me redirige suivant la présence ou non d'un paramètre.

    Le redirection en question doit juste me changer le nom de domaine de mon site : je dois passer sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    www.monsite.fr ==> www.monsite.com
    ou
    www.monsite.com ==> www.monsite.fr
    Donc, l'url (HOST + REQUESTURI + QUERY_STRING) reste la même à l'exception du .com qui passe en .fr (ou inversement)

    Voici la rewrite rule :

    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
     
    ProxyRequests Off
    ServerName www.monsite.fr
    RewriteEngine On
    ProxyPreserveHost On
     
    #Detection du nom de domaine
    RewriteCond %{HTTP_HOST} ^www.monsite.fr$
     
    #detection de langue
    RewriteCond %{HTTP:Accept-Language} (^en)
     
    #pas le paramètre 'rr=false' ==> on peut rediriger
    RewriteCond %{QUERY_STRING} !.*rr=false$
     
    RewriteRule ^/(.*)$ http://www.monsite.com/$1 [R=301,L]
    Le problème qui se pose est lorsque que j'ai des urls encodées, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.com/toto?param=avant%20espace
    Je me retrouve alors avec l'url suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.fr/toto?param=avant%2520espace
    Donc la question : Savez-vous comment faire pour que mon paramètre ne soit pas ré-encodé, et que mon url soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.fr/toto?param=avant%20espace
    ???

    Merci d'avance.

  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
    Ah... Solution pas forcément très propre : tu fais du rewriting pour rediriger (en interne) sur un script (PHP, CGI ou autre) qui fait tout le boulot de redirection client finale, et là, tu pourras contrôler plus sûrement le (re)encodage

    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. [URL Rewriting] problème sur une règle
    Par Mike91 dans le forum Apache
    Réponses: 1
    Dernier message: 13/09/2007, 16h20
  2. Réponses: 3
    Dernier message: 31/07/2007, 16h40
  3. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h31
  4. URL Rewriting problème de regexp ?
    Par pierrickg dans le forum Apache
    Réponses: 2
    Dernier message: 10/07/2007, 13h35
  5. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 14h29

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