Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

www, omdirigering og blandet indhold

Modul 3: Adresse, https og brugere · Læsetid: 9 minutter

Læringsmål: Efter denne lektion kan du vælge én hovedadresse, sende alle varianter dertil med én omdirigering og finde og løse blandet indhold.

Nøglebegreber: kanonisk adresse, 301 og 308, omdirigeringskæde, blandet indhold (mixed content), søg og erstat i databasen, serialiserede data

Fire adresser, ét websted

Dit websted kan tilgås via fire adresser:

http://example.com
http://www.example.com
https://example.com
https://www.example.com

For en besøgende gør det ingen forskel, men for søgemaskiner er det fire forskellige adresser med samme indhold. Også cookies (som din login-cookie) gælder pr. navn: den der logger ind på www er ikke logget ind på den version uden www. Derfor vælger du én kanonisk adresse (hovedadressen) og sender de tre andre derhen med en omdirigering.

Hvilken du vælger, er en smagssag (lektion 2.1). Det afgørende er, at hovedadressen er den samme overalt: i DNS'en, i certifikatet, under Indstillinger > Generelt (lektion 3.1) og i omdirigeringerne.

Omdirigering med en 301, i ét trin

En omdirigering er et svar fra serveren: "denne side ligger et andet sted". Browseren går så automatisk til den nye adresse. Koden fortæller, hvilken type omdirigering der er tale om:

KodeBetydningBrug
301Permanent flyttetDet faste valg for http til https og for www til domæne uden www (eller omvendt)
308Permanent, og metoden (f.eks. en formularindsendelse) forbliver den sammeKan også bruges til dette formål; browsere og søgemaskiner behandler den som 301
302 eller 307MidlertidigKun til noget, der virkelig er midlertidigt, f.eks. en vedligeholdelsesside

En permanent omdirigering fortæller søgemaskiner, at den nye adresse er den rigtige. Ved en midlertidig bliver den gamle adresse stadig husket.

Vær også opmærksom på kæden. Lad os sige, at din hovedadresse er https://example.com. Så vil du gerne have:

http://www.example.com   301  https://example.com/
http://example.com       301  https://example.com/
https://www.example.com  301  https://example.com/
https://example.com      200

Hver variant ender i ét trin på hovedadressen. Det, der ofte sker, er:

http://www.example.com   301  https://www.example.com/
https://www.example.com  301  https://example.com/

Det virker godt nok, men koster et ekstra trin (ekstra ventetid, især på mobil) og et ekstra TLS-håndtryk. Værre er en rundgang: webserveren sender til https, WordPress sender tilbage til http fordi adresserne i indstillingerne stadig står på http, og browseren melder "for mange omdirigeringer". Så sender to indstillinger imod hinanden. Sørg for, at det kun er én part, der sender til https (webserveren eller panelet), og at adresserne i WordPress allerede står på hovedadressen.

WordPress sender også selv videre: hvis nogen beder om https://www.example.com/contact/ mens webstedets adresse er https://example.com, sender WordPress videre til https://example.com/contact/. Det virker kun, hvis forespørgslen når frem til WordPress, altså hvis webserveren også lader navnet www ende på dette websted.

Blandet indhold

Blandet indhold (mixed content) er en https-side, der indlæser dele via http://: et billede, et stylesheet, et script, en skrifttype eller en indlejret video. Browseren anser det for usikkert, fordi disse dele kan blive ændret undervejs.

  • Scripts, stylesheets og iframes via http bliver blokeret af browsere. Dit websted ser så ødelagt ud, eller en funktion virker ikke.
  • Billeder, lyd og video via http forsøger moderne browsere automatisk at hente via https; lykkes det ikke, bliver de blokeret. Hængelåsen kan så vise en advarsel.

Hvor det kommer fra:

  1. Gamle links i dit indhold: et websted, der tidligere lå på http, har i tusindvis af indlæg <img src="http://example.com/wp-content/uploads/...">. WordPress gemmer disse links bogstaveligt i databasen.
  2. Tema- eller pluginindstillinger med en fuld adresse, f.eks. et logo eller en baggrund med http://.
  3. Eksterne dele fra et andet websted, der kun kan tilgås via http. Dem skal du udskifte eller fjerne.
  4. Adresser under Indstillinger > Generelt, der stadig står på http (lektion 3.1).

