Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0
説明: | リクエストã®ç‰¹å¾´ã«åŸºã¥ã„ãŸç’°å¢ƒå¤‰æ•°ã®è¨å®šã‚’å¯èƒ½ã«ã™ã‚‹ |
---|---|
ステータス: | Base |
モジュールè˜åˆ¥å: | setenvif_module |
ソースファイル: | mod_setenvif.c |
mod_setenvif
モジュールã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã‚ã‚‹å´é¢ãŒæŒ‡å®šã•ã‚ŒãŸæ£è¦è¡¨ç¾
ã«åˆã†ã‹ã©ã†ã‹ã«ã‚ˆã£ã¦ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚
ã“れらã®ç’°å¢ƒå¤‰æ•°ã‚’使用ã—ã¦ã€ã‚µãƒ¼ãƒã®ä»–ã®éƒ¨åˆ†ãŒã©ã®ã‚ˆã†ãªå‹•作をã™ã‚‹ã‹ã‚’
決定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒæä¾›ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€
è¨å®šãƒ•ァイルã«ç¾ã‚Œã‚‹é †ç•ªã«é©ç”¨ã•れã¾ã™ã€‚
ãれを使ã£ã¦ã€æ¬¡ã®ä¾‹ã®ã‚ˆã†ã«ã‚ˆã‚Šè¤‡é›‘ãªè¨å®šã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ã“れã¯ã€ãƒ–ラウザ㌠mozilla ã§ã¯ã‚ã‚‹ã‘れã©ã€MSIE ã§ã¯ãªã„ã¨ãã«
netscape
ã‚’è¨å®šã—ã¾ã™ã€‚
BrowserMatch ^Mozilla netscape
BrowserMatch MSIE !netscape
説明: | HTTP User-Agent ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹ |
---|---|
æ§‹æ–‡: | BrowserMatch regex [!]env-variable[=value]
[[!]env-variable[=value]] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess |
上書ã: | FileInfo |
ステータス: | Base |
モジュール: | mod_setenvif |
BrowserMatch
ã¯
SetEnvIf
ディレクティブã®
特例ã§ã€User-Agent
HTTP リクエストヘッダã«åŸºã¥ã„ã¦
環境変数をè¨å®šã—ã¾ã™ã€‚以下㮠2 行ã®åŠ¹æžœã¯åŒã˜ã«ãªã‚Šã¾ã™:
BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot
ãã®ä»–ã®ä¾‹:
BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
BrowserMatch MSIE !javascript
説明: | HTTP User-Agent ã«åŸºã¥ã„ã¦å¤§æ–‡å—å°æ–‡å—を区別ã›ãšã« 環境変数をè¨å®šã™ã‚‹ |
---|---|
æ§‹æ–‡: | BrowserMatchNoCase regex [!]env-variable[=value]
[[!]env-variable[=value]] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess |
上書ã: | FileInfo |
ステータス: | Base |
モジュール: | mod_setenvif |
äº’æ›æ€§: | Apache 1.2 ä»¥é™ (Apache 1.2 ã§ã¯ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚‚ã†ç”¨ã„られã¦ã„ãªã„ mod_browser モジュールã«ã‚りã¾ã—ãŸ) |
BrowserMatchNoCase
ディレクティブã¯
æ„味的ã«ã¯ BrowserMatch
ディレクティブã¨
åŒã˜ã§ã™ã€‚ãŸã ã—ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯å¤§æ–‡å—å°æ–‡å—を区別ã—ãªã„
マッãƒãƒ³ã‚°ã‚’行ãªã„ã¾ã™ã€‚例ãˆã°:
BrowserMatchNoCase mac platform=macintosh
BrowserMatchNoCase win platform=windows
BrowserMatch
ディレクティブã¨
BrowserMatchNoCase
ディレクティブã¯
SetEnvIf
ディレクティブã¨
SetEnvIfNoCase
ディレクティブã®
特例ã§ã™ã€‚以下㮠2 行ã®åŠ¹æžœã¯åŒã˜ã§ã™:
BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot
説明: | リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹ |
---|---|
æ§‹æ–‡: | SetEnvIf attribute
regex [!]env-variable[=value]
[[!]env-variable[=value]] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess |
上書ã: | FileInfo |
ステータス: | Base |
モジュール: | mod_setenvif |
SetEnvIf
ディレクティブã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å±žæ€§ã«åŸºã¥ã„ã¦ç’°å¢ƒå¤‰æ•°ã‚’定義ã—ã¾ã™ã€‚
最åˆã®å¼•æ•°ã§æŒ‡å®šã§ãã‚‹ attribute ã¯ä»¥ä¸‹ã®ä¸‰ã¤ã®ã©ã‚Œã‹ã§ã™:
Host
,
User-Agent
, Referer
,
Accept-Language
ã§ã™ã€‚リクエストヘッダã®é›†åˆã‚’ç¾ã™ãŸã‚ã«
æ£è¦è¡¨ç¾ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚Remote_Host
-
リクエストを行ãªã£ã¦ã„るクライアントã®ãƒ›ã‚¹ãƒˆå (ã‚‚ã—ã‚れã°)Remote_Addr
-
リクエストを行ãªã£ã¦ã„るクライアント㮠IP アドレスServer_Addr
-
リクエストをå—ã‘å–ã£ãŸã‚µãƒ¼ãƒã® IP アドレス
(2.0.43 以é™ã®ã¿)Request_Method
-
使用ã•れã¦ã„るメソッドå (GET
, POST
ãªã©)Request_Protocol
-
リクエストãŒè¡Œãªã‚れãŸãƒ—ãƒãƒˆã‚³ãƒ«ã®åå‰ã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³
(例ãˆã°ã€"HTTP/0.9", "HTTP/1.1" ãªã©ã€‚)Request_URI
-
URL ã®ã‚¹ã‚ームã¨ãƒ›ã‚¹ãƒˆã®å¾Œã®éƒ¨åˆ†SetEnvIf
ディレクティブãŒä»¥å‰ã®ãƒžãƒƒãƒã®çµæžœã‚’
使ã†ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“ã®æ–¹æ³•ã®ãƒ†ã‚¹ãƒˆã§ã¯å‰ã®éƒ¨åˆ†ã«ã‚ã‚‹
SetEnvIf[NoCase]
ã®çµæžœã®ã¿ã‚’使用å¯èƒ½ã§ã™ã€‚「å‰ã€ã¨ã¯ã€
より広ã„範囲ã«å¯¾ã—ã¦å®šç¾©ã•れã¦ã„ã‚‹ (サーãƒå…¨ä½“ã®ã‚ˆã†ã«) ã‹ã€ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®
範囲ã§ã‚ˆã‚Šå‰ã®éƒ¨åˆ†ã§å®šç¾©ã•れã¦ã„ã‚‹ã‹ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚
環境変数ã§ã‚ã‚‹å¯èƒ½æ€§ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ç‰¹æ€§ã«å¯¾ã™ã‚‹ãƒžãƒƒãƒãŒå˜åœ¨ã›ãšã€
attribute ã«æ£è¦è¡¨ç¾ãŒä½¿ã‚れãªã‹ã£ãŸã¨ãã«ã®ã¿è€ƒæ…®ã•れã¾ã™ã€‚二ã¤ç›®ã®å¼•æ•° (regex) 㯠Perl 互æ›ã®æ£è¦è¡¨ç¾ã§ã™ã€‚ ã“れ㯠POSIX.2 ã® egrep å½¢å¼ã®æ£è¦è¡¨ç¾ã¨ä¼¼ã¦ã„ã¾ã™ã€‚regex ㌠attribute ã«ãƒžãƒƒãƒã™ã‚‹å ´åˆã¯ã€æ®‹ã‚Šã®å¼•æ•°ãŒè©•価ã•れã¾ã™ã€‚
残りã®å¼•æ•°ã¯è¨å®šã™ã‚‹å¤‰æ•°ã®åå‰ã§ã€è¨å®šã•れる値を指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ ã“れã¯ã€
varname
!varname
varname=value
ã®ã©ã‚Œã‹ã®å½¢å¼ã«ãªã‚Šã¾ã™ã€‚
最åˆã®å½¢å¼ã§ã¯ã€å€¤ã¯ "1" ã«è¨å®šã•れã¾ã™ã€‚
二ã¤ç›®ã¯ã‚‚ã—値ãŒå®šç¾©ã•れã¦ã„れã°ãれをå–り除ãã¾ã™ã€‚
三ã¤ç›®ã¯å¤‰æ•°ã‚’ value
ã®ä¸Žãˆã‚‰ã‚ŒãŸå€¤ã«è¨å®šã—ã¾ã™ã€‚
2.0.51 以é™ã§ã¯ã€value 内㫠$1
..$9
ãŒå˜åœ¨ã™ã‚Œã°ãれをèªè˜ã—ã€regex ã®å¯¾å¿œã™ã‚‹ä¸¸æ‹¬å¼§ã§å›²ã¾ã‚ŒãŸéƒ¨åˆ†ã§
ç½®æ›ã—ã¾ã™ã€‚
SetEnvIf Request_URI "\.gif$" object_is_image=gif
SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
:
SetEnvIf Referer www\.mydomain\.com intra_site_referral
:
SetEnvIf object_is_image xbm XBIT_PROCESSING=1
:
SetEnvIf ^TS* ^[a-z].* HAVE_TS
åˆã‚ã®ä¸‰ã¤ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒç”»åƒã§ã‚ã‚‹ã¨ãã«ç’°å¢ƒå¤‰æ•°
object_is_image
ã‚’è¨å®šã—ã¾ã™ã€‚å››ã¤ç›®ã¯
å‚ç…§å…ƒã®ãƒšãƒ¼ã‚¸ãŒã‚¦ã‚§ãƒ–サイト www.mydomain.com
ã«ã‚ã‚‹ã¨ãã«
intra_site_referral
ã‚’è¨å®šã—ã¾ã™ã€‚
最後ã®ä¾‹ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã« "TS" ã§å§‹ã¾ã‚Šã€å€¤ãŒé›†åˆ [a-z] ã®ã©ã‚Œã‹ã§
å§‹ã¾ã‚‹ãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹ã¨ãã« HAVE_TS
ã‚’è¨å®šã—ã¾ã™ã€‚
説明: | リクエストã®å±žæ€§ã«åŸºã¥ã„ã¦å¤§æ–‡å—å°æ–‡å—を区別ã›ãšã«ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹ |
---|---|
æ§‹æ–‡: | SetEnvIfNoCase attribute regex
[!]env-variable[=value]
[[!]env-variable[=value]] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ, .htaccess |
上書ã: | FileInfo |
ステータス: | Base |
モジュール: | mod_setenvif |
äº’æ›æ€§: | Apache 1.3 ä»¥é™ |
SetEnvIfNoCase
ã¯æ„味的ã«ã¯
SetEnvIf
ディレクティブã¨
åŒã˜ã§ã™ã€‚é•ã„ã¯ã€æ£è¦è¡¨ç¾ã®ãƒžãƒƒãƒãƒ³ã‚°ãŒå¤§æ–‡å—å°æ–‡å—を区別ã—ãªã„ã§
行ãªã‚れるã“ã¨ã§ã™ã€‚例ãˆã°:
SetEnvIfNoCase Host Apache\.Org site=apache
ã“れ㯠HTTP リクエストヘッダã«ãƒ•ィールド Host:
ãŒ
ã‚りã€ãã®å€¤ãŒ Apache.Org
ã‚„ apache.org
ã€
ãã®ä»–ã®å¤§æ–‡å—å°æ–‡å—ã®çµ„ã¿åˆã‚ã›ã§ã‚ã£ãŸã¨ãã« site
環境変数を "apache
" ã«è¨å®šã—ã¾ã™ã€‚