Díky moc, funguje to :-) Jan Fišer On 1/7/07, Jiří Hrazdil <konference (zavinac) normy.biz> wrote: > Jan Fiser wrote: > > Dobrý den, > > > > mám udělanou stránku 404 (no udělanou - upravenou, pochází z > > http://alistapart.com/articles/perfect404/). > > V současné době jsem předělal strukturu webu, některé stránky zmizely, > > nebo přesněji mají jinou adresu. > > Myslel jsem, že je budu přesměrovávat pomocí htaccess, ale nemám v něm > > povoleno přesměrovávání a pomocí rewrite to nepůjde, nové adresy jsou > > úplně jiné, než staré. > > Vymyslel jsem následující: > > ********* > > někdo chce starou stránku, ta není, dostane se tedy na 404, ta se > > podívá, jakouže stránku chtěl, pokud půjde o jednu ze známých stránek > > (dejme tomu archiv2002.html, archiv2003.html), vrátí mu 301 na > > novyarchiv2002, novyarchiv2003 a ukončí zpracování skriptu v 404. > > Pokud nebude stránka v seznamu, pojede stávající skript pro 404. > > ********* > > Moje (ne)znalost PHP na to ale nestačí. Přiznám se, že jsem schopen > > mírně upravit existující skript, ale napsat nový nikoliv. > > Navrhnul jsem si tohle: > > > > ************* > > switch($_SERVER["REQUEST_URI"]): > > case "/archiv2002.html"; > > > > $novastranka="view.php?cisloclanku=2006120004&nazev=novyarchiv2002"; > > presunuto(); > > $presunuto=TRUE; > > break; > > case "archiv2003.html"; > > > > $novastranka="view.php?cisloclanku=2006120015&nazev=novyarchiv2002"; > > presunuto(); > > $presunuto=TRUE; > > break; > > endswitch; > > > > function presunuto() > > { > > header("HTTP/1.1 301 Moved Permanently"); > > header("Location: http://denicek.zestoda.net/".$novastranka); > > } > > > > // a tady jsem měl v úmyslu použít proměnnou $presunuto pro ukončení > > skriptu, ale to už jsem taky nezvládl > > ************* > > funkci presunuto() uprav tak, aby po těch dvou Header()ech bylo Die(). > Tím zaručíš, že po provedení přesměrování se 404 skript ukončí. (A pak > navíc bude možno vymazat i řádek $presunuto = TRUE. > > Btw tento skript se spoléhá na to, že proměnná $novastranka je dostupná > i v kontextu funkce. To není úplně ideální, takže bych doporučil upravit > každou větev toho switche na: > > case "/archiv2002.html"; > presunuto("view.php?cisloclanku=2006120004&nazev=novyarchiv2002"); > > break; > > a změnit hlavičku funkce presunuto na > function presunuto($novastranka) > > hrazdaReceived on 07. 01. 2007, 16:40 CET
This archive was generated by hypermail 2.2.0 : 07. 01. 2007, 16:40 CET