IoT

Menggunakan Friendly URL PrestaShop pada Nginx

Akhir minggu diminta teman yang baru saja pindahan hosting websitenya dari shared hosting ke VPS, tapi yang jadi masalah ini jelas ada sedikit perbedaan yang sebelumnya cPanel (Apache/LiteSpeed) menjadi Nginx. Yang paling terasa sih masalah Friendly URL yang kalau tidak disetel lagi akan otomatis semua link menjadi 404 Not Found. Jangan sampai terjadi kan? Apalagi ini online shop, bisa runyam kalau pengunjung tidak bisa belanja.

obat joni kuat

Kalau untuk mengaktifkannya saya yakin anda sudah tahu, tinggal akses Preferences > SEO and URLs dan ubah opsi Friendly URL jadi Yes. Selesai. Ini dari sisi PrestaShop, dan akan otomatis berfungsi kalau menggunakan Apache karena masih mendukung .htaccess. Lha kalau di Nginx jelas tidak didukung.

Nah… untuk Nginx maka kita perlu menambahkan dukungan konversi URLnya dengan memanfaatkan fitur Rewrite, silahkan tambahkan kode berikut dalam konfigurasi virtual hostnya. Ini saya coba diterapkan pada PrestaShop 1.6.1.5.

location /lokasi_prestashop/ {
  index /lokasi_prestashop/index.php;

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

Jangan lupa gantikan lokasi_prestashop dengan direktori tempat hostingnya dalam server anda.

Related Articles

Langkah terakhir silahkan muat ulang konfigurasi Nginx setelahnya:

service nginx reload

Selesai. 🙂

*OOT saja, ini saya lihat kok rewrite rulesnya PrestaShop sungguh rumit sekali. Haha. 😀

moch akbar fitrianto

Jurnalis Dari Rakyatnesia.com Dan Sudah di dunia jurnalistik selama lebih dari 10 tahun. Tulisan berita Lamongan, umum, prediksi bola , dan profil sudah bukan hal asing lagi, Lugas dengan Fakta.

Related Articles

Check Also
Close
Back to top button