제목 | URL 규칙 관련해서 질문 드립니다. | ||
---|---|---|---|
글쓴이 | egoing | 작성시각 | 2013/05/01 09:14:40 |
|
|||
CI에서는 경로에 index.php가 들어가잖아요? 예를들어서 opentutorials.org/index.php/course/1 이런식으로요. 여기서 index.php는 제가 보기에는 디렉토리인 것 같은데 웹서버에서 저것을 디렉토리가 아니라 실행가능한 php 스크립트로 인식하고 index.php 파일을 실행하는 것은 어떤 규칙 혹은 원리에서 그렇게 되는걸까요? |
|||
다음글 | Unable to connect to your data... (4) | ||
이전글 | view에서 foreach문으로 루프 돌릴시 객체만 ... (6) | ||
변종원(웅파)
/
2013/05/01 10:16:23 /
추천
0
|
milosz
/
2013/05/01 11:01:25 /
추천
0
/index.php/course/1 식으로 입력했을 때 웹서버에서는 index.php가 실제로 존재하는 파일인 경우
그 이후의 경로를 $_SERVER['PATH_INFO'] 에 담아 넘겨줍니다. (만약 index.php가 파일명이 아니고 폴더명이면 해당 경로를 따라갈겁니다.) Codeigniter의 system/core/URI.php, system/core/Router.php를 확인해보면
해당 $_SERVER['PATH_INFO'] 값을 통해 각 Controller, Method등을 처리하는걸 볼 수 있습니다. (CI에서는 Router를 통해 URI를 재정의 할 수 있기 때문에 코어에서 찾아보기에 복잡할 수 있습니다.) |
egoing
/
2013/05/01 13:33:11 /
추천
0
두분 고맙습니다. ^^
|
웹서버가 담당합니다. 아파치나 nginx, 톰캣 같은..
a.com 도메인을 치면 /home/a 라는 디렉토리의 index.php 또는 index.html을 실행하라고 연결을 하죠.
(ci에서 아무런 컨트롤러와 메소드를 입력하지 않아도 특정 컨트롤러가 실행되는 것처럼요)
질문하신 영역은 웹서버단의 처리이고 index.php로 들어온 이후에는 php, 즉 개발자의 영역이 되는겁니다.