github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/mod/mod_setenvif.html.ja.utf8 (about) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> 4 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> 5 <!-- 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 This file is generated from xml source: DO NOT EDIT 8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 9 --> 10 <title>mod_setenvif - Apache HTTP サーバ バージョン 2.2</title> 11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> 14 <script src="../style/scripts/prettify.min.js" type="text/javascript"> 15 </script> 16 17 <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/mod_setenvif.html" rel="canonical" /></head> 18 <body> 19 <div id="page-header"> 20 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> 21 <p class="apache">Apache HTTP サーバ バージョン 2.2</p> 22 <img alt="" src="../images/feather.gif" /></div> 23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> 24 <div id="path"> 25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.2</a> > <a href="./">モジュール</a></div> 26 <div id="page-content"> 27 <div class="retired"><h4>Please note</h4> 28 <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p> 29 <p>You may follow <a href="http://httpd.apache.org/docs/current/mod/mod_setenvif.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache モジュール mod_setenvif</h1> 30 <div class="toplang"> 31 <p><span>翻訳済み言語: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | 32 <a href="../ja/mod/mod_setenvif.html" title="Japanese"> ja </a> | 33 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 34 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> 35 </div> 36 <div class="outofdate">この日本語訳はすでに古くなっている 37 可能性があります。 38 最近更新された内容を見るには英語版をご覧下さい。 39 </div> 40 <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>リクエストの特徴に基づいた環境変数の設定を可能にする</td></tr> 41 <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 42 <tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>setenvif_module</td></tr> 43 <tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_setenvif.c</td></tr></table> 44 <h3>概要</h3> 45 46 47 <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> 48 モジュールは、リクエストのある側面が指定された正規表現 49 に合うかどうかによって環境変数を設定する機能を提供します。 50 これらの環境変数を使用して、サーバの他の部分がどのような動作をするかを 51 決定することができます。</p> 52 53 <p>このモジュールが提供するディレクティブは、 54 設定ファイルに現れる順番に適用されます。 55 それを使って、次の例のようにより複雑な設定をすることができます。 56 これは、ブラウザが mozilla ではあるけれど、MSIE ではないときに 57 <code>netscape</code> を設定します。</p> 58 <div class="example"><p><code> 59 BrowserMatch ^Mozilla netscape<br /> 60 BrowserMatch MSIE !netscape<br /> 61 </code></p></div> 62 </div> 63 <div id="quickview"><h3 class="directives">ディレクティブ</h3> 64 <ul id="toc"> 65 <li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> 66 <li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> 67 <li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> 68 <li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> 69 </ul> 70 <h3>参照</h3> 71 <ul class="seealso"> 72 <li><a href="../env.html">Apache の環境変数</a></li> 73 </ul><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div> 74 75 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 76 <div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">ディレクティブ</a></h2> 77 <table class="directive"> 78 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP User-Agent に基づいて環境変数を設定する 79 </td></tr> 80 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] 81 [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> 82 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 83 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> 84 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 85 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> 86 </table> 87 <p><code class="directive">BrowserMatch</code> は 88 <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ディレクティブの 89 特例で、<code>User-Agent</code> HTTP リクエストヘッダに基づいて 90 環境変数を設定します。以下の 2 行の効果は同じになります:</p> 91 92 <div class="example"><p><code> 93 BrowserMatchNoCase Robot is_a_robot<br /> 94 SetEnvIfNoCase User-Agent Robot is_a_robot<br /> 95 </code></p></div> 96 97 <p>その他の例:</p> 98 <div class="example"><p><code> 99 BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br /> 100 BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br /> 101 BrowserMatch MSIE !javascript<br /> 102 </code></p></div> 103 104 </div> 105 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 106 <div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">ディレクティブ</a></h2> 107 <table class="directive"> 108 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP User-Agent に基づいて大文字小文字を区別せずに 109 環境変数を設定する</td></tr> 110 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] 111 [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> 112 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 113 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> 114 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 115 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> 116 </table> 117 118 <p><code class="directive">BrowserMatchNoCase</code> ディレクティブは 119 意味的には <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> ディレクティブと 120 同じです。ただし、このディレクティブは大文字小文字を区別しない 121 マッチングを行ないます。例えば:</p> 122 123 <div class="example"><p><code> 124 BrowserMatchNoCase mac platform=macintosh<br /> 125 BrowserMatchNoCase win platform=windows<br /> 126 </code></p></div> 127 128 <p><code class="directive">BrowserMatch</code> ディレクティブと 129 <code class="directive">BrowserMatchNoCase</code> ディレクティブは 130 <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ディレクティブと 131 <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code> ディレクティブの 132 特例です。以下の 2 行の効果は同じです:</p> 133 134 <div class="example"><p><code> 135 BrowserMatchNoCase Robot is_a_robot<br /> 136 SetEnvIfNoCase User-Agent Robot is_a_robot<br /> 137 </code></p></div> 138 139 </div> 140 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 141 <div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">ディレクティブ</a></h2> 142 <table class="directive"> 143 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストの属性に基づいて環境変数を設定する 144 </td></tr> 145 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetEnvIf <em>attribute 146 regex [!]env-variable</em>[=<em>value</em>] 147 [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> 148 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 149 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> 150 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 151 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> 152 </table> 153 <p><code class="directive">SetEnvIf</code> 154 ディレクティブは、リクエストの属性に基づいて環境変数を定義します。 155 最初の引数で指定できる <em>attribute</em> は以下の三つのどれかです:</p> 156 157 <ol> 158 <li>HTTP リクエストヘッダフィールド (詳しい情報は <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC 2616</a> を 159 参照してください)。例えば、<code>Host</code>, 160 <code>User-Agent</code>, <code>Referer</code>, 161 <code>Accept-Language</code> です。リクエストヘッダの集合を表すために 162 正規表現を使うこともできます。</li> 163 164 <li>以下のリクエストの一部分のどれか: 165 166 <ul> 167 <li><code>Remote_Host</code> - 168 リクエストを行なっているクライアントのホスト名 (もしあれば)</li> 169 170 <li><code>Remote_Addr</code> - 171 リクエストを行なっているクライアントの IP アドレス</li> 172 173 <li><code>Server_Addr</code> - 174 リクエストを受け取ったサーバの IP アドレス 175 (2.0.43 以降のみ)</li> 176 177 <li><code>Request_Method</code> - 178 使用されているメソッド名 (<code>GET</code>, <code>POST</code> 179 <em>など</em>)</li> 180 181 <li><code>Request_Protocol</code> - 182 リクエストが行なわれたプロトコルの名前とバージョン 183 (<em>例えば</em>、"HTTP/0.9", "HTTP/1.1" <em>など。</em>)</li> 184 185 <li><code>Request_URI</code> - 186 URL のスキームとホストの後の部分</li> 187 </ul> 188 </li> 189 190 <li>リクエストと関連付けられる環境変数のリスト。これにより 191 <code class="directive">SetEnvIf</code> ディレクティブが以前のマッチの結果を 192 使うことができるようになります。この方法のテストでは前の部分にある 193 <code>SetEnvIf[NoCase]</code> の結果のみを使用可能です。「前」とは、 194 より広い範囲に対して定義されている (サーバ全体のように) か、現在のディレクティブの 195 範囲でより前の部分で定義されているか、ということです。 196 環境変数である可能性は、リクエストの特性に対するマッチが存在せず、 197 <em>attribute</em> に正規表現が使われなかったときにのみ考慮されます。</li> 198 </ol> 199 200 <p>二つ目の引数 (<em>regex</em>) は <a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>です。 201 <em>regex</em> が <em>attribute</em> にマッチする場合は、 202 残りの引数が評価されます。</p> 203 204 <p>残りの引数は設定する変数の名前で、設定される値を指定することもできます。 205 これは、</p> 206 207 <ol> 208 <li><code><em>varname</em></code></li> 209 210 <li><code>!<em>varname</em></code></li> 211 212 <li><code><em>varname</em>=<em>value</em></code></li> 213 </ol> 214 215 <p>のどれかの形式になります。</p> 216 217 <p>最初の形式では、値は "1" に設定されます。 218 二つ目はもし値が定義されていればそれを取り除きます。 219 三つ目は変数を <code><em>value</em></code> の与えられた値に設定します。 220 2.0.51 以降では、<var>value</var> 内に <code>$1</code>..<code>$9</code> 221 が存在すればそれを認識し、<var>regex</var> の対応する丸括弧で囲まれた部分で 222 置換します。</p> 223 224 <div class="example"><h3>例:</h3><p><code> 225 226 SetEnvIf Request_URI "\.gif$" object_is_image=gif<br /> 227 SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br /> 228 SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br /> 229 :<br /> 230 SetEnvIf Referer www\.mydomain\.com intra_site_referral<br /> 231 :<br /> 232 SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br /> 233 :<br /> 234 SetEnvIf ^TS* ^[a-z].* HAVE_TS<br /> 235 </code></p></div> 236 237 <p>初めの三つはリクエストが画像であるときに環境変数 238 <code>object_is_image</code> を設定します。四つ目は 239 参照元のページがウェブサイト <code>www.mydomain.com</code> にあるときに 240 <code>intra_site_referral</code> を設定します。</p> 241 242 <p>最後の例は、リクエストに "TS" で始まり、値が集合 [a-z] のどれかで 243 始まるヘッダがあるときに <code>HAVE_TS</code> を設定します。</p> 244 245 <h3>参照</h3> 246 <ul> 247 <li>他の例は、<a href="../env.html">Apache の環境変数</a> 248 </li> 249 </ul> 250 </div> 251 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 252 <div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">ディレクティブ</a></h2> 253 <table class="directive"> 254 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストの属性に基づいて大文字小文字を区別せずに環境変数を設定する</td></tr> 255 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetEnvIfNoCase <em>attribute regex 256 [!]env-variable</em>[=<em>value</em>] 257 [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> 258 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 259 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> 260 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 261 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> 262 </table> 263 264 <p><code class="directive">SetEnvIfNoCase</code> は意味的には 265 <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ディレクティブと 266 同じです。違いは、正規表現のマッチングが大文字小文字を区別しないで 267 行なわれることです。例えば:</p> 268 269 <div class="example"><p><code> 270 SetEnvIfNoCase Host Apache\.Org site=apache 271 </code></p></div> 272 273 <p>これは HTTP リクエストヘッダにフィールド <code>Host:</code> が 274 あり、その値が <code>Apache.Org</code> や <code>apache.org</code>、 275 その他の大文字小文字の組み合わせであったときに <code>site</code> 276 環境変数を "<code>apache</code>" に設定します。</p> 277 278 279 </div> 280 </div> 281 <div class="bottomlang"> 282 <p><span>翻訳済み言語: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | 283 <a href="../ja/mod/mod_setenvif.html" title="Japanese"> ja </a> | 284 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 285 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> 286 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 287 <script type="text/javascript"><!--//--><![CDATA[//><!-- 288 var comments_shortname = 'httpd'; 289 var comments_identifier = 'http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html'; 290 (function(w, d) { 291 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 292 d.write('<div id="comments_thread"><\/div>'); 293 var s = d.createElement('script'); 294 s.type = 'text/javascript'; 295 s.async = true; 296 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 297 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 298 } 299 else { 300 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 301 } 302 })(window, document); 303 //--><!]]></script></div><div id="footer"> 304 <p class="apache">Copyright 2017 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> 305 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 306 if (typeof(prettyPrint) !== 'undefined') { 307 prettyPrint(); 308 } 309 //--><!]]></script> 310 </body></html>