afbeelding van dswaanen

bij overgang van http naar https wijzigt de layout van het theme

Ik ben begonnen in maart aan mijn website.
Vorige week stelde ik vast dat mijn hostingbedrijf Easyhost een gratis SSL certificaat, Let's Encrypt Standaard,aanbiedt.
Ik gebruikte op dat moment het zero-point theme versie 7.x-4.11
Bij het instellen van de redirect via het adminblad van de webhoster was mijn layout echter helemaal veranderd.
Het horizontaal tabmenu was een verticale lijst geworden, mijn logo stond er tweemaal op, de backend was zijn opmaak ook volledig kwijt (seven).
Vandaag heb ik geprobeerd via aanpassingen van .htaccess en settings.php,zoals uitgelegd op drupal.org, naderhand heb ik de module secure-login geïnstalleerd maar telkens kreeg ik hetzelfde resultaat.
Aangezien ik op drupal.org gelezen had dat deze template voor problemen kan zorgen heb ik deze dan vervangen door Bartik 7.58. Maar hier had ik ook hetzelfde resultaat.
Ik heb het probleem gegoogeld, ik ben bij Stack overflow gaan kijken, bij drupal.org maar ik heb nergens een oplossing voor dit probleem gevonden.
Wie kent er een oplossing?
Bedankt op voorhand voor uw antwoorden.

Drupalversie: 
7.x
Auteur: 
dswaanen
afbeelding van Niek Kloots
Door Niek Kloots op 26 april, 2018 - 22:38

Er moet iets anders aan de hand zijn, want Let's Encrypt veranderd helemaal niets aan wat dan ook, maar geeft alleen maar een beveiligingscertificaat uit voor je website.
https veranderd ook helemaal niets aan layouts/css, maar geeft alleen maar aan dat een site beveiligd werkt.
Ik weet het, dit is een hele simpele manier van de zaken voorstellen.

Wat er volgens mij aan de hand is, dat is je cache en/of files locatie niet goed zijn.
Die zijn niet goed gedefinieerd voor de https versie van je website.
( Ik had het zelf met de /tmp locatie. Moest er opeens files/tmp ingevuld worden op ..../admin/config/media/file-system .)

Probeer het eens met:
# Zet de cache(s) uit ..../admin/config/development/performance en van ...../admin/structure/views/settings/advanced als dat ook gebruikt wordt.
# Wis de caches. (Beter 2 a 3 keer achter elkaar dan slechts 1 x )
# Ga naar ...../admin/config/media/file-system en zorg dat het goed ingevuld is en bevestig het nogmaals. (Ook als het al goed stond)
# Zet de cache(s) pas weer aan als alles goed werkt.

afbeelding van be-web
Door be-web op 27 april, 2018 - 10:27

Niek heeft de mogelijke oorzaken goed verwoord. Ergens wordt er ws. nog iets aangeroepen op http:// en dat wordt niet toegestaan. De layout zal naar een default gaan.

Wel een punt van aandacht. De tmp directory in je files directory zetten is vragen om misbruik. beter de tmp, en ook evt. private, buiten de web root te zetten. Je kunt bij de instellingen ../tmp en ../private invullen. Dan worden deze mappen 'boven' je webroot aangemaakt.

-----
Met vriendelijke groet,
Hans Kuiters
BE-WEB

afbeelding van dswaanen
Door dswaanen op 27 april, 2018 - 21:25

Bedankt voor uw reacties.
Ik heb uw raad zo goed mogelijk uitgevoerd. Ik begrijp alleen niet goed hoe men via de instellingen van drupal /tmp en /private boven de webroot kan plaatsen.
Enfin het resultaat blijft hetzelfde. Ik heb via in chrome de inspector opgeroepen.
Daar staat van alles in waar ik niks van snap. Ik ken wel een beetje html, css en php maar dit is Latijn voor mij. Ik hoop dat ik dit als bijlage kan meezenden. Dit lukt blijkbaar niet.
Ik ga de tekst hieronder kopiëren.


