Velikost písma v URL – 404

scientific
Člen | 93
+
0
-

Ahoj všem, dostal se mi do ruky nette web, který neumí velká písmenka v URL.

Existující URL: https://forum.nette.org/cs/
Neexistující URL: https://forum.nette.org/Cs/

Jelikož ostatní weby mimo Nette tohle umí řešit, aby web fungoval bez ohledu na velikost písmen v URL, tak dříve ten web měl právě velká písmena. Takže všude po internetu jsou od přechodu na Nette poházené nefunkční 404 odkazy.

Jak prosím zajistit zpětnou kompatibilitu se starým webem a tedy zajistit, aby odkazy fungovaly i s velkým písmem např.: https://forum.nette.org/Cs/

Dá se někde v Nette např. routeru něco jednoduše upravit, nebo to můžu nějak vyřešit třeba htaccessem?

Děkuji všem za tipy.

MW
Člen | 615
+
0
-

Ahoj, zkus na to jít přes Apache

Marek Bartoš
Nette Blogger | 1146
+
0
-

V takovém případě by bylo dobré říct, zda vidíš 404 Apache (či jiného webserveru) nebo 404 Nette

scientific
Člen | 93
+
0
-

@MW Ok, zkusím přijít na to, jak se to dělá přes apache (htaccess), díky.

@Mabar Nette 404, při zapnutém debugeru, případně asi i při vypnutém.

Editoval scientific (3. 3. 2021 15:21)

Šaman
Člen | 2632
+
+1
-

@MW Jak? Podle toho odkazu to chápu tak, že Apache hledá dokumenty podobného názvu. Ale v Nette aplikaci jde vše na index.php a zbytek si zpracuje Nette, ne?

Já bych předpokládal, že řešení bude v routeru. V nejednodušším případě prostý strtolower(), ale nevím, jestli ta velikost písmen někde nemá opravdu význam.

Editoval Šaman (3. 3. 2021 15:30)

MW
Člen | 615
+
0
-

Šaman napsal(a):

@MW Jak? Podle toho odkazu to chápu tak, že Apache hledá dokumenty podobného názvu. Ale v Nette aplikaci jde vše na index.php a zbytek si zpracuje Nette, ne?

Já bych předpokládal, že řešení bude v routeru. V nejednodušším případě prostý strtolower(), ale nevím, jestli ta velikost písmen někde nemá opravdu význam.

Jednou jsem použil v htaccess

CheckSpelling On
CheckCaseOnly On

, když to házelo také 404 při /link /Link.

Ale máš pravdu, nebylo to Nette a bylo to stahování dokumentů.

Editoval MW (3. 3. 2021 16:05)

scientific
Člen | 93
+
0
-

Můj názor je, že když to neumí Nette, tak stačí to udělav ve vyšší vrstvě (httpd), použít ho jako předsunutý router a úplně zamezit vzniku toho problému, namísto jeho opravy. Jen to zatím neumím udělat prakticky, ale věřím, že to nejakým přepisem/přesměrováním URL lze zařídit.