Autor Zpráva
soubor
Profil *
Ahoj,

jde prosím nějak jednoduše (vrtání v registrech nepatří do této kolonky) nastavit, aby ve WIN 7, 32 bit v rámci jedné složky byl soubor abc.html odlišný od souboru Abc.html?

Resp. jak mám soubor Abc.html dát do stejné složky, kde už je abc.html? (až se dostanu k počítači, zkusím to přes total commander. Když to nepůjde, prosím o radu)
Lonanek
Profil
soubor:
zkusím to přes total commander. Když to nepůjde, prosím o radu)
Nepůjde.
Linux to umí, windows ne.
soubor
Profil *
Lonanek:
Hm. Nevím, jestli je "složka XAMPP" v tomto ohledu nějak odlišná - takže ani tam ne? Příp. jde to nějak složitě nebo zkrátka vůbec (letmo jsem zahlédl právě přenastavení registrů)?

Jiné pojmenování stejného souboru na Linux-serveru a na localhostu by sice bylo otravné, ale asi mi nic jiného tedy nezbyde :-(
Keeehi
Profil
soubor:
Je pro to nějaký rozumný důvod aby se jmenovali stejně jen s jinak velkými písmeny?
soubor
Profil *
Keeehi:
Z mého pohledu ano. Pro soubory s velkým počátečním písmenem bych sice mohl vytvořit úplně jinou složku nebo ten soubor přejmenovat (což na localhostu asi udělám), na serveru ale už chci mít case-sensitive verze obou souboru.
Tomášeek
Profil
soubor:
Nevím, jestli je "složka XAMPP" v tomto ohledu nějak odlišná
Heh. Proč by měla být nějaká složka s konkrétním názvem odlišná od jiných? A proč by se jmenovala jako nějaký balíček shodou okolností obsahující PHP/Apache/etc.? Systém (Windows) je stejný pro všechny složky v něm spouštěné.

Jinak si nedovedu představit potřebu mít takovéto blbé pojmenování souborů, něco děláš špatně. Rozhodně je lepší soubor pojmenovat jinak, nebo umístit do podsložky, ale ne jen na localhostu, ale i na serveru. Jak bys chtěl s různými jmény/umístěními souborů ten projekt verzovat?
soubor
Profil *
"Proč by měla být nějaká složka s konkrétním názvem odlišná od jiných"

Nešlo o název složky. Možná jsem úplně mimo mísu, leč balíček XAMPP chápu jako virtuální Linux server. Tak jsem si říkal, že i soubory v této složce (resp. v systému složek v tomto balíčku) by se mohly chovat jako nahrané na Linux server - a už z první odpovědi vím, že tam je možné řešit můj problém bez kompromisů.

"něco děláš špatně."

Asi máš recht. I přesto hodlám mít dva case-sensitive soubory v jedné složce na serveru.

"Jak bys chtěl s různými jmény/umístěními souborů ten projekt verzovat?"

Projekt se skládá ze statických stránek, nevidím problém s verzováním.

Odpověď jsem dostal, názor jsem si udělal. Děkuji.
M80
Profil *
XAMPP není „virtuální“ ani „Linux“.

Samozřejmě, čím míň rozdílů produkčního a vývojového prostředí, tím líp – ale vytvářet (bezdůvodně) souborové struktury, které budou při přenosu na jinou platformu kolizní, je kravina. Budeš mít problémy na Macu, prakticky na všech Flash uložištích, ve většině cloudových službách, na GITu.
Kajman
Profil
Souborový systém NTFS velikost písmen v názvech souborů rozlišuje, windows však pro zpětnou kompatibilitu tuto podporu omezují a ignorují velikost písmen.

Takže můžete mít dva soubory lišící se velikostí písmen, pokud je na NTFS disk nahrajete např. přes linux spuštěný z usb. Ve windows uvidíte pak oba, ale budou se tvářit, že mají stejný obsah, i když to tak nebude.

Takže souhlasím s ostatními, že nejjednodušší je se případným kolizím vyhnout.
Joker
Profil
soubor:
Možná jsem úplně mimo mísu, leč balíček XAMPP chápu jako virtuální Linux server.

Ta první věta je správně :-) XAMPP balíček pro Windows je prostě Windows aplikace (resp. spíše sada Windows aplikací).
Neovlivní souborový systém ani operační systém.

Lonanek:
Linux to umí, windows ne.
Ono to spíš záleží na souborovém systému, než na operačním systému.
Např. na disk zformátovaný na FAT32 dva názvy souborů lišící se jen velikostí písmen prostě nedostanu -ve Windows, Linuxu, ani jinde- protože FAT32 to prostě neumí.


Nicméně ji já souhlasím s tím, že je lepší se takové situaci vyhnout.
Keeehi
Profil
soubor:
Odpověď jsem dostal, názor jsem si udělal.
Výborně. A mohl bych i já prosím dostat odpověď na svoji otázku. Ptal jsem se na důvod, proč to tak chceš mít pojmenované. Jediné co jsi o tom napsal je, že důvod máš. Ale jaký, to už jsem se nedozvěděl.
soubor
Profil *
Keeehi:
Časová náročnost předělávání odkazů.

Nakonec jsem to trošku obešel tím, že k souboru abc.php jsem vytvořil Abc.html.

