Skip to content

soushi/MODX_SSLSwitcher

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

#SSL Switcher

http/httpsの利用をリソース毎に切り替えできるプラグイン。

0.目次

  1. 概要

  2. 動作確認環境

  3. インストール

  4. アンインストール

  5. 使い方

  6. 注意事項

1.概要

MODXのリソース毎にhttpとhttpsの設定を行い、自動でURLの変換をしたり、自動リダイレクトしてくれるプラグインです。 次のような機能があります。

[リソースID]タグの拡張によるURL自動変換

ファイルパスに展開する[リソースID]タグがhttp/httpsを区別し自動でURLを変換します。 https設定をしていないリソースのコンテンツ内にてhttps設定をしているリソースIDを[リソースID]タグに記述するとファイルパスが自動的にhttps://のURL付フルパスに展開されます。 その逆の場合は同じようにhttp://のURL付フルパスに展開されます。

  • [リソースID]タグ展開早見表
                     ↓[~リソースID~]タグに書かれるリソース
|---------------------------------------------------------------|
|                  | https設定なし       | https設定あり        |
|---------------------------------------------------------------|
|https設定なし     | 通常変換            | https+ドメイン付変換 |
|https設定あり     | http+ドメイン付変換 | 通常変換             |
|---------------------------------------------------------------|
 ↑タグを書くリソース

httpからhttpsのページのリダイレクト

https設定しているリソースに対してhttpでリクエストすると自動的にhttpsページへとリダイレクトします。 逆にhttps設定していないページにhttpsでリクエストするとhttpページへとリダイレクトさせます。

2.動作環境

  • MODX 1.0.15J (※1.0.15J以前は動作しません)
  • PHP 5.3.x

3.インストール

プラグインの登録

  1. MODX管理画面の上部のエレメント→エレメント管理の順にクリック

  2. プラグインタブをクリック

  3. プラグイン作成をクリック。

  4. 「プラグインコード」に sslSwitcher.txt ファイルの中身を張り付けて保存

テンプレート変数の登録

  1. MODX管理画面の上部のエレメント→エレメント管理の順にクリック

  2. テンプレート変数タブをクリック

  3. テンプレート変数を作成をクリック。

  4. 次の内容を登録して保存する

  • メイン

  • 変数名: SSLSwitcher

  • 投稿画面内の見出し: SSLSwitcher

  • 入力フォーム:Check Box

  • オプション:HTTPS利用||自動リダイレクト禁止||URL書き換え禁止

  • 規定値: (空白のまま)

  • プロセッサ: (選択無)

  • テンプレートとの関連付け

  • SSLSwitcherを有効にしたいテンプレートを選択(よくわかれなければ全てにチェックでもOKです)

  • プロパティ

  • 既存のカテゴリ: SSLSwitcher

  • 説明:(空白のまま)

4.アンインストール

作成したプラグインとテンプレート変数を削除します。

5.使い方

管理画面でhttpsを使いたいリソースを編集します。

テンプレート変数の部分に「HTTPS利用」「自動リダイレクト禁止」と書かれたチェックボックスが表示されているので、必要に応じてチェックをつけて保存します。

  • HTTPS利用

該当リソースはhttpsページとする

  • 自動リダイレクト禁止

「HTTPS利用」にチェックしたリソースにhttpでアクセスしても自動でhttpsにリダイレクトしないようにする。 同様にhttps→httsのリダイレクトも行われなくなる。

  • URL書き換え禁止

プラグイン設定で「URL自動変換」を有効にしていても、ここにチェックを入れたリソースは自動変換を行ないません。 リンク元ページのhttp/https状態に合わせる形になります。

プラグイン設定について

  • URL自動変換

trueを選択すると[リソース]タグのhttp/https自動変換の拡張が有効になる

  • baseタグ自動書き換え

trueを選択するとコンテンツ内のタグのhttp/https部分を設定に合わせて自動変換する

6.注意事項

$modx->makeUrl()の動作について

makeUrl()内で処理をフックしているため、こちらでもSSL Switcherの設定に従ってURLが生成されるためご注意ください。

QUERY_STRING/POSTデータについて

http->https(or https->http)へリダイレクトする際、QUERY_STRINGも合わせてリダイレクトします。 POSTデータがある場合はHTTP 307を利用します。

HTTPS判定について

https接続の判定は以下の環境変数を参考にしています。

  • HTTPS
  • X-HTTPS
  • HTTP_X_HTTPS

利用しているサーバによってはうまく動作しない場合があり、もし違う環境変数でhttps接続判定ができる場合は以下のプラグイン設定を追加して、その環境変数を設定してください。

&httpsKey=https判定環境変数Key;string;&httpsVal=https判定環境変数Val;string;

判定環境変数Keyに環境変数名、判定環境変数Valにhttps接続時に入る値を入力します。 追加するユーザが多い環境変数についてはSSL Switcher側で取り込んでもいいかなと思ってます。

http/httpsでドメインが違う場合

プラグイン設定に次の設定を追加してhttp/httpsのドメインを入力させる。

&url_http=HTTP側URL;string;&url_https=HTTPS側URL;string;

バイパスモード利用時

バイパスモードを利用しているとリダイレクトがうまく機能しません。 その場合は autoload.php をMODXをインストールしたディレクトリのトップにアップロードしてください。

About

MODxのリソース毎にhttpとhttpsの設定を行い、自動でURLの変換をしたり、自動リダイレクトしてくれるプラグイン

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages