Procédure
Presentation
Vi uppdaterade nyligen våra VPS-erbjudanden så att de inkluderar ett ISPconfig-paket som körs på Nginx-webbservern istället förApache. Valet baserades på det faktum att den är lätt och snabb.
Men när vi väl hade implementerat det med en Prestashop-butik stötte vi på en av Nginx begränsningar: det faktum att det inte stöder .htaccess-filer.
Därför kan du inte aktivera funktionen"förenklade webbadresser" från ditt backoffice, som du kan göra med Apache.
Låt oss ta en titt på hur du kan åtgärda detta problem.
Anslut via SSH
Det första du ska göra är att få tag på dina SSH-identifierare(Så här ansluter du som root på en dedikerad VPS-server) och ansluta till din VPS.
Ändra Nginx-konfigurationen
Redigera filen /etc/nginx/sites-available/my_site.com.vhost med kommandot :
nano /etc/nginx/sites-available/my_site.com.vhost
Lägg sedan till följande rader mellan"server {}"-taggarna:
plats / {
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;
omskrivning ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1.jpg sista;
rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
try_files $uri $uri/ /index.php?$args;
}
Starta om Nginx-tjänsten
För att göra detta använder du helt enkelt kommandot :
/etc/init.d/nginx restart
Testa funktionen "Förenklade webbadresser"
Aktivera funktionen "Förenkladewebbadresser" från Prestaphops backoffice(Inställningar => SEO & webbadresser):
I din webbläsare visas URL:en: http: //mon_site.com/index.php?id_product=4&controller=product
![]()
blir: http: //mon_site.com/robes-soiree/4-robe-imprimee.html
URL-omskrivning fungerar bra.
![]()