Díky ochotě moderátorů mám z dřívějška v .htaccess mimo jiné i

# presmerování na verzi bez prípony, pokud ješte není prepsáno a není to POST požadavek
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.(php|html)$ /$1 [R=301,L,NE]

# podstrcení PHP, prepsat pouze na existující skript
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)$    $1.php    [L]
 
# podstrcení HTML, prepsat pouze na existující soubor
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^.]+)$    $1.html    [L]

ale zatím se to kolizně nechová (tedy alespoň na Linuxovym serveru, na localhostu jsem ten .htaccess nerozchodil - to už je ale věc jiná).

Otázka (pokud nikdo nenamítne, že řešení uvedené výše je kolizní, tak asi poslední) mimo soutěž: chápu správně, že když budu mít v kořenovém adresáři soubor abc.php (+ .htaccess) a ve složce "slozka" soubor abc.html (+ skoro stejný .htaccess, akorát s rozdílem, aby se v URL smazala "slozka"), tak potom když ručně zadám do adresního řádku domena.cz/abc, tak se mi zobrazí soubor abc.php, třebaže předtím (proklikáváním se odkazy na stránkách) jsem na "té samé" URL viděl soubor abc.html (protože .htaccess vážící se ke "slozka" smazal tuhle část z URL)? Naopak kdybych ručně zadal domena.cz/slozka/abc, viděl bych v adresním řádku URL domena/abc a zároveň vždy soubor abc.html, je to tak?
Keeehi
Profil
soubor:
je to tak?
Není. Problém je v tom odstranění složky jak píšeš. Aby htaccess mohl složku odstranit z URL, musí přesměrovat. Uvidíš vždy abc.php a žádným postupným proklikáváním se k abc.html v složka na URL example.com/abc nikdy nedostaneš.

Ještě k původní otázce/problému. Jedna věc je, jak se k velkým písmenům chová server. Ale důležité taky je, zda v tom dělají rozdíl i vyhledávače (absolutně nevím jestli to rozlišují nebo ne). Pokud to ale nerozlišují, máš asi problém. Protože to budou považovat za jednu URL, bude se pro ně obsah často měnit a nebudou vědět co zaindexovat. Také se může stát, že návštěvníka pošlou na tu druhu stránku i když hledaný obsah byl na první.
soubor
Profil *
Zapomněl jsem předtím poděkovat za odpovědi, děkuji.

Keeehi:
Hmm. Chvíli se v tom budu vrtat a pak to asi vzdám. Nemusím rozumět všemu.

Aby htaccess mohl složku odstranit z URL, musí přesměrovat.
Kam by ten .htaccess ve složce slozka přesměrovával, když by abc.html bylo ve složce slozka a nikde jinde?

Uvidíš vždy abc.php a žádným postupným proklikáváním se k abc.html v složka na URL example.com/abc nikdy nedostaneš.
Proklikáváním jsem myslel např. ze souboru "stranka.php" (v kořenovém adresáři, ale to je předpokládám fuk), která by odkazovala na soubor abc.html. Pokud mě tento odkaz nezavede na domena.cz/slozka/abc.html (tedy tam, kam by bylo odkazováno), ale místo toho na domena.cz/abc.php, tak to vzdávám předem kontumačně - ušetříme si všichni hromadu času ;-)

P.S. v průběhu sepisování mě ještě napadl teoretický scénář, kdy bych měl v rootu .htaccess (s pravidlem smazání přípony) a soubory abc.php a abc.html. Existuje něco jako nadřazený soubor? Příp. jak prohlížeč určí, který soubor mi zobrazí, když do adresního řádku zadám domena.cz/abc ? (I z tohoto důvodu jsem radši ve svém řešení v příspěvku č. 12 volil html soubor s velkým počátečním písmenem)
Chamurappi
Profil
Reaguji na Keeehiho:
Ale důležité taky je, zda v tom dělají rozdíl i vyhledávače (absolutně nevím jestli to rozlišují nebo ne).
Nenapadá mě důvod, proč by neměly rozdíl vnímat, je to přeci jiná URL. Obecně adresy připouštějí poměrně malou variabilitu a jinou, než souborové systémy, takže kdokoliv si přidá pravidlo, že na něčem dalším nezáleží, ten se dopouští hrubé chyby.
Na Wikipedii se běžně vyskytují stránky, které se navzájem liší jen ve velikosti písmen, třeba THE a The. Google se zaindexováním problém nemá, u Seznamu teď nevím, jak to ověřit.

Ještě nedávno míval s těmito adresami problém Internet Explorer při přecházení v historii – když se třeba z THE přešlo na The, prohlížečové zpět skočilo o jednu víc zpět, ne na THE (historie očividně byla case-insensitive). Ale teď koukám, že minimálně verze 11 to už má opravené.
Zajímalo by mě, jestli s tím opravdu někdo další může mít vážnější potíže (nějaké divné proxy keše apod.).


Reaguji na soubora:
Příp. jak prohlížeč určí, který soubor mi zobrazí, když do adresního řádku zadám domena.cz/abc ?
Rozhodování není na prohlížeči, ale na serveru, a tomu to, co přesně má dělat, vysvětlíš pravděpodobně právě tím .htaccessem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: