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 avec variable


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut Redirection avec variable
    Bonjour le forum,
    Vous m'aviez aidé précédemment pour réaliser la chose suivante :
    Lorsque je clique sur "toto-1.php" je suis redirigé vers "nini-1.php" avec toto-1.php afficher comme url
    Autrement dit toto-X.php vers nini-X.php avec toto-X.php comme url dans le navigateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
     
    RewriteRule ^nini-([0-9]+)\.php$ /toto.php?id=$1 [L]
    Cela fonctionne au top, mais si je saisie directement "nini-X.php" dans mon navigateur, l'url reste nini-X.php au lieu de toto-X.php
    Ce problème se corrige t-il via le fichier htaccess ?
    Je vous remercie par 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
    Si tu veux toto dans l'URL, pourquoi tu as mis nini dans le premier membre de ta RewriteRule ?

    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
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Pardon je me suis trompé.
    Je voulais dire quand je tape toto-X.php dans mon navigateur j'ai toujours toto-X.php qui s'affiche dans cette barre au lieu de nini-X.php
    Je voudrais faire correspondre les deux, je dois utiliser un redirection 301 ?

  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
    Pas très sûr d'avoir bien compris En gros, tu veux qu'en demandant nini-X.php, l'URL dans la barre d'adresse reste nini-X.php et pointe sur toto.php?id=X, et que si on demande directement toto.php?id=X, le navigateur soit redirigé (donc URL dans la barre modifiée) sur nini-X.php. C'est bien ça ? Si oui, il faut arriver à distinguer les accès à toto.php?id=X en direct (et donc déclencher une redirection du navigateur) et les accès à toto.php?id=X suite à une réécriture "normale". Vois ce message qui propose une méthode en utilisant une variable d'URL fictive.

    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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Effectivement je ne suis pas très clair :-)
    Alors le premier bout de code plus haut fonctionne au top.
    Je voudrais rajouter une fonction supplémentaire.

    Quand je tape fiche.php?id=X dans la barre d'adresse de mon navigateur, j'obtiens la page fiche.php?id=X avec comme url affichée fiche.php?id=X
    Je voudrais garder la meme chose mais que l'url affichée soit jeux.php?id=X

    J'espère que c'est plus clair :-)

  6. #6
    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
    Pas sûr que ce soit plus clair : pourquoi on parle de fiche.php et jeux.php maintenant et plus nini et toto ?

    Bref, quand tu dis "que l'url affichée soit jeux.php?id=X" tu penses à quel scénario exactement ? L'utilisateur a tapé fiche.php?id=X dans sa barre d'adresse et il y a redirection du navigateur (donc changement dans la barre d'adresse) vers jeux.php?id=X ou tu veux que quand l'utilisateur tape jeux.php?id=X dans sa barre d'adresse ça garde jeux.php?id=X dans la barre d'adresse mais que ça affiche fiche.php?id=X ?

    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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    EN faite j'ai virer nini et toto pour essayer de faire plus clair mais c'est raté
    Oublions nini et toto donc.

    Alors je voudrais faire : L'utilisateur a tapé fiche.php?id=X dans sa barre d'adresse et il y a redirection du navigateur (donc changement dans la barre d'adresse) vers jeux.php?id=X

    Quand l'utilisateur tape jeux.php?id=X dans sa barre d'adresse ça garde jeux.php?id=X dans la barre d'adresse mais que ça affiche fiche.php?id=X cela fonctionne déjà avec le code cité plus haut.

  8. #8
    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
    Dans ce cas, il faut utiliser l'astuce (voir le lien) que je donnais mercredi.

    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

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Merci de votre réponse.
    j'ai donc ceci dans mon fichier htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    RewriteEngine on
     
    RewriteRule ^toto-([0-9]+)\.php$ /fiche.php?id=$1 [L]
    RewriteCond %{QUERY_STRING} !internal_redirect=1
    RewriteCond %{QUERY_STRING} id=2
    RewriteRule /fiche.php /toto.php [R=301,L]
     
    RewriteRule ^toto.php$ fiche.php?id=2&internal_redirect=1 [L]
    Mais rien ne se passe quand je tape dans mon navigateur fiche.php?id=60 :-(

  10. #10
    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 faut retirer le / devant fiche.php dans la seconde RewriteRule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule fiche.php /toto.php [R=301,L]

    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. Redirection avec variable
    Par Lau-- dans le forum Apache
    Réponses: 1
    Dernier message: 18/12/2010, 13h52
  2. redirection avec passage de variable
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 23/06/2010, 22h57
  3. Redirection avec variable POST vers autre domaine
    Par Digiduck dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/05/2009, 10h38
  4. [jsp] redirection avec une variable
    Par louline dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/06/2007, 15h51
  5. Redirection vers un page avec variable en parametre
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 18h49

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