web-dev-qa-db-ja.com

CSSとJsがhttpsで読み込まれない

Webサイト全体をhttps接続にしようとしていますが、cssとjsが読み込まれていません。理由はわかりません。

私はこのコードをウェブサイトのルートにあるhtaccessに持っていました:

  # Force HTTPS and WWW
  RewriteCond %{HTTP:HTTPS} !on
  RewriteRule (.*) https://%{SERVER_NAME}/$1 [QSA,L,R=301]

そして、他には何も触れませんでした。関連がある場合、私はonline.net(フランスのプロバイダー)からのホスティングを使用しています。

1
Aporie

だから研究の後、すべてが今はうまくいき、ここに私の設定があります:

このコードを私のsites/default/setting.phpファイルに入れました:

$conf['https'] = FALSE;
if (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') {
  $base_url = 'https://www.efficient-network.eu';
}
else {
  $base_url = 'http://www.efficient-network.eu';
}
$_SERVER['HTTPS'] = 'On'; 

そして、httpsで<head> </head>のすべての行をロードするカスタムモジュールを追加する必要がありました:

function https_process_html(&$vars)
{
    foreach (array('head', 'styles', 'scripts') as $replace) {
        if (!isset($vars[$replace])) {
            continue;
        }

        $vars[$replace] = preg_replace('/(src|href|@import )(url\(|=)(")http(s?):/', '$1$2$3', $vars[$replace]);
    }
}

それが適切な方法かどうかはわかりませんが、動作します。

1
Aporie