Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

Annonce

Faites un bond en avant avec la formation SEO Ranking Skills le 12 Avril 2017

#1 2017-02-21 10:48:02

Mention shenron76
Scout
Inscription : 2015-10-04
Messages : 182

Redirection 301 Htaccess

Bonjour tout le monde,

Ma question ne concerne pas vraiment le php mais je n'ai pas su où poster autre part...

Je cherche à rediriger toutes les URL du type https://www.monsite.com/index.php?id_product=1345&controller=product vers la page d'accueil http://www.monsite.com

Pour cela j'ai mis une règle de redirection 301 dans le fichier htaccess du site demande de rediriger toutes les URL contenant la variable id_product vers la page d'accueil :

RewriteRule (.*)id_product(.*) http://www.monsite.com/? [L,R=301]

Mais ça ne fonctionne pas. Le format des URL du site à changé et ne doit plus y avoir d'URL du type https://www.monsite.com/index.php?id_product=1345

Savez-vous ce qui ne va pas dans ma règle ??

En ligne

#2 2017-02-22 12:09:33

Mention razbithume
Soldier
Inscription : 2013-09-17
Messages : 807

Audit et Analyse
Scraping
Marketing
Site Web

Re : Redirection 301 Htaccess

tu es sûr de tout renvoyer vers la home ?

utilise une condition sur la query string, un truc dans ce style :
RewriteCond %{QUERY_STRING} id_product=[0-9]+
RewriteRule (.*) http://www.monsite.com/? [L,R=301]


Vive les regex et le xpath !

Hors ligne

#3 2017-02-23 13:24:36

Mention shenron76
Scout
Inscription : 2015-10-04
Messages : 182

Re : Redirection 301 Htaccess

Merci ça fonctionne !
Oui certain ;-)

En ligne

#4 2017-02-27 10:23:22

Mention shenron76
Scout
Inscription : 2015-10-04
Messages : 182

Re : Redirection 301 Htaccess

Re @razbithume
Alors affectivement ça fonctionne mais je voudrais maintenant restreindre la condition aux urls de la forme http://www.monsite.com/product.php?id_product=xxxxx

Autrement dit, que la redirection ne soit valable que si la page product.php est pré"sente dans l'url.

J'ai tenté ça mais sans succès :

RewriteCond %{QUERY_STRING} product.php?id_product=[0-9]+
RewriteRule (.*) http://www.monsite.com/? [L,R=301]

Une idée ?

En ligne

#5 2017-02-28 06:41:17

Mention durando
Scout
Inscription : 2015-04-25
Messages : 302

Audit et Analyse
Html Css

Re : Redirection 301 Htaccess

shenron76 a écrit :

Re @razbithume
Alors affectivement ça fonctionne mais je voudrais maintenant restreindre la condition aux urls de la forme http://www.monsite.com/product.php?id_product=xxxxx

Autrement dit, que la redirection ne soit valable que si la page product.php est pré"sente dans l'url.

J'ai tenté ça mais sans succès :

RewriteCond %{QUERY_STRING} product.php?id_product=[0-9]+
RewriteRule (.*) http://www.monsite.com/? [L,R=301]

Une idée ?


Tu n'as pas échappé les caractères interprétables en regex. Essaie avec ça : product\.php\?id_product=[0-9]+

Hors ligne

#6 2017-02-28 09:38:15

Mention razbithume
Soldier
Inscription : 2013-09-17
Messages : 807

Audit et Analyse
Scraping
Marketing
Site Web

Re : Redirection 301 Htaccess

product.php ne fait pas partie de la query string
(query string = après le ? et avant le #, je te conseille cet excellent article : http://www.canyouseome.com/structures-d … s-absolus/)

donc essaie ca :
RewriteCond %{REQUEST_URI} product.php$
RewriteCond %{QUERY_STRING} id_product=[0-9]+
RewriteRule (.*) http://www.monsite.com/? [L,R=301]

Dernière modification par razbithume (2017-02-28 09:40:31)


Vive les regex et le xpath !

Hors ligne

Pied de page des forums