Copied: httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.utf8 (from r643946, httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.euc-jp) URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.utf8?p2=httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.utf8&p1=httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.euc-jp&r1=643946&r2=643967&rev=643967&view=diff ============================================================================== --- httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.euc-jp [euc-jp] (original) +++ httpd/httpd/branches/2.0.x/docs/manual/upgrading.html.ja.utf8 [iso-8859-1] Wed Apr 2 09:46:34 2008 @@ -1,222 +1,222 @@ - +
-Apache HTTP サーバ バージョン 2.0
+ +Apache HTTP ãµã¼ã ãã¼ã¸ã§ã³ 2.0

アップグレードを簡単にするために、既存の Apache ユーザに
- 非常に重要な情報をこの文書にまとめています。これは短い
- 注意書きとして書かれています。より詳しい情報は
- 新機能の文書や
- src/CHANGES ファイルで見つけられると思います。
ã¢ããã°ã¬ã¼ããç°¡åã«ããããã«ãæ¢åã® Apache ã¦ã¼ã¶ã«
+ é常ã«éè¦ãªæ
å ±ããã®ææ¸ã«ã¾ã¨ãã¦ãã¾ããããã¯çã
+ æ³¨ææ¸ãã¨ãã¦æ¸ããã¦ãã¾ãããã詳ããæ
å ±ã¯
+ æ°æ©è½ã®ææ¸ã
+ src/CHANGES ãã¡ã¤ã«ã§è¦ã¤ããããã¨æãã¾ãã
ã³ã³ãã¤ã«æã®è¨å®ã®å¤æ´
å®è¡æã®è¨å®ã®å¤æ´
ãã®ä»ã®å¤æ´
ãµã¼ããã¼ãã£ã¢ã¸ã¥ã¼ã«autoconf と libtool を使うようになりました。
- このシステムは Apache 1.3 の APACI システムと似ていますが、
- まったく同じというわけではありません。autoconf 㨠libtool ã使ãããã«ãªãã¾ããã
+ ãã®ã·ã¹ãã 㯠Apache 1.3 ã® APACI ã·ã¹ãã ã¨ä¼¼ã¦ãã¾ããã
+ ã¾ã£ããåãã¨ããããã§ã¯ããã¾ãããprefork MPM を
- 選んでください。他の MPM はプロセスの作成やリクエストの処理の
- 制御に異なったディレクティブを使います。<Directory proxy:> ブロックの
- 代わりに <Proxy>
- ブロックに置かれるようになった、というものがあります。PATH_INFO (本当のファイル名の後に続く
- パス情報) の扱いが変わったものがあります。以前はハンドラとして
- 実装されていたものがフィルタとして実装されるようになったものは
- PATH_INFO のあるリクエストを受け付けません。INCLUDES や
- PHP などのフィルタは
- コアハンドラの上に実装されていますので、PATH_INFO
- 付きのリクエストを拒否します。
+ prefork MPM ã
+ é¸ãã§ãã ãããä»ã® MPM ã¯ããã»ã¹ã®ä½æããªã¯ã¨ã¹ãã®å¦çã®
+ å¶å¾¡ã«ç°ãªã£ããã£ã¬ã¯ãã£ãã使ãã¾ãã<Directory proxy:> ãããã¯ã®
+ 代ããã« <Proxy>
+ ãããã¯ã«ç½®ãããããã«ãªã£ããã¨ãããã®ãããã¾ããPATH_INFO (æ¬å½ã®ãã¡ã¤ã«åã®å¾ã«ç¶ã
+ ãã¹æ
å ±) ã®æ±ããå¤ãã£ããã®ãããã¾ãã以åã¯ãã³ãã©ã¨ãã¦
+ å®è£
ããã¦ãããã®ããã£ã«ã¿ã¨ãã¦å®è£
ãããããã«ãªã£ããã®ã¯
+ PATH_INFO ã®ãããªã¯ã¨ã¹ããåãä»ãã¾ãããINCLUDES ã
+ PHP ãªã©ã®ãã£ã«ã¿ã¯
+ ã³ã¢ãã³ãã©ã®ä¸ã«å®è£
ããã¦ãã¾ãã®ã§ãPATH_INFO
+ ä»ãã®ãªã¯ã¨ã¹ããæå¦ãã¾ãã
AcceptPathInfo
- ディレクティブを使ってコアハンドラが PATH_INFO
- 付きのリクエストを受け付けるようにでき、それによって SSI 等で
- PATH_INFO を使う機能を復活させることができます。PATH_INFO
+ ä»ãã®ãªã¯ã¨ã¹ããåãä»ããããã«ã§ããããã«ãã£ã¦ SSI çã§
+ PATH_INFO ãä½¿ãæ©è½ã復活ããããã¨ãã§ãã¾ãã
CacheNegotiatedDocs
- ディレクティブは on もしくは off という引数を
- 取るようになりました。既に存在している
- CacheNegotiatedDocs は
+ ãã£ã¬ã¯ãã£ã㯠on ããã㯠off ã¨ãã弿°ã
+ åãããã«ãªãã¾ãããæ¢ã«åå¨ãã¦ãã
+ CacheNegotiatedDocs ã¯
CacheNegotiatedDocs on
- に置き換えてください。ErrorDocument
- ディレクティブはテキストメッセージを
- 示すために引数の最初に使われていた引用符を使わないようになりました。
- 代わりに、メッセージを二重引用符で囲むようになっています。
- 例えば、既存の
+ ãã£ã¬ã¯ãã£ãã¯ããã¹ãã¡ãã»ã¼ã¸ã
+ 示ãããã«å¼æ°ã®æåã«ä½¿ããã¦ããå¼ç¨ç¬¦ã使ããªãããã«ãªãã¾ããã
+ 代ããã«ãã¡ãã»ã¼ã¸ãäºéå¼ç¨ç¬¦ã§å²ãããã«ãªã£ã¦ãã¾ãã
+ ä¾ãã°ãæ¢åã®
ErrorDocument 403 "Some Message
ErrorDocument 403 "Some Message"
AccessConfig ディレクティブと
- ResourceConfig ディレクティブは削除されました。
- これらのディレクティブは同等の機能を持つ
- Include で
- 置き換えることができます。設定ファイルに取り込む代わりに、
- 上のディレクティブのデフォルト値を使っていた場合は、
- httpd.conf に Include conf/access.conf と
- Include conf/srm.conf を追加する必要があるでしょう。
- 以前のディレクティブによる順番のように Apache が設定ファイルを
- 読み込むようにするためには、httpd.conf の最後に
- srm.conf、access.conf の順にそれぞれ
+ AccessConfig ãã£ã¬ã¯ãã£ãã¨
+ ResourceConfig ãã£ã¬ã¯ãã£ãã¯åé¤ããã¾ããã
+ ãããã®ãã£ã¬ã¯ãã£ãã¯åçã®æ©è½ãæã¤
+ Include ã§
+ ç½®ãæãããã¨ãã§ãã¾ããè¨å®ãã¡ã¤ã«ã«åãè¾¼ã代ããã«ã
+ ä¸ã®ãã£ã¬ã¯ãã£ãã®ããã©ã«ãå¤ã使ã£ã¦ããå ´åã¯ã
+ httpd.conf ã« Include conf/access.conf ã¨
+ Include conf/srm.conf ã追å ããå¿
è¦ãããã§ãããã
+ 以åã®ãã£ã¬ã¯ãã£ãã«ããé çªã®ããã« Apache ãè¨å®ãã¡ã¤ã«ã
+ èªã¿è¾¼ãããã«ããããã«ã¯ãhttpd.conf ã®æå¾ã«
+ srm.confãaccess.conf ã®é ã«ãããã
Include
- ディレクティブを書いてください。BindAddress ディレクティブと Port
- ディレクティブは削除されました。同等の機能はより柔軟な
+ BindAddress ãã£ã¬ã¯ãã£ã㨠Port
+ ãã£ã¬ã¯ãã£ãã¯åé¤ããã¾ãããåçã®æ©è½ã¯ããæè»ãª
Listen
- ディレクティブにより提供されています。Port ディレクティブは Apache-1.3 には自己参照 URL で
- 使われるポート番号を設定する、という使用法もありました。
- これは Apache-2.0 では新しい
+ Port ãã£ã¬ã¯ãã£ã㯠Apache-1.3 ã«ã¯èªå·±åç
§ URL ã§
+ 使ããããã¼ãçªå·ãè¨å®ãããã¨ããä½¿ç¨æ³ãããã¾ããã
+ ãã㯠Apache-2.0 ã§ã¯æ°ãã
ServerName
- 構文によって行ないます。一つのディレクティブでホスト名と
- 自己参照 URL の両方を設定できるように構文が変更されました。ServerName ディレクティブは削除されました。
- リクエストを扱う方法は MPM の選択により決定されるようになりました。
- 現時点では inetd から起動されるように設計された MPM はありません。AgentLog ディレクティブ、
- RefererLog ディレクティブ、
- RefererIgnore ディレクティブを提供していた
- mod_log_agent と mod_log_referer
- モジュールは削除されました。
- Agent ログと refere ログは mod_log_config の
+ ServerName ãã£ã¬ã¯ãã£ãã¯åé¤ããã¾ããã
+ ãªã¯ã¨ã¹ããæ±ãæ¹æ³ã¯ MPM ã®é¸æã«ããæ±ºå®ãããããã«ãªãã¾ããã
+ ç¾æç¹ã§ã¯ inetd ããèµ·åãããããã«è¨è¨ããã MPM ã¯ããã¾ãããAgentLog ãã£ã¬ã¯ãã£ãã
+ RefererLog ãã£ã¬ã¯ãã£ãã
+ RefererIgnore ãã£ã¬ã¯ãã£ããæä¾ãã¦ãã
+ mod_log_agent 㨠mod_log_referer
+ ã¢ã¸ã¥ã¼ã«ã¯åé¤ããã¾ããã
+ Agent ãã°ã¨ refere ãã°ã¯ mod_log_config ã®
CustomLog
- ディレクティブにより実現可能です。AddModule ディレクティブと ClearModuleList
- ディレクティブは削除されました。これらのディレクティブは、
- モジュールが正しい順番で呼ばれるようにするために使われていました。
- Apache 2.0 の新 API はモジュールが明示的に順番を指定できるように
- なっており、これらのディレクティブは必要なくなりました。FancyIndexing ディレクティブは削除されました。
- 同じ機能は IndexOptions
- ディレクティブの FancyIndexing オプションで
- 実現できます。mod_negotiation による MultiViews
- コンテントネゴシエーション技術は、
- デフォルトのファイルマッチングがより厳密なものに変更されました。
- ネゴシエート可能なファイルの場合にのみ選択されます。
- 以前の挙動は、MultiviewsMatch
- ディレクティブを使用することで復活できます。ErrorHeader ディレクティブは不適切な名前
- だったために廃止され、その機能は Header ディレクティブに統合されました。
- 望みの動作を得るためには ErrorHeader の代わりに
AddModule ãã£ã¬ã¯ãã£ã㨠ClearModuleList
+ ãã£ã¬ã¯ãã£ãã¯åé¤ããã¾ããããããã®ãã£ã¬ã¯ãã£ãã¯ã
+ ã¢ã¸ã¥ã¼ã«ãæ£ããé çªã§å¼ã°ããããã«ããããã«ä½¿ããã¦ãã¾ããã
+ Apache 2.0 ã®æ° API ã¯ã¢ã¸ã¥ã¼ã«ãæç¤ºçã«é çªãæå®ã§ããããã«
+ ãªã£ã¦ããããããã®ãã£ã¬ã¯ãã£ãã¯å¿
è¦ãªããªãã¾ãããFancyIndexing ãã£ã¬ã¯ãã£ãã¯åé¤ããã¾ããã
+ åãæ©è½ã¯ IndexOptions
+ ãã£ã¬ã¯ãã£ãã® FancyIndexing ãªãã·ã§ã³ã§
+ å®ç¾ã§ãã¾ããmod_negotiation ã«ãã MultiViews
+ ã³ã³ãã³ããã´ã·ã¨ã¼ã·ã§ã³æè¡ã¯ã
+ ããã©ã«ãã®ãã¡ã¤ã«ãããã³ã°ãããå³å¯ãªãã®ã«å¤æ´ããã¾ããã
+ ãã´ã·ã¨ã¼ãå¯è½ãªãã¡ã¤ã«ã®å ´åã«ã®ã¿é¸æããã¾ãã
+ 以åã®æåã¯ãMultiviewsMatch
+ ãã£ã¬ã¯ãã£ãã使ç¨ãããã¨ã§å¾©æ´»ã§ãã¾ããErrorHeader ãã£ã¬ã¯ãã£ãã¯ä¸é©åãªåå
+ ã ã£ãããã«å»æ¢ããããã®æ©è½ã¯ Header ãã£ã¬ã¯ãã£ãã«çµ±åããã¾ããã
+ æã¿ã®åä½ãå¾ãããã«ã¯ ErrorHeader ã®ä»£ããã«
Header always set foo bar
を使ってください。
ã使ã£ã¦ãã ããã
mod_auth_digest は
- 標準モジュールになりました。mod_mmap_static は
- mod_file_cache で置き換えられました。src ディレクトリが
- なくなるように、完全に再構成されました。その代わりに、
- ソースは主ディレクトリに論理的に配置されるようになり、
- コンパイルされたサーバのインストールは別ディレクトリへ
- 行なうようになりました。mod_auth_digest ã¯
+ æ¨æºã¢ã¸ã¥ã¼ã«ã«ãªãã¾ãããmod_mmap_static ã¯
+ mod_file_cache ã§ç½®ãæãããã¾ãããsrc ãã£ã¬ã¯ããªã
+ ãªããªãããã«ãå®å
¨ã«åæ§æããã¾ããããã®ä»£ããã«ã
+ ã½ã¼ã¹ã¯ä¸»ãã£ã¬ã¯ããªã«è«ççã«é
ç½®ãããããã«ãªãã
+ ã³ã³ãã¤ã«ããããµã¼ãã®ã¤ã³ã¹ãã¼ã«ã¯å¥ãã£ã¬ã¯ããªã¸
+ è¡ãªãããã«ãªãã¾ãããApache 2.0 のサーバ API には多くの変更が加えられました。 - Apache 1.3 用の既存のモジュールは Apache 2.0 では修正なしでは - 動きません。詳細は 開発者向け文書 にあります。
+Apache 2.0 ã®ãµã¼ã API ã«ã¯å¤ãã®å¤æ´ãå ãããã¾ããã + Apache 1.3 ç¨ã®æ¢åã®ã¢ã¸ã¥ã¼ã«ã¯ Apache 2.0 ã§ã¯ä¿®æ£ãªãã§ã¯ + åãã¾ããã詳細㯠éçºè åãææ¸ ã«ããã¾ãã
Apache HTTP サーバ バージョン 2.0
+ +Apache HTTP ãµã¼ã ãã¼ã¸ã§ã³ 2.0

