mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-30 08:05:39 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1479868 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			250 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="EUC-KR" ?>
 | |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
 | |
| <!-- English Revision: 151408:1479264 (outdated) -->
 | |
| 
 | |
| <!--
 | |
|  Licensed to the Apache Software Foundation (ASF) under one or more
 | |
|  contributor license agreements.  See the NOTICE file distributed with
 | |
|  this work for additional information regarding copyright ownership.
 | |
|  The ASF licenses this file to You under the Apache License, Version 2.0
 | |
|  (the "License"); you may not use this file except in compliance with
 | |
|  the License.  You may obtain a copy of the License at
 | |
| 
 | |
|      http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
|  Unless required by applicable law or agreed to in writing, software
 | |
|  distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  See the License for the specific language governing permissions and
 | |
|  limitations under the License.
 | |
| -->
 | |
| 
 | |
| <modulesynopsis metafile="mod_setenvif.xml.meta">
 | |
| 
 | |
| <name>mod_setenvif</name>
 | |
| <description>요청의 성격에 따라 환경변수 설정을 변경한다</description>
 | |
| <status>Base</status>
 | |
| <sourcefile>mod_setenvif.c</sourcefile>
 | |
| <identifier>setenvif_module</identifier>
 | |
| 
 | |
| 
 | |
| <summary>
 | |
| 
 | |
|     <p><module>mod_setenvif</module> 모듈은 요청의 성격이
 | |
|     정규표현식에 해당하는지 여부로 환경변수를 설정한다. 서버의
 | |
|     다른 부분이 행동을 결정할때 이 환경변수를 사용할 수 있다.</p>
 | |
| 
 | |
|     <p>설정파일에 나오는 순서대로 지시어를 처리한다. 그래서
 | |
|     브라우저가 MSIE가 아니라 mozilla인 경우 <code>netscape</code>를
 | |
|     설정하는 아래 예와 같이 여러 지시어를 함께 사용할 수 있다.</p>
 | |
| 
 | |
| <example>
 | |
|   BrowserMatch ^Mozilla netscape<br />
 | |
|   BrowserMatch MSIE !netscape<br />
 | |
| </example>
 | |
| </summary>
 | |
| 
 | |
| <seealso><a href="../env.html">아파치의 환경변수</a></seealso>
 | |
| 
 | |
| <directivesynopsis>
 | |
| <name>BrowserMatch</name>
 | |
| <description>HTTP User-Agent에 따라 환경변수를 설정한다</description>
 | |
| <syntax>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
 | |
