http://からhttps://にリダイレクト(常時SSL化)方法について

http://からhttps://にリダイレクト(常時SSL化)

SSLを運用されている全WEBサイトが対象

■はじめに

常時SSLは、特定のページだけでなくWEBサイト全体を常にSSLで運用します。

常時SSLのための特別な設定というものはなく、すでにSSLを設定されているのなら、すべてのページがSSLでアクセスされるようにWEBサイトをデザインしてあげるだけで、どのWEBサイトも常時SSLになります。

しかし、そのままでは、SSLでないURLにもアクセスできてしまいます。非SSLのURL(http://~)にアクセスされたなら、SSLのURL(https://~)に転送してあげるのが適切です。

以下では、「http://~」から「https://~」に転送する設定について説明します。

■Plesk Onyx がインストールされたサーバの場合(推奨)

Pleskから簡単に設定できます。

(1)「ウェブサイトとドメイン」から「ホスティング設定」をクリック。

(2)「SEO に対応する HTTP から HTTPS への恒久的 301 リダイレクト」にチェックを入れる。

(2)「OK」をクリック。

■Windowsサーバ(IIS)の場合

ドキュメントルート(/httpdocs)直下のweb.configにリライト設定を記述します(IIS 7.0以降)。

<configuration>
   <system.webServer>
         :      :
         :      :

      <!-- http:// を https:// にリライト ここから -->
      <rewrite>
         <rules>
            <rule name="Redirect to HTTPS" stopProcessing="true">
               <match url="(.*)" />
               <conditions>
                  <add input="{HTTPS}" pattern="^OFF$" />
               </conditions>
               <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
            </rule>
         </rules>
      </rewrite>
      <!-- ここまで -->

         :      :
         :      :
   </system.webServer>
</configuration>

■Linuxサーバ(Apache)の場合

ドキュメントルート(/httpdocsまたは/public_html)直下の.htaccessファイルにリライト設定を記述します。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  # HTTPでアクセスされた場合、HTTPSにリダイレクト
  RewriteCond %{HTTPS} off
  RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

WordPressを利用していて、パーマリンクのためのリライト設定がある場合は、以下のように変更してください。

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{HTTPS} off
 RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
</IfModule>
ページ上部へ戻る