Pourquoi Magento 2 a 2 dossiers racine possibles?

15

J'essaie de comprendre comment fonctionne Magento 2 . J'ai vu quelque chose qui m'a rendu confus.

Magento 2 a 2 dossiers racine possibles :

/path/to/magento2/index.php
/path/to/magento2/pub/index.php

L'un est au niveau supérieur absolu du dossier de distribution de Magento 2. Le second se trouve dans le dossier «pub».

Si j'ai défini l'URL de base pour l'un ou l'autre, magento fonctionne parfaitement.

Quelqu'un peut-il m'expliquer pourquoi Magento 2 utilise un dossier racine comme ça?

HungDQ
la source
j'aime quand le dossier racine est/pub/
MagenX

Réponses:

30

L'utilisation /pubest meilleure, car elle est plus sécurisée. Pourquoi? Parce que dans ce cas, la plupart du code de Magento vivra en dehors de la racine du document public, donc la surface d'attaque possible est plus petite. En d'autres termes, lorsque vous utilisez le dossier de niveau supérieur en tant que racine de document, vous devez vous assurer que divers dossiers (tels que app) sont explicitement refusés dans votre configuration de serveur Web.

Cela dit, tout le monde ne peut pas configurer la racine du document, donc Magento a fourni un niveau supérieur index.phppour la compatibilité.

Willem
la source
Meilleure réponse courte expliquée. +1
Anna Völkl
1

Principale raison pour laquelle tous les utilisateurs de Magento ne peuvent pas configurer webroot dans le répertoire "pub". Et bien sûr, en raison de la compatibilité descendante.

KAndy
la source