Godaddy: Hvordan finne .htaccess-fil (enkleste måten)

Det virker som .htaccess omdirigerer ikke sidene mine fra http til https. Domenet mitt blir omdirigert til https, men ikke sidene mine ... Kan det være en dårlig konfigurasjon fra webhotellen min?

Dette er hva jeg har gjort til nå:

  • Velg et SSL-sertifikat og installer det på nettstedet mitt fra verten.
  • Tving wp-config til å passere fra HTTP til HTTP med: define ('FORCE_SSL_ADMIN', true);
  • Overfør alle nettadressene mine til HTTP-er med Erstatt og Søk DB
  • Legg til dette domenet i Google Search Console ...

Sett denne koden i .htaccess:

 RewriteEngine On # Redirect to HTTPS RewriteCond %{HTTP_HOST} ^http://example\.com [NC] RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTPS} =off [OR] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] # Redirect from www HTTPS to HTTPS RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]  

Jeg tror det er alt ... Ville du ha en idé om hva som kan forårsake dette problemet?

RewriteCond %{HTTP_HOST} ^http://example\.com [NC] 

De HTTP_HOST variabel inneholder bare vertsnavn, ikke ordningen + vertsnavn, så dette vil aldri matche. Hvis dette aldri stemmer overens, vil det aldri omdirigere http://example.com/... til HTTPS. (Du har imidlertid brukt dette riktig i din sekund regel blokk som vil omdirigere http://www.example.com/... til HTTPS.)

Jeg antar at du bare har ett domene? I så fall bør direktivet bare fjernes (ikke korrigeres).

RewriteCond %{HTTPS} =off [OR] 

Imidlertid har du også en feil OR flagg på den siste RewriteCond direktivet. Hvis de forrige betingelsene samsvarte, vil dette resultere i en omdirigeringssløyfe, siden den egentlig er OR true, som er bestandig ekte.

Sammendrag

# Redirect to HTTPS RewriteCond %{HTTP_HOST} ^http://example\.com [NC] RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTPS} =off [OR] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] 

Så oppsummert, bør du erstatte den første regelblokken (ovenfor) med følgende:

# Redirect to HTTPS RewriteCond %{HTTPS} =off RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] 

Det er ikke noe poeng å sjekke begge deler SERVER_PORT og HTTPS. Enten skal være tilstrekkelig; ikke begge.

  • 1 Tusen takk, det fungerer! Du har helt rett, jeg er ny på .htaccess og jeg så ikke disse feilene, selv etter flere timer ... Takk også for forklaringene dine. Det er mye tydeligere nå. :)

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?