Saya mencoba mencari tahu bagaimana Magento 2 bekerja. Saya telah melihat sesuatu yang membuat saya bingung.
Magento 2 memiliki 2 kemungkinan folder root:
/path/to/magento2/index.php
/path/to/magento2/pub/index.php
Salah satunya adalah pada tingkat teratas absolut dari folder distribusi Magento 2. Yang kedua ada di dalam folder "pub".
Jika saya menetapkan URL dasar salah satunya, magento berfungsi dengan baik.
Adakah yang bisa menjelaskan mengapa Magento 2 menggunakan 2 folder root seperti itu?
/pub/
Jawaban:
Menggunakan
/pub
lebih baik, karena lebih aman. Mengapa? Karena dalam kasus itu sebagian besar kode Magento akan hidup di luar root dokumen publik, sehingga permukaan serangan yang mungkin lebih kecil. Dengan kata lain, ketika Anda menggunakan folder tingkat atas sebagai root dokumen, Anda harus memastikan bahwa berbagai folder (sepertiapp
) ditolak secara eksplisit dalam konfigurasi server web Anda.Yang mengatakan, tidak semua orang dapat mengkonfigurasi root dokumen, jadi Magento menyediakan tingkat atas
index.php
untuk kompatibilitas.sumber
Alasan utama bahwa tidak semua Pengguna Magento dapat mengonfigurasi webroot ke direktori "pub". Dan tentu saja karena kompatibilitas ke belakang.
sumber
Jika Anda ingin menggunakan folder / pub sebagai root, siaplah untuk memiliki masalah dengan robots.txt dan sitemap.xml.
Info lebih lanjut: https://github.com/magento/magento2/issues/1146
sumber