問題描述

有沒有辦法強制 SSL 的所有請求?很像使用 admin ssl 的選項,但是對於所有請求,包括沒有登錄的請求。

最佳解決方案

is_ssl()的簡單檢查應該做到:

add_action( 'plugins_loaded', 'wpse_2718_force_ssl' );

function wpse_2718_force_ssl()
{
    if ( is_ssl() )
        return;

    wp_redirect(
        'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] 
    );
    exit;
}

但是我會在.htaccess 中這樣做:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

對於 ISS,請參閲 this answer on Stack Overflow

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。