SSL対応化 & WordPressサイトを常時SSL化するとリダイレクトループが発生する場合の対処方法

プラグイン「Really Simple SSL」により本サイトを常時SSL化したところ、リダイレクトが繰り返し行われ、エラー画面が表示る状態(リダイレクトループ)になってしまいました。解決方法の記録となります。

サーバー構成

  • さくらインターネットVPS
  • Apache/2.4.18
  • ジオトラスト SSL ラピッドSSL

症状

  • 常時SSL化でない場合(通常のhttpの場合)は正常に表示される。
  • WordPressと無関係のPHPやHTML、画像などは正常表示される。

どうやら、SSL + WordPress という環境でのみ発生する現象のようです。

原因

独自SSLがリバースプロキシを経由して構成されている事で、PHPの変数である$_SERVER変数$_ENV変数に影響がででるそうです。それによりWordPressがリクエストを正常に処理できなくなり、リダイレクトループが発生するようです。

色々と上記の原因を調査してる中で

さくらのレンタルサーバでHTTPS(SNI SSL)な独自ドメインのWordpressサイトを構築する際の注意点

このサイトのページと酷似していました。

解決方法

wp-config.php の最初で、$_SERVER変数と$_ENV変数に正しい値を投げ込む事で解決できます。

$_SERVER[‘HTTPS’] = ‘on’;
$_ENV[‘HTTPS’] = ‘on’;
$_SERVER[‘HTTP_HOST’] = ‘www.dowata.com’;
$_SERVER[‘SERVER_NAME’] = ‘www.dowata.com’;
$_ENV[‘HTTP_HOST’] = ‘www.dowata.com’;
$_ENV[‘SERVER_NAME’] = ‘www.dowata.com’;

常時SSLが有効になりめでたしめでたし。

Ubuntu16.04に「Brackets」をインストールする

先日紹介した「Brackets」ですが、WindowsとMacには対応していると紹介しました。

作成したWEBサイトの検証にVMwareを使いUbuntu環境を使っております。
もしかして?っと思いまして、Ubuntuでインストール可能なdebパッケージが提供されていることがあります。
debパッケージがあればインストール可能なのですね。

UbuntuにBracketsをインストールする

Bracketsの公式ページよりOther Downloadsを選んで見てみます。

Brackets-ubuntu-インストール1

 

ありましたね。debパッケージです。

Brackets-ubuntu-debパッケージ

 

GUIでサクサクっとインストールして使えるようになりました。

私のWEB開発環境「Brackets」

Adobe提供のフリー開発エディター「Brackets」を使っています。
Wordpressテンプレートテーマの開発などは、「Sublime Text」が有名ですがBracketsを使っています。
お気に入りのエディタですので紹介したいと思います。

Bracketsとは

Bracketsイメージ

Bracketsとは、HTML、CSS、JavaScriptを開発可能なオープンソースコードエディタです。
Windows、Macなどで使えます。

Adobe社によるとBracketsは、HTML、CSS、JavaScript用となっています。
ですが、C言語系、PHP言語、Ruby言語、Python言語、様々な37の言語でシンタックスハイライトが用意されており、有名な言語なら問題なく使えます。

その上フリーで使えるうえに、導入も簡単でありデフォルトで日本語にも対応しています。
これからはWEBページ制作などの勉強を始める方には、うってつけのエディターではないかと思います。

テーマでデザインを変更したり、拡張で機能の補強も可能で、WEB初学者から上級者まで、幅広くカバーできるエディターになっていると思います。

インストールすると既に日本語表示対応済み

Brackets日本語対応済み

よくあるフリーのエディタは海外製のものが多く、当然日本語には対応していないものが多いです。
デフォルトではEnglishで設定を開いてlanguageをJapaneseに変更するなんて事はよくあると思います。

ですが、Bracketsはインストールしただけで日本語表記になっています。
当然のことながらエディタ内でも日本語は利用可能で、保存すると文字化けするなどと言ったこともありません。

コードを折りたためる

様々なWEBページを開発していくのですが、複雑になればなるほど、多段になればなるほど、改行やタブ、空行を入れたとしてもどんどん見にくいコードが出来上がっていきます。
コードを折りたたむ機能があれば非常にスッキリとした形になります。

HTML

Brackets-コード折りたたみ前

上のコードが折りたたむと下になります。

Brackets-コード折りたたみ後

 

CSS

CSS折りたたみ

PHP言語

Brackets-PHP言語折りたたみ

残念なのですが「if():~endif;」には対応できないようです。
{}で囲むと対応しています。

要素のタグをハイライト表示

開始と終了のタグがハイライトされます。

Brackets-タグハイライト

クイック編集という機能

要素のID、クラス名を右クリックまたはCtrl+EでCSSを編集できます。

Brackets-クイック編集

 

他にも標準機能や拡張機能などがあります。
一度使ってみては如何でしょうか?