2009-12-16 2 views
0

Codeigniter PHP 프레임 워크 URL은 위와 같습니다.어떻게 apache가 http://www.example.com/index.php/abc/def를 index.php에 매핑합니까?

아파치가이 요청을 서버 루트의 index.php에 매핑하는 것에 놀랐습니다. 나는 /index.php/abc/def를 /index.php/abc 디렉토리에있는 파일 'abc'로 해석하고 결과적으로 404 찾을 수 없음 (주어진 파일이 없다는 것을 전제로)을 예상했다.

누구나 index.php가 실행되는 이유를 설명 할 수 있습니까? 위의 설명을 설명하는 '자원에 대한지도 요청'전략을 설명하는 문서가 있습니까?

+0

아파치 구성에 대해 조금 알려주십시오. mod_rewrite를 사용하고 있습니까? htaccess 파일이 있습니까? –

+0

mod_rewrite가없고 .htaccess가 없습니다. 그냥 일반 아파치 – zedoo

답변

3

루트 폴더를 보면 index.php가 폴더가 아닌 파일이므로 경로의 다음 요소에 대해 디렉토리를 찾지 않고 해당 파일을 실행합니다.

은 "경로"의 나머지 부분은 다음

2

의 index.php 프로젝트의 문서 루트의 실제 파일 종류의 틀에 얽매이지 않는 쿼리 문자열이된다. 프레임 워크는 모든 요청을이 파일로 라우팅하도록 설정됩니다. 일반적으로 "부트 스트랩"파일이라고도합니다. 부트 스트랩 파일은 응용 프로그램을 시작하고 궁극적으로 이동해야하는 곳에서 사용자의 요청을 처리합니다.

프레임 워크에는 uri를 가져 오는 라우터가 있으며, 모든 것이 index.php 다음에 컨트롤러/동작 조합에 매핑됩니다.

관련 문제