マルチサイトWordPressの子サイト別basic認証をつける

管理画面だけにbasic認証をつけたい時はこちら

ベーシック認証をかけたいマルチサイトのURLが例えば、「http://exemple/hoge/」というURLだとしたら、WordPressが設置してあるFTPのルートディレクトリに「hoge」というディレクトリを作成します。

次に、作成したディレクトリの中に「index.php」を設置します。このindex.phpは、ルートディレクトリのindex.phpをコピーしたものになります。

ここで注意したいのが、「wp-blog-header.php」までのパスになります。ルートディレクトリから1階層下の場所にあるので「../ 」をつけなければなりません。

FTPに.htaccessと.htpasswdをアップする

このように3つのファイルが作成したディレクトリに設置されていればOKです。

具体的に
.htaccess

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -Indexes
AuthUserFile /home/****/****/hoge/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
order deny,allow

index.php

<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/

/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/../wp-blog-header.php' );