Estoy tratando de descubrir cómo está funcionando Magento 2 . He visto algo que me hizo confundir.
Magento 2 tiene 2 posibles carpetas raíz:
/path/to/magento2/index.php
/path/to/magento2/pub/index.php
Uno está en el nivel superior absoluto de la carpeta de distribución de Magento 2. El segundo está dentro de la carpeta "pub".
Si configuro la URL base es cualquiera de ellos, magento funciona perfectamente.
¿Alguien puede explicarme por qué Magento 2 usa una carpeta raíz 2 como esa?
/pub/
Respuestas:
Usar
/pub
es mejor, porque es más seguro. ¿Por qué? Porque en ese caso, la mayoría del código de Magento vivirá fuera de la raíz del documento público, por lo que la posible superficie de ataque es más pequeña. En otras palabras, cuando utiliza la carpeta de nivel superior como raíz del documento, debe asegurarse de que varias carpetas (comoapp
) se denieguen explícitamente en la configuración de su servidor web.Dicho esto, no todos pueden configurar la raíz del documento, por lo que Magento proporcionó un nivel superior
index.php
para la compatibilidad.fuente
Razón principal por la que no todos los usuarios de Magento pueden configurar webroot en el directorio "pub" Y, por supuesto, debido a la compatibilidad con versiones anteriores.
fuente
Si desea utilizar la carpeta / pub como root, esté preparado para tener problemas con robots.txt y sitemap.xml.
Más información: https://github.com/magento/magento2/issues/1146
fuente