Warum hat Magento 2 2 mögliche Stammordner?

15

Ich versuche herauszufinden, wie Magento 2 funktioniert. Ich habe etwas gesehen, das mich verwirrt hat.

Magento 2 hat 2 mögliche Stammordner:

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

Einer befindet sich auf der absoluten obersten Ebene des Magento 2 Distributionsordners. Die zweite befindet sich im Ordner „pub“.

Wenn ich eine der beiden Basis-URLs einstelle, funktioniert Magento einwandfrei.

Kann mir jemand erklären, warum Magento 2 mit 2 Stammordner so ist?

HungDQ
quelle
Ich mag, wenn Stammordner ist/pub/
MagenX

Antworten:

30

Verwenden /pubist besser, weil es sicherer ist. Warum? Da sich in diesem Fall der größte Teil des Magento-Codes außerhalb des öffentlichen Dokumentenstamms befindet, ist die mögliche Angriffsfläche geringer. Mit anderen Worten, wenn Sie den Ordner der obersten Ebene als Dokumentstamm verwenden, müssen Sie sicherstellen, dass verschiedene Ordner (z. B. app) in Ihrer Webserverkonfiguration explizit abgelehnt werden.

Das heißt, nicht jeder kann das Dokumentenstammverzeichnis konfigurieren, weshalb Magento aus Gründen der index.phpKompatibilität ein Top-Level bereitstellte.

Willem
quelle
Beste Antwort kurz erklärt. +1
Anna Völkl
1

Hauptgrund, warum nicht alle Magento-Benutzer Webroot für das Verzeichnis "pub" konfigurieren können. Und natürlich aus Gründen der Abwärtskompatibilität.

KAndy
quelle