テスト環境などに。
設置する意味とか
WEBサイトのテスト環境を作りたい、完全にクローズドでやりたい場合。
外部からのアクセス拒否はもちろん、検索エンジンへの登録も拒否する。
ページ毎に設定すると本番環境への移行時に手を入れる面倒があるので、包括的に、一元管理でやっていく。
内訳
.htaccess
Basic認証の宣言と検索避け。
# authenticate(Basic)
AuthUserFile 【ディレクトリパス】.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
#クロール拒否
SetEnvIf User-Agent "Googlebot" shutout
SetEnvIf User-Agent "Slurp" shutout
SetEnvIf User-Agent "msnbot" shutout
order Allow,Deny
Allow from all
Deny from env=shutout
クロールのエージェントを指定してるのがね、漏れがあるとしんどい。
.htpasswd
Basic認証のID、パスワードを設定
【ID】:【Password】
1アカウント1行なので、複数作りたければ改行して追記する。
IDはベタ打ちだけどパスワードは暗号化する必要がある。詳細は後述。
robots.txt
検索エンジンのクロール時に読み込むファイル。
User-Agent: *
Disallow: /
.htaccess側でも拒否は完結するけど、誰が来てもダメって内容なので強い。
設置場所
設置したディレクトリとその下層が対象になる。
テスト環境なら直下に置けばいい。
Basic認証の作成
パスワードの暗号化を人力でやるのはめんどいので、サービスを活用するのがいいです。
https://htaccess.cman.jp/explain/basic.html
「AuthUserFile」はサーバー側のFTPの設定とかで見れるやつ。お名前のRSサーバーだと「接続先ディレクトリ」が該当する。ここを間違うとBasic認証を通してもエラーになるので注意。
コメント