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 de pages avec query string vers la home


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Redirection de pages avec query string vers la home
    Bonjour,
    Je souhaite savoir si j'utilise la bonne syntaxe pour rediriger des pages dynamiques vers la page d'accueil de mon site

    Concrétement, je souhaite que l'ensemble des pages dynamiques du type http://www.monsite.com/toto.htm?id=1.../toto.htm?id=2, www.monsite.com/toto.htm?id=3, ect... soient redirigées vers www.monsite.com/

    Voici la syntaxe qui me semble adéquate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{QUERY_STRING} ^.*$
    RewriteRule ^/toto\.htm$  <a href="http://www.monsite.com/?" target="_blank">www.monsite.com/?</a> [R=301,L]
    ...mais je n'en suis pas sur,

    Merci d'avance pour votre aide,

    David Camus

  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
    Ton RewriteCond ne sert à rien car ^.*$ signifie "qu'il y ait un truc ou pas"

    Après, ton RewriteRule ne sera pas activé si ce que tu nous donnes est dans un .htaccess. En effet, dans un .htaccess, la chaînes de caractères qui est vérifiée par rapport au premier membre d'un RewriteRule ne commence jamais par /.

    je souhaite que l'ensemble des pages dynamiques du type ...
    Ton RewriteCond + les exemples que tu donnes ne me permettent pas de savoir de manière certaine ce que tu appelles "page dynamique tu type". Peux-tu préciser davantage les règles qui permettent d'identifier les pages à réécrire ?

    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
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Pour préciser mon problème, les pages en question possèdent des variables très différentes :

    ?lang=fr&t=131552
    ?lang=en&tri=
    ?ci=130028&idtt=8&lang=pt

    ect....

    C'est pour cette raison que j'ai cru bon de mettre un ".*" dans mon rewriteCond, de façon à couvrir toutes les combinaisons possibles de variables.

    Cordialement,

  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
    Je n'ai toujours pas bien compris, désolé Ton but c'est de rediriger explicitement (c'est-à-dire que le navigateur affiche http://www.tonsite.com/ dans la barre d'adresse) toutes les URL ayant une query string non vide ? Dans ce cas, plus un seul formulaire en GET ne fonctionnera. Est-ce cela que tu veux ? Si on demande http://www.tonsite.com/toto.php, sans query string, pas de redirection du navigateur ?

    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
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Je n'ai toujours pas bien compris, désolé Ton but c'est de rediriger explicitement (c'est-à-dire que le navigateur affiche http://www.tonsite.com/ dans la barre d'adresse) toutes les URL ayant une query string non vide ? Dans ce cas, plus un seul formulaire en GET ne fonctionnera. Est-ce cela que tu veux ? Si on demande http://www.tonsite.com/toto.php, sans query string, pas de redirection du navigateur ?
    Bonsoir,

    Vous résumez tout à fait mon objectif :

    -redirection de toutes les url avec query-string non-vides (peu importe si les formulaires en GET ne fonctionnent plus)
    - pour http://www.tonsite.com/toto.php, je met en place un simple redirectpermanent vers une autre url non-dynamique (du type http://www.tonsite.com/toto2.php)

    Cordialement,

  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
    Citation Envoyé par dcamus Voir le message
    -redirection de toutes les url avec query-string non-vides (peu importe si les formulaires en GET ne fonctionnent plus)
    Donc là, c'est + (signifiant "un ou plus") à la place de * (signifiant "0 ou plus") dans ta RewriteCond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} ^.+$
    qui peut se simplifier en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} .

    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. Réponses: 3
    Dernier message: 13/03/2013, 23h06
  2. Redirection de page avec ajax
    Par blacksf dans le forum Ext JS / Sencha
    Réponses: 6
    Dernier message: 22/09/2012, 17h41
  3. Réponses: 10
    Dernier message: 28/11/2011, 17h27
  4. Redirection de page avec envoi de variable
    Par keviin dans le forum Langage
    Réponses: 4
    Dernier message: 04/10/2009, 01h07
  5. [PHP 5.0] Redirection de page avec sessions
    Par dimitriu dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2009, 21h44

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