web-dev-qa-db-fra.com

Avertissements de contenu mixte après le changement d'adresse de site de HTTP à HTTPS

J'ai changé l'adresse de mon site de HTTP à HTTPS en modifiant simplement l'URL dans Paramètres -> Général (adresse Wordpress et adresse de site Web.). Aucun problème dans la zone d'administration, tout fonctionne correctement.

Ce qui se passe dans la partie publique du site Web: il y a beaucoup de "contenu mixte", de sorte que Firefox se plaint que le site Web n'est pas sécurisé. J'ai remarqué (voir la source) que presque toutes les images que j'ai téléchargées dans la médiathèque sont toujours "rendues" avec HTTP au lieu de HTTPS.

Que puis-je faire pour servir les images, les polices, etc. avec une URL HTTPS?

[MISE À JOUR] J'ai découvert que deux problèmes pouvaient être résolus en modifiant deux fichiers de thème avec le code "http: //" codé en dur. Le problème est avec les images, si vous ne voulez pas modifier la base de données, il n'y a apparemment pas de solution

5
3000

Cela se produit parce que WordPress enregistre les URL dans le contenu absolument par défaut (ce qui signifie que vos URL ont été enregistrées sous le nom http://example.com dans la base de données). Donc, pour résoudre ce problème, vous devrez effectuer une recherche et remplacer dans votre base de données pour corriger ces erreurs.

J'aime utiliser le plugin Meilleure recherche remplacer car il dispose d'une fonctionnalité intéressante qui vous permet d'essayer votre recherche/remplacement en tant que test à blanc. Il y a beaucoup d'autres méthodes de recherche/remplacement, et vous pouvez aussi faire les changements dans PhpMyAdmin, mais je vais juste mettre des instructions pour utiliser le plugin Better Search Replace.

En supposant que vous utilisez Better Search, remplacez:

  1. Sauvegardez votre base de données! Toujours toujours toujours. Utilisez n'importe quel outil que vous voulez faire (UpdraftPlus, ou dump (NON DROP) de PhpMyAdmin ou directement de MySQL sont toutes les options possibles).
  2. Allez aux outils> Meilleure recherche Remplacer
  3. Ajoutez la version non SSL de votre site Web au champ de recherche http (par exemple, http://example.com) et la version SSL de votre site Web au champ de remplacement Search Replace Example 1
  4. Sélectionnez les tables que vous souhaitez mettre à jour. Vous aurez probablement besoin des tables wp_posts et wp_postmeta, mais vous pouvez toutes les ajouter si vous le souhaitez. Sachez simplement que cela peut prendre plus de temps et s’étendre en fonction des spécifications de votre serveur . Select your tables
  5. Faites un essai à sec pour vous assurer que cela fonctionne Dry run
  6. Si cela fonctionne, décochez l'option Dry Run et exécutez-la pour de vrai.
  7. Consultez votre site Web pour vérifier que les erreurs ont été corrigées. Si c'est le cas, génial!

Remarque: chaque fois que vous effectuez une recherche ou un remplacement, vous risquez de causer de gros problèmes à votre site Web. Par conséquent, la première étape consiste à sauvegarder votre site Web. Si quelque chose ne va pas, vous avez un moyen de restaurer vos données.

8
Ian

Vous devrez rediriger tous vos trafics de HTTP vers HTTPS. Une règle de réécriture peut le faire pour vous. Utilisez ce code au lieu de la règle de réécriture d'origine de WordPress (si vous n'utilisez pas de cache) dans votre fichier .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Il existe des plugins qui peuvent le faire aussi, comme Easy HTTPS Rediction .

1
Jack Johansson

J'ai utilisé Meilleure recherche Remplacer et Vraiment simple SSL et le gagnant est:

SSL vraiment simple

Faites juste ceci:

  1. Installez-le
  2. L'activer
  3. Autoriser SSL

Terminé

Il corrigeait également tous les problèmes de redirection d'image

1
Francesco Mantovani