mod_alias.xml.ja revision 19e58a269fe969b87c28465ee4914f3ae637e264
af84459fbf938e508fd10b01cb8d699c79083813takashi<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
af84459fbf938e508fd10b01cb8d699c79083813takashi<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
af84459fbf938e508fd10b01cb8d699c79083813takashi<!-- English Revision: 151408:770506 (outdated) -->
af84459fbf938e508fd10b01cb8d699c79083813takashi Licensed to the Apache Software Foundation (ASF) under one or more
af84459fbf938e508fd10b01cb8d699c79083813takashi contributor license agreements. See the NOTICE file distributed with
af84459fbf938e508fd10b01cb8d699c79083813takashi this work for additional information regarding copyright ownership.
af84459fbf938e508fd10b01cb8d699c79083813takashi The ASF licenses this file to You under the Apache License, Version 2.0
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen (the "License"); you may not use this file except in compliance with
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen the License. You may obtain a copy of the License at
af84459fbf938e508fd10b01cb8d699c79083813takashi Unless required by applicable law or agreed to in writing, software
af84459fbf938e508fd10b01cb8d699c79083813takashi distributed under the License is distributed on an "AS IS" BASIS,
3f08db06526d6901aa08c110b5bc7dde6bc39905nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
af84459fbf938e508fd10b01cb8d699c79083813takashi See the License for the specific language governing permissions and
af84459fbf938e508fd10b01cb8d699c79083813takashi limitations under the License.
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<description>ホストファイルシステム上のいろいろな違う場所を
af84459fbf938e508fd10b01cb8d699c79083813takashi ドキュメントツリーにマップする機能と、
af84459fbf938e508fd10b01cb8d699c79083813takashi URL のリダイレクトを行なう機能を提供する</description>
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>このモジュールのディレクティブはサーバにリクエストが到着したときに
af84459fbf938e508fd10b01cb8d699c79083813takashi URL の操作や制御をすることを可能にします。<directive
af84459fbf938e508fd10b01cb8d699c79083813takashi ディレクティブと <directive module="mod_alias">ScriptAlias</directive>
5effc8b39fae5cd169d17f342bfc265705840014rbowen URL とファイルシステムのパスをマップするために使用されます。これは
5effc8b39fae5cd169d17f342bfc265705840014rbowen の下にないドキュメントをウェブのドキュメントツリーの一部として
af84459fbf938e508fd10b01cb8d699c79083813takashi 送られるようにします。<directive module="mod_alias">ScriptAlias</directive>
af84459fbf938e508fd10b01cb8d699c79083813takashi ディレクティブにはマップ先のディレクトリが CGI
af84459fbf938e508fd10b01cb8d699c79083813takashi スクリプトのみであることを示すという追加の効果があります。
af84459fbf938e508fd10b01cb8d699c79083813takashi <p><directive module="mod_alias">Redirect</directive> ディレクティブは
5effc8b39fae5cd169d17f342bfc265705840014rbowen URL に新しいリクエストを送るように指示します。これは、
5effc8b39fae5cd169d17f342bfc265705840014rbowen リソースが新しい場所に移動したときによく使用されます。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p><module>mod_alias</module> は簡単な URL 操作向けに設計されています。
5effc8b39fae5cd169d17f342bfc265705840014rbowen で提供されるツールを使用してください。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<seealso><module>mod_rewrite</module></seealso> <seealso><a
5effc8b39fae5cd169d17f342bfc265705840014rbowenhref="/urlmapping.html">URL からファイルシステム上の位置へのマッピング</a></seealso>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<p>様々なコンテキスト中での Alias や Redirect は他のディレクティブと
5effc8b39fae5cd169d17f342bfc265705840014rbowen従って処理されます。ただし、(例えば <directive type="section" module="core"
5effc8b39fae5cd169d17f342bfc265705840014rbowen>VirtualHost</directive> セクションの中のように) 複数の Alias や Redirect が
5effc8b39fae5cd169d17f342bfc265705840014rbowen同じコンテキスト中に現れた場合は決まった順番で処理されます。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowenmodule="mod_alias">RedirectMatch</directive> にマッチするリクエストには
1c26a593f62800795eddc6cbaf86090e0976e2efrbowenAlias は決して適用されません。次に、Alias と Redirect が設定ファイル中の
1c26a593f62800795eddc6cbaf86090e0976e2efrbowen順番に適用され、最初にマッチしたものが優先されます。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<p>ですから、二つ以上のディレクティブが同じパスに適用されるときは、
5effc8b39fae5cd169d17f342bfc265705840014rbowenすべてのディレクティブの効果を得るためにはより詳しいパスを先に書く
5effc8b39fae5cd169d17f342bfc265705840014rbowen必要があります。例えば、次の設定は期待通りの動作をします:</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowenAlias /foo /gaq
5effc8b39fae5cd169d17f342bfc265705840014rbowen<p>しかし、上記の二つのディレクティブの順番が逆になると、
5effc8b39fae5cd169d17f342bfc265705840014rbowen<code>/foo</code> <directive module="mod_alias">Alias</directive> が
5effc8b39fae5cd169d17f342bfc265705840014rbowen決して適用されることはありません。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<directivesynopsis>
af84459fbf938e508fd10b01cb8d699c79083813takashi<var>file-path</var>|<var>directory-path</var></syntax>
af84459fbf938e508fd10b01cb8d699c79083813takashi</contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen ローカルファイルシステムの
af84459fbf938e508fd10b01cb8d699c79083813takashi 以外の場所に保管することを可能にします。
5effc8b39fae5cd169d17f342bfc265705840014rbowen で始まるローカルファイルにマップされます。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen を書いたなら、サーバがエイリアスを展開するためには、最後の /
5effc8b39fae5cd169d17f342bfc265705840014rbowen が必要になることに注意してください。すなわち、<code>Alias /icons/
5effc8b39fae5cd169d17f342bfc265705840014rbowen セクションを追加する必要があるかもしれないことに注意してください。
5effc8b39fae5cd169d17f342bfc265705840014rbowen エイリアスの展開は <directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen セクションを調べる前に行なわれますので、
5effc8b39fae5cd169d17f342bfc265705840014rbowen エイリアスの行き先の <directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen type="section" module="core">Directory</directive> セクションのみ
5effc8b39fae5cd169d17f342bfc265705840014rbowen (しかし、<directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen セクションはエイリアスが処理される前に実行されますので、
5effc8b39fae5cd169d17f342bfc265705840014rbowen こちらは適用されます。)</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen ディレクトリの外側に配置した場合は、行き先のディレクトリに対する
5effc8b39fae5cd169d17f342bfc265705840014rbowen アクセス権限を明示的に制限しなければならないでしょう。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen Order allow,deny<br />
5effc8b39fae5cd169d17f342bfc265705840014rbowen Allow from all<br />
5effc8b39fae5cd169d17f342bfc265705840014rbowen </Directory>
5effc8b39fae5cd169d17f342bfc265705840014rbowen</directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<description>正規表現を使って URL をファイルシステムの位置にマップする</description>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<var>file-path</var>|<var>directory-path</var></syntax>
5effc8b39fae5cd169d17f342bfc265705840014rbowen</contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>このディレクティブは <directive module="mod_alias">Alias</directive>
5effc8b39fae5cd169d17f342bfc265705840014rbowen とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、
5effc8b39fae5cd169d17f342bfc265705840014rbowen 標準正規表現を利用します。ここで指定された正規表現と URL のパス
5effc8b39fae5cd169d17f342bfc265705840014rbowen が合うかどうかを調べ、合う場合は括弧で括られたマッチを
5effc8b39fae5cd169d17f342bfc265705840014rbowen 与えられた文字列で置き換え、それをファイル名として使用します。たとえば、
5effc8b39fae5cd169d17f342bfc265705840014rbowen ためには以下のようなものが使用できます:</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen</directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<description>クライアントが違う URL を取得するように外部へのリダイレクトを
5effc8b39fae5cd169d17f342bfc265705840014rbowen送る</description>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<syntax>Redirect [<var>status</var>] <var>URL-path</var>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<context>directory</context><context>.htaccess</context></contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Redirect ディレクティブは古い URL を新しいものへマップします。
5effc8b39fae5cd169d17f342bfc265705840014rbowen 新しい URL がクライアントに返されます。そして、
5effc8b39fae5cd169d17f342bfc265705840014rbowen クライアントは新しいアドレスをもう一回取得しようとします。
5effc8b39fae5cd169d17f342bfc265705840014rbowen (% が符号化された) URL へのリダイレクトエラーが返されます。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen Redirect /service http://foo2.bar.com/service
5effc8b39fae5cd169d17f342bfc265705840014rbowen へのリクエストを行なうと、代わりに http://foo2.bar.com/service/foo.txt
5effc8b39fae5cd169d17f342bfc265705840014rbowen をアクセスするように告げられます。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowenRedirect 系のディレクティブは Alias
5effc8b39fae5cd169d17f342bfc265705840014rbowenディレクティブと ScriptAlias ディレクティブよりも優先されます。
5effc8b39fae5cd169d17f342bfc265705840014rbowenまた、.htaccess ファイルや <directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen "temporary" (HTTP ステータス 302) になります。これはクライアントに
5effc8b39fae5cd169d17f342bfc265705840014rbowen 引数は 他の HTTP のステータスコードを返すために使用することができます:</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>永久にリダイレクトをするステータス (301) を返します。
5effc8b39fae5cd169d17f342bfc265705840014rbowen これはリソースが永久に移動したということを意味します。</dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>一時的なリダイレクトステータス (302)
5effc8b39fae5cd169d17f342bfc265705840014rbowen を返します。これがデフォルトです。</dd>
af84459fbf938e508fd10b01cb8d699c79083813takashi <dd>"See Other" ステータス (303) を返します。
af84459fbf938e508fd10b01cb8d699c79083813takashi これはリソースが他のもので置き換えられたことを意味します。</dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>"Gone" ステータス (410) を返します。これはリソースが永久に
5effc8b39fae5cd169d17f342bfc265705840014rbowen 削除されたことを意味します。このステータスが使用された場合、
af84459fbf938e508fd10b01cb8d699c79083813takashi 他のステータスコードも返すことができます。ステータスが 300 と 399
af84459fbf938e508fd10b01cb8d699c79083813takashi その他の場合は省略されていなければなりません。ただし、
af84459fbf938e508fd10b01cb8d699c79083813takashi ステータスは Apache のコードが知っているものである必要があります
af84459fbf938e508fd10b01cb8d699c79083813takashi (http_protocol.c の関数 <code>send_error_response</code>
5effc8b39fae5cd169d17f342bfc265705840014rbowen を見てください)。</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen Redirect 303 /three http://example.com/other
5effc8b39fae5cd169d17f342bfc265705840014rbowen</directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<description>現在の URL への正規表現のマッチにより
5effc8b39fae5cd169d17f342bfc265705840014rbowen外部へのリダイレクトを送る</description>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<syntax>RedirectMatch [<var>status</var>] <var>regex</var>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<context>directory</context><context>.htaccess</context></contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>このディレクティブは <directive module="mod_alias">Redirect</directive>
5effc8b39fae5cd169d17f342bfc265705840014rbowen とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、
af84459fbf938e508fd10b01cb8d699c79083813takashi 標準正規表現を利用します。ここで指定された正規表現と URL-path
5effc8b39fae5cd169d17f342bfc265705840014rbowen が合うかどうかを調べ、合う場合は括弧で括られたマッチを
5effc8b39fae5cd169d17f342bfc265705840014rbowen 与えられた文字列で置き換え、それをファイル名として使用します。
5effc8b39fae5cd169d17f342bfc265705840014rbowen たとえば、すべての GIF ファイルを別サーバの同様な名前の JPEG
5effc8b39fae5cd169d17f342bfc265705840014rbowen ファイルにリダイレクトするには、以下のようなものを使います:
af84459fbf938e508fd10b01cb8d699c79083813takashi RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
af84459fbf938e508fd10b01cb8d699c79083813takashi</directivesynopsis>
af84459fbf938e508fd10b01cb8d699c79083813takashi<directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<description>クライアントが違う URL を取得するように外部への一時的な
5effc8b39fae5cd169d17f342bfc265705840014rbowenリダイレクトを送る</description>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<syntax>RedirectTemp <var>URL-path</var> <var>URL</var></syntax>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<context>directory</context><context>.htaccess</context></contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>このディレクティブはクライアントに Redirect
5effc8b39fae5cd169d17f342bfc265705840014rbowen が一時的なものである (ステータス 302) ことを知らせます。
5effc8b39fae5cd169d17f342bfc265705840014rbowen</directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<description>クライアントが違う URL を取得するように外部への永久的な
5effc8b39fae5cd169d17f342bfc265705840014rbowenリダイレクトを送る</description>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<syntax>RedirectPermanent <var>URL-path</var> <var>URL</var></syntax>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<context>directory</context><context>.htaccess</context></contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>このディレクティブはクライアントに Redirect が永久的なもの
5effc8b39fae5cd169d17f342bfc265705840014rbowen (ステータス 301) であることを知らせます。
5effc8b39fae5cd169d17f342bfc265705840014rbowen</directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<directivesynopsis>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<description>URL をファイルシステムの位置へマップし、マップ先を
5effc8b39fae5cd169d17f342bfc265705840014rbowenCGI スクリプトに指定</description>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<var>file-path</var>|<var>directory-path</var></syntax>
5effc8b39fae5cd169d17f342bfc265705840014rbowen</contextlist>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p><directive>ScriptAlias</directive> ディレクティブは、対象ディレクトリに
af84459fbf938e508fd10b01cb8d699c79083813takashi ハンドラで処理される CGI
af84459fbf938e508fd10b01cb8d699c79083813takashi スクリプトがあることを示す以外は
af84459fbf938e508fd10b01cb8d699c79083813takashi ディレクティブと同じ振る舞いをします。
5effc8b39fae5cd169d17f342bfc265705840014rbowen ローカルのファイルシステムの
5effc8b39fae5cd169d17f342bfc265705840014rbowen フルパスである二番目の引数にマップされます。</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi へのリクエストに対してサーバはスクリプト
af84459fbf938e508fd10b01cb8d699c79083813takashi</directivesynopsis>
af84459fbf938e508fd10b01cb8d699c79083813takashi<directivesynopsis>
af84459fbf938e508fd10b01cb8d699c79083813takashi<description>URL を正規表現を使ってファイルシステムの位置へマップし、マップ先を
af84459fbf938e508fd10b01cb8d699c79083813takashiCGI スクリプトに指定</description>
af84459fbf938e508fd10b01cb8d699c79083813takashi<var>file-path</var>|<var>directory-path</var></syntax>
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun</contextlist>
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun <p>このディレクティブは <directive module="mod_alias">ScriptAlias</directive>
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、
af84459fbf938e508fd10b01cb8d699c79083813takashi 標準正規表現を利用します。ここで指定された正規表現と URL-path
af84459fbf938e508fd10b01cb8d699c79083813takashi が合うかどうかを調べ、合う場合は括弧で括られたマッチを
af84459fbf938e508fd10b01cb8d699c79083813takashi 与えられた文字列で置き換え、それをファイル名として使用します。
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun を使用するようにするためには、以下のようなものを使います:
af84459fbf938e508fd10b01cb8d699c79083813takashi ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
af84459fbf938e508fd10b01cb8d699c79083813takashi</directivesynopsis>
af84459fbf938e508fd10b01cb8d699c79083813takashi</modulesynopsis>