Procédure
Prezentace
Nedávno jsme aktualizovali naši nabídku VPS tak, aby zahrnovala balíček ISPconfig běžící na webovém serveru Nginx namístoApache. Volba byla založena na skutečnosti, že je lehký a rychlý.
Jakmile jsme jej však implementovali s obchodem Prestashop, narazili jsme na jedno z omezení Nginxu: skutečnost, že nepodporuje soubory .htaccess.
V důsledku toho nemůžete aktivovat funkci"zjednodušené adresy URL" z back office, jako tomu bylo u Apache.
Podívejme se, jak tento problém odstranit.
Připojení přes SSH
Nejprve je třeba získat identifikátory SSH(Jak se připojit jako root na dedikovaném serveru VPS) a připojit se k vašemu serveru VPS.
Upravte konfiguraci Nginx
Upravte soubor /etc/nginx/sites-available/my_site..com.vhost příkazem :
nano /etc/nginx/sites-available/my_site.com.vhost
Poté mezi značky"server {}" přidejte následující řádky:
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;
přepsat ^/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;
}
Restartování služby Nginx
K tomu stačí použít příkaz :
/etc/init.d/nginx restart.
Otestování funkce "Zjednodušené adresy URL"
Aktivujte funkci"Zjednodušené adresy URL" ze zadního panelu Prestaphopu (Předvolby => SEO a adresy URL):
V prohlížeči zadejte adresu URL: http: //mon_site.com/index.php?id_product=4&controller=product
![]()
se stane: http: //mon_site.com/robes-soiree/4-robe-imprimee.html
Přepisování adres URL funguje dobře.
![]()