about this page(このページについて)
【WHY】このページの目的
- WordPressサイト(AWS Lightsail / Bitnami環境)でJetpackの「セーフモードが有効化されました」というエラーが発生した際の原因と、その根本的な解決手順をまとめます。
【WHAT】このページで行うこと
- Jetpackがセーフモードになってしまう原因(ドメインとIPアドレスのURL曖昧さ)を解説し、Apacheの設定変更と .htaccess を活用した「IP直アクセスのブロック」および「WordPressパーマリンクの維持」を両立させる手順を解説します。
【WHO】このページの対象読者
- AWS LightsailのBitnami環境でWordPressを運用している方
- Jetpackのセーフモードエラーに悩んでおり、確実なアクセス制限を行いたい方
【HOW】どのようにして目的を達成するのか
- WordPress側で正しいURL(WP_HOME / WP_SITEURL)をドメインに固定する。
- Apacheのバーチャルホスト設定(AllowOverride)を見直し、.htaccess を有効化する。
- .htaccess にて「ドメイン名以外のアクセス(IP直打ちなど)」を403エラーで弾きつつ、WordPressのパーマリンク構造を維持する設定を行う。
はじめに
WordPressの管理画面で下記のようなエラーが発生するようになりました。

このエラーを解決し、WordPress側の設定をあるべき状態に移行します。
エラー原因と解決策(見込み)
このエラーの原因としては、IPによる直アクセスを制限していないため、
jetpack側が「sattva-improve.comとIPのどちらが正しいドメインなのか?」で悩んでしまっているようでした。
Jetpack側には「sattva-improve.comが正しいよ。」と教えてあげてから、
Apacheの設定を変更してIPによるアクセスを制限していきます。
解決手順
1. 正しいURLの提示

この画面の左側の「設定を移動」をクリックして、ドメイン側が正しいURLであることを提示してあげてください。
2. IPによるアクセスの禁止
2-1. .htaccessを有効化させるための下準備
Bitnami環境のデフォルト状態では、.htaccess が無視される設定になっているため、まずは .htaccess が機能するようにバーチャルホストの設定を変更します。
※今回の環境(Apache 2系)では、以下の設定ファイルを編集しました。
sudo vim /opt/bitnami/apache2/conf/vhosts/wordpress-https-vhost.conf
(※参考: Lightsail|WordPress – bitnami|.htaccessを有効化する方法)
対象のディレクトリ(/opt/bitnami/wordpress)に対して AllowOverride All が設定されていることを確認(または追記)します。
<Directory "/opt/bitnami/wordpress">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All←ここを変更してください。
Require all granted
# BEGIN WordPress fix for plugins and themes
# Certain WordPress plugins and themes
設定後、構文テストとApacheの再起動を行います。
sudo apachectl configtest
sudo /opt/bitnami/ctlscript.sh restart apache
2-2. .htaccess にIP制限とパーマリンク設定を記述する
DocumentRoot(/opt/bitnami/wordpress)を開き、「IP直アクセスの拒否」と「WordPressのパーマリンク(ルーティング)維持」を両立させるための記述を行います。
vim /var/www/html/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
# 1. 指定ドメイン(sattva-improve.com 等)以外のアクセス(IP直打ちなど)を403で弾く
RewriteCond %{HTTP_HOST} !^(www\.)?sattva-improve\.com$ [NC]
RewriteRule ^ - [F,L]
# 2. WordPressのパーマリンク設定(サブページを正常に表示させるためのルール)
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
これで、IPによる直アクセスが制限されるはずです。
3. WordPress側のWP_SITEURL, WP_HOMEの設定
Bitnamiのデフォルトではwp-config.php 内で WP_HOME や WP_SITEURL が動的(アクセスされたホスト名やIPを拾う形)に指定されています。
これを明示的にドメイン名で固定します。
sudo vim /var/www/html/wp-config.php
#define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
#define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_HOME', 'https://3.25.88.70/' );
define( 'WP_SITEURL','https://3.25.88.70/' );









