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 :

Problème de redirection


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 48
    Points
    48
    Par défaut Problème de redirection Apache/RESIN
    Bonjour,

    Je souhaite faire de la réécriture d'URL pour utiliser des URLs propres sur mon sites. Je souhaite donc que l'adresse dans le navigateur ne soit pas récrite !

    Exemple, en saisissant dans la barre d'adresse, l'url http://www.site.com/articles/java/1258, apache effectue la redirection et exécute : http://www.site.com/?rub=articles&cat=java&id=1258.
    Mon problème c'est que l'adresse dans le navigateur est modifiée et l'on voit du coup tous les paramètres de la requête...

    Voici la règle créée dans http.conf d'apache:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine on
    RewriteRule ^/articles/java/([0-9]+) /?rub=articles&cat=java&id=$1 [R=permanent,L]
    Existe-t-il un moyen de contourner mon problème et de garder l'url propre dans la barre d'adresses ?

    Merci d'avance pour vos réponses,

    Laurent

  2. #2
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Ca doit etre plutot le contraire!
    En saisissant -http://www.site.com/?rub=articles&cat=java&id=1258, la redirection doit se faire vers -http://www.site.com/articles/java/1258.
    Normalement la première url ne doit pas apparaitre sur ton site, il faut utiliser la seconde.
    Ainsi l'utilisateur ne connaitra qu'une seule adresse, celle là :
    -http://www.site.com/articles/java/1258
    (qui redirige de toute façon vers l'url à parametres)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 48
    Points
    48
    Par défaut
    Salut Linaa,

    Merci de ta réponse mais j'ai peur de ne pas avoir compris ce que tu voulais que je fasse...

    Ca doit etre plutot le contraire!
    En saisissant -http://www.site.com/?rub=articles&cat=java&id=1258, la redirection doit se faire vers -http://www.site.com/articles/java/1258.
    Le contraire ? Heu, en principe on ne doit pas avoir besoin de saisir une url, il suffit de cliquer sur un des liens sur ma page qui sont sous la forme : -http://www.site.com/articles/java/1258.

    Normalement la première url ne doit pas apparaitre sur ton site, il faut utiliser la seconde.
    ... en effet, c'est le cas, elle n'apparait que dans la barre d'adresse après la redirection d'apache et c'est mon problème !

    Ainsi l'utilisateur ne connaitra qu'une seule adresse, celle là :
    -http://www.site.com/articles/java/1258
    (qui redirige de toute façon vers l'url à parametres)
    C'est ce que je souhaite... que l'on ne voit que l'url du type : -http://www.site.com/articles/java/1258, dans les liens de la page tout comme dans la barre d'adresses.
    La règle permettant de faire la redirection vers la véritable page (non virtuelle) avec les paramètres d'appel au script est celle qui fonctionne déjà au niveau de la redirection et qui est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^/articles/java/([0-9]+) /?rub=articles&cat=java&id=$1 [R=permanent,L]
    Mreci donc de m'expliquer les règles à créer pour arriver à faire ce que je viens de décrire car j'ai beau chercher, je ne trouve rien de concluant, je me sent un peu bête d'ailleurs car j'ai l'impressoin d'être le seul à ne pas y arriver !
    Il y a quelque chose que je n'ai pas compris ? raté ? Cela doit peut-être se gérer du côté applicatif et non pas du côté apache ?

    Laurent

  4. #4
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Bah c'est tout à fait ça!
    Ta règle fonctionne?

    En tapant -http://www.site.com/articles/java/1258 dans la barre d'adresses, l'autre adresse n'apparait pas! C'est juste une redirection au niveau d'Apache.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 48
    Points
    48
    Par défaut
    Oui la règle fonctionne mais justement, l'url est modifiée quand même dans la barre d'adresses... et je ne sais pas comment faire pour l'éviter !

    Laurent

  6. #6
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    C'est peut-etre le R=permanent
    Mets juste [L] à la fin de ta règle pour voir

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 48
    Points
    48
    Par défaut
    J'avais oublié de préciser une chose importante, c'est que j'utilise le mod_caucho pour interfacer apache avec mon serveur d'appli Resin et que pour que la réécriture fonctionne, il faut utiliser le flag PT (Pass Throught).

    Comme quoi, il faut bien fouiner dans la doc

    Merci encore pour ton aide Linaa,

    Laurent

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/04/2006, 16h16
  2. Problème de Redirection
    Par pirouette_07 dans le forum Apache
    Réponses: 1
    Dernier message: 30/03/2006, 13h50
  3. [Cookies] Problèmes de redirection
    Par mogway95 dans le forum Langage
    Réponses: 6
    Dernier message: 19/02/2006, 00h13
  4. Problème de redirection d'index
    Par Bluelane dans le forum Apache
    Réponses: 8
    Dernier message: 16/09/2005, 17h50
  5. Problème de redirection avec window.location
    Par Kosti dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 18h31

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