Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : décembre 2012
    Messages : 8
    Points : 0
    Points
    0

    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/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 423
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 423
    Points : 12 309
    Points
    12 309

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

    Informations forums :
    Inscription : décembre 2012
    Messages : 8
    Points : 0
    Points
    0

    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/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 423
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 423
    Points : 12 309
    Points
    12 309

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

    Informations forums :
    Inscription : décembre 2012
    Messages : 8
    Points : 0
    Points
    0

    Par défaut

    Cela fonctionne.
    Merci infiniment !

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •