Mengapa Magento 2 memiliki 2 folder root yang memungkinkan?

15

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?

HungDQ
sumber
Saya suka ketika folder root/pub/
MagenX

Jawaban:

30

Menggunakan /publebih 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 (seperti app) ditolak secara eksplisit dalam konfigurasi server web Anda.

Yang mengatakan, tidak semua orang dapat mengkonfigurasi root dokumen, jadi Magento menyediakan tingkat atas index.phpuntuk kompatibilitas.

Willem
sumber
Jawaban singkat terbaik dijelaskan. +1
Anna Völkl
1

Alasan utama bahwa tidak semua Pengguna Magento dapat mengonfigurasi webroot ke direktori "pub". Dan tentu saja karena kompatibilitas ke belakang.

KAndy
sumber