작성
·
1.8K
답변 1
0
안녕하세요~~
일반적으로 웹서버에서 루트 URL에 해당하는 /
의 경우 기본 값이 index.html 또는 index.php 로 지정됩니다. 프론트 컨트롤러(Front Controller)라고도 합니다. 서버에서 별도로 지정을 해주지 않고도 index.php 가 홈을 위한 파일로 지정됩니다. /
로 요청을 하면 index.php 로 요청이 됩니다. 또한 /posts
와 같이 요청을 해도 index.php 로 요청됩니다. 아파치를 사용할 때는 .htaccess
로 설정해주는 경우도 있습니다.
서버를 켜실 때 php -S localhost -t public
으로 했을 때, 여기서 -t
옵션을 통해 public
을 지정하신 경우, Document Root, 즉, 외부에서 접근하기 위한 홈 디렉터리가 public
으로 설정됩니다. 따라서 사용자가 브라우저에서 접근할 때 서버의 public
을 Document Root 로 인지하고 그 내부에 있는 index.php
를 홈페이지를 위한 파일로 처리합니다.
프론트 컨트롤러 때문에 /의 기본값으로 index.php 가 실행된다면
index.php 파일의 위치가 지금처럼 public 폴더 안이 아니라 밖에 있어야 된다고 이해했었고
public 안의 index.php를 읽으려면
localhost/public/index.php 이런식으로 접근되어야 한다고 생각해왔어서요
근데 실제로는 localhost/index.php 이렇게 읽으면 되는거 보니
실제로 public 폴더 안의 index.php를 읽는게 어느곳에서의 설정때문인지 궁금합니다.