Starší komentáře ke článku: Rewrite cesty pro ASP.NET - SEO příklad z praxe
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 12.12.2003 17:02:51
Presne to same, ale obecnejsi (regularni vyrazy, konfigurace z textoveho souboru) jsem kdysi napsal za vecer jako ISAPI plugin. Vse potrebne tam je uz od IIS 3.0...
PB
Datum vložení: 12.12.2003 17:11:45
no ten clenek je o tom jak to udelat v .NETu a ne jak to udelat v C++ :)
Datum vložení: 13.12.2003 0:21:17
---> Cituji: >> se cesta ukazuje ve své přehlednější a kratší formě
"/256-klicove-slovo.aspx".length = 23
"/article.aspx?id=256".length = 20
...z toho mi vyplyva, ze pokud zobrazujeme URL v kratsi podobe, je prehlednejsi ta druha, protoze je o 3 znaky kratsi ;-)
---> Cituji: >> Je-li požadavek na stránku (...) ShowAllEntries.aspx
>> if (path.ToLower().IndexOf("showall.aspx")>0)
Tedy nevim, jak funguje ASP a uz vubec netusim nic o ASP.NET, ale pripad ShowAllEntries.aspx nemas vubec osetreny. ;-)
Datum vložení: 13.12.2003 0:25:02
mas pravdu, drobna chybicka ;) on stejne nikdo na archiv nelinkoval :)
Datum vložení: 13.12.2003 0:38:06
Spíš nikdo nečetl ten tvůj článek. Pořád slyším, že se Interval lepší, a pak si přečtu jeden text a hned je v něm nefunkční ukázka. Já fakt ASP.NET neumím, ale myslel jsem, že třeba někdo v Intervalu jo.
Datum vložení: 13.12.2003 2:37:09
kod je funkcni, akorat nedela uplne co ma :)
Datum vložení: 13.12.2003 8:35:19
Já osobně jsem kód nekontroloval, ale předal jsem ho dvěma programátorům, kteří v ASP.NET každodenně pracují. Z čehož IMHO plyne, že splést se může každý, ne?
Stačí napsat, jak to má být správně, a já to v článku opravím, to je přeci normální ;-)
Datum vložení: 13.12.2003 16:47:19
Misto ShowAll.aspx tam ma byt ShowAllEntries.aspx
to je ta cela "tragedie" :))
Datum vložení: 13.12.2003 22:13:29
Tak jsem to opravil, doufám, že teď už je vše OK ;-)
Datum vložení: 14.12.2003 16:11:29
V tom případě nechápu, proč je tam toLower(). ;-)
Datum vložení: 14.12.2003 16:35:43
kolik radosti nad jednim radkem
VM: prosim oprav to tak aby to bylo cely malym -> showallentries.aspx
stejne si myslim, ze kdo nedokaze upravit takovou drobnost, asi nepochopi vic veci a je bezpredmetny aby v .netu programoval ...
Datum vložení: 14.12.2003 16:38:38
A proc uverejnujes chybnej kod?
Datum vložení: 14.12.2003 16:48:04
uz jsem ti to psal, ten kod neni chybny, jen nedela co ma, navic ne celej ale jedna vetev, ktera neni zas tak podstatna a popravde by tam ani nemusel byt a rewrite cesty by fungoval
navic pochybuju, ze to uskodi pochopeni principu, stejne ten, kdo to pouzije, tak si ti upravi podle svych nazvu souboru
jeste nejaky "problem"?
Datum vložení: 15.12.2003 12:34:42
Nenechte se vyprudit. Diky za hezky clanek. Pan Kopta se dneska asi spatne vyspal ...
Datum vložení: 15.12.2003 13:55:09
Doufám, že nyní je to správně. Pokud ne, pošlete mi, prosím, správný kód e-mailem.
Datum vložení: 19.12.2003 12:31:46
Používám něco podobného a měl bych k Vašemu řešení jednu poznámku.
Za výhodnější považuji vytvořit HttpModule a uložit kód pro přesměrování do něho. Module provede následující - odchytí adresu pozadavku, uloží ji do nove položky Contextu tohoto pozadavku a provede vnitrní rewrite na definovanou adresu existující aspx stránky (napr. ve web.config). Na teto adrese je "stránka", která nejdříve přečte původní volanou adresu, provede vnitrni rewrite a pak se pustí do požadovaného vykreslování stránek (kompletace podle predpisu nebo execute u fyzicky existujících).
Podstatou je možnost zachování všech querystringů a dalších parametrů a zároveň přepsání i "action" adresy u vytvořeného aspx formuláře na volanou neexistujici adresu.
Tento modul se pak jednoduše zaregistruje ve web.config a samozřejmě se přilinkuje knihovna s tímto modulem. V samotné aplikaci je pak nutné pouze osetrit co v dané aplikaci od zpracovaní pozadavku potrebujeme (presměrování, vykreslení obsahu apod.).
Výhodou je, že nemusíte u každé aplikace, ve které chcete redirect používat, přepisovat global.asax.
Doporucuji obdobný postup u tvorby všeho co potřebuje ke svemu běhu zápis do global.asax. Jeden z účelů Contextu pozadavku je prave použití k přenášení hodnot z modulů do handlerů.
Datum vložení: 24.12.2003 19:03:22
http module je taky reseni, komplexnejsi a asi by si zaslouzilo samostatny clanek
Datum vložení: 19.12.2003 13:02:08
mixovat používat indexof k detekci nejprve html a potom znovu k detekci typu zaznamu a to jeste v te dabelske strukture if-elseif-else,
to je teda silny kafe. Na vsechno by stacil jeden radek s regexem a druhy s replacem.
Datum vložení: 24.12.2003 19:04:24
vsak je to vytrzene z kontextu, je to tam psane, ucel plni, moznosti ukazuje, klidne sem ten regularni vyraz, ktery to vyresi napiste i s vysvetlenim, rad se poucim.
Datum vložení: 5.1.2004 16:31:05
No autor mam pocit vi k cemu jsou :-) Ovsem zde bych se take priklanel k pouziti IndexOf namisto regularnich vyrazu a to z prosteho duvodu v jednoduchych vyhledavanich na vykon vede jasne IndexOf. Trida regex je super kdyz chci v textu vyhledavat slozite a formatovane retezece na zjisteni zda se v textu nachazi urcity string je opravdu rychlejsi pouzit IndexOf :-)
Datum vložení: 24.12.2003 16:44:53
myslim ze pokud vyhledavac posuzuje dulezitost stranky podle poctu predanych parametru, je chyba u nej a nemela by byt obchazena podobnym nesmyslem
Datum vložení: 24.12.2003 19:02:27
pokud ma vyhledavac monopol, tak jako google, tak nam nic jineho nezbyva
Datum vložení: 25.12.2003 16:37:31
Jak se to vezme. Pokud některé obzvláště vypečené výstřelky Google budou autoři stránek v dostatečné míře ignorovat, buď je provozovatelé Google sami odstraní nebo poměrně rychle přijdou o pověst nejlepšího vyhledávače.
Datum vložení: 16.1.2004 1:25:24
Na druhou stranu, co je spatneho na jednoduchych adresach? Kdyz se ted David rozhodne, ze nebude stare zaznamy zpracovvat dynamicky, a proste je ulozi na disk ve staticke podobe, tak muze jeho "redirect" vypadat nasledovne:
jestlize (existuje($volany_soubor)) {
vrat $volany_soubor
} jinak {
tahej z databaze podle rewrite
}