Faire une redirection 301 et une réécriture en même temps (.htaccess)

Nouveau WRInaute
Bonjour à tous,

J'ai un problème de redirection suite à une refonte d'un site prestashop.

Dans le htaccess, j'essaye de faire une redirection 301 et une réécriture en même temps :

Code:
Options +FollowSymlinks
RewriteEngine on

# 301 --- http://www.ceinturesdemarque.com/index.php?page=afficher_produit&id_com=1129700&lg=1 => https://www.ceinturesdemarque.com/ceinture-homme-fabrication-main/65-ceinture-croco-marron-embout-p12532.html
RewriteCond %{QUERY_STRING} (^|&)page\=afficher_produit($|&)
RewriteCond %{QUERY_STRING} (^|&)id_com\=1129700($|&)
RewriteCond %{QUERY_STRING} (^|&)lg\=1($|&)
RewriteRule ^index\.php$ /ceinture-homme-fabrication-main/65-ceinture-croco-marron-embout-p12532.html? [L,R=301]

Or j'atterris sur la page d'accueil et mon url reste inchangé juste le http est devenu https :
https://www.ceinturesdemarque.com/index.php?page=afficher_produit&id_com=1129700&lg=1

Au lieu d'arriver sur le lien suivant :
https://www.ceinturesdemarque.com/c...n/65-ceinture-croco-marron-embout-p12532.html

Quand je teste mon htaccess en ligne ça fonctionne mais pas sur mon serveur qui accepte pourtant d'autres redirection mais sans query string.

Est-ce que j'ai fais une erreur dans ma redirection, est-ce le serveur qui est mal configuré ??

Merci de votre aide.
 
Nouveau WRInaute
Je viens de trouver la solution en fouillant dans les paramètres php de mon serveur.

J'étais configuré en "Application FPM servi(e) par Nginx"
Je viens de choisir "Application FPM servi(e) par Apache" et tout fonctionne.

Si quelqu'un peut me dire pourquoi sur Nginx ça marche pas ? Les réécritures s'écrivent différents ?
Juste pour info.

Merci à vous.
 
Dernière édition:
WRInaute passionné
Ben oui en Nginx la traduction est celle-ci :
Code:
location / {
  if ($query_string ~ "(^|&)page\=afficher_produit($|&)"){
    rewrite ^/index\.php$ /ceinture-homme-fabrication-main/65-ceinture-croco-marron-embout-p12532.html? redirect;
  }
}

Et sinon Nginx est plus performant qu'Apache, pour info, donc quand on a le choix pas vraiment de raison d'être sur Apache (quand on a du fort trafic du moins).
 
Discussions similaires
Haut