計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Apache httpd 2.2 にて検索ロボットに対してアクセス拒否ではなくてファイルが存在しないフリをする


rewrite_module は httpd.conf で有効にしておくこと.
有効にしないと従来のアクセス拒否の方法しか手段がない.

LoadModule rewrite_module modules/mod_rewrite.so

httpd.conf にて以下のように記述すれば,
ディレクトリ /usr/apache/www/ の下の hoge, foo, bar に
User-Agent でロボットと判断されたアクセスがあると,
存在しない http://server/NOT_EXIST/ にリクエストを
転送するので, ロボットには「存在しない」ように見える.
ここではついでに代表的なサーチエンジンを使ったユーザからのアクセスを
Referer で判断して同様に扱っている.

<DirectoryMatch "^/usr/apache/www/(hoge|foo|bar)">
SetEnvIf User-Agent Yahoo robot
SetEnvIf User-Agent Googlebot robot
SetEnvIf User-Agent msnbot robot
SetEnvIf User-Agent ichiro robot
SetEnvIf User-Agent Wget robot
SetEnvIf User-Agent Yeti robot
SetEnvIf User-Agent Baiduspider robot
SetEnvIf User-Agent Crawler robot
SetEnvIf User-Agent BecomeBot robot
SetEnvIf Referer ^http://search.yahoo robot
SetEnvIf Referer ^http://search.msn robot
SetEnvIf Referer ^http://www.google robot
SetEnvIf Referer ^http://images.google robot
SetEnvIf Referer ^http://search.goo.ne.jp robot
<IfModule rewrite_module>
    RewriteEngine on
    RewriteCond %{ENV:robot} 1
    RewriteRule ^/(.*) /NOT_EXIST/$1
</IfModule>
<IfModule !rewrite_module>
    Order Allow,Deny
    Allow from all
    Deny from env=robot
</IfModule>



計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp