सभी अनुरोधों के लिए एसएसएल बल कैसे?


9

क्या सभी अनुरोधों के लिए एसएसएल को मजबूर करने का एक तरीका है? एडमिन 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

यह वर्डप्रेस के नियमों से पहले होना चाहिए।


Codex.wordpress.org/Administration_Over_SSL से कोड कुछ रेगेक्स वर्णों को छोड़कर लगभग समान है, किसी भी विचार अगर या तो छुरा घोंपता है?
प्रोसिडि-गब वेरिएबल प्रसंग

-1

मैंने अपने सभी क्लाइंट साइटों पर वास्तव में सरल एसएसएल का उपयोग किया है और यह बहुत अच्छा काम करता है। यदि आप कोड को संशोधित नहीं करना चाहते हैं, तो बस इस प्लगइन को स्थापित करें और इसे कॉन्फ़िगर करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.