어쩌면 나는 그것을 얻지 못하지만 내 파일이 이미 캐시되어 있다면 Magento 2에서 pub 디렉토리를 어떻게 사용할 것입니까? 교육받은 유일한 추측은 대체 메커니즘의 사용이 테마에 대해 알려진 파일 세트를 가짐으로써 다소 완화 될 수 있다는 것입니다.
문서를 읽음으로써 동적 파일, 정적 파일 및 캐시 파일을 이해하는 것에 대해 잘 알고 있다고 생각하지만 이점을 분명히 이해하지 못합니다.
내가 이해하는 것처럼 캐시는 단순히 자산의 정의 된 알려진 위치이므로 pub 디렉토리는 대체 메커니즘에서 사용되는 리소스를 줄이기 위해 파일 위치를 표준화하는 메커니즘이라고 추측하게되었습니다.
답변
pub 디렉토리는 루트 디렉토리 자산, 즉 app 디렉토리에 대한 공개 액세스를 차단하기위한 보안 조치입니다. index.php가 루트 디렉토리에있는 이유는 웹 호스트가 웹 루트를 변경하기 어렵거나 불가능한 개인을 처리하기위한 것으로 추정됩니다.
pub / index.php를 사용하는 경우 index.php가 루트 디렉토리에서 실행 된 경우 일 수 있지만 앱 소스 폴더에 액세스 할 수 없습니다. 이 연습은 Symfony와 Zend 2에서도 볼 수 있습니다.
이러한 방식으로 Magento 애플리케이션 구성, 템플릿 등이 노출되지 않습니다.
일반적으로 pub index.php vs root index.php와 관련된 아키텍처에 대한 지식은 팀의 프론트 엔드 개발자에게는 필요하지 않지만 기본 지식을 이해하는 것이 좋습니다.
답변
Magento 2에는 하나의 파일이 루트 폴더 안에 있고 다른 하나는 / pub 폴더 안에있는 두 개의 index.php 파일이 있습니다. Magento 2는이 파일 중 하나를 사용하여 응용 프로그램을 실행하도록 제안합니다. /pub/index.php를 사용하여 응용 프로그램을 실행하기로 선택한 경우 응용 프로그램 파일의 무단 직접 액세스를 제한하므로 보안 관점에서 결정하는 것이 좋습니다.
참고로 /index.php
파일은 개발자 모드 /pub/index.php
로 실행할 때 사용되며 프로덕션 모드로 실행할 때 사용됩니다.