Jaký je nejlepší způsob, jak vynutit HTTPS a WWW, ale povolit localhost?

Jaký je nejlepší způsob, jak vynutit HTTPS a WWW, ale povolit localhost? [Češka]

HTACCESS vynutí HTTPS a WWW, ale umožní localhost

Je důležité vynutit HTTPS a WWW z několika důvodů: vydělejte si důvěru svých návštěvníků tím, že ukážete, že připojení je bezpečné, a pokud používáte subdoménu, jako je www, udržujte konzistenci se svými návštěvníky a reportováním, na svém levném webu hostování například.

Ve strojích pro vytváření přehledů, jako je Google Search Console, může být obtížné mít různé pohledy na přesně stejný web a stránky. Jeden se zabezpečeným připojením HTTPS, jeden bez a jeden s každou webovou subdoménou www a druhý bez, a dokonce se stal noční můrou, která vás vede k nastavení filtru subdomény Google Analytics, abyste měli konzistentní přehledy.

Ve skutečnosti existuje několik jednoduchých způsobů, jak zajistit, aby všichni návštěvníci byli přesměrováni na zabezpečené stránky ve verzi HTACCESS a síla HTTPS verze webu a webové subdomény, aniž by to mělo dopad na návštěvy, a to lze také použít k přesměrování webových stránek na jiné webové stránky pomocí tohoto jednoduchého a elegantní metoda.

A navíc, aby byl kompletní, zajistěte, aby k subdoméně localhost bylo možné přistupovat bez webové subdomény nebo přesměrování na HTTPS, a aby stránky končící lomítkem byly přesměrovány na normální stránku, aby se zabránilo dvojnásobný počet stejných stránek v přehledech.

Zbavme se všech těchto duplicitních stránek, které na konci ztížují řádně agregovanou analýzu:

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

  • To vše se provede aktualizací souboru .htaccess, což je skrytý soubor používaný na serverech Apache, obvykle uložený v kořenové složce webové stránky.

Přesměrování stránky končící lomítkem

Chcete-li odstranit koncovou lomku z adresy URL končící jedním z nich a nechat přesměrovat požadavky na standardní stránku bez lomítka, jednoduše porovnejte adresy URL začínající a končící lomítkem, ujistěte se, že to není požadovaný adresář, a přesměrujte na celou URI požadavku bez lomítka.

Přesměrujte také stránku na zabezpečenou webovou adresu URL, která by měla být správná - toto vyřeší přímo všechny vaše potenciální problémy, včetně koncového lomítka, nezabezpečeného požadavku nebo jiné než webové subdomény.

Potřebujeme také další část kódu, abychom se ujistili, že jakýkoli požadavek do adresáře končí lomítkem, protože normální adresy URL adresářů webů skončí u jednoho z nich.

# 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 vynutí HTTPS a vynutí htaccess WWW

Nyní, když je vyřešen konečný problém s lomítkem, zaměřme se na chybějící HTTPS nebo chybějící webovou subdoménu, ke které může dojít, a přesměrujte htaccess http na https se silou www.

Nejjednodušší a nejstylovější způsob, jak toho dosáhnout, je mít oba identifikovány ve stejném stavu htaccess.

To lze snadno provést porovnáním adres URL, které nezačínají webovou subdoménou, nebo žádostí, které neobsahují HTTPS, a přesměrováním správné adresy URL našeho webu, která zahrnuje jak zabezpečené připojení, tak webovou subdoménu 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]

Vynutit HTTPS a WWW, ale povolit localhost

Teď je to všechno v pořádku, ale co se stane, když se vlastně pokusíme dosáhnout našeho webu ve vývojovém režimu na místním serveru XAMPP, ale všechny naše požadavky na http: // localhost jsou nyní přesměrovány na https://www.mysite.com - naše produkční verze?

Řešením je opětovné použití předchozího kódu, který vynucuje HTTPS a WWW verzi požadavku URL, ale spustit jej vyloučením z požadavků na kontrolu, které jsou adresovány buď localhost, nebo naší místní IP adrese, která je 127.0.0.1.

A to je vše, nyní máme krásný kousek kódu, který vyřeší všechny naše problémy!

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

Přesměrovat HTTP na HTTPS htaccess, vynutit WWW a odstranit lomítko

Celý soubor níže může být použit v souboru HTACCESS k dosažení všech následujících:

přesměrovat http na https v htacces,

Vynutit WWW v htaccess,

Odstraňte koncovou lomku v adrese URL.

Nezapomeňte však změnit adresu URL webových stránek, která se vás týká.

Může být dokonce použito k přesměrování webových stránek na jiný web jednoduše změnou cílových adres URL na váš druhý nejlepší levný web hosting web:

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

Podobné články


Komentáře (0)

Zanechat komentář

Zvyšte příjem reklam o 50-250% s Ezoic. Partner certifikovaný společností Google pro publikování.
Zvyšte příjem reklam o 50-250% s Ezoic. Partner certifikovaný společností Google pro publikování.
 
Zvyšte příjem reklam o 50-250% s Ezoic. Partner certifikovaný společností Google pro publikování.
Zvyšte příjem reklam o 50-250% s Ezoic. Partner certifikovaný společností Google pro publikování.