만약 IfModule 이라는 태그를 언제 사용할 수 있는지 봅니다.
아래 설명을 찾았습니다.
출처 : http://httpd.apache.org/docs/2.0/mod/core.html
<IfModule> Directive
Description: | Encloses directives that are processed conditional on the presence or absence of a specific module |
---|---|
Syntax: | <IfModule [!]module-name> ... </IfModule> |
Context: | server config, virtual host, directory, .htaccess |
Override: | All |
Status: | Core |
Module: | core |
The <IfModule test>...</IfModule>
section is used to mark directives that are conditional on the presence of a specific module. The directives within an <IfModule>
section are only processed if the test is true. If test is false, everything between the start and end markers is ignored.
The test in the <IfModule>
section directive can be one of two forms:
- module name
- !module name
In the former case, the directives between the start and end markers are only processed if the module named module name is included in Apache -- either compiled in or dynamically loaded using LoadModule
. The second format reverses the test, and only processes the directives if module name is not included.
The module name argument is the file name of the module, at the time it was compiled. For example, mod_rewrite.c
. If a module consists of several source files, use the name of the file containing the string STANDARD20_MODULE_STUFF
.
<IfModule>
sections are nest-able, which can be used to implement simple multiple-module tests.
<IfModule>
sections.위의 문구중 아래를 확인한다.
Context: | server config, virtual host, directory, .htaccess |
---|
http://httpd.apache.org/docs/2.0/mod/directive-dict.html#Context
사용장소 (Context)
서버의 설정파일중 어느곳에서 지시어를 사용할 수 있는지 알려준다. 다음 값들을 쉼표로 구분한 목록이다:
- 주서버설정 (server config)
- 지시어를 서버 설정파일에서 (예를 들어,
httpd.conf
) 사용할 수 있으나,<VirtualHost>
나<Directory>
에서 사용할 수 없음을 뜻한다. 이 지시어는.htaccess
파일에서도 사용할 수 없다. - 가상호스트 (virtual host)
- 지시어를 서버 설정파일의
<VirtualHost>
안에서 사용할 수 있음을 뜻한다. - 디렉토리 (directory)
- 지시어가 어떻게 Directory, Location, Files 섹션이 동작하나에 설명한 제약을 따르며, 서버 설정파일의
<Directory>
,<Location>
,<Files>
에서 사용할 수 있음을 뜻한다. - .htaccess
- 지시어를 디렉토리별
.htaccess
파일에서 사용할 수 있음을 뜻한다. 이 지시어는 현재 사용하는 overrides 값에 따라 무시될 수 있다.
지시어는 지정된 장소에서만 사용할 수 있다. 다른 곳에서 사용하면 설정오류가 발생하고 서버는 부분에 대한 요청을 올바로 처리하지 못하거나 작동이, 예를 들어 시작조차도, 안될 수 있다.
지시어를 사용할 수 있는 장소는 열거한 장소를 모두 불린(boolean) OR한 결과이다. 즉, "server config, .htaccess
"에서 가능하다는 지시어는 httpd.conf
파일과 .htaccess
파일에서는 사용할 수 있지만, <Directory>
나 <VirtualHost>
에서는 사용할 수 없다.
directory는 <Directory>
, <Location>
, <Files> 를 의미한다.
IfModule은 <directory>, <location>, <files> 태그 안에서 사용된다.
'Web service' 카테고리의 다른 글
Tomcat 7 TestCase의 깔끔함 (0) | 2010.05.13 |
---|---|
[Tomcat 7] 로딩되는 Jsp 개수를 지정할 수 있도록 한다 (0) | 2010.05.13 |
Tomcat 7 (0) | 2010.04.16 |
Tomcat Major 패치 (5.5.29, 6.0.27) - 파일 다운로드 관련 (0) | 2010.04.12 |
톰캣 7 개발 도구 (0) | 2010.04.12 |