エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


ロリポップでWordPress+Basic認証で不具合発生!回避方法解説

      2017/03/12

ロリポップで WordPressの Basic認証を設定する方法

 

ロリポップのコンパネのアクセス制限は .htaccessを書き換えます

 
私は、WordPressをロリポップサーバで運用しているのですが、WordPressを利用しているフォルダに対して、ロリポップサーバのコントロールパネルからアクセス制限(Basic認証)の削除を行うと、「.htaccess」が削除されて WordPressが動かなくなりますので注意しましょう。
 
この記事は、Basic認証の設定をレンタルサーバのコントロールパネルから行う場合の注意喚起記事ですので、Basic認証設定をコントロールパネルを使わずに設定する方にとっては無用の記事だと思います。
 
 
また、ロリポップに限らず、レンタルサーバのコントロールパネルには Basic認証によるアクセス制限を行える機能が付いているレンタルサーバが多くありますが、ロリポップサーバと同じような動きをする場合も多々あると思われますので、ロリポップサーバ以外のレンタルサーバの方も参考になると思います。
 
また、WordPressのフォルダ構成は、インストールした後から変更することは非常に労力を必要としまので、インストールする前にこの記事を読んでくださいっ!
 
 

具体的に何が問題なのか?

 
20140901_wp_01
 
ロリポップサーバのコントロールパネルの「アクセス制限」の画面からアクセス制限(Basic認証)の設定を行うと、指定したフォルダに「.htaccess」ファイルが生成されます。
 
そして、アクセス制限が必要なくなった時に、コントロールパネルから設定していたアクセス制限の設定を削除します。
そうすると最初に生成された「.htaccess」ファイルは削除されます。
 
そうなんです。
「.htaccess」ファイルは「削除」されちゃうんです。
 
 
また、WordPressは、サイトへのアクセス情報を管理するため(URLをリライトするため)に「.htaccess」ファイルを利用しています。
このファイルは、WordPressをインストールしたルートフォルダに生成されていて、WordPress全体にアクセス制限(Basic認証)を設定する際にも同じファイルを利用します。
 
手作業で Basic認証を設定する場合は、WordPressが生成した「.htaccess」ファイルに Basic認証のコードを追記して、不要になったらその記述を削除すればいいのです。
 
ですが、上にも書きましたが、ロリポップのコントロールパネルからアクセス制限の「削除」を行うと「.htaccess」ファイルごと削除されてしまうのです。
 
そのため、WordPressの設定のための情報まで削除されるため、WordPressが正常に動かなくなるという問題が発生するのです。
 
 


 

ロリポップで不具合が起こらないようにする方法

 
対応手順は、以下の通り。
WordPressをインストールするフォルダを一階層深くすること
Basic認証を設定するフォルダを WordPressがインストールされているフォルダの一階層浅いところにすること
 
 
例えば、ロリポップのドキュメントルートに直置きする場合下記の様になります。
 /       ドキュメントルート
 /.htaceess    WordPressの設定「.htaccess」
 /wp-admin/    WordPressのフォルダ
 /wp-content/   WordPressのフォルダ
 /wp-includes/   WordPressのフォルダ
 
ロリポップの割り当てられたドメインをそのまま利用するのであれば、上記の通りドキュメントルートに直置きすることになると思いますが、この場合は対応できません!
(この場合も階層を深くし、フォルダを含めてアクセスしてもらう必要があります。)
 
 
ですが、オリジナルのドメインを当てる場合は、下記の様にドメインごとにフォルダを分けると思います。
 
 /aaa_com/       「aaa.com」のドキュメントルート
 /aaa_com/.htaceess   WordPressの設定「.htaccess」
 /aaa_com/wp-admin/    WordPressのフォルダ
 /aaa_com/wp-content/   WordPressのフォルダ
 /aaa_com/wp-includes/   WordPressのフォルダ
 
そして、下記の様にさらにフォルダの階層をもう一つ追加し、Basic認証用の「.htaccess」を置く場所を確保します。
 
 /aaa_com/.htaccess    Basic認証用の「.htaccess」
 /aaa_com/docs/       「aaa.com」のドキュメントルート
 /aaa_com/docs/.htaceess   WordPressの設定「.htaccess」
 /aaa_com/docs/wp-admin/    WordPressのフォルダ
 /aaa_com/docs/wp-content/   WordPressのフォルダ
 /aaa_com/docs/wp-includes/   WordPressのフォルダ
 
