ワクグミのブログ

blog

title

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

2019年02月20日
タムショー

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設定に出来ないというケースがありましたらお試し頂ください。


自社のホームページで
お困りではありませんか?

ビジネスの成果につなげる
ウェブ制作会社をお探しの方
お気軽にご相談下さい。

御社のホームページ制作に関するご相談はお電話、または
お問い合わせ専用フォームからご連絡下さい。

電話受付時間は平日10:00〜17:00迄

HTMLコーディングや
CMS構築業務の
外注業者をお探しの
システム会社・制作会社様へ

弊社では請負業務として対応をさせていただいております。
ご相談はお問い合わせ専用フォームからご連絡下さい。