| [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
 | |
| <contextlist><context>server config</context>
 | |
| <context>virtual host</context><context>directory</context>
 | |
| <context>.htaccess</context></contextlist>
 | |
| <override>FileInfo</override>
 | |
| 
 | |
| <usage>
 | |
|   <p><directive>BrowserMatch</directive>는 <directive
 | |
|   module="mod_setenvif">SetEnvIf</directive> 지시어의 특별한
 | |
|   경우로, HTTP 요청 헤더 <code>User-Agent</code>에 따라 환경변수를
 | |
|   설정한다. 다음 두 줄은 같다:</p>
 | |
| <example>
 | |
|    BrowserMatchNoCase Robot is_a_robot<br /> 
 | |
|    SetEnvIfNoCase User-Agent Robot is_a_robot<br /> 
 | |
| </example>
 | |
| 
 | |
|     <p>추가 예제:</p>
 | |
| <example>
 | |
|     BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
 | |
|     BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
 | |
|     BrowserMatch MSIE !javascript<br />
 | |
| </example>
 | |
| </usage>
 | |
| </directivesynopsis>
 | |
| 
 | |
| <directivesynopsis>
 | |
| <name>BrowserMatchNoCase</name>
 | |
| <description>대소문자를 구별하지않고 User-Agent에 따라 환경변수를
 | |
| 설정한다</description>
 | |
| <syntax>BrowserMatchNoCase  <em>regex [!]env-variable</em>[=<em>value</em>]
 | |
|     [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
 | |
| <contextlist><context>server config</context>
 | |
| <context>virtual host</context><context>directory</context>
 | |
| <context>.htaccess</context></contextlist>
 | |
| <override>FileInfo</override>
 | |
| 
 | |
| <usage>
 | |
| 
 | |
|     <p><directive>BrowserMatchNoCase</directive> 지시어는 <directive
 | |
|     module="mod_setenvif">BrowserMatch</directive> 지시어와
 | |
|     의미상 같다. 그러나 이 지시어는 대소문자를 구별하지않는다.
 | |
|     예를 들어:</p>
 | |
| <example>
 | |
|     BrowserMatchNoCase mac platform=macintosh<br />
 | |
|     BrowserMatchNoCase win platform=windows<br />
 | |
| </example>
 | |
| 
 | |
|     <p><directive>BrowserMatch</directive>와
 | |
|     <directive>BrowserMatchNoCase</directive> 지시어는
 | |
|     <directive module="mod_setenvif">SetEnvIf</directive>와
 | |
|     <directive module="mod_setenvif">SetEnvIfNoCase</directive>
 | |
|     지시어의 특별한 경우다. 다음 주 줄은 같다:</p>
 | |
| <example>
 | |
|    BrowserMatchNoCase Robot is_a_robot<br />
 | |
|    SetEnvIfNoCase User-Agent Robot is_a_robot<br />
 | |
| </example>
 | |
| </usage>
 | |
| </directivesynopsis>
 | |
| 
 | |
| <directivesynopsis>
 | |
| <name>SetEnvIf</name>
 | |
| <description>요청의 성질에 따라 환경변수를 설정한다</description>
 | |
| <syntax>SetEnvIf <em>attribute
 | |
|     regex [!]env-variable</em>[=<em>value</em>]
 | |
|     [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
 | |
| <contextlist><context>server config</context>
 | |
| <context>virtual host</context><context>directory</context>
 | |
| <context>.htaccess</context></contextlist>
 | |
| <override>FileInfo</override>
 | |
| 
 | |
| <usage>
 | |
|     <p><directive>SetEnvIf</directive> 지시어는 요청의 성질에
 | |
|     따라 환경변수를 정의한다. 첫번째 아규먼트 <em>attribute</em>는
 | |
|     다음 세가지중 하나다:</p>
 | |
| 
 | |
| <ol>
 | |
| <li>HTTP 요청 헤더 (더 자세한 정보는 <a
 | |
|     href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>
 | |
|     참고); 예를 들어: <code>Host</code>, <code>User-Agent</code>,
 | |
|     <code>Referer</code>, <code>Accept-Language</code>. 정규표현식을
 | |
|     사용하여 여러 요청 헤더를 지칭할 수 있다.</li>
 | |
| 
 | |
| <li>요청의 다음 성질중 하나:
 | |
|     <ul>
 | |
|       <li><code>Remote_Host</code> - (있다면) 요청하는 클라이언트의
 | |
|       호스트명</li>
 | |
| 
 | |
|       <li><code>Remote_Addr</code> - 요청하는 클라이언트의 IP 주소</li>
 | |
| 
 | |
|       <li><code>Server_Addr</code> - 요청을 받는 서버의 IP 주소
 | |
|       (2.0.43 버전 이후에만)</li>
 | |
| 
 | |
|       <li><code>Request_Method</code> - 사용한 메써드 이름
 | |
|       (<code>GET</code>, <code>POST</code>, <em>등등</em>)</li>
 | |
| 
 | |
|       <li><code>Request_Protocol</code> - 요청의 프로토콜 이름과
 | |
|       버전 (<em>예를 들어</em>, "HTTP/0.9", "HTTP/1.1", <em>등.</em>)</li>
 | |
| 
 | |
|       <li><code>Request_URI</code> - HTTP 요청에서 요청한 자원
 | |
|       -- 일반적으로 URL에서 질의문자열을 제외한 스킴(scheme)과
 | |
|       호스트 이후 부분</li>
 | |
|     </ul>
 | |
| </li>
 | |
| 
 | |
| <li>요청과 연관된 환경변수 이름. 그래서 <directive>SetEnvIf</directive>
 | |
| 지시어는 이전 지시어의 결과를 검사할 수 있다. 이전에
 | |
| <code>SetEnvIf[NoCase]</code> 지시어로 정의한 환경변수만을
 | |
| 검사할 수 있다. '이전'이란 (서버전역과 같이) 더 넓은 영역 혹은
 | |
| 지시어의 현재 영역 이전을 뜻한다. 요청 성질이 아니고 정규표현식이
 | |
| 아닌 <em>attribute</em>는 환경변수로 취급한다.</li>
 | |
| </ol>
 | |
| 
 | |
| <p>두번째 아규먼트는 (<em>regex</em>) <a
 | |
| href="http://www.pcre.org/">Perl 호환 정규표현식</a>이다.
 | |
| 이는 POSIX.2 egrep의 정규표현식과 비슷하다. <em>regex</em>가
 | |
| <em>attribute</em>에 대응하면 나머지 아규먼트를 처리한다.</p>
 | |
| 
 | |
| <p>나머지 아규먼트는 설정할 변수명과 (선택적인) 설정값들이다.
 | |
| 다음과 같은 형식이다</p>
 | |
| 
 | |
|     <ol>
 | |
|       <li><code><em>varname</em></code>, 혹은</li>
 | |
| 
 | |
|       <li><code>!<em>varname</em></code>, 혹은</li>
 | |
| 
 | |
|       <li><code><em>varname</em>=<em>value</em></code></li>
 | |
|     </ol>
 | |
| 
 | |
|     <p>첫번째 형태는 값으로 "1"을 사용한다. 두번째 형태는 변수가
 | |
|     이미 정의된 경우 변수를 제거하고, 세번째는 변수의 값으로
 | |
|     <code><em>value</em></code>를 설정한다. 아파치 2.0.51부터
 | |
|     <var>value</var>에 있는 <code>$1</code>..<code>$9</code>를
 | |
|     <var>regex</var>의 괄호친 하위표현식으로 대체한다.</p>
 | |
| 
 | |
| <example>
 | |
| <title>예제:</title>
 | |
|    SetEnvIf Request_URI "\.gif$" object_is_image=gif<br />
 | |
|    SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br />
 | |
|    SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br />
 | |
|         :<br />
 | |
|    SetEnvIf Referer www\.mydomain\.com intra_site_referral<br />
 | |
|         :<br />
 | |
|    SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
 | |
|         :<br />
 | |
|    SetEnvIf ^TS*  ^[a-z].*  HAVE_TS<br />
 | |
| </example>
 | |
| 
 | |
|     <p>처음 세 줄은 이미지 파일을 요청한 경우 환경변수
 | |
|     <code>object_is_image</code>를 설정한다. 네번째 줄은 페이지를
 | |
|     <code>www.mydomain.com</code> 웹사이트에서 참조한 경우
 | |
|     <code>intra_site_referral</code>을 설정한다.</p>
 | |
| 
 | |
|     <p>마지막 예는 요청에 이름에 "TS"로 시작하고 값이 [a-z]
 | |
|     중 하나로 시작하는 헤더가 있는 경우 환경변수
 | |
|     <code>HAVE_TS</code>를 설정한다.</p>
 | |
| </usage>
 | |
| 
 | |
| <seealso><a href="../env.html">아파치의 환경변수</a>에 더 많은
 | |
| 예제가 있다.
 | |
| </seealso>
 | |
| </directivesynopsis>
 | |
| 
 | |
| <directivesynopsis>
 | |
| <name>SetEnvIfExpr</name>
 | |
| <description>Sets environment variables based on an ap_expr expression</description>
 | |
| <contextlist><context>server config</context><context>virtual host</context><context>directory</context><context>.htaccess</context></contextlist>
 | |
| <usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
 | |
| </directivesynopsis>
 | |
| 
 | |
| <directivesynopsis>
 | |
| <name>SetEnvIfNoCase</name>
 | |
| <description>대소문자를 구별하지않고 요청의 성질에 따라 환경변수를
 | |
| 설정한다</description>
 | |
| <syntax>SetEnvIfNoCase <em>attribute regex 
 | |
|         [!]env-variable</em>[=<em>value</em>]
 | |
|     [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
 | |
| <contextlist><context>server config</context>
 | |
| <context>virtual host</context><context>directory</context>
 | |
| <context>.htaccess</context></contextlist>
 | |
| <override>FileInfo</override>
 | |
| 
 | |
| <usage>
 | |
| 
 | |
|     <p><directive>SetEnvIfNoCase</directive>는 의미상 <directive
 | |
|     module="mod_setenvif">SetEnvIf</directive> 지시어와 같지만,
 | |
|     대소문자를 구별하지않고 정규표현식을 찾는다. 예를 들어:</p>
 | |
| <example>
 | |
|    SetEnvIfNoCase Host Apache\.Org site=apache
 | |
| </example>
 | |
| 
 | |
|     <p>이 경우 HTTP 요청 헤더 <code>Host:</code>가
 | |
|     <code>Apache.Org</code>, <code>apache.org</code> 등을 포함하면
 | |
|     <code>site</code> 환경변수를 "<code>apache</code>"로 설정한다.</p>
 | |
| </usage>
 | |
| </directivesynopsis>
 | |
| </modulesynopsis>
 |