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 :

[.htaccess] Redirection pour quelques pages


Sujet :

Apache

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2007
    Messages : 108
    Par défaut [.htaccess] Redirection pour quelques pages
    Bonjour,

    Voici ce que je souhaite, rediriger seulement quelques pages vers une autre, ainsi :
    http://monsite.com/html/index.php?id=89 -> http://monsite.com/html/index.php?id=148

    (ceci pour 3 id spécifiques)

    j'ai essayé un RedirectPermanent, mais cela ne marche pas (probablement à cause du paramètre dans l'url)

    donc j'ai opté pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
     
    RewriteCond %{QUERY_STRING} ^id=89([0-9])$
    RewriteRule ^index.php$ http://monsite.com/html/index.php?id=148? [R=301,L]
    mais cela ne marche pas non plus.

    Comment puis je effectuer ces redirections spécifiques ? (sachant que je ne peut pas intervenir sur le CMS sans foutre un gros bordel)

    PS : l'hebergeur est OVH
    merci pour votre aide

  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
    Par défaut
    Citation Envoyé par elekaj34 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} ^id=89([0-9])$
    Cette condition ne matche les paramètres id=890, id=891, ... id=899 : est-ce cela ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Bonjour à tous,

    J'ai le même problème :

    Le redirectparmanent fonctionne parfaitement si je mets une page sans paramètre comme ça :

    RedirectPermanent /privacy.php http://www.monsite.net/index.php?cPath=30_61


    Mais par contre ca ne fonctionne pas avec quelques chose comme ça :

    RedirectPermanent /index.php?cPath=30_130 http://www.monsite.net/index.php?cPath=30_61


    Ai-je fais quelques chose de travers ou n'est-ce pas compatible?

    Merci

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Les directives Redirect* ne permettent pas de prendre en compte la partie dite Query String. Il faut donc se tourner vers le module de réécriture comme cela a été réalisé plus haut.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Bonjour et merci de la réponse.

    J'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/index\.php$
    RewriteCond %{QUERY_STRING} ^cPath=([30_134]*)$
    RewriteRule ^(.*)$ http://www.monsite.net/index.php?cPath=30_61 [R=302,L]

    La redirection marche mais pas uniquement pour http://www.monsite.net/index.php?cPath=30_134 mais également pour http://www.monsite.net/index.php?cPath=30

    Pouvez-vous m'aider svp?

    Merci

  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
    Par défaut
    Citation Envoyé par francois134 Voir le message
    Pouvez-vous m'aider svp?
    Tu veux faire quoi exactement ? Vu ta règle, le comportement observé est tout à fait normal. Ca marche même pour cPath=134. C'est quoi le besoin exact ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Bonjour et merci de votre réponse.

    Concrètement, je voudrais rediriger l'url suivante :

    http://www.monsite.net/index.php?cPath=30_130

    vers l'url suivante :

    http://www.monsite.net/index.php?cPath=30_61


    Mais je ne veux pas de redirection pour la page :

    http://www.monsite.net/index.php?cPath=30


    Merci pour ton aide

  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
    Par défaut
    Dans ce cas, il suffit d'être explicite dans ta RewriteCond (retirer les [] notamment) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} ^cPath=30_130$

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Génial ça fonctionne.

    Par contre sur une autre page j'aimerai faire la même chose avec deux paramètres. Exemple :

    product_info.php?cPath=30_130&products_id=343

    Quelle est la bonne formule? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/produtc_info\.php$
    RewriteCond %{QUERY_STRING} ^cPath=30_130$ ^products_id=343$
    RewriteRule ^(.*)$ <a href="http://www.bluecars.net/index.php?cPath=30_61" target="_blank">http://www.bluecars.net/index.php?cPath=30_61</a> [R=302,L]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/produtc_info\.php$
    RewriteCond %{QUERY_STRING} ^cPath=30_130$
    RewriteCond %{QUERY_STRING} ^products_id=343$
    RewriteRule ^(.*)$ <a href="http://www.bluecars.net/index.php?cPath=30_61" target="_blank">http://www.bluecars.net/index.php?cPath=30_61</a> [R=302,L]
    Merci

  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
    Par défaut
    Une troisième C'est un essai, je ne suis pas 100% sûr de moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{QUERY_STRING} cPath=30_130
    RewriteCond %{QUERY_STRING} products_id=343
    RewriteRule ^product_info\.php$ http://www.bluecars.net/index.php?cPath=30_61 [R=302,L]
    Le souci c'est que l'URL product_info.php?cPath=30_130xxx&products_id=343 passera aussi. Je ne sais pas si c'est un problème

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Excellent

    Merci pour ton aide précieuse.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2010, 22h44
  2. Réponses: 6
    Dernier message: 24/09/2010, 16h07
  3. Réponses: 3
    Dernier message: 03/01/2010, 20h53
  4. Besoin d'aide pour quelques bugs sur page html
    Par Xplosive dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/10/2008, 19h38
  5. Réponses: 6
    Dernier message: 25/08/2007, 12h13

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