WordPressで特定のURLにベーシック認証をかける方法

本記事では、WordPressで特定のURLにベーシック認証をかける方法を紹介していきます。

今回紹介する方法は、「.htaccess」「.htpasswd」ファイルを使ってベーシック認証をかけていきます。

Basic認証は、ID(ユーザー名)パスワードを設定し、サイトの閲覧を制限するものです。

今回の記事で出来ること

本記事のURL【https://saiun-wp.jp/basicauthentication/】にベーシック認証をかけることができる。
特定のURL、今回の場合は『basicauthentication』をURLに含むページにベーシック認証をかけれる。
『category』など複数存在するURLを指定することでURLにcategoryを含む全てのページにベーシック認証が適用される。
『category』『contact』など特定のURLを複数指定することも可能

目次

.htpasswdファイルの作成

まずベーシック認証に使用するIDとパスワードを決めます。

例) ID:admin パスワード:1234

次に下記のサイトにてパスワードの暗号化をします。

決めたIDパスワードを入力して生成ボタンをクリックします。

すると暗号化されたコードが生成されます。

.htpasswdファイルを作成し、暗号化されたコード『admin:R9WKYuYfP3616』をファイルに記述します。

これで.htpasswdファイルは完成です。

.htaccessファイルの作成

.htaccessファイルを作成、または既に.htaccessファイルが存在する場合は既存のファイルに下記のコードを追加してください。

DirectoryIndex index.html index.htm index.shtml index.php index.cgi
Options -Indexes
AuthUserFile /home/ドメイン名/フォルダ名/.htpasswd
AuthType Basic
AuthName "Input your ID and Password."
Require valid-user
SetEnvIf Request_URI "(ベーシック認証したいURL)" auth_chk
Satisfy any
Order deny,allow
Deny from env=auth_chk

追加したコードに2カ所修正するポイントがあります。

.htpasswdファイルを設置するディレクトリを設定します。

AuthUserFile /home/ドメイン名/フォルダ名/.htpasswd

ベーシック認証したいURLを設定します。本記事の場合は、『basicauthentication』にしておくことでベーシック認証をかけることができます。

SetEnvIf Request_URI “(ベーシック認証したいURL)” auth_chk

『category』など複数存在するURLを指定することでURLにcategoryを含む全てのページにベーシック認証が適用されます。
『category』『contact』など特定のURLを複数指定するときは、“(category|contact)” にすることで複数の特定のURLにベーシック認証をかけることができます。

これで.htaccessファイルも完成です。

.htaccessファイルと.htpasswdファイルの設置

ドメイン直下に作成・編集した.htaccessファイル.htpasswdファイルを設置します。

以上で特定のURLにベーシック認証をかけることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次