Próbuję dowiedzieć się, jak działa Magento 2 . Widziałem coś, co mnie zdezorientowało.
Magento 2 ma 2 możliwe foldery główne:
/path/to/magento2/index.php
/path/to/magento2/pub/index.php
Jeden znajduje się na absolutnym najwyższym poziomie folderu dystrybucyjnego Magento 2. Drugi znajduje się w folderze „pub”.
Jeśli ustawię podstawowy URL to którykolwiek z nich, Magento działa idealnie.
Czy ktoś może mi wyjaśnić, dlaczego Magento 2 używa takiego folderu głównego 2?
/pub/
Odpowiedzi:
Korzystanie
/pub
jest lepsze, ponieważ jest bezpieczniejsze. Dlaczego? Ponieważ w takim przypadku większość kodu Magento będzie znajdować się poza głównym folderem dokumentu publicznego, więc możliwa powierzchnia ataku jest mniejsza. Innymi słowy, gdy używasz folderu najwyższego poziomu jako katalogu głównego dokumentu, musisz upewnić się, że różne foldery (takie jakapp
) są wyraźnie zabronione w konfiguracji serwera WWW.To powiedziawszy, nie każdy może skonfigurować katalog główny dokumentu, więc Magento zapewniło najwyższy poziom
index.php
kompatybilności.źródło
Główny powód, dla którego nie wszyscy użytkownicy Magento mogą skonfigurować webroota do katalogu „pub”. I oczywiście ze względu na kompatybilność wsteczną.
źródło
Jeśli chcesz używać folderu / pub jako root, przygotuj się na problemy z plikiem robots.txt i sitemap.xml.
Więcej informacji: https://github.com/magento/magento2/issues/1146
źródło