Mixed Content: The page at '' was loaded over HTTPS, but requested an insecure stylesheet ''. This request has been blocked; the content must be served over HTTPS.
6Mixed Content: The page at '' was loaded over HTTPS, but requested an insecure script ''. This request has been blocked; the content must be served over HTTPS.
(index):68 Uncaught ReferenceError: jQuery is not defined
at (index):68
(index):89 Mixed Content: The page at 'https://dirkswaanen.be/' was loaded over HTTPS, but requested an insecure image 'http://dirkswaanen.be/sites/default/files/logo3.png'. This content should also be served over HTTPS.
(index):95 Mixed Content: The page at 'https://dirkswaanen.be/' was loaded over HTTPS, but requested an insecure image 'http://dirkswaanen.be/sites/default/files/logo3.png'. This content should also be served over HTTPS.
(index):191 Mixed Content: The page at 'https://dirkswaanen.be/' was loaded over HTTPS, but requested an insecure image 'http://dirkswaanen.be/misc/feed.png'. This content should also be served over HTTPS.
(index):226 Uncaught ReferenceError: jQuery is not defined
at (index):226
toggles.min.js:1 Uncaught ReferenceError: jQuery is not defined
at toggles.min.js:1
content-script.js:47 content script: init
content-script.js:24 content script: event received
content-script.js:25 MessageEvent

dirksw

afbeelding van jo.w
Door jo.w op 29 april, 2018 - 01:07

En in het stuk vanaf regel 89 staan eveneens http-regels ipv https. Waarschijnlijk staan die afbeeldingen er in met een absolute url en niet met een relatieve. Je pagina blijft dus een deel foute code weergeven(voor ssl).

Jo

afbeelding van Niek Kloots
Door Niek Kloots op 27 april, 2018 - 22:45

Duidelijk wat de website draaiend in https aanroept staat alleen in http en is dus niet beschikbaar.

Je kan het op twee manieren oplossen:
1/ alles in de map httpsdoc zetten en de nodige wijzigingen in htaccess en settings.php doen. (de re-directs)
2/ of de makkelijkste manier is alles gewoon in httpdocs laten staan en via Plesk in de hostingsinstellingen SSL/TLS-ondersteuning en Permanente SEO-vriendelijke 301-redirect van HTTP naar HTTPS aanvinken.
Als je dit niet zelf mag aanpassen in Plesk, dan kan je hoster het misschien wel doen.

afbeelding van dswaanen
Door dswaanen op 28 april, 2018 - 15:50

Ik zal dit door mijn hoster moeten laten doen want ik beschik niet over plesk op mijn adminpagina.
Er is echter nog een probleempje, mijn webroot heet 'www' en niet httpdocs. Volgens de handleiding van Plesk zou https alleen nog maar werken met httpdocs als naam van de root. Ik kan de naam niet zo maar aanpassen, waarschijnlijk zullen er in drupal wijzigingen moeten gebeuren. Op google heb ik gevonden dat in settings.php de regel $base_url = 'http://example.com'; zou vervangen moeten worden door $base_url = 'http://example.com/new';.
En wat met .htaccess?
Ik zal zeker 'www' moeten vervangen of maak ik een nieuwe map aan 'httpdocs' waarin ik de hele drupalinstallatie in overzet maar dan zal ik nog de nodige wijzigingen moeten uitvoeren in drupal zelf.

dirksw

afbeelding van Niek Kloots
Door Niek Kloots op 28 april, 2018 - 17:59

Overleg met je hosting provider, want zo werkt https niet.

Kijk eens als je met ftp inlogt ( en waarna je dan meestal in httpdocs terecht komt) of je een stap terug kan. Wat zie je dan?

https://www.drupal.org/docs/7/modules/ubercart/howtos/https-additional-settingmodifications

afbeelding van dswaanen
Door dswaanen op 28 april, 2018 - 19:14

