[an error occurred while processing this directive]
[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Apache HOWTO ドキュメント

How to:

サーバ全体またはディレクトリを単一のURLにリダイレクトする方法

単一のロケーションに対して、サーバ全体のために全てのリクエストをリダイレクトするには、主に二つの方法があります: 一つは mod_rewrite の使用を必要とするもので、もう一つは CGI スクリプトを使用するものです。

第一に: もし必要なことが、ある名前から他へサーバを移動することなら、単に mod_alias で与えられるような Redirect 命令を使ってください:

  Redirect / http://www.apache.org/

Redirect は完全なパスに沿って転送するのですが、適切ではないかもしれません - 例えば、ディレクトリ構造が移動の後に変更されたり、単にホームページに人をダイレクトしたいときです。

最良のオプションは標準の Apache モジュール mod_rewriteを使うことです。もしモジュールがコンパイルされていれば、以下の行です:

RewriteEngine On
RewriteRule /.* http://www.apache.org/ [R]
これはクライアントに対して HTTP 302 Redirect を送り返し、それがオリジナルの URL でなにを与えようと "http://www.apache.org" に送信します。 二番目のオプションは、301 か 302 のステータスと、他のサーバのロケーションを出力する cgi scriptScriptAlias がポイントするようにセットアップします。

cgi-script を使うことによって、様々なリクエストを途中で捕まえたり、特別に扱うことができます。例えば、POST リクエストを途中で捕まえたいなら、クライアントは POST 情報を期待している他のサーバでは、スクリプトにリダイレクトされません(リダイレクトは POST 情報をなくすでしょう)。もしサーバに mod_rewrite をコンパイルしたくなければ、CGI スクリプトを使うといいかもしれません。

ここには、サーバコンフィギュレーションファイルに、どのようにしてスクリプトに全てのリクエストをリダイレクトするかがあります。

ScriptAlias / /usr/local/httpd/cgi-bin/redirect_script
ここにはリクエストをリダイレクトする単純なパールスクリプトがあります:
#!/usr/local/bin/perl

print "Status: 302 Moved Temporarily\r
Location: http://www.some.where.else.com/\r\n\r\n";


ログファイルをクリアする

遅かれ早かれ、ログファイルがあまりに大きいか、必要が無い情報がいっぱいあるのでサーバのログファイル(access_logやerror_log)をクリアしたくなるでしょう。

access.log は通常10,000リクエスト毎に1MB増えます。

たいていの人がログファイルをクリアする際に、そのファイルを移動したり削除しますが、これではうまく動きません。

Apacheはログファイルを削除する前と同じオフセットにログを出力し続けます。その結果、古いログファイルと同様に巨大な新しいログファイルを生成しますが、膨大なヌル(null)データが詰まっています。

正しい手順としては、ログファイルを動かすことですが、そのとき Apache にログファイルを再度開くようにシグナルを送ります。

Apacheは SIGHUP (-1) シグナルを使用します。例えば

mv access_log access_log.old
kill -1 `cat httpd.pid`

注意:ファイルhttpd.pid はApache httpdデーモンのprocess idを格納しており、Apacheはログファイルと同じディレクトリにそのファイルを 作成します。

多くの人が夜間に、あるいは週毎にこの方法でログファイルをクリア(そしてバックアップ) しています。


ロボットを止めたり、制限する方法

今まで、なぜ多くのクライアントがrobots.txtに興味をもってアクセスしに来ているか考えませんか?

これらのクライアントはロボット(also known as crawlers, spiders and other cute name)と呼ばれます − 特別で自動的に動作するクライアントで、面白い情報を探して当ても無くWebをさまよいます。

たいていのロボットは検索エンジンの情報の場所を突き止めるのを手伝う際に使われる何種類かのweb インデックスを生成するために使われます。

robots.txt はロボットがサイトでの動きを制限するか、あるいはしばしば、サイトを一つだけ残すような手段を提供します。

最初のロボットが開発された時、(彼・それ)らはそれぞれのサイトに何百というリクエストを送り、しばしばサイトの負荷が高過ぎるという結果になるため良くない評判がありました。その時のものには、 Guidelines for Robot Writers のおかげで大きな改良が行われていますが、それでもいくつかのロボットは、ウェブマスターが我慢できずに止めたくなるような、不親切な動作をみせるかもしれません。

ウェブマスターがロボットへのアクセスを遮断したくなるような他の理由は、動的な情報をインデックスしているのを止めることです。多くのサーチエンジンは、一ヶ月間のページから集められたデータを使っており、サーチエンジンで見つけるまでに新鮮ではなくなってしまうような、株式相場や、ニュース、天気予報だったら全く使いません。

もしロボットを完全に無視するか、検索できるエリアを制限するなら、robots.txt ファイルを作ってください; シンタックスの Martijn Koster による robot information pages を参照してください。


Apache HTTP Server Version 1.3

検索文字
Index Home The English original manual is here.
このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。

JAPACHE ホームページ