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 :

Redirection spécifques à un client HTTP


Sujet :

Apache

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Points : 351
    Points
    351
    Par défaut Redirection spécifques à un client HTTP
    Salut !

    Je suis en train de bidouiller mon serveur pour qu'il puisse répondre de manière spécifique à certain navigateur (si on peut l'appeler ainsi...) en lui fournissant des ressources suffixée de la sorte : resource@IE.x.

    Avec les qq lignes qui suivent j'y suis arrivé mais il me manque une chose. Tout d'abord voici lesdites lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        # Is the client Internet Explorer?
        RewriteCond     %{HTTP_USER_AGENT} MSIE
        # Process only original resources (not these which already ends with "@IE")
        RewriteRule     !^(.*)@IE\.([^\.]*)$ - [C]
        # Does the targeted resource exist?
        RewriteCond     $1@IE\.$2 -U
        # Link to the "@IE"-suffixed corresponding resource.
        RewriteRule     ^(.*)\.([^.]*)$ $1@IE\.$2 [C,L]
    Je ne suis pas encore super à l'aise avec mod_rewrite donc n'hésitez pas à me corriger en tout point s'il y a lieu, voire m'indiquer d'autres manières de faire ce qui est déjà fait.

    Ce qui, visiblement, me manque de l'énoncé c'est : si la ressource suffixée par @IE n'existe pas, choisir la ressource commune (à savoir la ressource indiquée par l'URL originelle). En effet, en considérant que les pages index.html et index@IE.html existent j'obtiens bien la bonne page selon le navigateur. Mais lorsque je supprime la page index@IE.html Apache me retourne le code 404 alors que j'aimerais qu'il me retourne index.html.
    J'ai imaginé que mes quelques règles n'affecteraient pas l'URL dans le cas où la ressource suffixée n'existait mais on dirait que ça cloche.

    Quelqu'un saurait-il m'éclairer ?

    Merci !

    * coloration en rapport avec la réponse qui suit.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Points : 351
    Points
    351
    Par défaut
    Je viens de parvenir à mes fins. Voici donc ce qu'il fallait écrire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        # If the client is Internet Explorer
        RewriteCond     %{HTTP_USER_AGENT} MSIE
        # Process only original files (not these which already ends with @IE)
        RewriteRule     !^(.*)@IE\.([^\.]*)$ - [C]
        # If the targeted resource exists
        RewriteCond     %{DOCUMENT_ROOT}$1@IE\.$2 -f
        # Link to the "@IE"-suffixed corresponding resource
        RewriteRule     ^(.*)\.([^.]*)$ $1@IE\.$2 [C,L]
    J'ai remplacé la précédente instruction RewriteCond $1@IE\.$2 -l par ce que vous apercevez en rouge dans le bloc de code ci dessus et le contrat de mon ensemble de règles est rempli :
    En demandant resource.x depuis Internet Explorer :
    - si resource@IE.x existe Apache retourne cette ressource.
    - si resource@IE.x n'existe pas Apache retourne la ressource resource.x.
    En demandant resource.x depuis un autre (vrai) navigateur :
    - Apache rentourne simplement la ressource demandée (resource.x).

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

Discussions similaires

  1. Client HTTP récupère données format XML
    Par adibou666 dans le forum kettle/PDI
    Réponses: 7
    Dernier message: 17/07/2009, 12h56
  2. [Web Service] Api Client HTTP
    Par ksven dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/02/2009, 16h43
  3. Probleme "client" HTTP
    Par chuko dans le forum C
    Réponses: 5
    Dernier message: 13/02/2009, 00h54
  4. Client HTTPS en C
    Par DomiPi dans le forum Linux
    Réponses: 1
    Dernier message: 20/11/2008, 12h06
  5. Client HTTP
    Par bruno-travail dans le forum C++
    Réponses: 4
    Dernier message: 11/04/2006, 14h54

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