Критично действие: Gan Strike Ops-Android GamePlay HD - FPS стрелба Игра Android # 1-14

Искам да пренасоча всички страници на уебсайта си към https и www. За да направя това, използвам правилата по-долу и работи добре.

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

Google PageSpeed ​​Insights обаче ми предлага да „избягвам пренасочванията към целевата страница. Вашата страница има 2 пренасочвания“. - https://developers.google.com/speed/docs/insights/AvoidRedirects

Някакво предложение да направите това по-добър начин?

  • За да избегнете споменатите 2 пренасочвания, просто трябва да обърнете тези два блока с правила (т.е. пренасочване към https://www първо). Също така NC Трябва не да се използва за това RewriteCond директива (където CondPattern се отрича) - не искате там да има съвпадение на малки и малки букви и това само създава повече работа. (Просто любопитно, откъде идва този код, изглежда познат?)
  • @MrWhite stackoverflow.com/a/13997498/673167

Това ще намали пренасочванията

RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] 
  • 1 Малка точка, но ... Не трябва да включвате NC флаг на a отречен условие срещу HTTP_HOST, в противен случай няма да пренасочи неправилно оформени заявки, които съдържат главни букви (което трябва).
  • @MrWhite вашето предложение е просто да премахнете флага или да замените с друг? Благодаря
  • @notGeek Да, просто го премахнете.

Има няколко начина за пренаписване на .htaccess файл (например вижте този въпрос). Но има по-лесен начин да се реши това: уверете се, че не изисквате хората да преминават през пренасочванията, за да стигнат до вашата страница. Тоест, ако искате хората да виждат https / www версията на страницата, след това ги насочете към https / www версията вместо http / non-www версията. Проблемът е не толкова в двойното пренасочване, колкото в лошия опит и бавното ускоряване на причините за двойното пренасочване.

И така, как да насочите хората към https / www версията вместо http / www версията? Това ще изисква неща като свързване към тази https / www версия от вашите реклами или социални споделяния, което прави URL адреса във вашата XML карта на сайта, като се посочва този URL в канонични тагове, като се използва https / www версията на URL адресите във вашите вътрешни връзки към сайта, По този начин ще намалите броя на случаите, в които хората ще трябва да преминат от http -> https И да преминат от non-www -> www, което ще направи преживяването по-бързо и по-добро.

  • „има по-опростен начин за решаване на това“ - пренасочването все още се изисква за ръбовете, когато трети страни неправилно се свързват с не-каноничния URL адрес. И когато сайтовете по-късно се мигрират от HTTP към HTTPS (или дори не-www към www) след сайтът вече е индексиран и е свързан с.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?