มีวิธีบังคับ SSL สำหรับคำขอทั้งหมดหรือไม่? ชอบตัวเลือกในการใช้ admin ssl แต่สำหรับคำขอทั้งหมดรวมถึงคำขอที่ไม่ได้ลงชื่อเข้าใช้
มีวิธีบังคับ SSL สำหรับคำขอทั้งหมดหรือไม่? ชอบตัวเลือกในการใช้ admin ssl แต่สำหรับคำขอทั้งหมดรวมถึงคำขอที่ไม่ได้ลงชื่อเข้าใช้
คำตอบ:
นี่คือคำแนะนำที่สมบูรณ์ - เปิดใช้งานการสนับสนุนที่สมบูรณ์สำหรับ SSL บน Wordpress
ตรวจสอบง่าย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]
เพิ่มกฎนี้ไปด้านบนของ. htaccess:
# BEGIN Force SSL
# This should be the first rule before other rules
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
# END Force SSL
สิ่งนี้ควรอยู่ก่อนกฎของ WordPress
ฉันใช้SSL แบบง่าย ๆกับเว็บไซต์ของลูกค้าทั้งหมดและใช้งานได้ดีมาก หากคุณไม่ต้องการแก้ไขรหัสเพียงแค่ติดตั้งปลั๊กอินนี้และกำหนดค่า