Je me bats vraiment avec quelque chose ici. J'essaie de changer mon site pour aller de www. vers non-www, et aussi http: // vers https: //
J'ai mis à jour les paramètres dans options-general.php (adresse WordPress (URL) et adresse du site (URL)). Les deux utilisent la version non-www, ainsi que https: // now.
J'ai également mis à jour le paramètre de cookie dans wp-config.php:
define( 'COOKIE_DOMAIN', 'mysite.co.uk' );
Je peux accéder à la wp-admin très bien sur https et la version non-www. Cependant, index.php veut juste me garder dans une boucle infinie, en rechargeant la page d'accueil jusqu'à ce que le navigateur abandonne. Je ne peux pas croire à quel point cela a été difficile!
Quelqu'un a des suggestions sur ce qu'il faut essayer? Jusqu'à présent, j'ai passé 3 heures sur quelque chose qui aurait dû prendre quelques minutes.
Pour ce que ça vaut, j’ai désactivé TOUS les plugins (au cas où c’était bizarre), mais ça ne marche toujours pas.
Il vaut probablement la peine de mentionner que cela doit être un problème de WP, car la modification de index.php fonctionne correctement si je viens de mettre ceci dans le contenu:
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
echo header();
echo "FOO";
(MISE À JOUR:} Il est intéressant de noter que je pensais que je devrais passer en revue le code et essayer de voir où il se foutait. Il arrive à /wp-includes/template-loader.php, puis entre dans la boucle ici:
do_action( 'template_redirect' );
... Je ne sais pas où cela va après? (pour essayer de déboguer plus)
UPDATE 2: Je viens d'installer ce plugin: https://wordpress.org/support/plugin/debug-wp-redirect/ . C'est super vieux, mais il m'a montré d'où venait la redirection:
Debug WP Redirect
Location: https://mysite.co.uk/
Status: 301
Backtrace:
File: /home/rachel/web/mysite.co.uk/public_html/wp-includes/class-wp-hook.php
Line: #298
Function: redirect_canonical
Arguments:
array(1) {
[0]=>
string(27) "http://mysite.co.uk/"
}
Je ne sais tout simplement pas pourquoi son échec (et en utilisant http au lieu de https ici, ce qui, je suppose, est à l'origine de la boucle)
_ {UPDATE 3: Je ne sais pas pourquoi, mais cela ne se produit que sur la page d'accueil!
http://www.foo.co.uk/wires-eyewear/
http://foo.co.uk/wires-eyewear/
https://www.foo.co.uk/wires-eyewear/
https://foo.co.uk/wires-eyewear/
Tout fonctionne bien. Mais:
http://www.foo.co.uk
http://foo.co.uk
https://foo.co.uk/
http://foo.co.uk
... tous sont coincés dans une boucle infinie. Euh, c'est tellement frustrant!
(UPDATE 4:} _ J'ai réussi à obtenir une trace de pile, mais je ne comprends pas ce qui se passe.
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #298
PHP message: Function: debug_wp_redirect
PHP message: Arguments:
PHP message: array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
int(301)
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/plugin.php
PHP message: Line: #203
PHP message: Class: #WP_Hook
PHP message: Function: apply_filters
PHP message: Arguments:
PHP message: array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
int(301)
}
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/pluggable.php
PHP message: Line: #1181
PHP message: Function: apply_filters
PHP message: Arguments:
PHP message: array(3) {
[0]=>
string(11) "wp_redirect"
[1]=>
string(28) "https://ladympresents.co.uk/"
[2]=>
int(301)
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/canonical.php
PHP message: Line: #516
PHP message: Function: wp_redirect
PHP message: Arguments:
PHP message: array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
int(301)
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #298
PHP message: Function: redirect_canonical
PHP message: Arguments:
PHP message: array(1) {
[0]=>
string(31) "http://www.ladympresents.co.uk/"
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #323
PHP message: Class: #WP_Hook
PHP message: Function: apply_filters
PHP message: Arguments:
Je pense que c'est maintenant plus et problème avec le www. être pris sur l'URL. Je ne comprends tout simplement pas pourquoi. J'ai tous les plugins désactivés, j'ai complètement migré la base de données (j'ai même essayé d'utiliser un plugin pour rechercher et remplacer la base de données et remplacer l'ancienne URL par la nouvelle) et la page d'accueil refuse toujours de fonctionner! Je suis tombé sur un bug majeur ou autre chose en jeu. C'est le peu que cela me déconcerte:
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #298
PHP message: Function: redirect_canonical
PHP message: Arguments:
PHP message: array(1) {
[0]=>
string(31) "http://www.ladympresents.co.uk/"
}
Les URL sont parfaites pour cette partie, puis il la change de manière aléatoire en non seulement http://
, mais ajoute également le bit www.
à nouveau!
_ {UPDATE 4: Donc l'intrigue s'épaissit! Il s'avère maintenant que le problème réside dans l'utilisation d'une page personnalisée pour la page d'accueil!
Si je modifie le affiche sur la page de couverture _ en "affiche sur la page de garde" (au lieu de "une page statique (sélection ci-dessous)} _", alors cela fonctionne ... mais de toute évidence, j'ai une page d'accueil qui n'a rien de ce dont nous avons besoin, j'ai testé cela avec différents thèmes, et ils ont tous le même problème. ARGH!
Ajoutez ce qui suit à votre .htaccess ..
# force https on the front of the site
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
ref https://stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite
si sur nginx le conseil est pour ce qui suit ..
server {
listen 80;
server_name yoursite.com www.yoursite.com;
return 301 https://yoursite.com$request_uri;
}
se référer à http://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/
pour d'autres domaines tels que les modifications des paramètres de site pour https.