Jump to content
  • 0

htaccess : Přesměrování na www a https


The hidden face

Dotaz

Zdravím ve spolek,

měl bych dotaz na někoho zkušeného ohledně nastavení httacces souboru, bohužel se v něm úplně nevyznám. Na webu jsme měli problém, že se nám automaticky doplňovalo druhé www, tudíž uživatelům vyskočila hláška o problému se zabezpečením. Odstranil jsem tedy z httacces část starající se o přesměrování na https a na www. Po několika testech jsem došel k závěru, že si to ošéfuje prohlížeč sám a nemusím tedy nic řešit. To se ovšem týká pouze indexu. Jak mile už je nějaká URL odkazující na konkrétní obsah na webu, tak se ani www a ani https samo nedoplní. Vysvětlí mi někdo proč tomu tak je, a zda je nějaký univerzální konfigurace, která automaticky doplní www jen v případě, že ji nedoplnil sám prohlížeč a automaticky bude používat zabezpečené připojení? Bohužel jsem se díky cache dozvěděl o problému až od uživatele a nerad bych, aby se tato situace někdy opakovala. Vyzkoušel jsem již různé konfigurace ze stackoverflow, nicméně dost často chybí nějaké dovysvětlení, jak to funguje, nebo konfigurace není funkční. Ta chybná konfigurace (podle reakcí však správná), kterou jsem doteď používal byla též tam odtud, takže bych byl radši, kdyby mi k tomu někdo dal i menší vysvětlení.

Děkuji za každou odpověď. ;)

 

Edit:

Pro ukázku, popsané chování dělala tato konfigurace:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]

 

Nyní jsem narazil na tuto konfiguraci:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
	
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

V čem se liší? Bude ta druhá fungovat korektně?

Edited by The hidden face
Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 1
  • Globální moderátor

Nevysvětlím ti to, proč to nefunguje, ale já používám toto pro HTTP na HTTPS autoredirect.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

jakákoliv url je přesměrována na https stránku.

 

auto www subdoména by měla být standardně takto, kdy pokud nemáš www, tak tě to pošle na www.domena.tld a hlavně pokud www a bez www je stejný obsah webu

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

 

  • Děkuji (+1) 1
Link to comment
Share on other sites

  • 0
před 46minutami, Hip said:

Nevysvětlím ti to, proč to nefunguje, ale já používám toto pro HTTP na HTTPS autoredirect.


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

jakákoliv url je přesměrována na https stránku.

 

auto www subdoména by měla být standardně takto, kdy pokud nemáš www, tak tě to pošle na www.domena.tld a hlavně pokud www a bez www je stejný obsah webu


RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

 

Takže to vlastně odpovídá té druhé konfiguraci. Díky za odpověď.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...