url rewrite

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Říjen 8 17:10:19 CEST 2009


On Thu, 8 Oct 2009, Tomáš Koželuh wrote:

> Lomítko nepomůže, různých variant s lomítky a podobně jsem vyzkoušel
> hromadu.

Ovšem pokud tam to lomítko má být, tak to bez něj nebude fungovat
zaručeně. Ono záleží na tom, kde to pravidlo máte napsané, v globální
konfiguraci se zpracovává celé URL s lomítkem na konci, v .htaccess
už jen příslušná koncová část bez prefixu.

> Kliknu na odkaz server/zbozi/1234/ (1234 je id) a mělo by se to
> přeložit na dotaz ./index.php?action=detail&id=1234, místo toho část
> dotazu projde správně a načtou se data, ale bez všech obrázků, ty se
> snaží hledat v server/zbozi/, kde samozřejmě nic není.

A jaká URL na obrázky apod. vidí prohlížeč?

Pokud relativní, např. <img src="abc/xyz.gif">, tak k tomu samozřejmě
přidá to, co je z jeho pohledu adresář dokumentu, tj. /zbozi/1234, a
výsledný dotaz bude na /zbozi/1234/abc/xyz.gif.

Klient totiž samozřejmě neví, jak si na serveru URL přepisujete, ale řídí
se tím, co vidí. A on vidí URL /zbozi/1234/.

> Jediná varianta, která funguje, je použít pomlčky, takže
> server/zbozi-1234 [...]

Tady by výše uvedené <img> vedlo k dotazu na /abc/xyz.gif, prostě
z toho důvodu, že tady se prohlížeč domnívá, že zobrazený dokument je
v kořeni. A pokud je /abc/xyz.gif správné URL, tak to najednou funguje.


On Thu, 8 Oct 2009, Tomáš Koželuh wrote:

> V podstatě naopak všechno je špatně, kromě index.php a textovýho
> obsahu se nic nenačte, ani css a předpokládám ani js.

Jestliže i na ně máte relativní linky, pak to není žádné překvapení.

> Z rewrite logu jsem taky nic užitečnějšího nevyčetl.

Jak se zdá, tak problém asi není v samotném přepisování...


-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /






Další informace o konferenci Linux