Ich habe derzeit folgende Probleme
Mixed Content: The page at 'https://www.example.com/' was loaded over HTTPS, but requested an insecure stylesheet
Dies ist eine WordPress-Website auf einem Centos-Server mit httpd
Eingerichtet.
Ich habe folgendes virtuelles Host-Setup in `http.conf:
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot /var/www/html/example
ServerName www.example.com
ServerAlias example.com
SSLEngine on
SSLCACertificateFile /etc/httpd/conf/ssl.crt/intermediate.crt
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
Redirect / https://www.example.com/
</VirtualHost>
In meinem httpd.conf
ich habe mich verändert AllowOverride
an alle, also sieht es so aus:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Das kann ich bestätigen htaccess
funktioniert, da ich das iTheme-Sicherheits-Plugin verwende, und dies funktioniert wie erwartet, auch wenn ich etwas Müll in die htacces
Ich erhalte wie erwartet einen Server-Fehlkonfigurationsfehler.
Ich habe beide WordPress-URLs im Dashboard zur Verwendung geändert https
anstatt http
.
Sobald dies alles erledigt war, konnte ich über HTTP auf die Website zugreifen, auf die HTTPS-Version der Website umgeleitet werden und die Website sehen. In der Konsole erhalte ich jedoch den Fehler bezüglich gemischter Inhalte und das Schild des Vorhängeschlosses wird gelb oder rot durchgestrichen angezeigt, im Gegensatz zum gewünschten Grün.
Es gibt ein paar Dateien, die ein Problem darstellen, und ich weiß zum Beispiel, dass ich die zu verwendenden URLs manuell ändern kann https
im Gegensatz zu http
. So wie ich es verstehe, kann ich die URL wie folgt ändern und dadurch wird der Link einfach an das aktuell verwendete Protokoll angepasst:
<img src="https://www.example.com/image.jpg" />
Ich habe auch gesehen, dass wenn eine Ressource nicht verfügbar ist vorbei https
Ich kann einfach folgendes tun:
https://example.com/imageserver?url=http://otherdomain.com/someimage.jpg&hash=abcdeafad
Ich versuche jedoch, einen Weg zu finden, all dies auf einmal zu beheben htaccess
(Ich bin mir sicher, dass ich das schon einmal gemacht habe, aber meine Snippets funktionieren bei mir nicht).
Es gibt zwei Hauptausschnitte, die ich verwendet habe, um alles zu erzwingen https
das erste ist:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
#These Lines to force HTTPS
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Der zweite ist von Dave Walsh:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
Beides scheint mein Problem jedoch nicht zu lösen. Vorsichtshalber habe ich die neu gestartet httpd
Service nach jeder Änderung sogar htaccess
Änderungen, die keinen Neustart erfordern sollten, die Situation bleibt jedoch dieselbe. Kann mich jemand in die richtige Richtung weisen?
Ändern
RewriteRule ^/(.*)
zuRewriteRule ^(.*)
wenn dies in Ihrer htaccess-Datei steht.– hjpotter92
18. September 2015 um 11:10 Uhr
@ hjpotter92 Vielen Dank für die Antwort, ich habe die Zeilen wie folgt geändert
#These Lines to force HTTPS RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
Leider spielt es sich immer noch nicht gut.– Die bescheidene Ratte
18. September 2015 um 11:18 Uhr
Wenn es überhaupt hilft, können Sie mit dieser Desktop-App Probleme mit gemischten Inhalten schnell aufspüren oder einen Bericht von ihnen anfordern: ecommerce.co.uk/httpschecker
– Billard
29. März 2016 um 15:26 Uhr