WordPress wp-admin https पुनर्निर्देशित लूप


60

मैं अपने वेबसर्वर के रूप में nginx का उपयोग कर रहा हूं और मैंने https को इंगित करने के लिए कॉन्फ़िगरेशन फ़ाइल को संपादित किया है, इसलिए मैंने वर्डप्रेस यूआरएल सेटिंग्स को https में बदल दिया है और अपनी wp-config फाइल में वर्डप्रेस बल ssl व्यवस्थापक कोड भी जोड़ा है लेकिन मैं त्रुटि में भाग रहा हूं " इस वेबपेज में एक अनुप्रेषित लूप है "

यहाँ छवि विवरण दर्ज करें

जवाबों:


98

आपने अपने wp-config.php में जोड़ा $_SERVER['HTTPS'] = 'on';है ?

तुम भी उपयोग करना चाहिए WP माइग्रेट डीबी से माइग्रेट करने के प्लगइन http://yoursite.comकरने के लिएhttps://yoursite.com


9
मैं आपको इसके लिए 1000 अपवोट देता हूँ!
शेहरार

5
किसी कारण के लिए, यह महत्वपूर्ण कदम अक्सर शामिल नहीं है।
तानिया रास्किया

4
धन्यवाद! शायद मुझे यह पता लगाने के कुछ और घंटों की बचत हुई कि व्यवस्थापक क्षेत्र एसएसएल के साथ काम क्यों नहीं कर रहा है।
हेल्मेयर

4
वाह! $ _SERVER ['HTTPS'] = 'on'; मुझे बचाया!
प्रजूनियर

2
यह काम क्यों करता है? मैंने पहले से ही इंटरकनेक्ट के एस एंड आर टूल का उपयोग किया है। मुझे डेटाबेस में पहले से ही सही प्रोटोकॉल होना चाहिए।
जेफ

51

मुझे एक समान समस्या थी और मैंने निम्नलिखित स्निपेट को अपने साथ जोड़ा wp-config.php:

/** SSL */  
define('FORCE_SSL_ADMIN', true);  
// in some setups HTTP_X_FORWARDED_PROTO might contain  
// a comma-separated list e.g. http,https  
// so check for https existence  
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)  
    $_SERVER['HTTPS']='on';

जैसा कि कोडेक्स में सुझाया गया है । यह केवल उस स्थिति में होगा जब आपके लोड बैलेंसर (या फ़ायरवॉल) सेटअप में एसएसएल पेस्शरथ सक्षम हो। मतलब यह कि जब आप साइट को HTTP के माध्यम से TLS / SSL के भीतर एक्सेस कर सकते हैं, तो आपके सर्वर को प्राप्त होने वाला संचार केवल HTTP है। उस शीर्ष लेख के लिए, शीर्ष लेख की आवश्यकता होती है, इसलिए वर्डप्रेस सरणी onमें वर्डप्रेस HTTPS को "सेट" कर सकता है $_SERVER


2
यह विशेष रूप से किसी के लिए एक लोड बैलेंसर का उपयोग करने के लिए महान समाधान है। मैं इसे Dokku (एक होस्ट-यह-अपने आप को हरोकू का क्लोन) का उपयोग करके होस्ट कर रहा था और स्थैतिक संसाधन लोड करने और wp-admin रीडायरेक्ट लूप के साथ समस्या हो रही थी। Dokku 80 को पोर्ट करने के लिए आने वाले 443 ट्रैफ़िक को आगे करने के लिए एक nginx रिवर्स प्रॉक्सी भी करता है और यह समस्या को ठीक करता है।
ZachM

3
मुझे सिर्फ $_SERVER['HTTPS'] = 'on';इसलिए डालना पड़ा क्योंकि HTTP_X_FORWARDED_PROTO मेरे क्लाइंट के सर्वर पर सेटिंग्स में भी नहीं है: |
टॉम रोजगारो

1
AWS लोड बैलेंसर का उपयोग करते समय मेरी समस्या को पूरी तरह से निर्धारित करें।
जोश

इसने "बहुत सारे पुनर्निर्देशित मुद्दे" को भी ठीक कर दिया क्योंकि मेरी साइट AWS पर एक लोड बैलेंसर के पीछे है।
वॉवम

मुझे लगता है कि इस जवाब को जोड़ने के लिए महत्वपूर्ण है। ऐसे मामलों के लिए .htaccess फ़ाइल के लिए फिक्स: stackoverflow.com/questions/36748110/… , @ harshal-lonare उत्तर की जाँच करें।
गुस्तावो जैंस्ट

11

जैसा कि मेरे पास अभी तक टिप्पणी विशेषाधिकार नहीं है, मैं इस उत्तर को एक और उत्तर के रूप में पोस्ट करूंगा:

