Vad är det bästa sättet att tvinga HTTPS och WWW men tillåta localhost?

Vad är det bästa sättet att tvinga HTTPS och WWW men tillåta localhost? [Svenska]

HTACCESS tvingar HTTPS och WWW men tillåter localhost

Det är viktigt att tvinga HTTPS och WWW av flera skäl: tjäna dina besökares förtroende genom att visa att anslutningen är säker, och om du använder ett underdomän som www, håller konsistensen med dina besökare och din rapportering, på din billiga webb värd till exempel.

Det kan lätt bli komplicerat i rapporteringsmotorer som Google Search Console att ha olika vyer för exakt samma webbplats och sidor. En med säker HTTPS-anslutning, en utan och en av var och en med Web-underdomän www och en annan utan, och till och med bli en mardröm som leder till att du måste installera ett Google Analytics-underdomänsfilter för att ha konsekvent rapportering.

Det finns faktiskt några enkla sätt att säkerställa att alla besökare kommer att omdirigeras till den säkra i HTACCESS-kraft HTTPS-versionen av webbplatsen och Web-underdomänet, utan att påverka besöken, och det kan också användas för att omdirigera webbplatsen till en annan webbplats med denna enkla och elegant metod.

Och dessutom, och för att göra det fullständigt, för att se till att subdomänet localhost kan nås utan webdomänet eller omdirigering till HTTPS, och att sidor som slutar med snedstreck kommer att omdirigeras till normal sida för att undvika dubbelräkning av samma sidor i rapporter.

Låt oss bli av med alla dessa dubbla sidor, som gör det svårt i slutet att aggregera analysen ordentligt:

  • 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/

  • Allt detta görs genom att uppdatera .htaccess-filen, som är en dold fil som används på Apache-servrar, vanligtvis lagrad i webbplatsens rotmapp.

Omdirigera sidan som slutar med snedstreck

För att ta bort slutstrecket från webbadressen som slutar med en av dem, och för att få förfrågningarna omdirigerade till standardsidan utan snedstreck, matchar du bara webbadresser som börjar och slutar med en snedstreck, se till att det inte är en katalog som begärs och omdirigera till hela URI-begäran utan att ha snedstrecket.

Omdirigera också sidan till den säkra webbadressen som borde vara korrekt - detta kommer att lösa direkt alla dina potentiella problem, inklusive avslutande snedstreck, icke säker begäran eller icke-underdomän på webben.

Vi behöver också en ytterligare kodkod för att se till att alla förfrågningar till en katalog slutar med en snedstreck, eftersom vanliga webbadresser för webbkataloger kommer att sluta 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 tvinga HTTPS och tvinga WWW htaccess

Nu när det slutade snedstrecket är löst, låt oss fokusera på den saknade HTTPS eller saknade underdomän på webben som kan hända, med en htaccess-omdirigering http till https med kraft www.

Det enklaste och mest eleganta sättet att få det att hända är att ha båda identifierade i exakt samma htaccess-skick.

Detta görs enkelt genom att matcha URL: er som inte börjar med Web-underdomän, eller någon begäran som inte inkluderar HTTPS, och omdirigera rätt URL på vår webbplats, som inkluderar både den säkra anslutningen och Web-underdomänet 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]

Tvinga HTTPS och WWW men tillåt localhost

Nu är allt bra, men vad händer när vi faktiskt försöker nå vår webbplats i utvecklingsläge på XAMPP lokal server, men alla våra förfrågningar till http: // localhost nu omdirigeras till https://www.mysite.com - vår produktionsversion?

Lösningen är att återanvända den tidigare kodkoden som tvingar HTTPS- och WWW-versionen av URL-begäran, men starta den med att utesluta från kontrollförfrågningarna som antingen adresseras till localhost eller till vår lokala IP-adress, som är 127.0.0.1.

Och det är det, vi har nu en vacker kodkod som kommer att lösa alla våra problem!

# 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]

Omdirigera HTTP till HTTPS htaccess, tvinga WWW och ta bort avslutande snedstreck

Hela koden nedan kan användas i HTACCESS-filen för att uppnå följande:

Omdirigera HTTP till HTTPS i htacces,

Tvinga WWW i htaccess,

Ta bort slutstreck i URL.

Glöm naturligtvis inte att ändra webbadressen till den som gäller för dig.

Det kan till och med användas för att omdirigera webbplats till en annan webbplats genom att helt enkelt ändra destinationsadresser till din andra bästa billiga webbhotellwebbplats:

#--------------------------------------------------
# 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]

Liknande artiklar

kommentarer (0)

Lämna en kommentar

Öka annonsintäkterna 50-250% med Ezoic. En Google Certified Publishing Partner.
Öka annonsintäkterna 50-250% med Ezoic. En Google Certified Publishing Partner.
 
Öka annonsintäkterna 50-250% med Ezoic. En Google Certified Publishing Partner.
Öka annonsintäkterna 50-250% med Ezoic. En Google Certified Publishing Partner.