こうすることで Basic認証用の「.htaccess」と WordPressが使う「.htaccess」を別のフォルダに配置することができ、コントロールパネルから Basic認証の設定をしても WordPressに影響を及ぼさなくなります。
 
この場合、オリジナルのドメインのドキュメントルートは「/aaa_com/docs/」になります。
その一つ上位階層に Basic認証の設定がされていますが、ドメインでアクセスした場合も Basic認証は有効に働きますのでご安心ください。
 
 

ロリポップサーバで Basic認証を使うための他の注意点

 
ロリポップは「.(ドット)」があるフォルダには Basic認証を設定することができない、という問題点があります。
 
これは、コントロールパネルからアクセス制限(Basic認証)を設定する場合にフォルダ名を入力しますが、その入力で「.(ドット)」を入力すると入力エラーとして処理されるためで、結果的に「.(ドット)」が付いているフォルダにはアクセス制限を設定することができなくなるのです。
 
コントロールパネルから設定せずに手作業で設定する場合は問題ありません。
 
 
そのため、上記のフォルダ構成の説明のところで、フォルダ名を「aaa.com」とせずに「aaa_com」としている理由はそれになります。
 
そのため、ドメインそのものをフォルダ名にしたい場合も「.」を使わずに替わりに「_」を入れるようにしています。
 
 

WordPressが動かなくなった場合の対処方法

 
最後に、WordPressの画面が真っ白になってしまった場合の対処方法として「WordPress 画面が真っ白になる不具合があった場合の対応の一つ」「WordPress 画面が真っ白になる対応の一つ デバッグモード」の記事も書いていますので、万一不具合が起こった場合は参考にしてみてください。
 
 

Basic認証に関する関連記事

 
ロリポップの管理画面の機能を使わなくていいように、Basic認証の設定の仕組みと、そのツールを用意しましたので、下記の記事もあわせてご覧ください。
 
 Basic認証をファイル単位・URL単位で設定する方法の解説
 Basic認証の.htaccess、.htpasswd生成ツールと解説
 
 

Basic認証関連の記事まとめ

 
Basic認証関連の記事もいろいろと書いていますので、あわせて参考にしてみてください。
 
 ロリポップで baserCMSを利用する際の Basic認証の設置には注意しましょう
 WordPressのログイン画面 URLを変更する 管理画面に Basic認証を設定する
 WordPressの管理画面ログインURLの変更方法解説
 WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
 Basic認証をファイル単位・URL単位で設定する方法の解説
 ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
 Basic認証の.htaccess、.htpasswd生成ツールと解説
 WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ
 WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法
 WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressの一覧ページのテンプレートの種類とファイルの設定

ファイル名に従って一覧ページのテンプレートは選択される。ルールに従ってファイル名を付けることで任意のカテゴリ、タクソノミーごとのテンプレートを指定可能。

XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法

XAMPP環境のWordPressアップデート時に「Maximum execution time of 30 seconds exceeded」のエラーが出る。「max_execution_time」を変更して解決する方法の解説。

WordPressの 外観のテーマのための関数の並び順

WordPressのカスタマイズの際にテーマのテンプレートを編集しますが、そのテーマファイルの並び順の解説です。

WordPressのバージョンアップをしたら「the_content」でコンテンツが表示されなくなった

「the_content」でコンテンツが表示されないのは仕様が変更されたためでプログラムの修正が必要です。

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成する方法を説明しています。

自サイト内のリンクをショートコードで指定する・アンカーリンク対応版

自サイト内の記事にショートコードで自動リンクを設定する関数のソースコードを提供。Post ID、slugで指定でき、アンカーリンクを設定する場合も対応。

WordPressのPing・更新情報サービス設定方法とPingサーバ

WordPressのPing機能、更新情報サービスの設定方法の解説と Pingサーバのリストを提供しています。

Custom Post Type UIでカスタムタクソノミーを設定・バージョン1.4対応解説

カスタムタクソノミーをプラグインCustom Post Type UIを使って設定する方法の解説。バージョンアップにより設定する項目も増え続け、より柔軟な設定が可能に。

ob_start、ob_get_contentsを利用しショートコード内でinclude・WordPressプラグイン開発

WordPressのプラグインやショートコードの関数作成でテンプレートをincludeする際に利用するob_start関数、ob_get_contents関数を紹介。

wp_mail()関数でWordPressのスパム対策済のメールフォーム作成

WordPressでメール送信フォームを作成するための関数「wp_mail()」の使い方の解説。CC、BCC、添付ファイルも HTMLメールも設定可能。