Я пытаюсь понять, как работает Magento 2 . Я видел что-то, что заставило меня запутаться.
У Magento 2 есть 2 возможные корневые папки:
/path/to/magento2/index.php
/path/to/magento2/pub/index.php
Один из них находится на верхнем уровне дистрибутивной папки Magento 2. Второй находится внутри папки «паб».
Если я установлю базовый URL-адрес любого из них, magento работает отлично.
Может кто-нибудь объяснить мне, почему Magento 2 использует 2 корневую папку, как это?
/pub/
Ответы:
Использование
/pub
лучше, потому что это более безопасно. Почему? Потому что в этом случае большая часть кода Magento будет находиться за пределами корневого каталога общедоступного документа, поэтому возможная поверхность атаки меньше. Другими словами, когда вы используете папку верхнего уровня в качестве корня документа, вы должны убедиться, что различные папки (например,app
) явно запрещены в конфигурации вашего веб-сервера.Тем не менее, не каждый может настроить корневой каталог документа, поэтому Magento предоставил верхний уровень
index.php
для совместимости.источник
Основная причина, по которой не все пользователи Magento могут настроить webroot для каталога «pub». И конечно из-за обратной совместимости.
источник
Если вы хотите использовать папку / pub в качестве пользователя root, будьте готовы иметь проблемы с robots.txt и sitemap.xml.
Дополнительная информация: https://github.com/magento/magento2/issues/1146
источник