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 expressions régulières dans .htaccess


Sujet :

Apache

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Redirection avec expressions régulières dans .htaccess
    Bonjour,

    J’ai besoin de votre aide pour effectuer une redirection 301 de la manière suivante :
    http://www.site.com/forum/album_show...5848&full=true vers http://www.site.com/forum/album_show...hp?pic_id=5848 (en supprimant le &full=true)
    et
    http://www.site.com/forum/album_show...ue&pic_id=5848 vers http://www.site.com/forum/album_show...hp?pic_id=5848 (en supprimant le full=true&)

    et ceci pour tous les pages contenant la variable pic_id=

    Comme puis-je effectuer cette redirection dans mon htaccess ?

    D’avance merci
    Michaël

  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
    Oui mais c'est un peu compliqué. Il ne peut y avoir que ces 2 variables dans l'URL ? Que faut-il faire si on y trouve une 3ème variable à la noix ?

    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
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci Mac pour ton retour.
    Si il y a une 3ème variable à la noix, il faut la retirer de l'url c'est à dire rediriger également vers http://www.site.com/forum/album_show...hp?pic_id=5848

    J'espère que c'est possible.

  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
    Oui, c'est possible. Comme je n'ai rien pour tester sous la main et que je ne maîtrise pas trop le flag [OR] de RewriteCond, je propose l'opération en 2 étapes : détection du paramètre full=true puis détection du paramètre pic_id avec redirection éventuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^full=true& [NC,OR]
    RewriteCond %{QUERY_STRING} &full=true& [NC,OR]
    RewriteCond %{QUERY_STRING} &full=true$ [NC]
    RewriteRule .* - [E=full:true]
     
    RewriteCond %{ENV:full} true
    RewriteCond %{QUERY_STRING} pic_id=([0-9]+)
    RewriteRule album_showpage\.php$ album_showpage.php?pic_id=%1 [R=301]
    Le seul truc qu'il faut peut-être affiner c'est la dernière ligne RewriteRule car tout dépend de là où tu mets le .htaccess.

    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
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Cela fonctionne.
    Merci infiniment !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/02/2010, 16h36
  2. [RegEx] Contrôle avec expression régulière
    Par lodan dans le forum Langage
    Réponses: 8
    Dernier message: 23/10/2006, 19h32
  3. [RegEx] Problème avec expressions régulières.
    Par Cygnus Saint dans le forum Langage
    Réponses: 12
    Dernier message: 14/08/2006, 11h55
  4. Réponses: 1
    Dernier message: 03/02/2006, 12h35
  5. [C#] Caractères hexadécimal avec expressions régulières
    Par shinchan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/01/2006, 11h41

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