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?
/pub/
Antworten:
Verwenden
/pub
ist 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.php
Kompatibilität ein Top-Level bereitstellte.quelle
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.
quelle
Wenn Sie den Ordner / pub als root verwenden möchten, müssen Sie bereit sein, Probleme mit robots.txt und sitemap.xml zu haben.
Weitere Informationen: https://github.com/magento/magento2/issues/1146
quelle