Mikä on paras tapa pakottaa HTTPS ja WWW, mutta sallia localhostin?

Mikä on paras tapa pakottaa HTTPS ja WWW, mutta sallia localhostin? [Suomi]

HTACCESS pakottaa HTTPS: n ja WWW: n, mutta sallii localhostin

On tärkeää pakottaa HTTPS ja WWW monista syistä: ansaita kävijöidesi luottamus osoittamalla yhteys on turvallinen, ja jos käytät aliverkkotunnusta, kuten www, pitämällä johdonmukaisuus kävijöidesi ja raporttisi kanssa halvalla Web-sivustolla esimerkiksi isännöinti.

Google Search Console -sovellusten kaltaisten raportointimoottorien raportoinnista voi helposti tulla monimutkaista, jos samat sivut ja sivut saavat erilaisia ​​näkymiä. Yksi suojatulla HTTPS-yhteydellä, yksi ilman, toinen kummassakin www-aliverkkotunnuksella www ja toinen ilman, ja siitä tulee jopa painajainen, joka johtaa siihen, että joudut määrittämään Google Analytics -verkkotunnussuodattimen johdonmukaisen raportoinnin varmistamiseksi.

On todellakin joitain helppoja tapoja varmistaa, että kaikki vierailijat ohjataan suojattuun HTACCESS Force -verkkosivun ja Web-aliverkkotunnuksen HTTPS-versioon, vaikuttamatta käynteihin, ja sitä voidaan käyttää myös verkkosivuston ohjaamiseen toiselle verkkosivustolle tällä yksinkertaisella ja tyylikäs menetelmä.

Ja sen lisäksi, ja jotta se olisi täydellinen, varmista, että localhost-aliverkkotunnukseen pääsee käyttämättä ilman Web-aliverkkotunnusta tai uudelleenohjausta HTTPS: ään ja että viilalla päättyvät sivut ohjataan normaalille sivulle välttääksesi kaksinkertainen lasku samoista sivuista raporteissa.

Päästämme eroon kaikista näistä päällekkäisistä sivuista, jotka vaikeuttavat lopuksi Analyticsin asianmukaista kokoamista:

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

  • Kaikki tämä tehdään päivittämällä .htaccess-tiedosto, joka on Apache-palvelimilla käytetty piilotiedosto, joka yleensä tallennetaan verkkosivuston juurikansioon.

Uudelleenohjaus sivu, joka päättyy viivaan

Jos haluat poistaa pääteviivan URL-osoitteesta, joka päättyy yhdellä niistä, ja saada pyynnöt ohjaamaan vakiosivulle ilman viivaa, vastaa vain URL-osoitteita alkavia ja loppuvia URL-osoitteita, varmista, että se ei ole hakemisto, jota pyydetään, ja ohjaa uudelleen koko pyynnön URI: lle ilman pääteviivaa.

Lisäksi ohjaa sivu suojattuun Web-URL-osoitteeseen, jonka pitäisi olla oikea - tämä ratkaisee kaikki mahdolliset ongelmasi, mukaan lukien loppuviiva, suojaamattomat pyynnöt tai ei-aliverkkotunnus.

Tarvitsemme sitten myös ylimääräisen koodin palataksemme varmistaaksemme, että kaikki hakemistoon liittyvät pyynnöt päättyvät vinoviivalla, koska normaalien verkkosivustohakemistojen URL-osoitteet päätyvät yhteen niistä.

# 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 pakottaa HTTPS: n ja pakottaa WWW-hsaccessin

Nyt kun viimeistelyviivaongelma on ratkaistu, keskitytään puuttuvaan HTTPS: ään tai puuttuvaan Web-aliverkkotunnukseen, joka voi tapahtua, htaccess-uudelleenohjaamalla http: n https: ään voimalla www.

Helpoin ja tyylikkäin tapa saada se tapahtumaan, on saada molemmat tunnistamaan täsmälleen samassa htaccess-tilassa.

Tämä tapahtuu helposti sovittamalla URL-osoitteet, jotka eivät ala Web-aliverkkotunnuksella, tai pyynnöt, joissa ei ole HTTPS: tä, ja ohjaamalla verkkosivustomme oikea URL, joka sisältää sekä suojatun yhteyden että Web-aliverkkotunnuksen 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]

Pakota HTTPS ja WWW, mutta salli localhost

Nyt, kaikki on hyvä, mutta mitä tapahtuu, kun yritämme todella päästä verkkosivustoomme kehitystilassa XAMPP-paikallisella palvelimella, mutta kaikki pyynnötmme osoitteeseen http: // localhost ohjataan nyt osoitteeseen https://www.omasivusto.com - tuotantoversio?

Hyvin ratkaisu on käyttää uutta edellistä koodipalaa, joka pakottaa HTTPS- ja WWW-version URL-pyynnöstä, mutta aloita se sulkemalla tarkistuspyynnöt pois, jotka joko osoitetaan localhost tai paikalliselle IP-osoitteellemme, joka on 127.0.0.1.

Ja siinä kaikki, meillä on nyt kaunis koodi koodia, joka ratkaisee kaikki ongelmamme!

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

Ohjaa HTTP HTTPS-htaccess-käyttöjärjestelmään, pakota WWW ja poista lopullinen viiva

Koko alla olevaa koodikappaletta voidaan käyttää HTACCESS-tiedostossa saavuttamaan kaikki seuraavat:

Ohjaa HTTP HTTPS: ään htacces-muodossa,

Pakota WWW htaccess-sovellukseen,

Poista pääteviiva URL-osoitteesta.

Tietysti, älä unohda muuttaa verkkosivuston URL-osoitetta sinulle soveltuvaan.

Sitä voidaan käyttää jopa verkkosivuston ohjaamiseen toiselle verkkosivustolle yksinkertaisesti muuttamalla kohde-URL-osoitteet toiseen parhaaseen halpaan web-hosting-verkkosivustoosi:

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

Samanlaisia ​​artikkeleita


Kommentit (0)

Jätä kommentti

Lisää mainostuloja 50-250% Ezoicin kanssa. Google-sertifioitu julkaisukumppani.
Lisää mainostuloja 50-250% Ezoicin kanssa. Google-sertifioitu julkaisukumppani.
 
Lisää mainostuloja 50-250% Ezoicin kanssa. Google-sertifioitu julkaisukumppani.
Lisää mainostuloja 50-250% Ezoicin kanssa. Google-sertifioitu julkaisukumppani.