Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 26/12/2012, 11h36   #1
Mikart91
Invité de passage
 
Homme
Inscription : 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
Mikart91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2012, 17h20   #2
_Mac_
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 9 142
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 9 142
Points : 10 693
Points : 10 693
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2012, 20h03   #3
Mikart91
Invité de passage
 
Homme
Inscription : 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
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.
Mikart91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 19h10   #4
_Mac_
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 9 142
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 9 142
Points : 10 693
Points : 10 693
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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 23h15   #5
Mikart91
Invité de passage
 
Homme
Inscription : 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
Cela fonctionne.
Merci infiniment !
Mikart91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h23.


 
 
 
 
Partenaires

Hébergement Web