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設定に出来ないというケースがありましたらお試し頂ください。
関連するタグ
全 1 件中 1 〜 1 件目を表示
この記事を書いた人
たむら しょうご
HTML&CSSコーダー
ウェブアクセシビリティ対応、フロントエンド開発、CMSを利用したウェブサイト制作を担当しています。
趣味はガーデニングです。