お名前.comの共用サーバーSDでベーシック認証かける方法

お名前.comの共用サーバーSDには管理画面からアクセス制限をかける画面があります。詳しくはお名前.comのアクセス制限のページから確認できます。

WordPressを使っているとかからない・・・

WordPRessを設置していると実は管理画面からの制限がかかりません。これは困りました。QAを見てみると

【共用サーバーSD】IDとパスワードによるアクセス制限は可能でしょうか?

コントロールパネルにてアクセス制限機能をご用意しております。
アクセス制限につきましては、ディレクトリ単位でのID/パスワードによる制限が可能です。
※ファイル単位での制限はできません。

共用サーバーSDのコントロールパネルの[アクセス制限]より設定してください。
設定方法は こちら をご参照ください。

設定していただいたディレクトリ配下すべてのコンテンツに対してアクセス制限がかかります。
なお、単一ページに制限をかける場合は、アクセス制限専用のディレクトリを作成後、 その中に
制限をかけるページをアップロードしてください。
コントロールパネルでのアクセス制限にて1つの対象ディリクトリに対するID/パスワードは10個
まで作成が可能です。

※先にコントロールパネルからアクセス制限を設定し、その後に該当のディレクトリを
作成すると、正常に動作いたしません。
必ず先に該当ディレクトリを作成し、その後にアクセス制限を設定してください。

※.htaccessと.htpasswdによるアクセス制限も可能ですが、その際はコントロールパネルでの
同じディレクトリへのアクセス制限はご利用いただけません。

とかかれています。.htaccessをWodPressでは使うのでWPを使うと管理画面からのアクセスは無理ですって事ですね。

htaccessでベーシック認証をかける

WordPressを設置していると管理画面からはできないのでおとなしくhtaccessでベーシック認証を設置したいと思います。

1.phpで絶対パスを取得

<?php echo __FILE__; ?>

test.phpでアクセスしてドキュメントルート(FTPでログインしてドメイン)直下に置いてアクセスします。
例)http://ドメイン名/test.php

そうすると/export/sd05/www/jp/r/e/gmoserver/6/4/sd0064164/ドメイン名/test.phpのようなパスがでてきます。このパスをhtaccessに書きます。

htaccessに記述

AuthUserFile /export/sd05/www/jp/r/e/gmoserver/6/4/sd0064164/ドメイン名/.htpasswd ←ここに絶対パスを書きます。
AuthGroupFile /dev/null
AuthName "Please Enter your ID & Password"
AuthType Basic
require valid-user

<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

これで後はhtpasswdにIDとパスワードを書いてアップロードします。