Come attivare gli URL semplificati di Prestashop con il mio pacchetto ISPconfig + Nginx

Procédure

Presentazione

Abbiamo recentemente aggiornato la nostra offerta di VPS per includere un pacchetto ISPconfig che gira sul server web Nginx invece che suApache. La scelta si è basata sul fatto che è leggero e veloce.

Ma una volta implementato con un negozio Prestashop, ci siamo scontrati con uno dei limiti di Nginx: non supporta i file .htaccess.

Di conseguenza, non è possibile attivare la funzione"URL semplificati" dal back office, come invece è possibile fare con Apache.

Vediamo come ovviare a questo problema.

Connettersi via SSH

La prima cosa da fare è procurarsi gli identificativi SSH(Come connettersi come root su un server VPS dedicato) e connettersi al proprio VPS.


Modificare la configurazione di Nginx

Modificare il file /etc/nginx/sites-available/my_site.com.vhost con il comando :

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

Aggiungere quindi le seguenti righe tra i tag"server {}":

location / {
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
riscrivere ^/([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;
riscrivere ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
riscrivere ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1.jpg last;
riscrivere ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
try_files $uri $uri/ /index.php?$args;
}


Riavviare il servizio Nginx

Per farlo, è sufficiente utilizzare il comando :

/etc/init.d/nginx restart

Testare la funzione "URL semplificati

Attivare la funzione"URL semplificati" dal backoffice di Prestaphop (Preferenze => SEO e URL):

Come attivare gli URL semplificati di Prestashop con il mio pacchetto ISPconfig + Nginx

Nel browser l'URL: http: //mon_site.com/index.php?id_product=4&controller=product

Come attivare gli URL semplificati di Prestashop con il mio pacchetto ISPconfig + Nginx

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

Come attivare gli URL semplificati di Prestashop con il mio pacchetto ISPconfig + Nginx

La riscrittura degli URL funziona bene.

help.lws.net/a/655
Questo articolo ti è stato utile?

Sì

No

Letto 27 076 volte

Grazie! Non esitare a porre domande sulla nostra documentazione se desideri maggiori informazioni e aiutarci a migliorarla.

Articoli simili

Una domanda su questo articolo?

Ponila al team LWS e alla community. La risposta viene pubblicata dopo la moderazione.

Fate una domanda al team LWS e alla sua comunità

GDPR: Titolare: LWS-Ligne Web Services. Finalità: moderazione e pubblicazione della tua domanda, eventuale notifica di una risposta. Base giuridica: consenso (art. 6.1.a GDPR). Conservazione delle e-mail: 90 giorni dopo la notifica, massimo 12 mesi senza risposta. Per esercitare i tuoi diritti, consulta la sezione GDPR delle nostre condizioni generali.