LoginSignup
10
10

More than 5 years have passed since last update.

さくらのレンタルサーバー+concrete5で常時SSL接続&URL正規化を行う方法

Last updated at Posted at 2016-09-30

前提と目標

さくら コントロールパネル ドメイン設定

ドメイン登録

  • 「example.com」と「www.example.com」を別々のドメインとして設定します。
    両方とも「wwwを付与せずマルチドメインとして使用する(上級者向け)」の設定にします。

  • フォルダもそれぞれ別の物を指定します。

SSL証明書の登録とSSL設定

  1. まずはexample.comにSSL証明書を登録します。 参照:【ラピッドSSL】サーバコントロールパネルからの申込み・導入手順
  2. example.comの「SSL証明書>更新」から「秘密鍵のバックアップ」をクリックして秘密鍵をダウンロードします。
  3. 会員メニュー>契約情報 から「サーバー証明書」をダウンロードします
  4. もう片方のドメイン(例:www.example.com)に上記「秘密鍵のバックアップ」「サーバー証明書」を使ってSSL証明書を登録します。
    www.example.comにSSL証明書を登録する際、「秘密鍵のアップロード」が画面に出てこない場合(既に登録されたCSRキーが表示される場合)は、「秘密鍵を含む全設定の削除」をクリックして一度設定をクリアしてください

  5. 両方のドメイン設定を「SNI SSLを利用する」に変更します。

concrete5の設定

concrete5のインストール

example.comで指定したフォルダにconcrete5をインストールします。
concrete5:ホスティング会社別インストールガイド

リダイレクト設定

SSL Redirect Configurationをインストールします。
  URLルール(パス)に「*」を設定します。

プリティーURL

「管理画面>システムと設定>URLとリダイレクト」でプリティーURLを設定します。
「URLからindex.phpを除く」にチェックを入れて「保存」をクリックすると自動的に.htaccessファイルがサーバー上に生成されます。

ヘッダー情報変更

application/bootstrap/app.phpへ下記を追記します。

app.php
 $request = Request::getInstance();
  if ($request->headers->has('X-Sakura-Forwarded-For')) {
      $request->server->set('HTTPS', 'on');
  } 

カノニカルURL設定変更

下記内容で application/config/concrete.phpというファイルを作成します。
※通常canonical_url は http://~ ですが、今回は https://~ に設定します。

concrete.php
<?php
return array(
    'seo' => array(
        'canonical_url' => 'https://example.com/',
        'canonical_ssl_url' => 'https://example.com/',
    ),
); 

参照:サクラインターネットで concrete5 を常時 SSL にするための方法

301リダイレクト設置

www.example.com のフォルダに下記内容で.htaccessファイルを作成し、301リダイレクトを設定します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
</IfModule>

以上となります。
お疲れさまでした!
https://www.example.com を有効とする事も可能です。
その場合は example.comとwww.example.comを読み替えて設定してください。

2016.11.22追記
秘密鍵のアップロードが出来ない場合について補足しました。

10
10
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10