SSLへの書き換え

世の中に常時SSLのサイトが普及したことから、現在この機能は非推奨としています(2021年11月現在)

Ver. 2.11.38 でデフォルトではこの機能はオフになりました。

a-blog cmsでは、httpとhttpsのリンクを自動で書き換える機能が実装されています。(Ver.1.4.0より利用可能)

概要

お問い合わせフォームなどを設置していて一部httpsで運用したいページがある場合に、相対パスでリンクしているナビゲーションのリンク先を任意にhttpからhttpsまたはhttpsからhttpへ自動で変換する機能です。

動作しない条件

  • config.server.phpのFULLTIME_SSL_ENABLEが"1"の場合(※すべてがSSL/TLSリンクになるため機能が無効になります)。
  • 相対パスではなく、絶対パスで指定している場合
  • linkHttpsNoRewriteMarkに設定したセレクター(デフォルトでは.js-link_no_rewrite)が指定されている場合

設定について

この機能の設定は、/js/config.jsの以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。
詳しくは「組み込みJSについて:設定を編集する」を参照してください。

config.jsの記述

//------------------------------
  // link https disabler, enabler
  // 暗号化を利用したhttps通信時に通常のリンクがhttps://になってしまうものをhttp://に書き換えます。
  linkHttpsDisablerMark: 'off', // 'a:not([rel*="https"]),a:not([data-rel*="https"])',
  // a:not([rel*="https"]) というセレクタが設定されている場合はrel属性に"https"と指定されているリンクは書き換えを行わずにhttps://のままになります。
  linkHttpsEnablerMark: 'off', // 'a[rel*="https"],a[data-rel*="https"]',
  // 通常のhttp通信時にセレクタに該当するアンカーをhttps://から始まるURLに書き換えます。
  linkHttpsNoRewriteMark: '.js-link_no_rewrite',

それぞれの機能の解説



linkHttpsDisablerMark : 'a:not([rel*="https"]),a:not([data-rel*="https"])' https から始まるURのページを開き、ページ内で使用されているa要素のrel属性またはdata-rel属性ににhttpsという文字列が含まれていない場合、そのリンクはhttpから始まるリンクとなります
linkHttpsEnablerMark : 'a[rel*="https"],a[data-rel*="https"]a[rel*="https"]' httpから始まるURのページを開き、ページ内で使用されているa要素のrel属性またはdata-rel属性にhttpsという文字列が含まれている場合、そのリンクはhttpsから始まるリンクとなります。
linkHttpsNoRewriteMark : '.js-link_no_rewrite' このセレクターがついた要素はURLの書き換えをおこないません。

使い方

JavaScript

Ver. 2.11.38でデフォルトはオフになったため、ご利用いただくためにはconfig.jsの内容をテンプレートから上書きする必要があります。

<script>
  ACMS.Ready(function() {
    ACMS.Config.linkHttpsDisablerMark = 'a:not([rel*="https"]),a:not([data-rel*="https"])';
    ACMS.Config.linkHttpsEnablerMark = 'a[rel*="https"],a[data-rel*="https"]';
    ACMS.Config.linkHttpsNoRewriteMark = '.js-link_no_rewrite';
  });
</script>

HTML

<a href="/contact/" rel="https">お問い合わせフォームへ</a>