จะบังคับใช้ SSL สำหรับคำขอทั้งหมดได้อย่างไร


9

มีวิธีบังคับ SSL สำหรับคำขอทั้งหมดหรือไม่? ชอบตัวเลือกในการใช้ admin ssl แต่สำหรับคำขอทั้งหมดรวมถึงคำขอที่ไม่ได้ลงชื่อเข้าใช้

คำตอบ:



7

ตรวจสอบง่าย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]

สำหรับสถานีอวกาศนานาชาติดูคำตอบนี้บนกองมากเกิน


1

เพิ่มกฎนี้ไปด้านบนของ. 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


รหัสจากcodex.wordpress.org/Administrator_Over_SSLเกือบเหมือนกันยกเว้นตัวอักษร regex สองสามตัวความคิดใดบ้างถ้าเป็นตัว stabler?
ฉันทลักษณ์ -Gab Vereable Context

-1

ฉันใช้SSL แบบง่าย ๆกับเว็บไซต์ของลูกค้าทั้งหมดและใช้งานได้ดีมาก หากคุณไม่ต้องการแก้ไขรหัสเพียงแค่ติดตั้งปลั๊กอินนี้และกำหนดค่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.