Comment activer les URL's simplifiées de Prestashop avec ma formule ISPconfig + Nginx

Définition

Présentation

Récemment nous avons mis à jour nos offres VPS en proposant une formule ISPconfig tournant avec le serveur Web Nginx au lieu d'Apache. Le choix s'est fait sur le fait qu'il soit léger et rapide.

Seulement une fois mis en oeuvre avec une boutique Prestashop, nous nous heurtons à une des limitations de Nginx, le fait qu'il ne supporte pas les fichier .htaccess.

De ce fait il vous est impossible d'activer la fonction "URL's simplifiées" depuis votre backoffice, comme vous le faisiez avec Apache.

Voyons comment faire pour remédier à ce problème.

Procédure

Se connecter en SSH

La première chose à faire est de mettre la main sur vos identifiants SSH (Comment se connecter en root sur un serveur dedie VPS) et de vous connectez à votre VPS.


Modifier la configuration de Nginx

Editez le fichier /etc/nginx/sites-available/mon_site.com.vhost avec la commande :

nano /etc/nginx/sites-available/mon_site.com.vhost

Puis ajoutez les lignes suivantes entre les balises "server {}" :

location / {
 
  rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
  rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2.jpg last;
  rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
  rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;
  rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;
  rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;
  rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;
  rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;
  rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;
  rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
  rewrite ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1.jpg last;
  rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
  try_files $uri $uri/ /index.php?$args;
}


Relancer le service Nginx

Pour cela il suffit d'utiliser la commande :

/etc/init.d/nginx restart

Tester la fonction "URL's simplifiées"

Activez la fonction "URL simplifiée" depuis votre backoffice Prestaphop (Préférences => SEO & URL):

Comment activer les URL's simplifiées de Prestashop avec ma formule ISPconfig + Nginx

Dans votre navigateur l'URL : http://mon_site.com/index.php?id_product=4&controller=product

Comment activer les URL's simplifiées de Prestashop avec ma formule ISPconfig + Nginx

Comment activer les URL's simplifiées de Prestashop avec ma formule ISPconfig + Nginx

Devient : http://mon_site.com/robes-soiree/4-robe-imprimee.html

Comment activer les URL's simplifiées de Prestashop avec ma formule ISPconfig + Nginx

La réécriture d'URL fonctionne bien.

Comment activer les URL's simplifiées de Prestashop avec ma formule ISPconfig + Nginx

Notez cet article :

5/5 | 1 avis

Cet article vous a été utile ?

Article utileOui

Article non utileNon

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

Merci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

4mn de lecture

Comment modifier la version php d'un domaine installé sur ISPConfig

12mn de lecture

Comment accéder à ISPConfig sur mon serveur dédié VPS?

13mn de lecture

Comment créer un serveur DNS dans ISPConfig sur un serveur dédié VPS ?

12mn de lecture

Comment configurer un domaine externe sur un VPS ?


Poser une question à l'équipe LWS et à sa communauté