web-dev-qa-db-fra.com

Charger des images avec les URL http dans https post

J'ai une page d'archive qui fonctionne sous https. Il ne charge aucune image dans le message car toutes les URL d’image avec http.

C'est donner une erreur comme ci-dessous,

Blocked loading mixed active content "http://www.example.com/wp-content/uploads/image.jpg"

Comment devrais-je éviter ces erreurs et charger les images sur cette page.

J'ai vu dans un article le moyen le plus simple de résoudre ce problème en convertissant des URL en URL correspondantes.

par exemple:

http://www.example.com/wp-content/uploads/image.jpg -> //wp-content/uploads/image.jpg

Une idée de comment je devrais faire ça?

4
Janith Chinthana

simplement utilisé la fonction str_replace pour convertir les URL en https

$content = get_the_content();
$content = apply_filters( 'the_content', $content );
$content = str_replace( ']]>', ']]>', $content );
$content = str_replace("http://example.com/", "https://example.com/", $content);
echo $content;

si vous pouvez créer les URL relatives de cette manière.

1
Janith Chinthana

Il existe un outil prédéfini appelé Rechercher et remplacer (recommandé dans le codex WordPress.org) que vous pouvez utiliser pour modifier en toute sécurité votre base de données pour ce type de modification. Que vous choisissiez d'utiliser un lien relatif au protocole //wp-content/... ou de tout changer en https pour empêcher le contenu mélangé reste votre choix.

La raison de cet outil, plutôt que le remplacement plus simple de SQL, est que les données sont serialized dans la base de données WordPress et que si elles ne sont pas traitées correctement, elles peuvent/seront détruites.

Faites toujours une sauvegarde de votre base de données avant de l'utiliser. La toole offre également la possibilité d’effectuer un essai à sec afin que vous puissiez voir quelles tables seront affectées avant d’exécuter la tâche. Personnellement, je recommande un essai (pour des raisons évidentes), puis note les tables concernées. À partir de là, si votre serveur n’est pas exceptionnellement rapide, il sera judicieux de ne sélectionner qu’une petite quantité de tables à modifier en même temps, afin que le processus ne se bloque pas et n’échoue pas. Ecrire les tables affectées signifie que vous pouvez ignorer celles qui ne sont pas affectées lors de la phase d'exécution.

Ce n’est pas sans risque, mais si cela est fait correctement, vous pouvez l’exécuter sur un site actif. Dans la mesure où vous modifierez des liens valides, mais non acceptés à 100%, par des liens valides et à 100% acceptés, cela ne devrait pas affecter négativement votre site tant que vous ne lui accordez pas une charge de travail si importante que le processus se bloque. De plus, les erreurs sur un site actif sont mauvaises, alors ne les faites pas.

Si vous avez une zone de construction à utiliser, utilisez-la impérativement. Mais sinon, je dis qu'il est possible de faire fonctionner cet outil sur un site actif sans aucun problème. Ce n'est en aucun cas infaillible. J'utilise beaucoup cet outil pour déplacer des sites de construction (etc.), s'il s'agit de votre première fois ... attendez-vous à des problèmes, attendez-vous toujours et prévoyez le pire. Faites une sauvegarde et préparez-la.

Note sur la version 2.? vs 3.?:

Si votre serveur est plus ancien, la version 2 est probablement celle qui vous convient. Si votre serveur est plus récent, essayez la version 3. Ils sont tous deux assez faciles à utiliser, mais si votre serveur accepte la v3, utilisez celui-là, il est plus récent et fait tout d'une page, ce qui rend les choses beaucoup plus pratiques. Essayez une version d'essai avec la version 3 et vous devriez savoir si votre serveur peut exécuter cette version ou si vous devez utiliser l'ancienne version 2.

GRANDE NOTE:

Comme l'outil doit vous le faire savoir, NE PAS ne pas oublier de le supprimer une fois que vous avez fini de l'utiliser. Vous ne voulez pas laisser cela à un ou plusieurs personnages néfastes à exploiter.

3
KnightHawk

C'est un problème assez courant lorsque vous mettez à jour l'URL de votre site WordPress, HTTP à HTTPS, ou si vous migrez vers un nouveau domaine. Une solution partielle consiste à mettre à jour l'URL de votre site et de votre site WordPress dans vos paramètres:

 enter image description here 

Cela ne signifie pas que la nouvelle structure d'URL dans vos publications sera corrigée. Cela a pour conséquence que certaines de vos pages pointent vers votre lien HTTP.

En tant que solution rapide garantissant que toutes les URL de votre site Web sont à jour, utilisez la requête SQL suivante:

Requête SQL

UPDATE wp_options SET option_value = replace(option_value, 'OLD_URL', 'NEW_URL') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'OLD_URL','NEW_URL');
UPDATE wp_posts SET post_content = replace(post_content, 'OLD_URL', 'NEW_URL');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'OLD_URL','NEW_URL');
  • OLD_URL sera remplacé par http://example.com (non HTTP)
  • NEW_URL sera remplacé par https://example.com (HTTPS)

Veillez à sauvegarder votre base de données avant d'exécuter cette requête SQL au cas où vous rencontriez un problème.

3

Effectue une sauvegarde avant

Je propose 2 chose pour vous:

First: _

nous avons 3 possibilité de changer votre contenu,

  • outil permanent: cette recherche et remplacer pour wordpress .
    Ce n’est pas élégant et cela peut casser votre site Web, mais j’utilise beaucoup de temps et cela fonctionne aussi.

    Je pense que cela peut être vous aider à changer de base de données pour votre site entier en 1 coup.

    _ {Cela ne corrige pas votre image dans le plugin mais cela peut être une aide du tout.} _

  • Outil temporaire: si vous n’êtes pas à l'aise avec cela, vous pouvez également utiliser le libre really-simple-ssl il vous permet de changer le contenu en utilisant add_action, http => / https

  • Outil temporaire: en ajoutant ceci dans votre function.php:

    function change_http_into_content( $content ) { $custom_content = str_replace('http://', 'https://', $content ); return $custom_content; } add_filter( 'the_content', 'change_http_into_content' );

Second: _

De plus, n'oubliez pas de changer votre URL dans la requête personnalisée JS, AJAX et autres plug-ins.

2
Jean-philippe Emond

Pour charger des images avec des URL http, suivez les étapes ci-dessous:

  1. Accédez au fichier SQL de la base de données d'exportation phpmyadmin.
  2. Ouvrir le fichier SQL dans l'éditeur de texte.
  3. Trouvez l'URL telle que " https://www.example.com/wp-content/uploads/image.jpg ".
  4. Remplacez l'URL par " http://www.example.com/wp-content/uploads/image.jpg "
  5. Enregistrez le fichier et importez le fichier SQL mis à jour.

J'espère que c'est utile.

0
Amarendra Kumar