it-swarm.com.de

Laden Sie Bilder mit http-URLs in den https-Post

Ich habe eine Archivseite, die unter https läuft. Es werden keine Bilder im Beitrag geladen, da alle Bild-URLs mit http.

Es gibt einen Fehler wie unten,

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

Wie vermeide ich diese Fehler und lade die Bilder auf dieser Seite.

Ich habe in einem Artikel die einfachste Möglichkeit gesehen, das Problem durch Konvertieren von URLs in relative URLs zu beheben.

z.B:

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

Irgendeine Idee, wie ich das machen soll?

4

benutzte einfach die str_replace Funktion um die URLs in https zu konvertieren

$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;

eventuell können Sie auf diese Weise die relativen URLs erstellen.

1

Es ist ein recht häufiges Problem, wenn Sie die URL Ihrer WordPress-Site von HTTP auf HTTPS aktualisieren oder auf eine neue Domain migrieren. Während eine Teillösung darin besteht, die Home- und Site-URL von WordPress in Ihren Einstellungen zu aktualisieren:

 enter image description here 

Das bedeutet nicht, dass die neue URL-Struktur in Ihren Posts behoben wird. Dies führt dazu, dass einige Ihrer Seiten stattdessen auf Ihren HTTP-Link verweisen.

Verwenden Sie die folgende SQL-Abfrage, um sicherzustellen, dass alle URLs für Ihre Website auf dem neuesten Stand sind:

SQL-Abfrage

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 wird durch http://example.com ersetzt (nicht HTTP)
  • NEW_URL wird durch https://example.com (HTTPS) ersetzt

Stellen Sie sicher, dass Sie Ihre Datenbank sichern, bevor Sie diese SQL-Abfrage ausführen, falls Sie auf ein Problem stoßen.

Mach vorher ein Backup

Ich schlage zwei Dinge für dich vor:

First:

wir haben 3 möglichkeiten ihren inhalt zu ändern,

  • permanent tool: dieses Suchen & Ersetzen für WordPress .
    Es ist nicht elegant und kann Ihre Website beschädigen, aber ich benutze viel Zeit und es funktioniert auch.

    Ich denke, es kann Ihnen helfen, die Datenbank für Ihre gesamte Website in einem Schuss zu ändern.

    Es repariert dein Image nicht im Plugin, aber es kann dir helfen.

  • Temporäres Tool: Wenn Sie dies nicht möchten, können Sie auch das kostenlose Tool really-simple-ssl verwenden, um Ihre Inhalte mit add_action zu ändern: http => https

  • Temporäres Tool: Füge dies in deine function.php ein:

    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:

Vergessen Sie auch nicht, Ihre URL in die benutzerdefinierte JS-, AJAX -Anforderung und andere Plug-ins zu ändern.

2

Führen Sie die folgenden Schritte aus, um Bilder mit http-URLs zu laden:

  1. Gehe zu phpmyadmin export database SQL file.
  2. Öffnen Sie die SQL-Datei im Texteditor.
  3. Suchen Sie nach einer URL wie " https://www.example.com/wp-content/uploads/image.jpg ".
  4. URL ersetzen wie " http://www.example.com/wp-content/uploads/image.jpg "
  5. Speichern Sie die Datei und importieren Sie die aktualisierte SQL-Datei.

Hoffe es ist hilfreich.

0
Amarendra Kumar