Jak aktywować uproszczone adresy URL Prestashop za pomocą pakietu ISPconfig + Nginx?

Procédure

Prezentacja

Niedawno zaktualizowaliśmy naszą ofertę VPS o pakiet ISPconfig działający na serwerze WWW Nginx zamiastApache. Wybór był podyktowany faktem, że jest on lekki i szybki.

Kiedy jednak wdrożyliśmy go w sklepie Prestashop, natknęliśmy się na jedno z ograniczeń Nginx: nie obsługuje on plików .htaccess.

W rezultacie nie można aktywować funkcji"uproszczonych adresów URL" z zaplecza, tak jak w przypadku Apache.

Przyjrzyjmy się, jak rozwiązać ten problem.

Połączenie przez SSH

Pierwszą rzeczą do zrobienia jest uzyskanie identyfikatorów SSH(Jak połączyć się jako root na dedykowanym serwerze VPS) i połączenie się z serwerem VPS.


Zmodyfikuj konfigurację Nginx

Edytuj plik /etc/nginx/sites-available/my_site.com.vhost za pomocą polecenia :

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

Następnie dodaj następujące wiersze między znacznikami"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;
}


Ponowne uruchomienie usługi Nginx

Aby to zrobić, wystarczy użyć polecenia :

/etc/init.d/nginx restart

Testowanie funkcji "Uproszczone adresy URL"

Aktywuj funkcję "Uproszczone adresy URL" w swoim biurze Prestaphop (Preferencje => SEO i adresy URL):

Jak aktywować uproszczone adresy URL Prestashop za pomocą pakietu ISPconfig + Nginx?

Wpisz w przeglądarce adres URL: http: //mon_site.com/index.php?id_product=4&controller=product

Jak aktywować uproszczone adresy URL Prestashop za pomocą pakietu ISPconfig + Nginx?

staje się: http: //mon_site.com/robes-soiree/4-robe-imprimee.html

Jak aktywować uproszczone adresy URL Prestashop za pomocą pakietu ISPconfig + Nginx?

Przepisywanie adresów URL działa dobrze.

help.lws.net/a/655
Czy ten artykuł był pomocny?

Tak

Nie

Przeczytano 27 076 razy

Dziękujemy! Zadawaj pytania dotyczące naszej dokumentacji, jeśli potrzebujesz więcej informacji, i pomóż nam ją ulepszyć.

Podobne artykuły

Masz pytanie dotyczące tego artykułu?

Zadaj je zespołowi LWS i społeczności. Odpowiedź zostanie opublikowana po moderacji.

Zadaj pytanie zespołowi LWS i jego społeczności

RODO: Administrator: LWS-Ligne Web Services. Cel: moderacja i publiczna publikacja pytania, ewentualne powiadomienie o odpowiedzi. Podstawa prawna: zgoda (art. 6 ust. 1 lit. a RODO). Przechowywanie adresów e-mail: 90 dni po powiadomieniu, maksymalnie 12 miesięcy bez odpowiedzi. Aby skorzystać ze swoich praw, zobacz sekcję RODO naszego regulaminu.