Kateri je najboljši način, da prisilite HTTPS in WWW, vendar dovolite localhost?

Kateri je najboljši način, da prisilite HTTPS in WWW, vendar dovolite localhost? [Slovenščina]

HTACCESS sili HTTPS in WWW, vendar dovoljuje localhost

Pomembno je, da HTTPS in WWW prisilite iz več razlogov: pridobite zaupanje svojih obiskovalcev tako, da pokažete, da je povezava varna, in če uporabljate poddomene, kot je www, ohranjajte doslednost s svojimi obiskovalci in svojim poročanjem, na svojem poceni spletu gostovanje na primer.

Pri poročanju motorjev, kot je Google Search Console, se lahko zlahka zapletejo različni pogledi na povsem isto mesto in strani. Eden z varno povezavo HTTPS, eden brez, eden pa s spletno poddomeno www in drugi brez, in celo postane nočna mora, zaradi katere boste morali nastaviti poddomena filter Google Analytics, da boste lahko dosledno poročali.

Obstaja nekaj preprostih načinov, kako zagotoviti, da se bodo vsi obiskovalci preusmerili na varno v različici spletnega mesta HTTPS in spletnem poddomene HTACCESS, ne da bi to vplivalo na obiske, poleg tega pa je mogoče uporabiti tudi preusmeritev spletnega mesta na drugo spletno mesto s tem preprostim in elegantna metoda.

In povrhu tega in za popolno zagotovitev dostopa do poddomene localhost brez spletne poddomene ali preusmeritve na HTTPS in bodo strani, ki se končajo s poševnico, preusmerjene na običajno stran, da se prepreči dvojno štetje istih strani v poročilih.

Znebimo se vseh teh podvojenih strani, ki na koncu otežujejo pravilno uskladitev analitike:

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

  • Vse to bomo storili s posodobitvijo datoteke .htaccess, ki je skrita datoteka, ki se uporablja na strežnikih Apache, običajno shranjena v korenski mapi spletnega mesta.

Stran, ki se konča s poševnico

Če želite odstraniti končno poševnico z URL-ja, ki se konča z enim od njih, in če želite, da se zahteve preusmerijo na standardno stran brez poševnice, preprosto ujemite URL-je, ki se začnejo in končajo s poševnico, se prepričajte, da ni zahtevan imenik, in preusmerite za celoten URI zahteve brez poševnice.

Prav tako stran preusmerite na varen spletni URL, ki bi moral biti pravilen - to bo rešilo neposredno vse vaše morebitne težave, vključno s končno poševnico, nezaščiteno zahtevo ali poddomeno, ki ni spletna.

Nato potrebujemo tudi dodaten del kode, da zagotovimo, da se vsaka zahteva po imeniku konča s poševnico, saj se pri običajnih URL-jih imenikov spletnih strani konča eden od njih.

# 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 sili HTTPS in sili WWT htaccess

Zdaj, ko je težava s končno poševnico rešena, se osredotočimo na manjkajoči HTTPS ali manjkajočo poddomena spletnega mesta, ki se lahko zgodi, s htaccess preusmeritvijo http na https s silo www.

Najlažji in najbolj eleganten način je, da se oba identificirata v popolnoma enakem stanju htaccess.

To storite enostavno z ujemanjem URL-jev, ki se ne začnejo s spletno poddomene, ali kakršno koli zahtevo, ki ne vključuje HTTPS, in preusmeritvijo pravilnega URL-ja našega spletnega mesta, ki vključuje varno povezavo in spletno poddomena 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]

Prisilite HTTPS in WWW, vendar dovolite localhost

To je vse dobro, toda kaj se zgodi, ko dejansko poskušamo doseči našo spletno stran v razvojnem načinu na lokalnem strežniku XAMPP, vendar se vse naše prošnje za http: // localhost zdaj preusmerijo na https://www.mysite.com - našo proizvodno različico?

No rešitev je, da ponovno uporabite prejšnji del kode, ki uveljavlja HTTPS in WWW različico zahteve po URL-ju, vendar ga začnite z izključitvijo iz zahtevkov za preverjanje, ki so naslovljeni na localhost ali na naš lokalni IP naslov, ki je 127.0.0.1.

In to je to, zdaj imamo čudovit delček kode, ki bo rešil vse naše težave!

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

Preusmerite HTTP na HTTPS htaccess, prisilite WWW in odstranite končno poševnico

V spodnji datoteki HTACCESS lahko uporabite celoten del kode, da dosežete vse naslednje:

Preusmerite HTTP na HTTPS v htacces,

Prisilite WWW v htaccess,

Odstranite končno poševnico v URL-ju.

Seveda ne pozabite spremeniti URL spletnega mesta za tistega, ki velja za vas.

Uporabite ga lahko celo za preusmeritev spletnega mesta na drugo spletno mesto, tako da preprosto spremenite ciljne URL-je na drugo najboljše spletno gostovanje:

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

Podobni članki

Komentarji (0)

Pustite komentar

Povečajte prihodek od oglasov za 50-250% z Ezoic. Googlov partner za izdajo publikacij.
Povečajte prihodek od oglasov za 50-250% z Ezoic. Googlov partner za izdajo publikacij.
 
Povečajte prihodek od oglasov za 50-250% z Ezoic. Googlov partner za izdajo publikacij.
Povečajte prihodek od oglasov za 50-250% z Ezoic. Googlov partner za izdajo publikacij.