web-dev-qa-db-fra.com

WordPress peut-il accepter les connexions HTTP et HTTPS sur le même blog?

Tout en travaillant sur la transition de HTTP à HTTPS, j'ai configuré tous les sites Web pour accepter les connexions HTTP et HTTPS. Cela a fonctionné pour tout sauf WordPress. Il y a une option dans la page WordPress Paramètres où vous pouvez spécifier quelle est l'URL du site.

À l'heure actuelle, le blog WordPress fonctionne pleinement avec HTTP. Si vous modifiez l'URL pour utiliser HTTPS, le site sera cassé. Cela nécessitera du débogage et du travail. Alors, s’il est possible de faire accepter WordPress les deux types de connexion? Les visiteurs ont besoin de la version HTTP jusqu'à ce que la version HTTPS fonctionne, mais je dois utiliser la version HTTPS moi-même pour déboguer.

2
Itai

Essentiellement non, même s’il s’agit d’un logiciel open source, il pourrait être piraté.

Le problème principal est l'instance sur l'utilisation de chemins pleinement qualifiés partout. Changer le fichier wp-config.php comme le suggère @NataliK permet de voir l'index du blog avec les protocoles HTTP et HTTPS, mais cela ne va pas très loin.

Ce qui reste, c’est que les publications utilisent des URL absolues chaque fois qu’un lien ou une image est inséré et que celles-ci figurent dans la base de données. Lors de la migration, il faut remplacer toutes les entrées de base de données d’un protocole à l’autre par une chaîne de caractères. Il est donc préférable de suggérer des résultats comportant de nombreux avertissements de contenu mixte.

Certains codes permettent d'effectuer la transformation à la volée lors de l'extraction des lignes de la base de données, mais cette tâche est plutôt compliquée. Il est beaucoup plus facile d'attendre qu'une transition complète puisse être effectuée.

1
Itai

Premièrement, la plupart des sites migrent exclusivement vers https, donc Wordpress se concentre sur cela. Deuxièmement, la méthode sera différente selon que vous êtes sur un site Wordpress.com ou que vous utilisez Wordpress sur une autre plate-forme d'hébergement ou si vous avez créé le site vous-même avec Wordpress.org.

Maintenant, si vous êtes sur Wordpress.com, alors je vous suggère de contacter leur personnel de support. L'utilisation de cette plate-forme présente des limites impaires qui ne s'appliquent pas toujours avec d'autres sites Web Wordpress. Ils peuvent avoir des plugins, je ne sais pas.

Si vous avez utilisé Wordpress.org, vous pouvez rechercher des plugins ou essayer d'ajouter http & https à votre fichier wp-config.php. Voici un exemple de blog.rabin.io:

function isSecure() {
  return
    (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
    || $_SERVER['SERVER_PORT'] == 443;
}

$web_site     = 'blog.rabin.io';
$schema       = isSecure() ? 'https://' : 'http://';
$web_site_url = $schema . $web_site;

define('WP_HOME',    $web_site_url);
define('WP_SITEURL', $web_site_url);

(Non, je n'ai pas testé cela.)

Ensuite, si vous le souhaitez, vous devrez forcer SSL pour la ou les page (s) souhaitée (s) (exemple pour login & admin):

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

Pour un site Wordpress sur une autre plate-forme d'hébergement, je soupçonne qu'il existe des plugins pour cela. Selon l'hébergeur, vous pourrez peut-être modifier vous-même votre wp-config.

2
Natali K.