Kritisk handling: Gan Strike Ops-Android GamePlay HD - FPS-skytespill Android # 1-14

Jeg vil omdirigere alle nettstedssidene mine til https og www. For å gjøre det bruker jeg reglene nedenfor, og det fungerer bra.

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

Imidlertid foreslår Google PageSpeed ​​Insights meg å "unngå omdirigeringer av destinasjonssider. Siden din har to omdirigeringer." - https://developers.google.com/speed/docs/insights/AvoidRedirects

Noen forslag om å gjøre dette på en bedre måte?

  • For å unngå de to omdirigeringene som er nevnt, må du bare reversere de to regelblokkene (dvs. omdirigere til https://www først). Også, den NC bør ikke brukes på det RewriteCond direktivet (der CondPattern blir negert) - du vil ikke ha en case-ufølsom kamp der, og det skaper bare mer arbeid. (Bare nysgjerrig, hvor kom den koden fra, den ser kjent ut?)
  • @MrWhite stackoverflow.com/a/13997498/673167

Dette vil redusere viderekoblingene

RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] 
  • 1 Mindre poeng, men ... Du bør ikke inkludere NC flagg på en negert tilstand mot HTTP_HOST, ellers vil den ikke omdirigere misdannede forespørsler som inneholder store bokstaver (som det burde).
  • @MrWhite ditt forslag er bare å fjerne flagget eller å erstatte med et annet? Takk
  • @notGeek Ja, bare fjern det.

Det er noen måter å skrive om på .htaccess fil (se for eksempel dette spørsmålet). Men det er en enklere måte å løse dette på: Pass på at du ikke krever at folk går gjennom viderekoblingene for å komme til siden din. Det vil si at hvis du vil at folk skal se https / www-versjonen av siden, så få dem til https / www-versjonen i stedet for http / ikke-www-versjonen. Problemet er ikke så mye de dobbelte viderekoblingene, da det er den dårlige opplevelsen og lave hastigheter som de dobbelte viderekoblingene forårsaker.

Så hvordan får du folk til https / www-versjonen i stedet for http / www-versjonen? Det vil kreve ting som å koble til den https / www-versjonen fra annonsene dine eller sosiale delinger, noe som gjør at URL-en i XML-nettstedskartet ditt, spesifiserer den URL-en i kanoniske koder, ved hjelp av https / www-versjonen av URL-ene i de interne nettstedslenkene etc. Ved å gjøre dette vil du kutte ned på antall ganger folk må gå fra http -> https OG gå fra ikke-www -> www, noe som vil gjøre opplevelsen raskere og bedre.

  • "det er en enklere måte å løse dette på" - Viderekoblingen er fortsatt nødvendig for kantsaker når tredjeparter feilaktig lenker til den ikke-kanoniske URL-en. Og når nettsteder senere overføres fra HTTP til HTTPS (eller til og med ikke-www til www) etter nettstedet er allerede indeksert og koblet til.

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?