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?
/pub/
Réponses:
L'utilisation
/pub
est 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 queapp
) 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.php
pour la compatibilité.la source
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.
la source
Si vous souhaitez utiliser le dossier / pub en tant que root, soyez prêt à avoir des problèmes avec robots.txt et sitemap.xml.
Plus d'informations: https://github.com/magento/magento2/issues/1146
la source