虛擬主機WordPress部署SSL注意事項(301跳轉)
發佈時間:2018-03-02
注意事項:
1.如果您的主題/插件使用絕對地址調用了http請求可能會導致網站打開會亂碼,或不能有綠鎖標識,需要聯繫程序提供商將所有http請求修改為https
2.由於程序中用於檢測https的標識“$_SERVER['HTTPS']"未啓用,可能導致網站訪問時出現循環,不能登錄後台等,需要修改該檢測標識
3.因為修改了wp-includes/load.php或wp-includes/functions.php ,自動更新wordpress後會還原這兩個文件,可能導致頁面錯亂,需要重新按照此教程重新修改對應文件
先參考:虛擬主機部署ssl證書(https)流程 完成SSL部署.部署時候請勾選強制/自動跳轉https;
如果使用雲服務器配置https後wordpress後台無法登錄提示將您重定向的次數過多,只需要在網站根目錄的wp-config.php開頭加入以下代碼,即可完美解決此問題:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
完成後登錄WordPress後台 - 設置 - 常規 - 將WordPress地址(URL)/站點地址(URL) 地址修改為https格式,如下截圖。

添加完畢.瀏覽器訪問網站前後台測試是否正常,如果正常則不需要做下面操作.
部份url地址已寫入數據庫通過後台方式無法更新的,可以使用phpmyadmin或其他管理工具將數據庫中http替換為https(風險操作進行前請務必先對數據庫進行備份)
繼續修改wp-includes/load.php或wp-includes/functions.php 這個文件,搜索is_ssl找到對應的函數,將$_SERVER['HTTPS']修改為$_SERVER["HTTP_FROM_HTTPS"](修改文件前請注意備份)。

或將此函數修改為:
function is_ssl() {
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'){
return true;
}
elseif (isset($_SERVER["HTTP_FROM_HTTPS"])&&$_SERVER["HTTP_FROM_HTTPS"]=='on'){
return true;
}
elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
return true;
}
else{
return false;
}
}最後參考:部署https(ssl)後設置301跳轉將http跳轉到https
