最近、JoomlaサイトのいずれかでForce_SSLを有効にしましたが(グローバル構成で「Force SSL」を有効にすることにより)、Googleフォントと JotForm .com (テンプレートとコンテンツの「http://」から読み込まれます)。
この特定のサイトでは、コードを調べ、各http://...
参照をhttps://...
または//...
に変更することで問題を解決しましたが、私の質問は次のとおりです。
ソースコードのhttp://...
をhttps://...
に自動的に変更するか(プラグインを使用)、または.htaccess
ファイルを使用することで、これをより簡単または効率的に解決できますか?
あなたは間違いなくこのためのプラグインを設定したいです。基本的には、http://
またはhttps://
を//
だけに書き換えることが目標です。おまけとして、このチェックはタグ内でのみ実行できます(そのため、ページ上のURLには影響しません。
このメソッドを備えたシステムプラグインは、トリックを実行する必要があります。
public function onAfterRender() {
$buffer = JResponse::getBody();
$pattern = '~(<[^>]{0,}["\'])(https?://)~iU';
$replacement = '$1//';
$buffer = preg_replace($pattern, $replacement, $buffer);
JResponse::setBody($buffer);
}
これはおそらく、単に//
に置き換えたくないものをキャッチしますが、それは始まりです!
Yireoによって作成されたこのための素晴らしいプラグインがあります https://www.yireo.com/software/joomla-extensions/ssl-redirect
Joomla! SSLを使用するように構成できます。しかし、これはあなたのすべての安全なページが実際に安全に保たれているという意味ではありません。このプラグインは、実際に必要なものを強制します:HTTPSまたはHTTP。
何よりも、開発者は非常に敏感です...それは私に世界の違いをもたらします。
Jsリンクでプロトコルを使用する必要はありません。 //
を使用すると、正しいプロトコルが選択されます。
例えば。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
私は自分のコードでグローバル検索/置換を行い、それをそのままにして、今後は//src.js
を使用します。