mirror of
https://github.com/apache/httpd.git
synced 2025-05-30 01:07:09 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421086 13f79535-47bb-0310-9956-ffa450edef68
259 lines
14 KiB
XML
259 lines
14 KiB
XML
<?xml version="1.0" encoding="EUC-KR"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!--
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
This file is generated from xml source: DO NOT EDIT
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
-->
|
|
<title>mod_setenvif - Apache HTTP Server</title>
|
|
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
|
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
|
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
|
|
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
|
|
<body>
|
|
<div id="page-header">
|
|
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p>
|
|
<p class="apache">Apache HTTP Server Version 2.3</p>
|
|
<img alt="" src="../images/feather.gif" /></div>
|
|
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
|
|
<div id="path">
|
|
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">모듈</a></div>
|
|
<div id="page-content">
|
|
<div id="preamble"><h1>아파치 모듈 mod_setenvif</h1>
|
|
<div class="toplang">
|
|
<p><span>가능한 언어: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
|
<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
|
<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a></p>
|
|
</div>
|
|
<div class="outofdate">이 문서는 최신판 번역이 아닙니다.
|
|
최근에 변경된 내용은 영어 문서를 참고하세요.</div>
|
|
<table class="module"><tr><th><a href="module-dict.html#Description">설명:</a></th><td>요청의 성격에 따라 환경변수 설정을 변경한다</td></tr>
|
|
<tr><th><a href="module-dict.html#Status">상태:</a></th><td>Base</td></tr>
|
|
<tr><th><a href="module-dict.html#ModuleIdentifier">모듈명:</a></th><td>setenvif_module</td></tr>
|
|
<tr><th><a href="module-dict.html#SourceFile">소스파일:</a></th><td>mod_setenvif.c</td></tr></table>
|
|
<h3>요약</h3>
|
|
|
|
|
|
<p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> 모듈은 요청의 성격이
|
|
정규표현식에 해당하는지 여부로 환경변수를 설정한다. 서버의
|
|
다른 부분이 행동을 결정할때 이 환경변수를 사용할 수 있다.</p>
|
|
|
|
<p>설정파일에 나오는 순서대로 지시어를 처리한다. 그래서
|
|
브라우저가 MSIE가 아니라 mozilla인 경우 <code>netscape</code>를
|
|
설정하는 아래 예와 같이 여러 지시어를 함께 사용할 수 있다.</p>
|
|
|
|
<div class="example"><p><code>
|
|
BrowserMatch ^Mozilla netscape<br />
|
|
BrowserMatch MSIE !netscape<br />
|
|
</code></p></div>
|
|
</div>
|
|
<div id="quickview"><h3 class="directives">지시어들</h3>
|
|
<ul id="toc">
|
|
<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li>
|
|
<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li>
|
|
<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li>
|
|
<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li>
|
|
</ul>
|
|
<h3>참고</h3>
|
|
<ul class="seealso">
|
|
<li><a href="../env.html">아파치의 환경변수</a></li>
|
|
</ul></div>
|
|
|
|
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
|
<div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">지시어</a></h2>
|
|
<table class="directive">
|
|
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>HTTP User-Agent에 따라 환경변수를 설정한다</td></tr>
|
|
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
|
|
[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr>
|
|
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정, 가상호스트, directory, .htaccess</td></tr>
|
|
<tr><th><a href="directive-dict.html#Override">Override 옵션:</a></th><td>FileInfo</td></tr>
|
|
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Base</td></tr>
|
|
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_setenvif</td></tr>
|
|
</table>
|
|
<p><code class="directive">BrowserMatch</code>는 <code class="directive"><a href="#setenvif">SetEnvIf</a></code> 지시어의 특별한
|
|
경우로, HTTP 요청 헤더 <code>User-Agent</code>에 따라 환경변수를
|
|
설정한다. 다음 두 줄은 같다:</p>
|
|
<div class="example"><p><code>
|
|
BrowserMatchNoCase Robot is_a_robot<br />
|
|
SetEnvIfNoCase User-Agent Robot is_a_robot<br />
|
|
</code></p></div>
|
|
|
|
<p>추가 예제:</p>
|
|
<div class="example"><p><code>
|
|
BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
|
|
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
|
|
BrowserMatch MSIE !javascript<br />
|
|
</code></p></div>
|
|
|
|
</div>
|
|
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
|
<div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">지시어</a></h2>
|
|
<table class="directive">
|
|
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>대소문자를 구별하지않고 User-Agent에 따라 환경변수를
|
|
설정한다</td></tr>
|
|
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
|
|
[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr>
|
|
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정, 가상호스트, directory, .htaccess</td></tr>
|
|
<tr><th><a href="directive-dict.html#Override">Override 옵션:</a></th><td>FileInfo</td></tr>
|
|
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Base</td></tr>
|
|
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_setenvif</td></tr>
|
|
<tr><th><a href="directive-dict.html#Compatibility">지원:</a></th><td>아파치 1.2 이상 (아파치 1.2에서 이 지시어는 현재
|
|
없어진 mod_browser 모듈에 있었다)</td></tr>
|
|
</table>
|
|
|
|
<p><code class="directive">BrowserMatchNoCase</code> 지시어는 <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> 지시어와
|
|
의미상 같다. 그러나 이 지시어는 대소문자를 구별하지않는다.
|
|
예를 들어:</p>
|
|
<div class="example"><p><code>
|
|
BrowserMatchNoCase mac platform=macintosh<br />
|
|
BrowserMatchNoCase win platform=windows<br />
|
|
</code></p></div>
|
|
|
|
<p><code class="directive">BrowserMatch</code>와
|
|
<code class="directive">BrowserMatchNoCase</code> 지시어는
|
|
<code class="directive"><a href="#setenvif">SetEnvIf</a></code>와
|
|
<code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>
|
|
지시어의 특별한 경우다. 다음 주 줄은 같다:</p>
|
|
<div class="example"><p><code>
|
|
BrowserMatchNoCase Robot is_a_robot<br />
|
|
SetEnvIfNoCase User-Agent Robot is_a_robot<br />
|
|
</code></p></div>
|
|
|
|
</div>
|
|
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
|
<div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">지시어</a></h2>
|
|
<table class="directive">
|
|
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>요청의 성질에 따라 환경변수를 설정한다</td></tr>
|
|
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>SetEnvIf <em>attribute
|
|
regex [!]env-variable</em>[=<em>value</em>]
|
|
[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr>
|
|
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정, 가상호스트, directory, .htaccess</td></tr>
|
|
<tr><th><a href="directive-dict.html#Override">Override 옵션:</a></th><td>FileInfo</td></tr>
|
|
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Base</td></tr>
|
|
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_setenvif</td></tr>
|
|
</table>
|
|
<p><code class="directive">SetEnvIf</code> 지시어는 요청의 성질에
|
|
따라 환경변수를 정의한다. 첫번째 아규먼트 <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>요청과 연관된 환경변수 이름. 그래서 <code class="directive">SetEnvIf</code>
|
|
지시어는 이전 지시어의 결과를 검사할 수 있다. 이전에
|
|
<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>
|
|
|
|
<div class="example"><h3>예제:</h3><p><code>
|
|
|
|
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 />
|
|
</code></p></div>
|
|
|
|
<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>
|
|
|
|
<h3>참고</h3>
|
|
<ul>
|
|
<li><a href="../env.html">아파치의 환경변수</a>에 더 많은
|
|
예제가 있다.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
|
<div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">지시어</a></h2>
|
|
<table class="directive">
|
|
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>대소문자를 구별하지않고 요청의 성질에 따라 환경변수를
|
|
설정한다</td></tr>
|
|
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>SetEnvIfNoCase <em>attribute regex
|
|
[!]env-variable</em>[=<em>value</em>]
|
|
[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr>
|
|
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정, 가상호스트, directory, .htaccess</td></tr>
|
|
<tr><th><a href="directive-dict.html#Override">Override 옵션:</a></th><td>FileInfo</td></tr>
|
|
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Base</td></tr>
|
|
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_setenvif</td></tr>
|
|
<tr><th><a href="directive-dict.html#Compatibility">지원:</a></th><td>아파치 1.3 이후</td></tr>
|
|
</table>
|
|
|
|
<p><code class="directive">SetEnvIfNoCase</code>는 의미상 <code class="directive"><a href="#setenvif">SetEnvIf</a></code> 지시어와 같지만,
|
|
대소문자를 구별하지않고 정규표현식을 찾는다. 예를 들어:</p>
|
|
<div class="example"><p><code>
|
|
SetEnvIfNoCase Host Apache\.Org site=apache
|
|
</code></p></div>
|
|
|
|
<p>이 경우 HTTP 요청 헤더 <code>Host:</code>가
|
|
<code>Apache.Org</code>, <code>apache.org</code> 등을 포함하면
|
|
<code>site</code> 환경변수를 "<code>apache</code>"로 설정한다.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="bottomlang">
|
|
<p><span>가능한 언어: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
|
<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
|
<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a></p>
|
|
</div><div id="footer">
|
|
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
|
|
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p></div>
|
|
</body></html> |