web-dev-qa-db-fra.com

WordPress wp-admin https boucle de redirection

J'utilise nginx comme serveur Web et j'ai modifié le fichier de configuration pour qu'il pointe vers https. Je modifie donc les paramètres de l'adresse URL de WordPress en https. J'ai également ajouté le code administrateur WordPress force ssl à mon fichier wp-config, mais je rencontre toujours l'erreur. " Cette page web a une boucle de redirection "

enter image description here

55
iamkingsleyf

Vous avez ajouté $_SERVER['HTTPS'] = 'on'; à votre wp-config.php ?

Vous devez également utiliser le WP Migrate DB plugin pour migrer de http://yoursite.com à https://yoursite.com.

92
thaevok

J'ai eu un problème similaire et je viens d'ajouter l'extrait suivant à mon 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';

comme suggéré dans le Codex . Cela ne sera nécessaire que si le relais SSL est activé dans la configuration de votre équilibreur de charge (ou pare-feu). Cela signifie que même si vous pouvez accéder au site via HTTP dans TLS/SSL, la communication que votre serveur reçoit est HTTP uniquement. Pour tenir compte de cela, l’en-tête ci-dessus est nécessaire pour que WordPress puisse "définir" HTTPS sur on dans le tableau de configuration $_SERVER.

46
Elias

Comme je n'ai pas encore le privilège de commentaire, je posterai cet ajout comme une autre réponse:

La solution proposée par Elias, qui consiste à ajouter le code suivant à wp-config.php, a fait l'affaire pour moi:

/** 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';

Cependant, cela ne fonctionnait que lorsque je le mets avant tout dans ce fichier!

10
Michael Jung

Une autre version pour les livres, ajoutez-la simplement en haut de wp-config.php

La raison en est qu’il pourrait y avoir des équilibreurs de charge ou quelque chose qui ne transmet pas la valeur https appropriée. Vous devez donc le récupérer ailleurs et le simuler pour wordpress.

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';
}
7
Timo Huovinen

En fait ... J'avais ce problème et la résolution était assez facile et gênante. D'une manière ou d'une autre sur l'hébergeur, mon dossier wp-admin a été supprimé et donc aucun wp-admin avec ce même message d'erreur.

Après des heures de test, j'ai vu cela de tant de façons différentes et, une fois téléchargé et téléchargé à nouveau, tout a fonctionné normalement.

Vérifiez les gars, cela peut être aussi simple que cela.

0
emcolsson