httpでアクセスしてもhttpsへ転送(リダイレクト)させる設定をすると、500エラーが出てブログにアクセスできなくなってしまうことがあります。

特にWordPressを立ち上げた直後にこのようなトラブルが起こると、焦って何も手につかなくなってしまいますよね。

つい先日も、「500エラーが出て、サーバーのサポートに聞いても解決できない」というご相談を頂いたのですが、.htaccessファイルを当サイトと同じ記述にすることで解決できました!

そこで、当サイトの.htaccessファイルの記述を公開しますので、リダイレクト設定後に500エラーでお困りの方はぜひ試してみてください。

※.htaccessファイルを編集する前に、バックアップを必ず取っておいてください。また、この方法で必ず解決できるとは限りませんので、自己責任でお願い致します。

httpからhttpsへリダイレクトさせる.htaccessの書き方

httpからhttpsへリダイレクトさせるには、.htaccessファイルに以下のコードを貼り付けます。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


貼り付ける位置は、このように.htaccessファイルの一番下でOKです。


まずはこれを試してみてください。それでも500エラーとなってしまった場合は、次を試してみます。

リダイレクト設定で500エラーが出た時の解決方法

リダイレクト設定をしても500エラーとなってしまう場合は、当サイトの.htaccessファイルの記述をそのままコピーして、まるまる書き換えてみてください。

ちなみに、当サイトはエックスサーバーを使用しております。同じコードを他のサーバーでも試してみましたが、私が確認した限りでは問題ありませんでした。しかし、すべてのサーバーで確認したわけではありませんので、.htaccessファイルを編集する前に必ずバックアップを取っておいてください。

では、こちらです。

SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode

# BEGIN WordPress
# `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


私にご相談を頂いた方も、上記をそのままコピペすることで解決できました! 500エラーが表示されて困っている方はぜひ試してみてくださいね。

それでも解決できない場合は契約サーバーに聞いてください

それでも解決できない場合は、.htaccessの記述をいったん元に戻して、ご契約されているサーバーのサポートに聞いてください。

そこでもしサポート対応が良くなければ、サーバーを変更するという選択もありです。エックスサーバーならWordPressも簡単に移行できます。【簡単】WordPressをドメインそのままでエックスサーバーに移行させる方法と注意点で実際の移行手順を解説しておりますので、ぜひ参考にご覧ください!