ようこそ! IVY SOHO, Anonymous 日曜日, 11月 30 2025 @ 07:50 am JST

SSL non-SSL 両方で表示する

  • 土曜日, 11月 29 2025 @ 09:43 am JST
  • 投稿者:
  • 表示回数 7
Geeklog

たとえば移行時、SSLがあたるまではnon-SSLとなりますが、non-SSLでもサイトが表示エラーを起こさないようにするためにはsiteconfig.phpに以下を追加します。

// SSL判定

function is_ssl() {
    // Xserver は SSL 時に $_SERVER['HTTPS'] = 'on' が入る
    if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
        return true;
    }

    // 念のため 443 ポートもチェック
    if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
        return true;
    }

    return false;
}

// 今のアクセスが SSL かどうか
$scheme = is_ssl() ? 'https://' : 'http://';

// 先頭の http:// or https:// を削って、現スキームを付け直す
$_CONF_FCK['site_url'] = $scheme . preg_replace('#^https?://#', '', $_CONF_FCK['site_url']);
$_CONF_FCK['site_admin_url'] = $scheme . preg_replace('#^https?://#', '', $_CONF_FCK['site_admin_url']);