.htaccessでhttpからhttpsへ301リダイレクトする方法【エックスサーバーでSSL】

.htaccessに記載して、httpのURLでブックマークしている人や検索ロボットを、新しいhttpsアドレスに自動的に誘導します

➡.htaccessがある場所 設定方法 書き方【初心者向け】

 

 

エックスサーバー→サーバーパネル→ログイン

左下の「設定対象ドメイン」を選択したら、「.htaccess編集」をクリックします。

FTPで設定する場合は、サイト/public_html/.htaccessに追記します

 

# BEGIN WordPressより上に追記します。良く分からない場合は冒頭に追記すると良いです。

 

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

参照➡Webサイトの常時SSL化 | エックスサーバー

 

リダイレクト設定を行うと、# BEGIN WordPress~# END WordPressの間に、<IfModule mod_rewrite.c> </IfModule>が自動的に付け加えられます。

# BEGIN 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

 

これでリダイレクトされない場合は、mod_rewriteを変更し、URLの書き換えを行うルール条件を指定します。

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

 

末尾をonにすると、httpでアクセスされた場合に、httpsへリダイレクトします。

RewriteCond %{HTTPS} !on

 

末尾をoffにすると、http、http://wwwでアクセスされた場合に、httpsへリダイレクトします。

RewriteCond %{HTTPS} !off

エックスサーバーはデフォルトでhttp、http://wwwどちらのURLもアクセスできる仕様になっていますのでonで問題ないかと

 

追記が終わったら、右下の確認画面へ進む→実行するをクリック。

「http://」のURLでアクセスしてみます。

自動的に「https://」へ転送されていれば設定完了です。