Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 17h52   #1
Membre du Club
 
Inscription : juin 2007
Messages : 336
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 336
Points : 48
Points : 48
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 :
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.
yuyu599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 23h06   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 10h52   #3
Membre du Club
 
Inscription : juin 2007
Messages : 336
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 336
Points : 48
Points : 48
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 ?
yuyu599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 16h11   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 11h03   #5
Membre du Club
 
Inscription : juin 2007
Messages : 336
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 336
Points : 48
Points : 48
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 :-)
yuyu599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h14   #6
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 17h42   #7
Membre du Club
 
Inscription : juin 2007
Messages : 336
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 336
Points : 48
Points : 48
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.
yuyu599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 22h00   #8
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2011, 15h19   #9
Membre du Club
 
Inscription : juin 2007
Messages : 336
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 336
Points : 48
Points : 48
Merci de votre réponse.
j'ai donc ceci dans mon fichier htaccess :
Code :
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 :-(
yuyu599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 23h01   #10
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
Il faut retirer le / devant fiche.php dans la seconde RewriteRule :
Code :
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h46.


 
 
 
 
Partenaires

Hébergement Web