Hva er den beste måten å tvinge HTTPS og WWW men tillate localhost?

Hva er den beste måten å tvinge HTTPS og WWW men tillate localhost? [Norsk]

HTACCESS tvinger HTTPS og WWW, men tillater localhost

Det er viktig å tvinge HTTPS og WWW av flere grunner: tjene tilliten til besøkende ved å vise tilkoblingen er sikker, og hvis du bruker et underdomene som www, holder konsistensen med de besøkende og rapportering, på billig web hosting for eksempel.

Det kan lett bli komplisert i rapporteringsmotorer som Google Search Console å ha forskjellige visninger for nøyaktig samme nettsted og sider. En med sikker HTTPS-tilkobling, en uten og en av hver med Web-underdomene www og en annen uten, og til og med bli et mareritt som fører til at du må konfigurere et Google Analytics-underdomenefilter for å ha konsekvent rapportering.

Det er faktisk noen enkle måter å sikre at alle besøkende blir omdirigert til den sikre i HTACCESS kraft HTTPS -versjonen av nettstedet og Web-underdomenet, uten å påvirke besøkene, og det kan også brukes til å omdirigere nettstedet til et annet nettsted med dette enkle og elegant metode.

Og på toppen av det, og for å gjøre det fullstendig, for å sikre at subhainen til localhost kan nås uten Web-underdomenet eller viderekoblingen til HTTPS, og at sider som slutter med skråstreken blir omdirigert til normal side for å unngå dobbelt antall av de samme sidene i rapporter.

La oss kvitte oss med alle disse dupliserte sidene, som gjør det vanskelig på slutten å samle analysene riktig:

  • http://mywebsite.com/page

  • http://mywebsite.com/page/

  • https://mywebsite.com/page

  • https://mywebsite.com/page/

  • http://www.mywebsite.com/page

  • http://www.mywebsite.com/page/

  • https://www.mywebsite.com/page

  • https://www.mywebsite.com/page/

  • Alt dette vil bli gjort ved å oppdatere .htaccess-filen, som er en skjult fil som brukes på Apache-servere, vanligvis lagret i nettstedets rotmappe.

Omdiriger side som slutter med skråstrek

For å fjerne sluttstreken fra URL-en som slutter med en av dem, og for å få forespørslene viderekoblet til standardsiden uten streken, må du bare matche nettadresser som begynner og slutte med en skråstrek, sørge for at det ikke er en katalog som blir bedt om, og omdirigere til hele forespørselen URI uten sluttstreken.

Du kan også omdirigere siden til den sikre nettadressen som skal være riktig - dette løser direkte alle potensielle problemer, inkludert sluttstrek, ikke sikker forespørsel eller ikke underdomener på nettet.

Vi trenger også et ekstra stykke kode for å sikre at enhver forespørsel til en katalog ender med en skråstrek, da vanlige nettadressekataloger på websidene vil ende opp med en av dem.

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESS tvinge HTTPS og tving WWW htaccess

Nå som problemet med sluttstreken er løst, la oss fokusere på den manglende HTTPS eller manglende Web-underdomenet som kan skje, med en htaccess-omdirigering http til https med kraft www.

Den enkleste og mest stilfulle måten å få det til, er å ha begge identifisert i nøyaktig samme tilgangssituasjon.

Dette gjøres enkelt ved å matche nettadresser som ikke starter med Web-underdomen, eller en forespørsel som ikke inkluderer HTTPS, og omdirigere riktig URL på nettstedet vårt, som inkluderer både den sikre tilkoblingen og Web-underdomenet www.

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Tving HTTPS og WWW, men tillat localhost

Dette er alt bra, men hva skjer når vi faktisk prøver å nå nettstedet vårt i utviklingsmodus på XAMPP lokal server, men alle forespørsler våre til http: // localhost nå blir omdirigert til https://www.mysite.com - vår produksjonsversjon?

Løsningen er vel å gjenbruke den forrige koden som tvinger HTTPS- og WWW-versjonen av URL-forespørselen, men start den med å ekskludere sjekkforespørslene som er adressert til localhost eller til vår lokale IP-adresse, som er 127.0.0.1.

Og det er det, vi har nå et vakkert stykke kode som vil løse alle problemene våre!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Viderekoble HTTP til HTTPS htaccess, tving WWW og fjern sluttstreken

Hele koden nedenfor kan brukes i HTACCESS-filen for å oppnå følgende:

Viderekoble HTTP til HTTPS i htacces,

Tving WWW i tilgang,

Fjern sluttstreken i URL.

Glem selvfølgelig ikke å endre nettadressen til nettstedet som gjelder for deg.

Det kan til og med brukes til å omdirigere nettstedet til et annet nettsted ved ganske enkelt å endre destinasjonsadressene til det andre beste billige webhotell nettstedet:

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Lignende artikler

kommentarer (0)

Legg igjen en kommentar

Øk annonsenes inntekt 50-250% med Ezoic. En Google Certified Publishing Partner.
Øk annonsenes inntekt 50-250% med Ezoic. En Google Certified Publishing Partner.
 
Øk annonsenes inntekt 50-250% med Ezoic. En Google Certified Publishing Partner.
Øk annonsenes inntekt 50-250% med Ezoic. En Google Certified Publishing Partner.