Bedankt voor uw snelle reactie.
Als ik inlog met Filezilla en ik zo ver vooruit als het mogelijk is dan krijg ik het volgende te zien:
een blanco geel vierkantje ( voor alle mappen staat zo ' n vierkantje )
cgi_bin
data
logs
php
sites
subsites
tmp
www
en daaronder nog een aantal bestanden; .bash_history, .bashrc, .crontab, .editorconfig,.gitignore, .htaccess, .viminfo, authorize, CHANGELOG, COPYRIGHT, cron, index, INSTALL.mysql, INSTALL.pgsql, install, INSTALL.sqlite, INSTALL, LICENSE, MAINTAINERS, README, robots.txt, update, UPGRADE, web.config, xmlrpc.
De hoofdletters zijn alle tekstbestanden.
Ik begrijp ook niet goed dat drupal 7 nog mysql gebruikt ipv mysqli. Mysql werd afgeschreven door w3schools in 1912 of 1913.
Ik heb een blok op mijn voorpagina staan, waarin ik in php de systeemdatum en het uur laat verschijnen, samen met het aantal pagina's en het aantal afbeeldingen op mijn site.
Ik vrees dat dit blok in https niet meer zal werken omwille van mysql.
Ik heb als host easyhost.be en ik denk dat zij ook geen mysqli ondersteunen.
met dank voor uw reacties

dirksw

afbeelding van Niek Kloots
Door Niek Kloots op 29 april, 2018 - 00:48

Zo te zien is www jouw httpdocs.

SSL zal dus in de hostingsinstellingen aangezet moeten worden.

mysql of mysqli https://www.drupal.org/forum/deprecated/deprecated-performance-and-scalability/2007-05-25/mysql-or-mysqli

afbeelding van dswaanen
Door dswaanen op 29 april, 2018 - 16:31

Bedankt wederom voor de snelle reacties.
Ik heb deze namiddag een e-mail gestuurd naar mijn hoster met de nodige uitleg en vragen.
Hopelijk reageren zij ook snel en komt er een oplossing uit de bus.
mvg
Dirk

dirksw

afbeelding van dswaanen
Door dswaanen op 30 april, 2018 - 19:06

Ik had 3 vragen gesteld aan easyhost,namelijk de aanpassingen te doen aan SSL en de SEORedirect 301 , of hun webhosting mysqli ondersteunt en het issue van httpdocs ipv www.
Dit was hun antwoord:
Het SSL certificaat werkt correct, maar het probleem is voornamelijk mixed content in het Drupal cms.
https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content

Wanneer er geen mixed content meer aanwezig is in Drupal zal u een groene balk krijgen bij het bezoeken van https://.....
In mijn vraag van 27/4 met de foutcodes erbij gevoegd is er sprake van een indexbestand.
Op de schermafdruk die ik jammer genoeg niet kon meezenden zie ik 26 insecure stylesheet en 6 insecure scripts. Mijn logo staat er 2x in vermeld en het wordt ook 2x getoond in https.
Is deze index ergens terug te vinden?? Hoe kan ik die css-bestanden en scripts vinden die niet correct zijn?
Ik heb een volledige kopie genomen van mijn site en daarop heb ik met notepad ( zoeken in bestanden )6645 http gevonden in 1205 files, waarvan uiteraard een heleboel als tekst staat gemarkeerd.
Ik vraag mij af of het niet beter is om een aparte kopie van mijn bestand ' sites' te nemen en een backup van mijn database met phpadmin en mijn hosting volledig leeg te maken.
Daarna de redirect knop op de admin pagina van Easyhost aan te zetten en drupal opnieuw te installeren en daarna mijn bestandsmap 'sites terug te uploaden met filezilla.
Ik zal dan waarschijnlijk minder fouten overhouden.( het zijn er nog 4153 in 917 files)
of ik laat mijn site gewoon in http staan.
Ik weet het effe niet meer.
mvg

dirksw

afbeelding van be-web
Door be-web op 30 april, 2018 - 20:59

IN de reactie van 28 april noem je de settings.php. Gezien het feit dat alle stylesheets met http:// worden geladen, denk ik dat de $baseurl de http:// bevat en niet de https://

-----
Met vriendelijke groet,
Hans Kuiters
BE-WEB

afbeelding van Niek Kloots
Door Niek Kloots op 30 april, 2018 - 21:11

Probeer het dan eens met op regel 539 van default.settings.php het # weghalen en de tekst te veranderen in $settings['file_public_path'] = 'https://jouwsite.nl/sites/default/files';
Het zelfde op regel 519 van de settings.php als je die niet veranderd.

De inhoud (nodes) van je site. Wil je die niet behouden?
Anders zou ik inderdaad opnieuw installeren direct met https ingeschakeld in de htaccess en de settings.php

afbeelding van dswaanen
Door dswaanen op 30 april, 2018 - 21:32

HET WERKT EINDELIJK!!
Hartelijk bedankt voor uw reacties

mvg
Dirk

dirksw

afbeelding van Niek Kloots
Door Niek Kloots op 1 mei, 2018 - 16:55

Dirk schreef mij, dat hij heeft het opgelost met het volgende:

Ik heb uw voorstel uitgevoerd door defautlt.settings.php en settings.php aan te passen met invoegen van deze regel: $settings['file_public_path'] = 'https://sites/default/files';
En dan heb ik de reactie van Hans ook uitgevoerd om in de regel $base_url = de http te vervangen door https in settings.php.
mvg Dirk

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.

onomatopee