Velikost písma v URL – 404
- scientific
- Člen | 94
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.
- Marek Bartoš
- Nette Blogger | 1280
V takovém případě by bylo dobré říct, zda vidíš 404 Apache (či jiného webserveru) nebo 404 Nette
- scientific
- Člen | 94
@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 | 2667
@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 | 626
Š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 | 94
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.