#SSL Switcher
http/httpsの利用をリソース毎に切り替えできるプラグイン。
-
概要
-
動作確認環境
-
インストール
-
アンインストール
-
使い方
-
注意事項
MODXのリソース毎にhttpとhttpsの設定を行い、自動でURLの変換をしたり、自動リダイレクトしてくれるプラグインです。 次のような機能があります。
ファイルパスに展開する[リソースID]タグがhttp/httpsを区別し自動でURLを変換します。
https設定をしていないリソースのコンテンツ内にてhttps設定をしているリソースIDを[リソースID]タグに記述するとファイルパスが自動的にhttps://のURL付フルパスに展開されます。
その逆の場合は同じようにhttp://のURL付フルパスに展開されます。
- [
リソースID]タグ展開早見表
↓[~リソースID~]タグに書かれるリソース
|---------------------------------------------------------------|
| | https設定なし | https設定あり |
|---------------------------------------------------------------|
|https設定なし | 通常変換 | https+ドメイン付変換 |
|https設定あり | http+ドメイン付変換 | 通常変換 |
|---------------------------------------------------------------|
↑タグを書くリソース
https設定しているリソースに対してhttpでリクエストすると自動的にhttpsページへとリダイレクトします。 逆にhttps設定していないページにhttpsでリクエストするとhttpページへとリダイレクトさせます。
- MODX 1.0.15J (※1.0.15J以前は動作しません)
- PHP 5.3.x
-
MODX管理画面の上部のエレメント→エレメント管理の順にクリック
-
プラグインタブをクリック
-
プラグイン作成をクリック。
-
「プラグインコード」に sslSwitcher.txt ファイルの中身を張り付けて保存
-
MODX管理画面の上部のエレメント→エレメント管理の順にクリック
-
テンプレート変数タブをクリック
-
テンプレート変数を作成をクリック。
-
次の内容を登録して保存する
-
メイン
-
変数名: SSLSwitcher
-
投稿画面内の見出し: SSLSwitcher
-
入力フォーム:Check Box
-
オプション:HTTPS利用||自動リダイレクト禁止||URL書き換え禁止
-
規定値: (空白のまま)
-
プロセッサ: (選択無)
-
テンプレートとの関連付け
-
SSLSwitcherを有効にしたいテンプレートを選択(よくわかれなければ全てにチェックでもOKです)
-
プロパティ
-
既存のカテゴリ: SSLSwitcher
-
説明:(空白のまま)
作成したプラグインとテンプレート変数を削除します。
テンプレート変数の部分に「HTTPS利用」「自動リダイレクト禁止」と書かれたチェックボックスが表示されているので、必要に応じてチェックをつけて保存します。
- HTTPS利用
該当リソースはhttpsページとする
- 自動リダイレクト禁止
「HTTPS利用」にチェックしたリソースにhttpでアクセスしても自動でhttpsにリダイレクトしないようにする。 同様にhttps→httsのリダイレクトも行われなくなる。
- URL書き換え禁止
プラグイン設定で「URL自動変換」を有効にしていても、ここにチェックを入れたリソースは自動変換を行ないません。 リンク元ページのhttp/https状態に合わせる形になります。
- URL自動変換
trueを選択すると[リソース]タグのhttp/https自動変換の拡張が有効になる
- baseタグ自動書き換え
trueを選択するとコンテンツ内のタグのhttp/https部分を設定に合わせて自動変換する
makeUrl()内で処理をフックしているため、こちらでもSSL Switcherの設定に従ってURLが生成されるためご注意ください。
http->https(or https->http)へリダイレクトする際、QUERY_STRINGも合わせてリダイレクトします。 POSTデータがある場合はHTTP 307を利用します。
https接続の判定は以下の環境変数を参考にしています。
- HTTPS
- X-HTTPS
- HTTP_X_HTTPS
利用しているサーバによってはうまく動作しない場合があり、もし違う環境変数でhttps接続判定ができる場合は以下のプラグイン設定を追加して、その環境変数を設定してください。
&httpsKey=https判定環境変数Key;string;&httpsVal=https判定環境変数Val;string;
判定環境変数Keyに環境変数名、判定環境変数Valにhttps接続時に入る値を入力します。 追加するユーザが多い環境変数についてはSSL Switcher側で取り込んでもいいかなと思ってます。
プラグイン設定に次の設定を追加してhttp/httpsのドメインを入力させる。
&url_http=HTTP側URL;string;&url_https=HTTPS側URL;string;
バイパスモードを利用しているとリダイレクトがうまく機能しません。 その場合は autoload.php をMODXをインストールしたディレクトリのトップにアップロードしてください。