Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server

[目次][用語][索引][前へ][次へ]

6.2.6 M,N,O,P,Q,Rで始まるディレクティブ

<この項の構成>
(1) MaxClients 接続数 
(2) MaxKeepAliveRequests 接続数
(3) MaxRequestsPerChild リクエスト処理回数 
(4) MaxSpareServers プロセス数 
(5) MinSpareServers プロセス数 
(6) MultiviewsMatch {NegotiatedOnly|Handlers}
(7) NameVirtualHost {IPアドレス|*}〔:ポート番号〕
(8) Options {+|-}オプション 〔{+|-}オプション …〕
(9) Order 指示子
(10) PassEnv 環境変数 〔環境変数 …〕
(11) PidFile ファイル名
(12) Port ポート番号
(13) ProxyErrorOverride {On|Off}
(14) ProxyPass パス名 URL
(15) ProxyPassReverse パス名 URL
(16) ProxyPreserveHost {On|Off}
(17) ProxyVia {on|off|full|block}
(18) QOSCookieDomain ドメイン名
(19) QOSCookieExpires 値
(20) QOSCookieName クッキー名 〔{hws|user}〕
(21) QOSCookieSecure{on|off}
(22) QOSCookieServers 値
(23) QOSRedirect 旧パス 新パス
(24) QOSRejectionServers 値
(25) QOSResponse {file[MIMEタイプ]ファイル名|message テキスト}
(26) ReadmeName ファイル名
(27) Redirect 〔{permanent|temp|seeother|gone|ステータスコード}〕 旧パス 新パス
(28) RedirectMatch 〔{permanent|temp|seeother|gone|ステータスコード}〕 正規表現 新パス
(29) RequestHeader{{set|append|add}ヘッダ ヘッダ値〔env=〔!〕環境変数〕|unset ヘッダ}
(30) Require {user ユーザ名 〔ユーザ名 …〕|group グループ名 〔グループ名 …〕|valid-user|file-owner|file-group}

(1) MaxClients 接続数 [図データ]

〜((1−1024)) 《1024》

(a) 内容

同時に接続できるクライアントの最大数を指定します。

サーバを起動すると,StartServersディレクティブで指定した数のプロセスが起動されリクエストを待ちます。多くのリクエストが同時に発生した場合,複数のプロセスでリクエストを処理することになります。リクエスト待ちの残りプロセス数がMinSpareServersディレクティブで指定した数より少なくなると,徐々に新規プロセスを生成します。このとき,プロセス数がこのディレクティブで指定した数になるまでプロセスが生成されます。その後,リクエストの処理が終了しリクエスト待ちプロセスが増加すると,MaxSpareServersディレクティブで指定した数までプロセスを終了させます。

プロセス数に関連するほかのディレクティブについては,「4.1 HTTP Serverの処理とディレクティブとの関係」を参照してください。

(b) 記述できる場所

httpsd.conf

(c) 指定例
MaxClients 150

(2) MaxKeepAliveRequests 接続数

〜((0−2147483647))《100》

(a) 内容

KeepAlive連続接続回数の上限を指定します。上限値を設定しない場合は0を指定します。KeepAliveはサーバプロセスが特定のクライアントに占有されるので,ほかのクライアントにもサービスの機会を与えるために上限を設けます。

(b) 記述できる場所

httpsd.conf

(c) 指定例
MaxKeepAliveRequests 100

(3) MaxRequestsPerChild リクエスト処理回数 [図データ]

〜((0−2147483647))《0》

(a) 内容

サーバプロセスのリクエスト処理回数を指定します。サーバプロセスは指定されたリクエスト処理回数だけ動作し,終了します。 ユーザが作成したアプリケーションなどによるメモリリークによる障害を未然に防ぐ効果があります。なお,0を指定すると,サーバプロセスのリクエスト処理回数の上限は設定されません。サーバプロセスは終了することなく,リクエストを待ち,処理します。

(b) 記述できる場所

httpsd.conf