この文書は Apache がリクエストの URL から送信するファイルの - ファイルシステム上の位置を決定する方法を説明します。
+ãã®ææ¸ã¯ Apache ããªã¯ã¨ã¹ãã® URL ããéä¿¡ãããã¡ã¤ã«ã® + ãã¡ã¤ã«ã·ã¹ãã ä¸ã®ä½ç½®ã決å®ããæ¹æ³ã説æãã¾ãã
関連するモジュールとディレクティブ| 関連モジュール | 関連ディレクティブ |
|---|---|
| é¢é£ã¢ã¸ã¥ã¼ã« | é¢é£ãã£ã¬ã¯ãã£ã |
|---|---|
リクエストに対してどのファイルを送信するかを決定するときの - Apache のデフォルトの動作は、リクエストの URL-Path (URL のホスト名と - ポート番号の後に続く部分) を取り出して設定ファイルで指定されている +
ãªã¯ã¨ã¹ãã«å¯¾ãã¦ã©ã®ãã¡ã¤ã«ãéä¿¡ããããæ±ºå®ããã¨ãã®
+ Apache ã®ããã©ã«ãã®åä½ã¯ããªã¯ã¨ã¹ãã® URL-Path (URL ã®ãã¹ãåã¨
+ ãã¼ãçªå·ã®å¾ã«ç¶ãé¨å) ãåãåºãã¦è¨å®ãã¡ã¤ã«ã§æå®ããã¦ãã
DocumentRoot
- の最後に追加する、というものです。ですから、
+ ã®æå¾ã«è¿½å ãããã¨ãããã®ã§ããã§ãããã
DocumentRoot
- の下のディレクトリやファイルがウェブから見える基本のドキュメントの木構造を
- なします。
Apache にはサーバが複数のホストへのリクエストを受け取る - バーチャルホスト の機能もあります。 - この場合、それぞれのバーチャルホストに対して違う +
Apache ã«ã¯ãµã¼ããè¤æ°ã®ãã¹ãã¸ã®ãªã¯ã¨ã¹ããåãåã
+ ãã¼ãã£ã«ãã¹ã ã®æ©è½ãããã¾ãã
+ ãã®å ´åãããããã®ãã¼ãã£ã«ãã¹ãã«å¯¾ãã¦éã
DocumentRoot
- を指定することができます。また、mod_vhost_alias
- モジュールにより提供されるディレクティブを使って、
- 送信するためのコンテンツの場所をリクエストされた IP
- アドレスやホスト名から動的に決めることもできます。
mod_vhost_alias
+ ã¢ã¸ã¥ã¼ã«ã«ããæä¾ããããã£ã¬ã¯ãã£ãã使ã£ã¦ã
+ éä¿¡ããããã®ã³ã³ãã³ãã®å ´æããªã¯ã¨ã¹ãããã IP
+ ã¢ãã¬ã¹ããã¹ãåããåçã«æ±ºãããã¨ãã§ãã¾ãã
ファイルシステム上の、
- 厳密には DocumentRoot
- の下にはない部分へのウェブアクセスを許可する必要がある
- 場合がよくあります。Apache はこのために複数の方法を用意しています。
- Unix システムでは、ファイルシステムの他の部分をシンボリックリンクを
- 使って DocumentRoot
- の下に持ってくることができます。セキュリティ上の理由により、
- Apache は該当するディレクトリの
- Options の設定に
- FollowSymLinks か SymLinksIfOwnerMatch が
- ある場合にのみシンボリックリンクをたどります。
代わりの方法として、Alias
- ディレクティブを使ってファイルシステムの任意の部分をウェブの空間に
- マップできます。たとえば、
ãã¡ã¤ã«ã·ã¹ãã ä¸ã®ã
+ å³å¯ã«ã¯ DocumentRoot
+ ã®ä¸ã«ã¯ãªãé¨åã¸ã®ã¦ã§ãã¢ã¯ã»ã¹ã許å¯ããå¿
è¦ããã
+ å ´åãããããã¾ããApache ã¯ãã®ããã«è¤æ°ã®æ¹æ³ãç¨æãã¦ãã¾ãã
+ Unix ã·ã¹ãã ã§ã¯ããã¡ã¤ã«ã·ã¹ãã ã®ä»ã®é¨åãã·ã³ããªãã¯ãªã³ã¯ã
+ 使ã£ã¦ DocumentRoot
+ ã®ä¸ã«æã£ã¦ãããã¨ãã§ãã¾ããã»ãã¥ãªãã£ä¸ã®çç±ã«ããã
+ Apache ã¯è©²å½ãããã£ã¬ã¯ããªã®
+ Options ã®è¨å®ã«
+ FollowSymLinks ã SymLinksIfOwnerMatch ã
+ ããå ´åã«ã®ã¿ã·ã³ããªãã¯ãªã³ã¯ããã©ãã¾ãã
代ããã®æ¹æ³ã¨ãã¦ãAlias
+ ãã£ã¬ã¯ãã£ãã使ã£ã¦ãã¡ã¤ã«ã·ã¹ãã ã®ä»»æã®é¨åãã¦ã§ãã®ç©ºéã«
+ ãããã§ãã¾ãããã¨ãã°ã
Alias /docs /var/web
という設定のときは、URL
- http://www.example.com/docs/dir/file.html には
- /var/web/dir/file.html が送信されます。
- ScriptAlias も、
- 対象となっているパスが CGI スクリプトとして扱われるという追加の
- 効果以外は同じように動作します。
もっと柔軟な設定が必要な状況では、
- AliasMatch ディレクティブや
- ScriptAliasMatch ディレクティブ
- を使って強力な正規表現に基づいたマッチと置換を行なうことができます。
- たとえば、
ã¨ããè¨å®ã®ã¨ãã¯ãURL
+ http://www.example.com/docs/dir/file.html ã«ã¯
+ /var/web/dir/file.html ãéä¿¡ããã¾ãã
+ ScriptAlias ãã
+ 対象ã¨ãªã£ã¦ãããã¹ã CGI ã¹ã¯ãªããã¨ãã¦æ±ãããã¨ãã追å ã®
+ 广以å¤ã¯åãããã«åä½ãã¾ãã
ãã£ã¨æè»ãªè¨å®ãå¿
è¦ãªç¶æ³ã§ã¯ã
+ AliasMatch ãã£ã¬ã¯ãã£ãã
+ ScriptAliasMatch ãã£ã¬ã¯ãã£ã
+ ã使ã£ã¦å¼·åãªæ£è¦è¡¨ç¾ã«åºã¥ãããããã¨ç½®æãè¡ãªããã¨ãã§ãã¾ãã
+ ãã¨ãã°ã
ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
/home/$1/cgi-bin/$2
は http://example.com/~user/cgi-bin/script.cgi への
- リクエストを /home/user/cgi-bin/script.cgi というパスへ
- マップし、このマップの結果としてのファイルを CGI スクリプトとして
- 扱います。
㯠http://example.com/~user/cgi-bin/script.cgi ã¸ã®
+ ãªã¯ã¨ã¹ãã /home/user/cgi-bin/script.cgi ã¨ãããã¹ã¸
+ ããããããã®ãããã®çµæã¨ãã¦ã®ãã¡ã¤ã«ã CGI ã¹ã¯ãªããã¨ãã¦
+ æ±ãã¾ãã
伝統的に Unix システムではユーザ user のホームディレクトリを
- ~user/ として参照できます。mod_userdir
- モジュールはこの概念をウェブに拡張して、
- それぞれのユーザのホームディレクトリのファイルを
- 以下のような URL を使ってアクセスできるようにします。
ä¼çµ±çã« Unix ã·ã¹ãã ã§ã¯ã¦ã¼ã¶ user ã®ãã¼ã ãã£ã¬ã¯ããªã
+ ~user/ ã¨ãã¦åç
§ã§ãã¾ããmod_userdir
+ ã¢ã¸ã¥ã¼ã«ã¯ãã®æ¦å¿µãã¦ã§ãã«æ¡å¼µãã¦ã
+ ããããã®ã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªã®ãã¡ã¤ã«ã
+ 以ä¸ã®ãã㪠URL ã使ã£ã¦ã¢ã¯ã»ã¹ã§ããããã«ãã¾ãã
http://www.example.com/~user/file.html
セキュリティの観点から、ウェブからユーザのホームディレクトリへ
- 直接アクセスできるようにすることは適切ではありません。ですから、
- UserDir ディレクティブには
- ユーザのホームディレクトリの下の、ウェブファイルの
- 置かれているディレクトリを指定します。デフォルトの設定の
- Userdir public_html を使うと、上の URL は
- /home/user/public_html/file.html というようなファイルに
- マップされます。ここで、/home/user/ は
- /etc/passwd で指定されているユーザのホームディレクトリです。
Userdir には、
- /etc/passwd にホームディレクトリの位置が書かれていない
- システムでも使うことのできる他の形式もあります。
中にはシンボル "~" (%7e のように符号化されることが多い)
- を格好が悪いと思って、ユーザのディレクトリを表すために別の文字列の
- 使用を好む人がいます。mod_userdir はこの機能をサポートしていません。
- しかし、ユーザのホームディレクトリが規則的な構成のときは、
- AliasMatch を使って望みの
- 効果を達成することができます。たとえば、
- http://www.example.com/upages/user/file.html が
- /home/user/public_html/file.html にマップされるようにするには、
- 以下のように AliasMatch ディレクティブを使います:
ã»ãã¥ãªãã£ã®è¦³ç¹ãããã¦ã§ãããã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªã¸
+ ç´æ¥ã¢ã¯ã»ã¹ã§ããããã«ãããã¨ã¯é©åã§ã¯ããã¾ãããã§ãããã
+ UserDir ãã£ã¬ã¯ãã£ãã«ã¯
+ ã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªã®ä¸ã®ãã¦ã§ããã¡ã¤ã«ã®
+ ç½®ããã¦ãããã£ã¬ã¯ããªãæå®ãã¾ããããã©ã«ãã®è¨å®ã®
+ Userdir public_html ã使ãã¨ãä¸ã® URL ã¯
+ /home/user/public_html/file.html ã¨ãããããªãã¡ã¤ã«ã«
+ ãããããã¾ããããã§ã/home/user/ ã¯
+ /etc/passwd ã§æå®ããã¦ããã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªã§ãã
Userdir ã«ã¯ã
+ /etc/passwd ã«ãã¼ã ãã£ã¬ã¯ããªã®ä½ç½®ãæ¸ããã¦ããªã
+ ã·ã¹ãã ã§ã使ããã¨ã®ã§ããä»ã®å½¢å¼ãããã¾ãã
ä¸ã«ã¯ã·ã³ãã« "~" (%7e ã®ããã«ç¬¦å·åããããã¨ãå¤ã)
+ ãæ ¼å¥½ãæªãã¨æã£ã¦ãã¦ã¼ã¶ã®ãã£ã¬ã¯ããªã表ãããã«å¥ã®æååã®
+ 使ç¨ã好ã人ããã¾ããmod_userdir ã¯ãã®æ©è½ããµãã¼ããã¦ãã¾ããã
+ ããããã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªãè¦åçãªæ§æã®ã¨ãã¯ã
+ AliasMatch ã使ã£ã¦æã¿ã®
+ 广ãéæãããã¨ãã§ãã¾ãããã¨ãã°ã
+ http://www.example.com/upages/user/file.html ã
+ /home/user/public_html/file.html ã«ããããããããã«ããã«ã¯ã
+ 以ä¸ã®ããã« AliasMatch ãã£ã¬ã¯ãã£ãã使ãã¾ã:
AliasMatch ^/upages/([a-zA-Z0-9]+)/?(.*)
/home/$1/public_html/$2
上の節で説明した設定用のディレクティブは Apache に
- ファイルシステムの特定の場所からコンテンツを取ってきて
- クライアントに送り返すようにします。ときには、その代わりに
- クライアントにリクエストされたコンテンツは別の URL にあることを
- 知らせて、クライアントが新しい URL へ新しいリクエストを行なうように
- する方が望ましいことがあります。これはリダイレクションと
- 呼ばれていて、Redirect
- ディレクティブにより実装されています。たとえば、
- DocumentRoot の下のディレクトリ
- /foo/ が新しいディレクトリ /bar/ に移動したときは、
- 以下のようにしてクライアントが新しい場所のコンテンツをリクエストするように
- 指示することができます:
ä¸ã®ç¯ã§èª¬æããè¨å®ç¨ã®ãã£ã¬ã¯ãã£ã㯠Apache ã«
+ ãã¡ã¤ã«ã·ã¹ãã ã®ç¹å®ã®å ´æããã³ã³ãã³ããåã£ã¦ãã¦
+ ã¯ã©ã¤ã¢ã³ãã«éãè¿ãããã«ãã¾ããã¨ãã«ã¯ããã®ä»£ããã«
+ ã¯ã©ã¤ã¢ã³ãã«ãªã¯ã¨ã¹ããããã³ã³ãã³ãã¯å¥ã® URL ã«ãããã¨ã
+ ç¥ããã¦ãã¯ã©ã¤ã¢ã³ããæ°ãã URL ã¸æ°ãããªã¯ã¨ã¹ããè¡ãªãããã«
+ ããæ¹ãæã¾ãããã¨ãããã¾ããããã¯ãªãã¤ã¬ã¯ã·ã§ã³ã¨
+ å¼ã°ãã¦ãã¦ãRedirect
+ ãã£ã¬ã¯ãã£ãã«ããå®è£
ããã¦ãã¾ãããã¨ãã°ã
+ DocumentRoot ã®ä¸ã®ãã£ã¬ã¯ããª
+ /foo/ ãæ°ãããã£ã¬ã¯ã㪠/bar/ ã«ç§»åããã¨ãã¯ã
+ 以ä¸ã®ããã«ãã¦ã¯ã©ã¤ã¢ã³ããæ°ããå ´æã®ã³ã³ãã³ãããªã¯ã¨ã¹ãããããã«
+ æç¤ºãããã¨ãã§ãã¾ã:
Redirect permanent /foo/
http://www.example.com/bar/
これは、/foo/ で始まるすべての URL-Path を、
- www.example.com サーバの /bar/ が
- /foo/ に置換されたものにリダイレクトします。
- サーバは自分自身のサーバだけでなく、どのサーバにでもクライアントを
- リダイレクトすることができます。
Apache はより複雑な書き換えの問題のために、
- RedirectMatch ディレクティブを
- 提供しています。たとえば、サイトのホームページを違うサイトにリダイレクト
- するけれど、他のリクエストはそのまま扱う、というときは以下の設定を
- 使います:
ããã¯ã/foo/ ã§å§ã¾ããã¹ã¦ã® URL-Path ãã
+ www.example.com ãµã¼ãã® /bar/ ã
+ /foo/ ã«ç½®æããããã®ã«ãªãã¤ã¬ã¯ããã¾ãã
+ ãµã¼ãã¯èªåèªèº«ã®ãµã¼ãã ãã§ãªããã©ã®ãµã¼ãã«ã§ãã¯ã©ã¤ã¢ã³ãã
+ ãªãã¤ã¬ã¯ããããã¨ãã§ãã¾ãã
Apache ã¯ããè¤éãªæ¸ãæãã®åé¡ã®ããã«ã
+ RedirectMatch ãã£ã¬ã¯ãã£ãã
+ æä¾ãã¦ãã¾ãããã¨ãã°ããµã¤ãã®ãã¼ã ãã¼ã¸ãéããµã¤ãã«ãªãã¤ã¬ã¯ã
+ ããããã©ãä»ã®ãªã¯ã¨ã¹ãã¯ãã®ã¾ã¾æ±ããã¨ããã¨ãã¯ä»¥ä¸ã®è¨å®ã
+ 使ãã¾ã:
RedirectMatch permanent ^/$
http://www.example.com/startpage.html
あるいは、一時的にサイトのすべてのページを他のサイトの特定の - ページへリダイレクトするときは、以下を使います:
+ãããã¯ã䏿çã«ãµã¤ãã®ãã¹ã¦ã®ãã¼ã¸ãä»ã®ãµã¤ãã®ç¹å®ã® + ãã¼ã¸ã¸ãªãã¤ã¬ã¯ãããã¨ãã¯ã以ä¸ã使ãã¾ã:
RedirectMatch temp .*
http://othersite.example.com/startpage.html
Apache は遠隔地にあるドキュメントをローカルのサーバの URL 空間に -持ってくることもできます。この手法はリバースプロキシと呼ばれています。 -ウェブサーバが遠隔地のドキュメントを取得してクライアントに送り返すのが -プロキシサーバの動作のように見えるからです。クライアントにはドキュメントが -リバースプロキシサーバから送られてきているように見える点が通常の -プロキシとは異なります。
- -次の例では、クライアントが /foo/ ディレクトリの下にある
-ドキュメントをリクエストすると、サーバが internal.example.com の
-/bar/ ディレクトリから取得して、さもローカルサーバからの
-ドキュメントのようにしてクライアントに返します。
Apache ã¯é éå°ã«ããããã¥ã¡ã³ãããã¼ã«ã«ã®ãµã¼ãã® URL 空éã« +æã£ã¦ãããã¨ãã§ãã¾ãããã®ææ³ã¯ãªãã¼ã¹ãããã·ã¨å¼ã°ãã¦ãã¾ãã +ã¦ã§ããµã¼ããé éå°ã®ããã¥ã¡ã³ããåå¾ãã¦ã¯ã©ã¤ã¢ã³ãã«éãè¿ãã®ã +ãããã·ãµã¼ãã®åä½ã®ããã«è¦ããããã§ããã¯ã©ã¤ã¢ã³ãã«ã¯ããã¥ã¡ã³ãã +ãªãã¼ã¹ãããã·ãµã¼ãããéããã¦ãã¦ããããã«è¦ããç¹ãé常㮠+ãããã·ã¨ã¯ç°ãªãã¾ãã
+ +次ã®ä¾ã§ã¯ãã¯ã©ã¤ã¢ã³ãã /foo/ ãã£ã¬ã¯ããªã®ä¸ã«ãã
+ããã¥ã¡ã³ãããªã¯ã¨ã¹ãããã¨ããµã¼ãã internal.example.com ã®
+/bar/ ãã£ã¬ã¯ããªããåå¾ãã¦ããããã¼ã«ã«ãµã¼ãããã®
+ããã¥ã¡ã³ãã®ããã«ãã¦ã¯ã©ã¤ã¢ã³ãã«è¿ãã¾ãã
ProxyPass /foo/ http://internal.example.com/bar/
ProxyPassReverse /foo/ http://internal.example.com/bar/
ProxyPass ディレクティブは
-サーバが適切なドキュメントを取得するように設定し、
-ProxyPassReverse ディレクティブは
-internal.example.com からのリダイレクトがローカルサーバの
-適切なディレクトリを指すように書き換えます。ただし、ドキュメントの中の
-リンクは書き換えられない、ということは知っておいてください。
-ですから、internal.example.com への絶対パスによるリンクでは、
-クライアントがプロキシサーバを抜け出して internal.example.com に
-直接リクエストを送る、ということになります。
ProxyPass ãã£ã¬ã¯ãã£ãã¯
+ãµã¼ããé©åãªããã¥ã¡ã³ããåå¾ããããã«è¨å®ãã
+ProxyPassReverse ãã£ã¬ã¯ãã£ãã¯
+internal.example.com ããã®ãªãã¤ã¬ã¯ãããã¼ã«ã«ãµã¼ãã®
+é©åãªãã£ã¬ã¯ããªãæãããã«æ¸ãæãã¾ãããã ããããã¥ã¡ã³ãã®ä¸ã®
+ãªã³ã¯ã¯æ¸ãæããããªããã¨ãããã¨ã¯ç¥ã£ã¦ããã¦ãã ããã
+ã§ããããinternal.example.com ã¸ã®çµ¶å¯¾ãã¹ã«ãããªã³ã¯ã§ã¯ã
+ã¯ã©ã¤ã¢ã³ãããããã·ãµã¼ããæãåºã㦠internal.example.com ã«
+ç´æ¥ãªã¯ã¨ã¹ããéããã¨ãããã¨ã«ãªãã¾ãã
より一層強力な置換が必要なときは、mod_rewrite
- が提供するリライトエンジンが役に立つでしょう。
- このモジュールにより提供されるディレクティブは
- ブラウザの種類、リクエスト元の IP アドレスなどのリクエストの特徴を
- 使って送り返すコンテンツの場所を決めます。さらに、mod_rewrite
- は外部のデータベースファイルやプログラムを使ってリクエストの扱い方を
- 決めることもできます。リライトエンジンは上で挙げられている三つのマッピング
- すべてを行なうことができます: 内部のリダイレクト (エイリアス)、
- 外部のリダイレクト、プロキシです。mod_rewrite を使う多くの実用的な例は
- URL リライトガイド
- で説明されています。
ããä¸å±¤å¼·åãªç½®æãå¿
è¦ãªã¨ãã¯ãmod_rewrite
+ ãæä¾ãããªã©ã¤ãã¨ã³ã¸ã³ãå½¹ã«ç«ã¤ã§ãããã
+ ãã®ã¢ã¸ã¥ã¼ã«ã«ããæä¾ããããã£ã¬ã¯ãã£ãã¯
+ ãã©ã¦ã¶ã®ç¨®é¡ããªã¯ã¨ã¹ãå
ã® IP ã¢ãã¬ã¹ãªã©ã®ãªã¯ã¨ã¹ãã®ç¹å¾´ã
+ 使ã£ã¦éãè¿ãã³ã³ãã³ãã®å ´æã決ãã¾ããããã«ãmod_rewrite
+ ã¯å¤é¨ã®ãã¼ã¿ãã¼ã¹ãã¡ã¤ã«ãããã°ã©ã ã使ã£ã¦ãªã¯ã¨ã¹ãã®æ±ãæ¹ã
+ 決ãããã¨ãã§ãã¾ãããªã©ã¤ãã¨ã³ã¸ã³ã¯ä¸ã§æãããã¦ããä¸ã¤ã®ãããã³ã°
+ ãã¹ã¦ãè¡ãªããã¨ãã§ãã¾ã: å
é¨ã®ãªãã¤ã¬ã¯ã (ã¨ã¤ãªã¢ã¹)ã
+ å¤é¨ã®ãªãã¤ã¬ã¯ãããããã·ã§ããmod_rewrite ã使ãå¤ãã®å®ç¨çãªä¾ã¯
+ URL ãªã©ã¤ãã¬ã¤ã
+ ã§èª¬æããã¦ãã¾ãã
必ず、リクエストされた URL に対応するファイルがファイルシステムに - 無いという場合が発生します。これが起こるのにはいくつかの理由があります。 - 場合によっては、ドキュメントを別の場所に移動した結果であることがあります。 - この場合は、クライアントにリソースの新しい位置を知らせるために - URL リダイレクションを使うのが最善の方法です。 - そうすることによって、リソースは新しい位置に移動しているけれども、 - 古いブックマークやリンクが動作し続けるようにすることができます。
- -"File Not Found" エラーのもう一つのよくある理由は、
- ブラウザへの直接入力や HTML リンクからの偶発的な URL の入力間違いです。
- Apache はこの問題を改善するために、mod_speling
- モジュール (意図的な綴り間違い)
- (訳注: 正しくは spelling) を提供しています。このモジュールが
- 使用されているときは、"File Not Found" エラーを横取りして、
- 似たファイル名のリソースを探します。もし一つだけ見つかった場合は
- mod_speling はクライアントに正しい位置を知らせるために HTTP リダイレクトを
- 送ります。もし複数の「近い」ファイルが見つかった場合は、それら
- 代替となりえるもののリストがクライアントに表示されます。
mod_speling の非常に有用な機能は、大文字小文字を区別せずに - ファイル名を比較するものです。これは URL と unix の - ファイルシステムが両方とも大文字小文字を区別するものである、 - ということをユーザが知らないシステムで役に立ちます。ただし、 - 時折の URL 訂正程度で済まず、mod_speling をより多く使用すると、サーバに - さらなる負荷がかかります。すべての「正しくない」リクエストの後に - URL のリダイレクトとクライアントからの新しいリクエストがくることに - なりますから。
- -コンテンツの位置を決めようとするすべての試みが失敗すると、 - Apache は、HTTP ステータスコード 404 (file not found) と共に - エラーページを返します。このエラーページの外観は +
å¿ ãããªã¯ã¨ã¹ãããã URL ã«å¯¾å¿ãããã¡ã¤ã«ããã¡ã¤ã«ã·ã¹ãã ã« + ç¡ãã¨ããå ´åãçºçãã¾ãããããèµ·ããã®ã«ã¯ããã¤ãã®çç±ãããã¾ãã + å ´åã«ãã£ã¦ã¯ãããã¥ã¡ã³ããå¥ã®å ´æã«ç§»åããçµæã§ãããã¨ãããã¾ãã + ãã®å ´åã¯ãã¯ã©ã¤ã¢ã³ãã«ãªã½ã¼ã¹ã®æ°ããä½ç½®ãç¥ãããããã« + URL ãªãã¤ã¬ã¯ã·ã§ã³ã使ãã®ãæåã®æ¹æ³ã§ãã + ãããããã¨ã«ãã£ã¦ããªã½ã¼ã¹ã¯æ°ããä½ç½®ã«ç§»åãã¦ããããã©ãã + å¤ãããã¯ãã¼ã¯ããªã³ã¯ãåä½ãç¶ããããã«ãããã¨ãã§ãã¾ãã
+ +"File Not Found" ã¨ã©ã¼ã®ããä¸ã¤ã®ããããçç±ã¯ã
+ ãã©ã¦ã¶ã¸ã®ç´æ¥å
¥åã HTML ãªã³ã¯ããã®å¶çºç㪠URL ã®å
¥åééãã§ãã
+ Apache ã¯ãã®åé¡ãæ¹åããããã«ãmod_speling
+ ã¢ã¸ã¥ã¼ã« (æå³çãªç¶´ãééã)
+ (訳注: æ£ãã㯠spelling) ãæä¾ãã¦ãã¾ãããã®ã¢ã¸ã¥ã¼ã«ã
+ 使ç¨ããã¦ããã¨ãã¯ã"File Not Found" ã¨ã©ã¼ã横åããã¦ã
+ ä¼¼ããã¡ã¤ã«åã®ãªã½ã¼ã¹ãæ¢ãã¾ããããä¸ã¤ã ãè¦ã¤ãã£ãå ´åã¯
+ mod_speling ã¯ã¯ã©ã¤ã¢ã³ãã«æ£ããä½ç½®ãç¥ãããããã« HTTP ãªãã¤ã¬ã¯ãã
+ éãã¾ããããè¤æ°ã®ãè¿ãããã¡ã¤ã«ãè¦ã¤ãã£ãå ´åã¯ãããã
+ 代æ¿ã¨ãªããããã®ã®ãªã¹ããã¯ã©ã¤ã¢ã³ãã«è¡¨ç¤ºããã¾ãã
mod_speling ã®éå¸¸ã«æç¨ãªæ©è½ã¯ã大æåå°æåãåºå¥ããã« + ãã¡ã¤ã«åãæ¯è¼ãããã®ã§ãããã㯠URL 㨠unix ã® + ãã¡ã¤ã«ã·ã¹ãã ã両æ¹ã¨ã大æåå°æåãåºå¥ãããã®ã§ããã + ã¨ãããã¨ãã¦ã¼ã¶ãç¥ããªãã·ã¹ãã ã§å½¹ã«ç«ã¡ã¾ãããã ãã + ææã® URL è¨æ£ç¨åº¦ã§æ¸ã¾ããmod_speling ãããå¤ã使ç¨ããã¨ããµã¼ãã« + ãããªãè² è·ããããã¾ãããã¹ã¦ã®ãæ£ãããªãããªã¯ã¨ã¹ãã®å¾ã« + URL ã®ãªãã¤ã¬ã¯ãã¨ã¯ã©ã¤ã¢ã³ãããã®æ°ãããªã¯ã¨ã¹ãããããã¨ã« + ãªãã¾ãããã
+ +ã³ã³ãã³ãã®ä½ç½®ã決ãããã¨ãããã¹ã¦ã®è©¦ã¿ã失æããã¨ã
+ Apache ã¯ãHTTP ã¹ãã¼ã¿ã¹ã³ã¼ã 404 (file not found) ã¨å
±ã«
+ ã¨ã©ã¼ãã¼ã¸ãè¿ãã¾ãããã®ã¨ã©ã¼ãã¼ã¸ã®å¤è¦³ã¯
ErrorDocument
- ディレクティブで制御され、
- カスタムエラーレスポンス と
- 国際化サーバエラーレスポンス で
- 説明されているように、柔軟な設定を行なうことができます。