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 toRewriteCond
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 protiHTTP_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.