(c) 指定例
MaxRequestsPerChild 10000

(4) MaxSpareServers プロセス数 [図データ]

〜((1−1024))《10》

(a) 内容

リクエスト待ち状態で稼働させておくサーバプロセスの最大数を指定します。プロセス数に関連するほかのディレクティブについては,「4.1 HTTP Serverの処理とディレクティブとの関係」を参照してください。

MinSpareServers以下の値を設定した場合,MinSpareServers指定値+1の値が仮定されます。

(b) 記述できる場所

httpsd.conf

(c) 指定例
MaxSpareServers 10

(5) MinSpareServers プロセス数 [図データ]

〜((1−1024))《5》

(a) 内容

リクエスト待ち状態で稼働しているサーバプロセスの最小数を指定します。サーバプロセス数がこの指定値より少なくなったら,新しいプロセスを生成します。プロセス数に関連するほかのディレクティブについては,「4.1 HTTP Serverの処理とディレクティブとの関係」を参照してください。

(b) 記述できる場所

httpsd.conf

(c) 指定例
MinSpareServers 5

(6) MultiviewsMatch {NegotiatedOnly|Handlers}

(a) 内容

コンテントネゴシエーションの対象となる拡張子の種類を指定します。

NegotiatedOnly:拡張子が文字セット,圧縮形式,言語コード,MIMEタイプと関連づけられたものだけをコンテントネゴシエーションの対象にします。

Handlers:NegotiatedOnlyを指定した場合の対象に加え,ハンドラと関連づけられた拡張子についてもコンテントネゴシエーションの対象にします。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例
MultiviewsMatch Handlers

(7) NameVirtualHost {IPアドレス|*}〔:ポート番号〕

(a) 内容

サーバ名に基づくバーチャルホストで使用するIPアドレスを指定します。IPアドレスには,IPv6アドレスも指定できます。IPv6アドレスを指定する場合は,IPv6アドレスを[ ]で囲んでください。

IPアドレスの代わりに*を指定すると,IPv4アドレスを指定したNameVirtualHostディレクティブや<VirtualHost>ブロックで使用していないIPv4アドレスによるコネクションに対応して,サーバ名に基づくバーチャルホストを生成します。この指定はサーバ名に基づくバーチャルホストだけを使用している場合で,コンフィグファイルにIPアドレスを固定したくないときに便利です。

(b) 記述できる場所

httpsd.conf

(8) Options {+|-}オプション 〔{+|-}オプション …〕

〜《All》

(a) 内容

ユーザが利用できる機能を制限する場合に指定します。

+:オプションで指定した機能の利用を許可します。

-:オプションで指定した機能の利用を禁止します。

オプション 機能
All MultiViews,SymLinksIfOwnerMatchを除くすべてのオプションが有効です。
ExecCGI CGIスクリプトの実行を許可します。
FollowSymLinks シンボリックリンクをたどります。Windows版では指定できません。
Indexes URLにディレクトリが指定されたとき,DirectoryIndexディレクティブで指定したファイル(デフォルトはindex.html)がない場合,ディレクトリのインデクスを表示します。
MultiViews Content-negotiated Multiviewsをサポートします。
None すべてのオプションで指定できる機能を無効にします。
SymLinksIfOwnerMatch ファイルまたはディレクトリの所有者がシンボリックリンクの所有者と同じ場合だけ,リンクをたどります。Windows版では指定できません。
注意
+-を使用しないでこのディレクティブを複数指定すると,最後に指定したディレクティブだけが有効になります。

(例1)
Options All
Options ExecCGI
このようにオプションに+-を指定しないディレクティブを2行指定した場合,ユーザはCGIスクリプトの実行機能だけが利用できます。ディレクトリインデクスなどの機能は利用できません。

(例2)
httpsd.confファイルの指定
Options All
アクセスコントロールファイルの指定
Options ExecCGI
httpsd.confファイルのあとにアクセスコントロールファイルが参照されるので,アクセスコントロールファイルがあるディレクトリではCGIスクリプトの実行機能だけが利用できます。