Sådan finder du det

Åbn siden, tryk på F12 og se under fanen Konsol. Browseren melder al blandet indhold med adressen på den pågældende del. Eller søg i sidens kildekode (Ctrl+U) efter src="http:// og href="http://. Almindelige tekstlinks til andre websteder (<a href="http://...">) giver ikke blandet indhold; det handler om ting, som siden indlæser.

Søg og erstat, men gjort rigtigt

Løsningen på gamle links i dit indhold er at erstatte al http://example.com i databasen med https://example.com. Fristelsen er en SQL-kommando som:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://example.com', 'https://example.com');

Gør ikke det. Mange indstillinger fra temaer, plugins og widgets er gemt serialiseret. Det ser sådan ud:

s:27:"http://example.com/logo.png";

s:27 betyder: her følger en tekst på 27 tegn. Efter en simpel erstatning er teksten 28 tegn (der kom et s til), men der står stadig 27. PHP kan så ikke længere læse værdien, og indstillingen forsvinder stille: en tom menu, et forsvundet logo, widgets der er væk.

Brug et værktøj, der opdaterer disse længder:

  • WP-CLI: først kigge, så udføre.
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
wp search-replace 'http://example.com' 'https://example.com' --all-tables

Med --dry-run ser du, hvor mange erstatninger der ville være pr. tabel, uden at ændre noget.

  • Et søg og erstat-plugin, der understøtter serialiserede data (der findes flere i pluginbiblioteket på wordpress.org). Fjern pluginet igen bagefter.

Lav altid først en backup (lektion 8.1). Erstat heller aldrig noget som example.com uden http:// foran: så rammer du også e-mailadresser og anden tekst.

I praksis: sådan ser det ud i et panel

Som eksempel bruger vi DirectAdmin. Andre paneler har en tilsvarende knap til "altid https".

  1. Slå Gennemtving SSL med https-omdirigering til under domæneindstillingerne (lektion 3.1).
  2. Vælg ved domænet, om www skal gå til domænet uden www eller omvendt (i DirectAdmin under domæneindstillingerne; ellers med en omdirigering via Omdirigeringer for websted eller .htaccess).
  3. Kontrollér kæden med kommandoen herunder eller med din browsers udviklerværktøjer (fanen Netværk, afkrydsningsfelt "Bevar log").

Opsummering

  • Vælg én kanonisk adresse, og lad de tre andre varianter gå derhen med en 301 (eller 308), i ét trin.
  • Lad kun én part sende til https; ellers får du en rundgang.
  • Blandet indhold er en https-side, der indlæser dele via http; browserens konsol viser hvilke.
  • Gamle links i databasen erstatter du med wp search-replace eller et plugin, der forstår serialiserede data, aldrig med et rent SQL-REPLACE.
  • Altid først en backup, og først en prøverunde.

Quiz

1. Hvilken omdirigering bruger du til at sende http fast til https?



2. Efter at have slået "altid https" til melder browseren "for mange omdirigeringer". Hvad er den mest sandsynlige årsag?



3. Hvorfor er UPDATE ... REPLACE(...) i SQL farligt til at ændre adresser?



4. Hvilken del på en https-side blokerer browseren altid, hvis den indlæses via http?



Opgave

Opgave A3.2: Én hovedadresse og intet blandet indhold. Indtast dit domæne. Programmet åbner de fire varianter (http og https, med og uden www) og følger omdirigeringerne. Godt er: alle fire ender på samme adresse med https, med højst én omdirigering pr. variant og kun permanente koder (301 eller 308). Derefter læser programmet HTML'en på forsiden og søger efter scripts, stylesheets, billeder, iframes og skrifttyper, der indlæses via http://.

Opgave A3.2: Én hovedadresse og intet blandet indhold


Det, du udfylder, og hvad vi finder, gemmer vi ikke. Din browser husker dine svar, og om du har bestået opgaven. Er du logget ind, gemmer vi kun, at du (næsten) bestod opgaven, i Mine kurser; der kan du også slette det.

Læs mere

Disse artikler beskriver trinnene i WebOkés paneler; i andre paneler fungerer de på lignende måde.

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…