Soovin suunata kõik oma veebisaidi lehed aadressidele https ja www. Selleks kasutan allolevaid reegleid ja see töötab hästi.

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

Kuid Google PageSpeed ​​Insights soovitab mul "vältida sihtlehe ümbersuunamisi. Teie lehel on 2 ümbersuunamist". - https://developers.google.com/speed/docs/insights/AvoidRedirects

Kas teil on mõni ettepanek seda paremal viisil teha?

  • Mainitud kahe ümbersuunamise vältimiseks peate need kaks reegliplokki lihtsalt ümber pöörama (st suunama aadressile https://www kõigepealt). Samuti NC peaks mitte kasutada RewriteCond direktiiv (kus CondPattern on eitatud) - te ei soovi seal suurt ja väiketähti ja see loob ainult rohkem tööd. (Lihtsalt uudishimulik, kust see kood tuli, tundub tuttav?)
  • @MrWhite stackoverflow.com/a/13997498/673167

See vähendab ümbersuunamisi

RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] 
  • 1 väike punkt, aga ... Te ei tohiks seda lisada NC lipp a eitatud tingimus vastu HTTP_HOST, muidu ei suunata see valesti vormistatud taotlusi, mis sisaldavad suuri tähti (mis peakski olema).
  • @MrWhite on teie soovitus lihtsalt eemaldada lipp või asendada see teisega? aitäh
  • @notGeek Jah, eemaldage see lihtsalt.

Sõnumi ümberkirjutamiseks on mõned võimalused .htaccess faili (näiteks vaadake seda küsimust). Kuid selle lahendamiseks on lihtsam viis: veenduge, et te ei nõua inimestelt teie lehele jõudmiseks ümbersuunamisi. See tähendab, et kui soovite, et inimesed näeksid lehe https / www versiooni, viige nad http / non-www versiooni asemel versioonile https / www. Probleem pole mitte niivõrd topelt ümbersuunamised, kuivõrd kahekordse ümbersuunamise põhjustatud halb kogemus ja aeglane kiirus.

Niisiis, kuidas saada inimesi http / www versiooni asemel https / www? Selleks oleks vaja näiteks linkida selle reklaami või sotsiaalse jagamise kaudu selle https / www versiooniga, muuta see URL teie XML-i saidikaardil, täpsustada see URL kanoonilistes siltides, kasutades sisemiste saidilinkide URL-ide https / www versiooni, jne. Seda tehes vähendate arvu, mitu korda inimesed peavad minema saidilt http -> https JA minema mujalt kui www -> www, mis muudab kogemuse kiiremaks ja paremaks.

  • "selle lahendamiseks on lihtsam viis" - ümbersuunamine on endiselt vajalik servade juhtumite korral, kui kolmandad osapooled lingivad valesti mittekanoonilise URL-iga. Ja kui saite hiljem migreeritakse HTTP-st HTTPS-i (või isegi mitte-www-st www-sse) pärast sait on juba indekseeritud ja lingitud.

none: Charles Robertson | none