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

以前のブログはこちら

広告

こんにちは。ましじめの田村です。

私が執筆した著書、『現場のプロから学ぶ CSSコーディングバイブル』は、Web制作の現場で役立つテクニックやノウハウをまとめています。
興味を持っていただけた方は、ぜひご覧ください。
https://amzn.to/3A8kNHC

このリンクは Amazon のアフィリエイトプログラムを通じて設定されています。

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


関連するタグ

この記事を書いた人

たむら しょうご

HTML&CSSコーダー

ウェブアクセシビリティ対応、フロントエンド開発、CMSを利用したウェブサイト制作を担当しています。
趣味はガーデニングです。

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

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

お問い合わせはこちらから