Почему у Magento 2 есть 2 возможные корневые папки?

15

Я пытаюсь понять, как работает Magento 2 . Я видел что-то, что заставило меня запутаться.

У Magento 2 есть 2 возможные корневые папки:

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

Один из них находится на верхнем уровне дистрибутивной папки Magento 2. Второй находится внутри папки «паб».

Если я установлю базовый URL-адрес любого из них, magento работает отлично.

Может кто-нибудь объяснить мне, почему Magento 2 использует 2 корневую папку, как это?

HungDQ
источник
мне нравится, когда корневая папка/pub/
MagenX

Ответы:

30

Использование /pubлучше, потому что это более безопасно. Почему? Потому что в этом случае большая часть кода Magento будет находиться за пределами корневого каталога общедоступного документа, поэтому возможная поверхность атаки меньше. Другими словами, когда вы используете папку верхнего уровня в качестве корня документа, вы должны убедиться, что различные папки (например, app) явно запрещены в конфигурации вашего веб-сервера.

Тем не менее, не каждый может настроить корневой каталог документа, поэтому Magento предоставил верхний уровень index.phpдля совместимости.

Willem
источник
Лучший ответ коротко объяснил. +1
Анна Фёлькл
1

Основная причина, по которой не все пользователи Magento могут настроить webroot для каталога «pub». И конечно из-за обратной совместимости.

Канди
источник
0

Если вы хотите использовать папку / pub в качестве пользователя root, будьте готовы иметь проблемы с robots.txt и sitemap.xml.

Дополнительная информация: https://github.com/magento/magento2/issues/1146

Михаил Шатилов
источник