Zadejte hledaný výraz...

Jak parsovat URL ve tvaru /neco/neco ?

Ji31
verified
rating uzivatele
19. 1. 2008 12:02:26
Ahoj,
mám otázku:
Zajímalo by mě, jak parsovat přímo adresu např. example.com/neco1/neco2 (tedy adresu nepřeváděnou pomocí mod_rewrite).
Nejde mi teď o to, jak to technicky rozparsovat, to je myslím každýmu jasný, ale o to, že pokud zadám na server požadavek na takovouto adresu, tak se server podívá do adresáře /neco1/neco2 jestli tam není soubor index.php a pokud ho nenajde (což nenajde, protože na serveru takovou adresářovou strukturu nemám) tak přejde na 404ku.
Já mám ale parser v souboru na adrese example.com/index.php a otázka zní, jak zařídit, aby se vždy vykonal tento skript a ten pak teprve vykonal co má (načetl něco, nebo přešel na 404ku)?
Díval jsem se, jak je to udělaný třeba ve CodeIgniter frameworku, ale moc jsem to z toho teda nepochopil (resp. jsem tuto část nenašel).
Můžu sice přes .htaccess nastavit, aby se při 404 přesměrovalo na index.php, nicméně v tom frameworku pokud vím žádný .htaccess soubor taky není a funguje jim to.
No není mi to moc jasný. Jak byste to řešili vy?
Díky
19. 1. 2008 12:02:26
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37730
mikey
verified
rating uzivatele
(46 hodnocení)
19. 1. 2008 12:52:27
Jak to technicky rozparsovat, to je myslím každýmu jasný... Že to je jasný tobě ještě neznamená, že to je jasný všem:o)
Pokud jsem tě správně pochopil, tak chceš každou volanou adresu směrovat na index.php. Udělal bych to takhle:
do .htaccess
RewriteEngine On
RewriteRule ^(.*)$ index.php
v index.php zpracuješ volanou adresu a vrátíš obsah.
19. 1. 2008 12:52:27
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37729
Ji31
verified
rating uzivatele
19. 1. 2008 13:18:48
Napsal mikey;28975
Jak to technicky rozparsovat, to je myslím každýmu jasný... Že to je jasný tobě ještě neznamená, že to je jasný všem:o)
No ok, tak rozparsovat se dá např: pomocí funkce explode:
$path = explode("/", $_SERVER);
kdy v $path pak máme pole jednotlivých "adresářů". Stačí? ;)
Napsal mikey;28975
Pokud jsem tě správně pochopil, tak chceš každou volanou adresu směrovat na index.php. Udělal bych to takhle:
do .htaccess
RewriteEngine On
RewriteRule ^(.*)$ index.php
v index.php zpracuješ volanou adresu a vrátíš obsah.
Jak jsem psal, v .htaccess je mi to jasný (i když tebou uvedený způsob je logičtější), ovšem jak již zde bylo uvedeno, např. v tom frameworku to jde právě bez .htaccess, což je ten způsob, který mě zajímá, takže to nějak musí jít, jen naprosto nechápu jak...
19. 1. 2008 13:18:48
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37728
Ivan L.
verified
rating uzivatele
19. 1. 2008 13:28:51
A proč to teda nezpracováváš přímo ve stránce 404? Tak to někdy dělám já. Mám 404 a když zadanou url adresu můžu zpracovat tak ji zpracuju se status kódem 200 (buď přímo v ní nebo includnu index.php třeba). Když adresa "neexistuje", vložím do hlavičky status 404 a vypíšu na stránku text o neexistenci stránky.
19. 1. 2008 13:28:51
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37727
Ji31
verified
rating uzivatele
19. 1. 2008 13:31:19
Napsal Ivan L.;28979
A proč to teda nezpracováváš přímo ve stránce 404? Tak to někdy dělám já. Mám 404 a když zadanou url adresu můžu zpracovat tak ji zpracuju se status kódem 200 (buď přímo v ní nebo includnu index.php třeba). Když adresa "neexistuje", vložím do hlavičky status 404 a vypíšu na stránku text o neexistenci stránky.
To bylo samozřejmě první, co mě napadlo. Ale co uděláš ve chvíli, kdy si nemůeš na serveru nastavit vlastní chybový stránky?
19. 1. 2008 13:31:19
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37726
Ivan L.
verified
rating uzivatele
19. 1. 2008 13:36:36
Když si nemůžeš nastavit ani .htaccess a ani vlastní 404 tak jsi myslím v p*deli :) Musíš dát nějak serveru vědět co má dělat s neexistujícíma stránkama. To je první vrstva která zpracovává tvůj požadavek a bez .htaccess nebo vlastní 404 se dál neprobiješ. Jestli se pletu, tak mě nekdo opravte
19. 1. 2008 13:36:36
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37725
Ji31
verified
rating uzivatele
19. 1. 2008 13:46:32
Napsal Ivan L.;28981
Když si nemůžeš nastavit ani .htaccess a ani vlastní 404 tak jsi myslím v p*deli :) Musíš dát nějak serveru vědět co má dělat s neexistujícíma stránkama. To je první vrstva která zpracovává tvůj požadavek a bez .htaccess nebo vlastní 404 se dál neprobiješ. Jestli se pletu, tak mě nekdo opravte
No právě já jsem stejného názoru, proto právě nechápu, jak dochází ke zpracování v tom frameworku, protože tam není žádný .htaccess soubor není a ani to nejde přes 404ku. Prostě jsem to tam nikde nenašel..
19. 1. 2008 13:46:32
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37724
Ivan L.
verified
rating uzivatele
19. 1. 2008 13:57:58
Tak já tenhle framework neznám, ale když kouknu do jeho helpu tak vidím, že všechny požadavky jsou defaultně posílané na index.php. V případě, že ten index.php v url mít nechceš, musíš použít .htaccess
19. 1. 2008 13:57:58
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37723
Ji31
verified
rating uzivatele
19. 1. 2008 14:03:41
Nj, to beru. Toje právě ale to - jak docílit toho, aby se všechny požadavky defaultně posílali na index.php? Protože když ten framework stáhneš a rozbalíš, tak tam žádný .htaccess není a stejně ti to chodí na to index.php - to je to, co mě tak zaujalo. Ale asi se na to vykašlu a nakonec to přes ten .htaccess tejně udělám a hotovo.
Tak díky.
19. 1. 2008 14:03:41
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37722
mikey
verified
rating uzivatele
(46 hodnocení)
19. 1. 2008 14:08:20
Napsal Ji31;28985
Protože když ten framework stáhneš a rozbalíš, tak tam žádný .htaccess není...
Máš nastaveno něco jako "zobrazovat skryté soubory"? Je to sice trapná poznámka... Ale co kdyby:o)
19. 1. 2008 14:08:20
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37721
Ji31
verified
rating uzivatele
19. 1. 2008 14:09:29
Napsal mikey;28986
Máš nastaveno něco jako "zobrazovat skryté soubory"? Je to sice trapná poznámka... Ale co kdyby:o)
Jj, mám ;) ale v poho, taky už se mi to párkrát stalo :smoking:
19. 1. 2008 14:09:29
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37720
Ivan L.
verified
rating uzivatele
19. 1. 2008 14:14:37
Podle toho helpu je defaultní adresa example.com/index.php/cosi/kdesi s tím, že když chceš použít adresu example.com/cosi/kdesi/ tak musíš použít .htaccess. Jsi si jistý, že se ti zobrazují všechny skryté soubory v tvém správci souborů? Jestli na to koukáš třeba přes FTP a TotalCommanderu, tak tam se zobrazení těhle souborů musí zapnout.
19. 1. 2008 14:14:37
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37719
Ji31
verified
rating uzivatele
19. 1. 2008 14:22:08
Napsal Ivan L.;28990
Podle toho helpu je defaultní adresa example.com/index.php/cosi/kdesi s tím, že když chceš použít adresu example.com/cosi/kdesi/ tak musíš použít .htaccess. Jsi si jistý, že se ti zobrazují všechny skryté soubory v tvém správci souborů? Jestli na to koukáš třeba přes FTP a TotalCommanderu, tak tam se zobrazení těhle souborů musí zapnout.
Aha, celou dobu to mám před očima, ale až teď jsi mě s tím praštil do nosu! Už chápu... ono to totiž směřuje všechno přes index.php jenom se ten zbytek hodí za to...a případně se index.php schová. Jak jednoduché, jak prosté.
Nj, občas potřebuju před použitím zatřepat :banghead: .
Díkec :thumbup:
19. 1. 2008 14:22:08
https://webtrh.cz/diskuse/jak-parsovat-url-ve-tvaru-neco-neco#reply37718
Pro odpověď se přihlašte.
Přihlásit