Apache 확장자 자동탐색 원리
Multiviews
MultiViews는 디렉토리별 옵션이므로, httpd.conf의 <Directory>, <Location>, <Files> 섹션 혹은 (AllowOverride가 적절히 설정되었다면) .htaccess 파일의 Options 지시어에 설정할 수 있다. Options All은 MultiViews를 포함하지않음을 주의하라. 따로 직접 써줘야 한다.MultiViews를 사용하면 다음과 같은 일이 일어난다:
서버가 /some/dir/foo에 대한 요청을 받고 /some/dir/foo에 MultiViews가 동작하며 /some/dir/foo가 존재하지 않을 경우, 서버는 디렉토리에서 이름이 foo.*인 파일들을 모든 포함하는 가상의 type map을 만든다. 클라이언트가 요청한 media type과 content-encoding을 가지고 이중에 가장 적합한 것을 선택한다.
MultiViews는 서버가 디렉토리를 참조할때 파일을 찾는 DirectoryIndex 지시어에도 적용된다.
설정파일이 다음과 같다면,
DirectoryIndex index
index.html과 index.html3이 모두 있다면 서버는 이둘 중에 하나를 결정한다. 둘 모두 없고 index.cgi가 있다면, 서버는 그것을 실행한다.
디렉토리를 읽을때 파일중 하나가 Charset, Content-Type, Language, Encoding를 판단하는 mod_mime이 모르는 확장자를 가진다면, 결과는 MultiViewsMatch 지시어 설정에 달렷다. 이 지시어는 핸들러, 필터, 다른 확장형들이 MultiViews 협상에 참여할지 여부를 결정한다.