(例3)
Options Indexes ExecCGI
このように1行に+-を指定しないオプションを指定した場合は,指定した機能の両方を利用できます。
(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

Optionsレベル

(9) Order 指示子

〜《deny,allow》

(a) 内容

AllowディレクティブとDenyディレクティブの指定の評価の順序を指定します。指示子に指定できるものを次に示します。先に評価されたものは,あとに評価されるものに上書きされます。

指示子 意味
deny,allow Denyディレクティブの指定を,Allowディレクティブの指定より先に評価
allow,deny Allowディレクティブの指定を,Denyディレクティブの指定より先に評価
mutual-failure Allowディレクティブに指定され,Denyディレクティブに指定されていないホストだけアクセスを許可
(b) 記述できる場所

<Directory>,.htaccess

(c) 上書き許可

Limitレベル

(10) PassEnv 環境変数 〔環境変数 …〕

(a) 内容

CGIスクリプトに渡す任意の環境変数を指定できます。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例
PassEnv TMP

(11) PidFile ファイル名

〜《logs/httpd.pid》

(a) 内容

制御プロセスIDを格納するファイル名を指定します。ファイル名には,絶対パスまたはServerRootディレクティブの指定値からの相対パスが指定できます。

(b) 注意事項

Windows版の場合,再起動時には,PidFileディレクティブ指定値の変更は反映されません。PidFileディレクティブ指定値を変更した場合は,いったんWebサーバを停止してから,再起動してください。

UNIX版の場合,再起動時には,PidFileディレクティブ指定値の変更は反映されません。PidFileディレクティブ指定値を変更した場合は,いったんWebサーバをkillコマンドで停止してから,起動してください。停止時にhttpsdctlコマンドは使用できません。

(c) 記述できる場所

httpsd.conf

(d) 指定例
PidFile logs/httpd.pid

(12) Port ポート番号

〜((1−65535))《80》

(a) 内容

IPv4アドレスを使用したWebブラウザからの要求を受け付けるサーバのポート番号を指定します。

Portディレクティブを指定しても,IPv6アドレスを使用したWebブラウザからの要求は受け付けません。IPv6アドレスを使用する場合は,Listenディレクティブで指定してください。その場合,IPv4アドレスと併用するときは,IPv4アドレスについてもListenディレクティブを指定してください。

(b) 記述できる場所

httpsd.conf

(c) 指定例
Port 80

(13) ProxyErrorOverride {On|Off

(a) 内容

バックエンドサーバからのステータスコードが300番台,400番台または500番台の場合,レスポンスヘッダとレスポンスボディをオーバーライドします。その結果,リバースプロキシはバックエンドサーバからのレスポンスではなく,自身が生成したレスポンスをクライアントに返します。

On:バックエンドサーバからのステータスコードが300番台,400番台または500番台の場合,レスポンスヘッダとレスポンスボディをオーバーライドします。

Off:レスポンスヘッダとレスポンスボディをオーバーライドしません。

(b) 注意事項

リバースプロキシを使用するためにはmod_proxyモジュールおよびmod_proxy_httpモジュールの組み込みが必要です。リバースプロキシの詳細は,「4.7 リバースプロキシの設定」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(d) 指定例
ProxyErrorOverride On

バックエンドサーバからのステータスコードが300番台,400番台または500番台の場合,リバースプロキシが生成したレスポンスをクライアントに返します。

(14) ProxyPass パス名 URL

(a) 内容

リバースプロキシを使用する場合,Webブラウザからのリクエストとそれを転送するアドレスを指定します。

パス名:Webブラウザからリバースプロキシへのリクエストを/(スラッシュ)から始まるURLで指定します。

URL:転送先となるバックエンドサーバのURLを"http://ホスト名〔:ポート番号〕"を含む形で指定します。

URLには,IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。

次のディレクティブ指定値と重複するパス名は指定できません。

(b) 注意事項

リバースプロキシを使用するためにはmod_proxyモジュールおよびmod_proxy_httpモジュールの組み込みが必要です。リバースプロキシの詳細は,「4.7 リバースプロキシの設定」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(15) ProxyPassReverse パス名 URL

(a) 内容

リバースプロキシを使用する場合,バックエンドサーバからのリダイレクトレスポンスのLocationヘッダで示すURLを変更します。Webブラウザからのリダイレクトによるリクエストをリバースプロキシを通すリクエストにするためにLocationヘッダをこのディレクティブの指定値に変更します。

パス名:リダイレクトのリクエスト先であるリバースプロキシのパス名を,/(スラッシュ)から始まるURLで指定します。

URL:変更対象となるLocationヘッダ中のバックエンドサーバのURLを"http://ホスト名〔:ポート番号〕"を含む形で指定します。

URLには,IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。IPv6アドレスにはさまざまな表記方法がありますので,指定値に注意してください。IPv6アドレスの表記が指定値と一致しない場合,ディレクティブが有効になりません。IPv6アドレスを指定する場合は,バックエンドサーバからの応答のLocationヘッダ値に含まれるIPv6アドレスの表記を確認してください。

(b) 注意事項

リバースプロキシを使用するためにはmod_proxyモジュールおよびmod_proxy_httpモジュールの組み込みが必要です。リバースプロキシの詳細は,「4.7 リバースプロキシの設定」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(16) ProxyPreserveHost {On|Off

(a) 内容

リバースプロキシを使用する場合,クライアントから受信したHostヘッダの値をそのままバックエンドサーバに転送するかどうかを指定します。

On:クライアントから受信したHostヘッダの値をそのままバックエンドサーバに転送します。

Off:クライアントから受信したHostヘッダの値をProxyPassディレクティブの指定値に従って変更して,バックエンドサーバに転送します。

(b) 注意事項

リバースプロキシを使用するためにはmod_proxyモジュールおよびmod_proxy_httpモジュールの組み込みが必要です。リバースプロキシの詳細は,「4.7 リバースプロキシの設定」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(d) 指定例
ProxyPreserveHost On

クライアントから受信したHostヘッダの値をそのままバックエンドサーバに転送します。

(17) ProxyVia {on|off|full|block}

(a) 内容

このディレクティブはプロキシでViaヘッダの使用を制御する場合に指定します。

on:Viaヘッダに自ホストの情報を追加します。すでにある情報は変更しません。

off:Viaヘッダに自ホストの情報を追加しません。すでにある情報は変更しません。

full:コメントとして自ホストのバージョンを付けた情報をViaヘッダに追加します。すでにある情報は変更しません。

block:Viaヘッダに自ホストの情報を追加しません。リクエスト中のViaヘッダは削除します。

(b) 注意事項

リバースプロキシを使用するためにはmod_proxyモジュールおよびmod_proxy_httpモジュールの組み込みが必要です。リバースプロキシの詳細は,「4.7 リバースプロキシの設定」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(18) QOSCookieDomain ドメイン名

(a) 内容

流量制限機能に使用するクッキーが有効とされるドメインを指定します。この値は,HWS作成モードで使用され,ユーザ作成モードでは使用されません。複数のホストを設定している場合,このディレクティブを設定することでドメイン部分の共通するホスト間でクッキーを使用できるようになります。ドメイン名には,少なくとも"."が二つ含まれていなければなりません。

なお,IPv6アドレスに対応したドメイン名も指定できます。

(例)
a.example.comとb.example.comの二つのホストを設定している場合,このディレクティブで .example.comと指定すると,二つのホストのどちらにアクセスしても優先度処理が行われます。
(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(19) QOSCookieExpires 値

〜((0−86400))《300》(単位:秒)

(a) 内容

流量制限機能に使用するクッキーの有効時間を秒単位で指定します。この値は,HWS作成モードで使用され,ユーザ作成モードでは使用されません。

(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(20) QOSCookieName クッキー名 〔{hws|user}〕

〜《HWSCHK》

(a) 内容

流量制限機能に使用するクッキー名を指定します。クッキー名にセミコロン,コンマ,空白文字は使用できません。ホスト間およびURL間でそれぞれ異なるクッキーを利用したセション管理を行う場合は,別のクッキー名を指定する必要があります。

hws:HTTP Serverが作成するクッキーを用いて,セション管理を実施します。これをHWS作成モードと呼びます。

user:HTTP Server以外の外部モジュールなどで作成されたクッキーを用いて,セション管理を実施します。これをユーザ作成モードと呼びます。

(b) 注意事項
(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(21) QOSCookieSecure{on|off

(a) 内容

クライアントに対し,SSLによるアクセス時だけにクッキーを送信させるよう設定します。この値は,HWS作成モードで使用され,ユーザ作成モードでは使用されません。クッキーの確認はSSLの暗号処理の終了後であることに注意してください。

on:SSLによるアクセス時だけ,クライアントにクッキーを送信させるよう設定します。

off:SSL以外によるアクセス時にも,クライアントにクッキーを送信させるよう設定します。

(例)
SSLが有効であるホストと無効であるホストを設定している場合,このディレクティブを設定すると,SSLが有効なホストへのアクセスだけクッキーが送信されます。
(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(22) QOSCookieServers 値

UNIX版の場合
〜((0−MaxClientsディレクティブ指定値))《10》

Windows版の場合
〜((0−ThreadsPerChildディレクティブ指定値))《10》
(a) 内容

リクエスト待ち状態のサーバプロセス数が減少した場合に,クッキーを送信してきたリクエストだけを処理するときの,サーバプロセス数を指定します。

Windows版の場合は,サーバスレッド数を指定します。

(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(23) QOSRedirect 旧パス 新パス

(a) 内容

流量制限機能によって処理が拒否された場合に,クライアントからのリクエストを指定されたパスにリダイレクトさせるときに指定します。新パスには,"プロトコル名://ホスト名〔:ポート番号〕"を含むURLのパスを指定します。また,新パスに指定するURLには,IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。

旧パスでリクエストを受けた場合,ステータスコード302とLocationヘッダに新パスを設定したレスポンスを返します。レスポンスをカスタマイズすることはできません。

旧パス,新パスの指定については,Redirectディレクティブを参照してください。

(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(24) QOSRejectionServers 値

UNIX版の場合
〜((0−MaxClientsディレクティブ指定値))《1》

Windows版の場合
〜((0−ThreadsPerChildディレクティブ指定値))《1》
(a) 内容

リクエスト待ち状態のサーバプロセス数が減少し,受信したすべてのリクエストを拒否するようになるときの,サーバプロセス数を指定します。

Windows版の場合は,サーバスレッド数を指定します。

(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(25) QOSResponse {file[MIMEタイプ]ファイル名|message テキスト}

(a) 内容

流量制限機能によって処理が拒否された場合に,503ステータスコードとともに返送するコンテンツを指定します。コンテンツはサーバプロセス内にキャッシュされるため,変更する場合にはサーバの再起動が必要です。

file:指定したファイルを,指定したMIMEタイプで返送します。MIMEタイプを省略したときは"text/html"が設定されます。また,ファイル名には,絶対パスまたはServerRootディレクティブの指定値からの相対パスが指定できます。

message:指定したテキストを返送します。テキストは先頭に"を記述して文字列を指定します。MIMEタイプには"text/html"が設定されます。

(b) 注意事項

流量制限機能を使用するためにはmod_hws_qosモジュールの組み込みが必要です。流量制限機能については,「4.9 流量制限機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Location>

(d) 指定例
QOSResponse file "text/html; charset=ISO-8859-1" htdocs/busy.html
QOSResponse message "Server busy.

(26) ReadmeName ファイル名

(a) 内容

ディレクトリインデクス表示時のReadmeとして付けるコメントを記述したファイルのファイル名(パス情報なし)を指定します。HTMLまたはプレーンテキストで記述できます。ただし,AddTypeディレクティブまたはTypesConfigディレクティブで指定したファイルで,MIMEタイプが正しく定義されている必要があります。プレーンテキストでコメントを作成した場合,ディレクトリインデクス表示のHTMLには<PRE>タグが追加されます。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

Indexesレベル

(d) 指定例
ReadmeName README.html

ディレクトリ下のREADME.htmlファイルの内容を表示します。

(27) Redirect 〔{permanent|temp|seeother|gone|ステータスコード}〕 旧パス 新パス

(a) 内容

旧パスに対するクライアントからのリクエストを,新パスに再リクエスト(リダイレクト)する場合に指定します。

旧パスには,スラッシュから始まるリクエストURLのパスを指定します。ただし,旧パスには,?以降(問い合わせ文字列)を指定できません。

次のディレクティブ指定値と重複する旧パスは指定できません。

例えば,次のような指定はできません。

  Redirect temp /aaa/bbb/ http://aaa.example.com/
  ProxyPass /aaa/ http://aaa.example.com/

新パスには,"プロトコル名://ホスト名〔:ポート番号〕"を含むURLのパスを指定します。また,新パスに指定するURLには,IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。

旧パスでリクエストを受けた場合,指定したステータスコードとLocationヘッダに新パスを設定した応答を返します。通常,300番台のステータスコードを受けたWebブラウザは,自動的にLocationヘッダに指定されたアドレスに対してリダイレクトします。

Redirectディレクティブでは,特定のファイルへのリクエストを特定のファイルへリダイレクトするか,特定のディレクトリ下の,任意のパスへのリクエストを特定のディレクトリ下の,同名パスへリダイレクトする指定ができます。特定のディレクトリ下の,任意のパスへのリクエストを,特定のファイルへリダイレクトしたい場合はRedirectMatchディレクティブを使用してください。

permanent:ステータスコード301 Moved Permanentlyを応答します。

temp:ステータスコード302 Foundを応答します。

seeother:ステータスコード303 See Otherを応答します。

gone:ステータスコード410 Goneを応答します。新パスは指定できません。

ステータスコード:指定したステータスコードを応答します。指定できる値は,「付録A ステータスコード」を参照してください。ただし,300番台以外を指定する場合,新パスは指定できません。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例
Redirect temp /index.html http://ホスト名:port番号/default.html

/index.htmlに対するリクエストを,ステータスコード302で"http://ホスト名:port番号/default.html"にリダイレクトします。

(28) RedirectMatch 〔{permanent|temp|seeother|gone|ステータスコード}〕 正規表現 新パス

(a) 内容

正規表現で記述した条件を満たすパスに対するクライアントからのリクエストを,新パスに再リクエスト(リダイレクト)する場合に指定します。

正規表現には,スラッシュから始まるリクエストURLの旧パスを正規表現で指定します。ただし,旧パスには,?以降(問い合わせ文字列)を指定できません。

次のディレクティブ指定値と重複する正規表現は指定できません。

例えば,次のような指定はできません。

  RedirectMatch ^/aaa/bbb/(.*) http://aaa.example.com/$1
  ProxyPass /aaa/ http://aaa.example.com/

新パスには,"プロトコル名://ホスト名〔:ポート番号〕"を含むURLのパスを指定します。また,新パスに指定するURLには,IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。

正規表現で括弧()を使用してグループ化している場合,そのi番目のグループの表現にマッチした文字列を,新パスで $iを使用して参照できます。iには1から9までの数字を指定します。正規表現で記述した条件を満たすパスへのリクエストを受信した場合に,指定したステータスコードと,新パスを設定したLocationヘッダを応答します。通常,300番台のステータスコードを受けたWebブラウザは,自動的にLocationヘッダに指定されたアドレスに対して再リクエスト(リダイレクト)します。

各ステータスコードの指定については,Redirectディレクティブを参照してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例

(例1)
RedirectMatch ^/other/ http://www.example.com/
/other/で始まるすべてのリクエストを,ステータスコード302で "http://www.example.com/"にリダイレクトします。

(例2)
RedirectMatch permanent ^/old/(.*) http://www.example.com/new/$1
"/old/ファイル名"に対するリクエストを,ステータスコード301で "http://www.example.com/new/ファイル名"にリダイレクトします。

(29) RequestHeader{{set|append|add}ヘッダ ヘッダ値〔env=〔!〕環境変数〕|unset ヘッダ}

(a) 内容

クライアントから受信したヘッダ値をカスタマイズする場合に指定します。

set:ヘッダを設定します。ヘッダがある場合は,指定したヘッダ値に書き換えます。

append:存在するヘッダにヘッダ値を追加します。存在するヘッダ値との間は,コンマで区切られます。ヘッダがない場合は,ヘッダを設定します。

add:ヘッダがあっても,別の行にヘッダを設定します。同じヘッダを複数行設定する場合に使用します。

unset:指定したヘッダがある場合,そのヘッダをすべて削除します。

env=環境変数:指定した環境変数が設定されている場合に,RequestHeaderディレクティブで指定した内容を実行します。

env=!環境変数:指定した環境変数が設定されていない場合に,RequestHeaderディレクティブで指定した内容を実行します。

ヘッダ値に空白がある場合は,"(引用符)で囲む必要があります。ヘッダ値は文字だけから成る文字列,フォーマット指示子を含む文字列または両方から成る文字列を指定できます。フォーマット指示子を次に示します。

フォーマット指示子 意味
%t リクエストを受け取った時刻を,1970年1月1日0時0分0秒(GMT:Greenwich Mean Time)から経過した時間で表示する。単位はマイクロ秒。先頭には"t="が付けられる。
%D リクエスト処理に掛かった時間を表示する。単位はマイクロ秒。先頭には"D="が付けられる。
%{env_name}e 環境変数env_nameの値。
(b) 注意事項

ヘッダカスタマイズ機能を使用するためにはmod_headersモジュールの組み込みが必要です。ヘッダカスタマイズ機能については,「4.10 ヘッダカスタマイズ機能」を参照してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(d) 上書き許可

FileInfoレベル

(e) 指定例
RequestHeader set Host www.example.com

(30) Require {user ユーザ名 〔ユーザ名 …〕|group グループ名 〔グループ名 …〕|valid-user|file-owner|file-group}

(a) 内容

AuthNameディレクティブ,AuthTypeディレクティブ,AuthUserFileディレクティブ(またはAuthGroupFileディレクティブ)と一緒に指定し,アクセス制限を定義します。

user:AuthUserFileディレクティブで指定したパスワードファイルに登録されているユーザのうち,ユーザ名で指定したユーザだけアクセスできます。

group:AuthGroupFileディレクティブで指定したグループファイルに登録されているグループ名で指定したグループに属するユーザだけがアクセスできます。

valid-user:AuthUserFileディレクティブで指定したパスワードファイルに登録されているすべてのユーザまたはLDAPRequireディレクティブで指定したグループのユーザだけがアクセスできます。パスワードファイルとLDAPRequireディレクティブの組み合わせはできません。組み合わせた場合の動作は保証しません。

file-owner:AuthUserFileディレクティブで指定したパスワードファイルに登録されているユーザのうち,アクセス対象ファイルのシステムの所有ユーザと一致しているユーザだけがアクセスできます(Windows版では指定できません)。

file-group:AuthGroupFileディレクティブで指定したグループファイルに登録されているグループ名で指定したグループに属するユーザのうち,グループ名がアクセス対象ファイルのシステムの所有グループに一致しているユーザだけがアクセスできます(Windows版では指定できません)。

(b) 記述できる場所

<Directory>,.htaccess

(c) 上書き許可

AuthConfigレベル