Autor | Zpráva | ||
---|---|---|---|
Volda Profil |
#1 · Zasláno: 9. 5. 2007, 23:27:16
Zdravim uz dlouho premejslim nad tim jak jsou udelane url webu od spolecnosti interne info maji je velic pekne... (http://www.root.cz/zpravicky/logfs-novy-souborovy-system-pro-flash-pa meti/ ) zadne cisla atd... proste takovy dorticek pro oci atd...
experimentoval jsem s .htaccess, ale nejako se mi ti nevede zde je kod .htaccess: RewriteEngine on RewriteRule ^(.*)/(.*)/(.*)/(.*) index.php?sec=$1&cat=$2&typ=$3&title=$4 pri cemz sec = sekce cat = kategorie typ = typ zdeleni (aktualita/clanek...) title = nazev clanku kdyz se zadaji vsechny parametry do adresy tak to funguje, ale kdyz jeden z nich vynecham, server hned hlasa ze adresa neexistuje... |
||
Volda Profil |
#2 · Zasláno: 10. 5. 2007, 00:41:07
prisel jsem na to, ze kdyz zadam adresu napr.: neco.cz/sekce/categorie bez lomitka na konci tak to nefunguje a naopak... tak tedy staci jen dostadit lomitko a zbytek udela php...
doufam, ze jsem na spravne ceste.... |
||
Schunka Profil * |
#3 · Zasláno: 10. 5. 2007, 15:05:58
jestli na to nakonec přijdeš tak sem s tím taky o tom přemýšlím a zkouším. jestli na to příjdu učitě to sem napíšu
|
||
Schunka Profil * |
#4 · Zasláno: 10. 5. 2007, 15:40:10
nejspíš mě to napadlo ale ještě jsem to nevyzkoušel, hned na to vlítnu,
idea: jednotlivé GET proměnné zrušíme uděláme jen jednu třeba $pom ta bude obsahovat string všech ostatních proměnných oddělených lomítkem, (možná už tušíte kam mířím) tzn. když pak někdo zadá tak máš jen jeden parametr ke změně a přepisovací pravidlo bude pouze rušit tu ošklivou část s "index.php?" zbytek se vypíše jako "/hodnota1/hodnota2/.../hodnotaN/" za zbytek url, takže to pak vypadá opravdu hezky. Tak teď už rychle abych to ozkoušel. |
||
Volda Profil |
#5 · Zasláno: 10. 5. 2007, 15:47:48
Jo to je dobrej napad... v priklade co jsem uvadel ja je trochu problem protoze je to absolutni pocet lomitek...
|
||
DJ Miky Profil |
#6 · Zasláno: 10. 5. 2007, 16:14:13
Přes mod_rewrite mě napadá jen takováto šílenost:
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?sec=$1&cat=$2&typ=$3&title=$4 RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?sec=$1&cat=$2&typ=$3 RewriteRule ^([^/]+)/([^/]+)$ index.php?sec=$1&cat=$2 RewriteRule ^([^/]+)$ index.php?sec=$1 |
||
Volda Profil |
#7 · Zasláno: 10. 5. 2007, 16:45:25
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?sec=$1&cat=$2&typ=$3&title=$4
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?sec=$1&cat=$2&typ=$3 RewriteRule ^([^/]+)/([^/]+)$ index.php?sec=$1&cat=$2 RewriteRule ^([^/]+)$ index.php?sec=$1 tak toto neni moc uspesna kombinace.... (zkousel jsem to...) |
||
Schunka Profil * |
#8 · Zasláno: 11. 5. 2007, 10:07:33
Tošku se to dá obejít, zase jsem přemýšlel, rozvíjím svoji původní ideu, chce to nejspíš předělat i PHP které zpracuje náš string $pom, rozseká ho na části oddělené lomítkem že?
př: neco.cz/sekce/categorie/clanek je podstrčená url místo neco.cz/?pom=sekce/categorie/clanek přičemž, když nezadáme jednu z částí, PHP musí chybu ošetřit jako neexistujíci sekci, categorii, atd. Ještě k problému když někdo zadá chybnour url tak mu to stejně článek nedá tzn. po rozsekání do pole můžeš na začátku scriptu všechno uložit do proměnných př: $pole=explode('/',$pom); $1=$pole[0]; $2=$pole[1]; $3=$pole[2]; $4=$pole[3]; a dál s nimi pracuješ jako původně pokud nějaká chybí je to chyba způsobená buď špatným odkazem, nebo uživatelem co špatně zadal url, s odkazem můžeš něco udělat sám, ale s uživateli můžeš tak akorát napsat, aby si překontroloval co pravdu chce, |
||
tiso Profil |
#9 · Zasláno: 11. 5. 2007, 10:39:44 · Upravil/a: tiso
Volda - miesto mod_rewrite môžeš použiť ošetrenie cez chybovú stránku 404
|
||
DrEggman Profil * |
#10 · Zasláno: 11. 5. 2007, 15:04:32
Ja som s tim vedel robit dpc... ale viem ze este ma bit definovana cesta k suboru... len teraz ma nenapada jak to bolo :(
|
||
DrEggman Profil * |
#11 · Zasláno: 11. 5. 2007, 15:17:06
No toto je ono :)
ak to mas v hlavnom priecinku teda ako v www.nieco.sk tak tam daj toto: RewriteBase / Ak to mas napr. vo www.nieco.sk/hhe tak tam daj: RewriteBase /hhe a nezabudni to dat hned za RewriteEngine on chapes? |
||
Časová prodleva: 2 měsíce
|
|||
Volda Profil |
#12 · Zasláno: 11. 7. 2007, 23:18:15
př: neco.cz/sekce/categorie/clanek je podstrčená url místo neco.cz/?pom=sekce/categorie/clanek přičemž, když nezadáme jednu z částí, PHP musí chybu ošetřit jako neexistujíci sekci, categorii, atd.
To je ono!!! Mel jsi pravdu ;) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0