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

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

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

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

Audit et Analyse
Netlinking
Rédaction
Développement PHP

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 ??

Hors ligne

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

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

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 : 219

Audit et Analyse
Netlinking
Rédaction
Développement PHP

Re : Redirection 301 Htaccess

Merci ça fonctionne !
Oui certain ;-)

Hors ligne

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

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

Audit et Analyse
Netlinking
Rédaction
Développement PHP

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 ?

Hors ligne

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

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

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 : 823

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