Kritická akce: Gan Strike Ops - Android GamePlay HD - FPS střílečka Android # 1-14

Chci přesměrovat všechny své webové stránky na https a www. K tomu používám níže uvedená pravidla a funguje to dobře.

# Rewrite to WWW with HTTPS RewriteCond %{HTTPS} off # First rewrite to HTTPS # Don't put www. here. If it is already there it will be included, if not # the subsequent rule will catch it. RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Now, rewrite any request to the wrong domain to use www. # [NC] is a case-insensitive match RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Statistiky Google PageSpeed ​​Insights mi však doporučují „vyhnout se přesměrování na vstupní stránku. Vaše stránka má 2 přesměrování.“ - https://developers.google.com/speed/docs/insights/AvoidRedirects

Nějaký návrh, jak to udělat lepším způsobem?

  • Abyste se vyhnuli zmíněným 2 přesměrováním, musíte tyto dva bloky pravidel zvrátit (tj. Přesměrovat na https://www První). Také NC by měl ne použít na to RewriteCond směrnice (kde CondPattern je negováno) - nechcete tam rozlišovat velká a malá písmena a vytváří to jen více práce. (Jen jsem zvědavý, odkud ten kód pochází, vypadá to povědomě?)
  • @MrWhite stackoverflow.com/a/13997498/673167

Tím se sníží přesměrování

RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] 
  • 1 Menší bod, ale ... Neměli byste zahrnout NC vlajka na a negován podmínka proti HTTP_HOST, jinak nebude přesměrovat chybně formátované požadavky, které obsahují velká písmena (která by měla).
  • @MrWhite, váš návrh je pouze odstranit vlajku nebo ji nahradit jiným? dík
  • @notGeek Ano, jednoduše jej odeberte.

Existuje několik způsobů, jak přepsat .htaccess soubor (například viz tato otázka). Existuje však jednodušší způsob, jak to vyřešit: ujistěte se, že nevyžadujete, aby lidé procházeli přesměrováním, aby se dostali na vaši stránku. To znamená, že pokud chcete, aby lidé viděli verzi stránky ve formátu https / www, pak je místo verze http / non-www přeneste do verze https / www. Problém není ani tak v případě dvojitých přesměrování, jako spíše ve špatných zkušenostech a pomalých rychlostech, které dvojí přesměrování způsobuje.

Jak tedy přimět lidi, aby místo verze http / www dostali verzi https / www? To by vyžadovalo věci, jako je propojení s touto verzí https / www z vašich reklam nebo společenských sdílení, vytvoření adresy URL v souboru Sitemap XML, určení této adresy URL v kanonických značkách, použití verze adres URL ve vašich https://www. atd. Tímto způsobem snížíte počet případů, kdy lidé budou muset přejít z http -> https A přejít z jiného než www -> www, což zrychlí a zlepší zážitek.

  • „existuje jednodušší způsob, jak to vyřešit“ - Přesměrování je stále nutné pro případy okrajů, když třetí strany nesprávně odkazují na nekanonickou adresu URL. A když budou stránky později migrovány z HTTP na HTTPS (nebo dokonce non-www na www) po web již byl indexován a propojen.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?