WordPress get_template_directory_uri() gibt http statt https
Wir haben vor kurzem angewendet SSL-Zertifikat auf unsere website und wir möchten, dass alle unsere url zu haben: https://- Protokoll.
Einmal zogen wir unsere website auf https://, unsere website brach, wie es nur wenige Ressourcen, die waren noch auf http://. Nach der Erforschung es für eine Weile, ich sah, dass get_template_directory_uri() ist immer die Rückkehr http://auch durch unsere wp_home, wp_site_url mit https://
Gibt es irgendeinen anderen Ort, wo wir die änderung der URL, wie wir mit Kind Thema und diese Funktion liefert den parent-theme-Verzeichnis.
Dank,
Raju Vishwas
- Was haben Sie "WP_CONTENT_URL" wie ? Ich Neige dazu, die Dinge in wp-config.php für https -, kann ich Ihnen meine volle, wenn das helfen könnte
- Sicher, lassen Sie mich prüfen über die.
- Sie waren in der Lage, diese zu lösen?
- Pollard ich weiß, das war eine lange Zeit her,aber ich bin jetzt vor dem gleichen problem, so können Sie mir eine Ahnung, wie aktualisiere ich meine wp-config.php Datei, um den Fall zu lösen? Danke!!!!
- Überprüfen Sie, ob der server wieder HTTPS, in meinem Fall waren wir mit Load-Balancer-server und das SSL-Zertifikat wurde installiert auf load balancer, damit mein apache immer wiederkehrenden http anstelle von https, ich musste einen hard-code zurückgeben https
- Ich stehe vor dem gleichen Problem (mit Lastenausgleich)...könntest du bitte erzählt mir, wie genau hast du "hard-code" zurückgegeben https? Danke!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie die
$_SERVER['HTTPS']
Wert. Diese sollten gesetzt werden, umon
oder1
. Wenn es einen anderen Wert, während festgelegt wird, wird diese Funktion die Ausgabe von http anstatt https.Finden Sie unter: https://core.trac.wordpress.org/browser/tags/4.5.3/src/wp-includes/functions.php#L4025
Gehen durch diesen Kommentar der initiator Hinzugefügt:
Die Antwort von @pbond Kratzer an der Oberfläche, um die Ursache des Problems.
Die WordPress -
is_ssl()
Funktion überprüft die $_SERVER['HTTPS'] und $_SERVER['SERVER_PORT'] um zu überprüfen, ob die aktuelle Seite, auf die zugegriffen wird per https, aber die load-balancer ist wahrscheinlich, um Ihre Inhalte auf den nicht-SSL port 80.Eine gute Lösung für dieses Problem ist die Verwendung des
X-Forwareded-Proto
HTTP-header, um herauszufinden, welches Protokoll der client tatsächlich mit auf die andere Seite des Load Balancer ein.Mit Apache 2.2, könnten Sie fügen Sie diese an Ihre Konfiguration:
Weiterer möglicher fix (angedeutet durch @Roberto Poblete aber nicht erklärt) ist, dass diese
wp-config.php
Habe ich dies danken für die Zusendung in das Recht der direkten
anzeigen Noten-link
https://codex.wordpress.org/Function_Reference/is_ssl
Haben Sie versuchen zu zwingen, die Lieferung von Inhalten über https mit einem modifizierten .htaccess-Datei?
unter dem snippet bin ich mit:
Überprüfen Sie die Liste der plugins installiert. Alle Plug-ins, mit caching, CDN etc stören kann get_template_directory_uri. In unserem Fall hatte der Kunde installiert eine Tonne von plugins, mit denen man angeblich die Geschwindigkeit seiner Website.
Ohne plugins aktiviert https geladen gut. So war es nur ein Fall, herauszufinden, welche es war. Und begraben in der beanstandeten plugin-Einstellungen es wurde ein http-version von der Website Weg.
Nutzen Sie bitte das folgende:
wird es eine web-Adresse (beginnend mit http://oder https://SSL). Als solche, es ist am sinnvollsten für links verwendet wird, verweisen auf zusätzliche stylesheets, oder wahrscheinlich die meisten Häufig, die Bilder.
https://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri
get_template_directory_uri()
gibt auch eine URI...und prüft für SSL. Beide sind nützlich, aber der Wechsel zuget_stylesheet_directory_uri()
nicht mehr Sinn machen, in diesem Fall, denn die OP ist mit einem child theme.