a-blog cms SSLページでリンク先が非SSLになってしまう場合の対応

a-blog cms

a-blog cmsでSSL対応したいページで非SSLリンクにがついてしまうというケースがありました。
その場合の対策をメモとして。

結論からいうと
a-blog cmsでは httpとhttpsのリンクを自動で書き換える機能が標準で実装されていますのでそれをOFFにすると大丈夫です。

方法は
使用するテーマにサイト全体で読み込むJSファイルを準備してそこに
「リンク自動書き換えの機能をOFF」にするための記述を追加してconfig.jsを上書きします。

ACMS.Ready(function(){
 ACMS.Config.linkHttpsDisablerMark ='';
 ACMS.Config.linkHttpsEnablerMark  ='';
});


では、ここからは少しリンクの書き換えあたりから説明をしたいと思います。
最初にも出てきた通りa-blog cmsでは httpとhttpsのリンクを自動で書き換える機能が標準で実装されています。
ですので相対パスでリンクを記述する場合はこのように補完されます。

<a href="/contact/">お問い合わせ</a>

↓

<a href="http://wakutumi.co.jp/contact/">お問い合わせ</a>


テンプレートの記述が楽になって助かります。

また、この機能は常時SSL設定をした場合は自動的にOFFになります。
ありがたいですね。

config.server.php

define('SSL_ENABLE', 1);
define('FULLTIME_SSL_ENABLE', 1);


サイト全体のリンクをSSLのリンクにする | プラクティス | ドキュメント | a-blog cms developer


しかし、CDNを使っていてCMS側は常時SSL設定に出来ないというケースもあると思います。

そういった用途の場合も準備されていてリンクにrel="https"を記述すると考慮したリンクになるようです。
ですが、既にテンプレートを作った場合だと修正が大変ですし、新たにテンプレートを追加した場合漏れてしまう可能性がありそうです。

httpsのリンクを書き換える | プラクティス | ドキュメント | a-blog cms developer

ではその場合はどうするかというと、
大元のjsの設定であるconfig.jsを修正してhttpとhttpsのリンクを自動で書き換える機能そのものをOFFにするという方法がよさそうです。

このようにconfig.jsの記述を変更すると良いですが

linkHttpsDisablerMark: ‘a:not([rel*=“https”]),a:not([data-rel*=“https”])’,
linkHttpsEnablerMark: ‘a[rel*=“https”],a[data-rel*=“https”]’,

↓
linkHttpsDisablerMark: ‘’,
linkHttpsEnablerMark: ‘’,


アップデート時に上書きされるのを避けたい場合は、こちらのような形で
別ファイルに記述した方がいいかもしれません。

ACMS.Ready(function(){
 ACMS.Config.linkHttpsDisablerMark ='';
 ACMS.Config.linkHttpsEnablerMark  ='';
});


といった形でリンクを自動で書き換える機能をOFFできました。
CMS側は常時SSL設定に出来ないというケースがありましたらお試し頂ください。

前の記事 次の記事

ましじめのスキルが必要ですか?

遠慮なくご相談ください。我々はあなたのプロジェクトに最善を尽くし、
あなたのウェブサイトの制作を強力にサポートすることができます。

ご連絡おまちしています!

ホームページの枠組みを5万円で作成

このホームページと同じ更新できる仕組みを”5万円”で提供しています。

サービスを詳しく見たい方へ