Prechod z HTTP na HTTPS – redirect

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Kurtas
Člen | 109
+
+1
-

Ahoj,

zavadim HTTPS pridal jsem ke vsem routam SECURED flag viz

	new Route('<action>[/<id>]', "Default:default",  Route::SECURED);

Nette spravne presmerovava stara HTTP url na HTTPS ale pomoci 302, mel by to delat 301 kvuli SEO ne?
Zatim to resim pres RewriteRule v .htaccess

	RewriteCond %{HTTPS} !=on
	RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Takze se chci zeptat proc to nette dela 302 a jestli je to vubec dobre? Je RewriteRule spravne reseni?

Diky

iguana007
Člen | 970
+
0
-

Já si taky myslím, že by si tam měl mít 301, protože tvoje změna (redirect na https) je perzistentní, nikoli dočasná.

Jan Tvrdík
Nette guru | 2595
+
0
-

Zrovna tohle je podle mě lepší řešit na úrovni webové serveru než na úrovní aplikace. Což nic nemění na tom, že by Nette mělo vracet 301, což podle podle zdrojového kódu taky dělá, takže by mě zajímalo, jak k té 302 dojde. Jsi schopný to diagnostikovat?

Kurtas
Člen | 109
+
0
-

Tak jsem si vsiml ze to nedela vzdy pokud mam HTTP request na URL kde neprobiha zadny redirect v ramci Nette tak to spravne presmeruje na HTTPS verzi pomoci 301

Pokud dam HTTP request na URL kde je nejaky redirect v ramci nette (zabezpecne url) tak to presmeruje na redirectovanou adresu (login) s 302 …

Spravne by mel puvodni HTTP verzi presmerovat 301 na HTTPS a pak trpeve provest redirect na login 302… no kazdopadne to poresim pres RewriteRule bude to jistejsi.

BTW: Nette 2.0.15

Jan Tvrdík
Nette guru | 2595
+
0
-

Pokud dam HTTP request na URL kde je nejaky redirect v ramci nette (zabezpecne url) tak to presmeruje na redirectovanou adresu (login) s 302 …

To je proto, že kanonizace URL probíhá standardně až po action* metodách, takže pokud provedeš přesměrování v action*, tak na kanonizaci nedojde. Dalo by se to vyřešit tak, že zavoláš metodu canonicalize už ve startup a zároveň nastavíš $this->autoCanonicalize na FALSE, aby se metoda canonicalize nevolala zbytečně dvakrát. Nicméně řešit to na úrovni serveru je rozhodně lepší řešení.

Nette 2.0.15

Co takhle okamžitě aktualizovat alespoň na 2.0.17? Nebo ještě lépe – věnovat jeden den migraci a přejít na 2.2.6.

Kurtas
Člen | 109
+
0
-

Diky Honzo, o vikendu mrknu co vse je treba pro migraci z 2.0 na 2.2