プログラミング

ベーシック認証で制限したいディレクトリのフルパスを知る方法

制作中のWebサイトをクライアントに見せる際に、ベーシック認証を掛けることが多いです。
ベーシック認証は、.htaccessファイルに.htpasswdのファイルパスを記載する必要があります。
クライアントのレンタルサーバーでベーシック認証を掛けるときに、「あれここのパスなんだっけな?」となることがたまにあります。
SSH接続をすればコマンドで一発で分かるのですが、そこまでしたくないときは、phpinfo関数を使うと便利です。

前提条件

  • FTP接続が可能である
  • サーバーはPHPが使用可能

ほとんどのレンタルサーバーは対応してます。

実行手順

  • FTPクライアントソフトでサーバーに接続する
  • ベーシック認証を掛けたいディレクトリまで移動する
  • 対象のディレクトリでPHPファイルを作成する(ファイル名は何でも良い、例えば、『test.php』など)
  • PHPファイルにphpinfo関数を記載する(コードは下に記載)
  • ブラウザでPHPファイルを読み込む(ドキュメントルート直下に対象ディレクトリがあれば、パスは「ドメイン/ディレクトリ名/test.php」になる)
<?php

phpinfo();

?>

確認方法

test.phpをブラウザで開くと、PHPの設定情報が出力されます。

ページ内の「SCRIPT_FILENAME」という項目があり、スクリプトが実行されているファイルの絶対パスが表示されます。

そこに表示されているパスの「test.php」を「.htpasswd」に書き換えてあげれば、.htaccessファイルに記載するパスは問題ありません。
※.htpasswdも同ディレクトリに設置してあることが前提です。
またパスを確認したら、作成したPHPファイルはセキュリティ上問題なので、必ず削除してください。

ベーシック認証の設定の仕方は以下のサイトを参考にしてください。