Autor | Zpráva | ||
---|---|---|---|
Sonny Profil * |
#1 · Zasláno: 12. 7. 2007, 19:48:46
Dobrý podvečer,
narazil jsem na pro mě zvláštní problém. Mám stránku, která zobrazuje články z určité sekce. tedy blabla.cz/Movies vypisuje vsechny clanky ze sekce Movies tak, ze to prepise na index.php?show=Movies Na clanky (ne permalink, ten je s cislicemi á la blabla.cz/read/70) odkazuji tak, aby se zobrazil vypis tech clanku v sekci, tzn. klasicke blabla.cz/Movies ale za to jeste pridane #Casino-royale, coz zpusobi, ze se mi po nacteni scrollne na ten správný článek s timhle id. Funguje to bez mod_rewrite, tedy při tomto - blabla.cz/index.php?show=Movies#Casino-royale. To funguje. Já chci tedy pomocí mod_rewrite: - místo blabla.cz/Movies/Casino-royale - podstrčít blabla.cz/index.php?show=Movies#Casino-royale A problém je, že s mou podmínkou: RewriteRule ^/([a-zA-Z0-9-]+)/([A-Za-z0-9-]+)$ /index.php?show=$1#$2 [L] se to přepíše správně (proměnna QUERY_STRING říká show=Movies#Casino-royale, ale jako parametr show nyní bere nejspíš celý ten string Movies#Casino-royale a ne jen to před #. Tzn. ani to nezobrazí tu sekci (hledá to Movies#Casino-royale v názvu sekce) a ani to neodroluje (není kam). Nevíte někdo, jak s tím hnout? Díky převelice. |
||
Sonny Profil * |
#2 · Zasláno: 12. 7. 2007, 20:58:59
Prosím, bude to nějaká školácká chybka...
Budu rád za jakoukoliv pomoc, šťouch tím správným směrem. Díky. |
||
Sonny Profil * |
#3 · Zasláno: 12. 7. 2007, 21:09:11
No došlo mi proč.
Prohlížeč se stará o to odscrollování a prohlížeč tam ten křížek nevidí. Ale stejně je mi záhadou, proč se "Movies" vypreparuje dobře v případě "index.php?show=Movies#asfdfasdfasdf" a špatně když se použije "/Movies/asdfasdfasdfasd". Pro mě to je zvláštní. |
||
temistokles Profil |
#4 · Zasláno: 12. 7. 2007, 21:18:26
Ale stejně je mi záhadou, proč se "Movies" vypreparuje dobře v případě "index.php?show=Movies#asfdfasdfasdf" a špatně když se použije "/Movies/asdfasdfasdfasd".
Ako si sám povedal, prehliadač v prípade tvaru URL blabla.cz/Movies/asfdfasdfasdf, netuší, že sa jedná o nejaký odkaz :D Neexistuje spôsob, ako by to zistil (pre neho sú to proste dva priečinky v URL - ktoré nerieši ďalej). Ak je tam však krížik (#), tak vie, že sa jedná o odkaz. Aby si dosiahol rovnaký efekt, musel by si tvoriť adresu blabla.cz/Movies#asfdfasdfasdf a nerozdeliť si to podľa lomítka, ale krížiku. |
||
pmasarik Profil |
#5 · Zasláno: 12. 7. 2007, 21:51:04
Presne tak, kotva teda ten # sa nedá len tak nahradiť.
URL musí byť v tvare blabla.cz/Movies#asfdfasdfasdf |
||
Sonny Profil |
#6 · Zasláno: 12. 7. 2007, 22:32:51
Škoda, už mi to pak z logiky věci taky vyplynulo, že ten prohlížeč vidí JEN adresu s lomítky, ale bez kotvy (#).
I když se tisíckrát řekne slovo "podstrkávání" stejně mi to nedocvakne hned.-) Díky, tak teď jen vymyslet JAK TO UDĚLAT s hezkými odkazy, aby při blabbla.cz/Movies/Casino-royale zobrazil clanky ze sekce Movies a odroloval nějak na Casino-royale... Teď mě napadlo, že to udělám ještě líp - předám ten clanek normálně parametrem, a jeste pred vypisem clanku ze sekce Movies se vypise ten clanek Casino-royale (s tim, ze se zamezi, aby se zahrnul i v tom celkovym dotazu do SQL, aby tam pak nebyl dvakrat..) Jo, to by fungovat mělo. A když bude hned na začátku, bude to podobné, jako jsem to zamýšlel... Ale poslední věc - přece jen je to odrolování příjemnější - když vezmete URL alpha.retrodesign.us/Movies#Casino-royale vs. alpha.retrodesign.us/Movies/Casino-royale Co se Vám líbí víc? Když obětuju tu kotvu, lze nějak udělat to odrolování v JS? |
||
temistokles Profil |
#7 · Zasláno: 12. 7. 2007, 22:40:18
Ja by som neobetoval kotvu a nepoužil JS ;)
|
||
Sonny Profil |
#8 · Zasláno: 12. 7. 2007, 22:48:48
Neobětoval? takže bys taktéž jak jsem to měl doposud nechal Movies#Casino-royale?
Já už jsem z toho totiž mimo, nejspíš už nemám ten správný úsudek, co je a co není solidní URL. Jo a vydrž, tu databázi zeměpisných šířek délek ti hned napíšu, jen co najdu v historii, odkud jsem to vyhrabal já. |
||
temistokles Profil |
#9 · Zasláno: 13. 7. 2007, 10:19:11
Sonny
No čosi som napísal :) Nefunguje to na 100%, akurát pár miest blbne, nakoľko nájde v mapy.sk viac odkazov :) Ale cca 90% to spravilo :) Ak však máš niečo, kľudne pošli, budem rád :) Neobetoval kotvu som myslel tak, že kľudne by som tam nechal krížik, nevidím na takej URl nič zlé. Ty snáď áno? :) Zbytočne používať javascript a podobné veci, pokiaľ to nie je nutné. |
||
Sonny Profil |
#10 · Zasláno: 13. 7. 2007, 12:08:51
Ne, podle mě je url s #v pořádku, jen jsem si potřeboval v hlavě ujasnit, jak se vlastně bude linkovat na články, a pak mi taky dělalo problém, že pokud jsem dal do sekce listování, vypsalo se pouze deset nejnovějších filmů a někdo tam přišel přes odkaz Movies#Casino-royale tak se stalo v zássadě toto:
- nikam mu to neodrolovalo, protože Casino-royale už není mezi prvními deseti nejčerstěvjšími a je až na další stránce v listování. - nemohl jsem ani odchytit v PHP, aby to ten článek v adrese přidalo natvrdo do selectu, protože TO CO JE ZA KŘÍŽKEM NIC KROMĚ PROHLÍŽEČE NEVIDÍ. Nemám způsob jak to v PHP vycucat. A ještě nějaké drobnosti. Proto jsem přemýšlel o tom Movies/Casino-royale... A taky proto, že by to tak indexoval líp vyhledávač. Ale udělal jsem to pohodlnější pro čtenáře, nechal jsem křížek a zrušil listování. Namísto toho je na konci každé sekce zobrazeno (pokud je v ní více článků): Archiv sekce obsahuje X starších článků: A už jen s permalinky vypsané titulky. A protože tam vypsané jsou, dám jim id, a když maj id, odroluje to na ně. Voilá, na Movies#Casino-royale to zaroluje až úplně dolů na Archiv, kde je na Casino Royale trvalý odkaz. Jsem spokojen.-) |
||
Časová prodleva: 17 let
|
0