एलियास द्वारा प्रस्तावित समाधान, निम्नलिखित को जोड़ने के लिए wp-config.php, मेरे लिए चाल चली:

/** SSL */  
define('FORCE_SSL_ADMIN', true);  
// in some setups HTTP_X_FORWARDED_PROTO might contain  
// a comma-separated list e.g. http,https  
// so check for https existence  
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)  
    $_SERVER['HTTPS']='on';

हालाँकि, यह केवल मेरे लिए काम किया जब मैंने इसे इस फाइल में बाकी सब से पहले रखा !


1
ठीक यही मेरी समस्या थी। मैंने इन्हें फाइल के अंत में रखा था और यह काम नहीं कर रहा था। मैं अपनी साइट को खरोंच से पुनर्निर्माण करने के लिए तैयार था। उन्हें शीर्ष पर ले जाया गया और बैम, फिक्स्ड जारी किया। शुक्रिया शुक्रिया!!
डीन पुलिन

यह समाधान बहुत अच्छा है अगर आप क्लाउड DNS जैसे प्रॉक्सी DNS के पीछे एक लचीले एसएसएल का उपयोग कर रहे हैं। धन्यवाद।
स्टीफन पी

काम करने की पुष्टि की। बहुत बहुत धन्यवाद, यह एपीआई और IFrames के साथ हमारे पास बहुत सारी समस्याओं को हल करता है। साइट में HTTPS सक्षम नहीं है, लेकिन हमें इसे चालू करने के लिए कुछ पृष्ठों की आवश्यकता है। डिफ़ॉल्ट रूप से सेटिंग के रूप में यह होना चाहिए ...
एंडी

FYI करें - वह कोड कहीं भी हो सकता है लेकिन require_once( ABSPATH . 'wp-settings.php' );फ़ाइल के अंत में पहले होना चाहिए ।
दामोदर बाश्याल

7

पुस्तकों के लिए एक और संस्करण, बस इसे wp-config.php के शीर्ष पर जोड़ें

कारण यह है कि लोड बैलेंसर्स या कुछ ऐसा हो सकता है जो उचित https मान के साथ नहीं गुजरता है, इसलिए आपको इसे कहीं और से पकड़ना होगा और इसे वर्डप्रेस के लिए नकली करना होगा।

if ( (isset($_SERVER['HTTP_X_FORWARDED_PORT'] ) && ( '443' == $_SERVER['HTTP_X_FORWARDED_PORT'] ))
    || (isset($_SERVER['HTTP_CF_VISITOR']) && $_SERVER['HTTP_CF_VISITOR'] == '{"scheme":"https"}')) {
    $_SERVER['HTTPS'] = 'on';
}

0

वास्तव में ... मेरे पास यह मुद्दा था और हल करना काफी आसान और शर्मनाक था। किसी तरह वेबहोस्ट पर मेरे wp-admin फ़ोल्डर को हटा दिया गया था और इसलिए इस त्रुटि संदेश के साथ कोई wp-admin नहीं था।

इतने सारे अलग-अलग तरीकों से परीक्षण के घंटों के बाद, मैंने अभी इसे देखा और जब डाउनलोड और अपलोड किया गया तो यह सभी सामान्य रूप से काम किया।

यह लोगों की जाँच करें, यह इतना आसान हो सकता है।


0

5 साल पुराना सवाल ...

ठीक है, मैं अपने SSL प्रमाणपत्र स्थापित करने और सभी लिंक थे बदलने के बाद इस त्रुटि था, httpके लिए httpsWP-cli.phar पाया का उपयोग कर यहां

मैंने विभिन्न विन्यासों की कोशिश की और कोई भी इसे हल करने के लिए नहीं लगा, जब तक कि मैंने इसे सेट नहीं किया:

define('FORCE_SSL_ADMIN', true); 
define('FORCE_SSL_LOGIN', true);

इसके लिए:

define('FORCE_SSL_ADMIN', false);
define('FORCE_SSL_LOGIN', false);

इसने मुझे लॉग-इन पृष्ठ को हिट करने की अनुमति दी, लेकिन तब वास्तव में लॉग-इन करने में असमर्थ था। मैंने दो उत्तर देने की कोशिश की, लेकिन दुर्भाग्य से या तो मदद नहीं की, अनटाइल मैंने निम्नलिखित परिवर्तन किया:

/** SSL */   
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https   
// so check for https existence   
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== true)  
     $_SERVER['HTTPS']='on';

किसी कारण से, मुझे नहीं पता कि क्यों - मुझे बदलना पड़ा

! == असत्य

सेवा

! == सच

मैं होस्ट के रूप में nginx चला रहा हूं और nginx यूनिट के लिए प्रॉक्सी को रिवर्स कर रहा हूं ... अगर किसी को कोई भी विचार है कि काम क्यों किया है, तो कृपया मुझे बताएं

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