Autor | Zpráva | ||
---|---|---|---|
LukasHula Profil |
#1 · Zasláno: 13. 11. 2013, 13:11:23
Ahoj přátelé,
docela delší dobu si lámu hlavu s tím, jak udělat friendly URL bez identifikatoru čili nechci tam číslo, ale jen název. Něco jsem prostudoval i zde, něco tak různě, ale nic pro mě, zatím, nebylo dostatečně uspokojivé. Má potřeba je ta, že v tuto chvíli mám adresu detailu produktu př: example.com/1-k-www-1-p-www-prezentace, ale to je strasny. Chtel bych, aby to bylo example.com/www/www-prezentace. U kategorii je to obdobne, tam mam example.com/1-kategorie-www a potřebuji example.com/www. Sledoval jsem napriklad i jak to ma resene wordpress, ale dostal jsem se vzdy tam, kde skoncim sam, a sice, ze si vytahnu potrebny alias z db, ale nevim, nejde mi do hlavy to, kdyz do url zadam example.com/www, podle ceho to pozna? kam mam to id dat, abych ho mohl prepsat? nejak me toto trapi a potreboval bych skutecne poradit jak na strane htaccess, tak na strane php. Moc dekuji za Vase zkušenosti!!! |
||
Radek9 Profil |
#2 · Zasláno: 13. 11. 2013, 13:19:19
Univerzální obecné pravidlo. A potom rozparsovat v PHP.
|
||
LukasHula Profil |
#3 · Zasláno: 13. 11. 2013, 13:38:04
Radek9:
děkuju, toto tam v podstatě v htaccess mám... v podstate jestli spravnu dobre to php, tak ja budu jako parametr misto id predavat jmeno cili neco ve smyslu: example.com/page=category&cat=www (predtim jsem mel example.com/page=category&cat=1) a potom dam dotaz do db, abych ziskal z nazvu id? Nebo se mylim? |
||
maks Profil |
#4 · Zasláno: 13. 11. 2013, 13:40:54
LukasHula:
ne, example.com/?page=www/www-prezentace, v GET['page'] pak bude ten string, na který použiješ explode. $explode[0] - kategorie $explode[1] - produkt |
||
LukasHula Profil |
#5 · Zasláno: 13. 11. 2013, 13:52:21
maks:
takhle, parametr $page, mam jako indícii k tomu, jestli jde o produkt, stránku, kategorii, novinku,... ale ok, to je srozumitelne... ale kdyz mam tedy 2 parametry (nazev kategorie, nazev produktu), jak poznam, co se ma vykonat? myslim tim v htaccess, jak mu dam najevo, ze jednou je to jen vypis kategorie a jednou detail produktu? |
||
Radek9 Profil |
LukasHula:
O tohle se ti vůbec nestará .htaccess. To si musíš ošetřit v PHP. Pokud /nazev-kategorie znamená zobrazení článků z kategorie a /nazev-kategorie/nazev-clanku znamená zobrazení daného článku, tak jen ověřuje jestli je prvek na indexu 1 prázdný. |
||
LukasHula Profil |
Radek9:
aha... diky... furt se mi to mota. A kdyz mam tedy adresu kategorie/produkt, tak mi to nejde, ale samotna kategorie ano toto mam v htaccess RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?page=category&cat=$1 [QSA] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?page=detail&cat=$1&det=$2 [QSA] neni to tim lomitkem, ze mi to zablbne? kategorie/produkt???? |
||
Kajman Profil |
#8 · Zasláno: 13. 11. 2013, 15:25:10
LukasHula:
„cat=$1&det=$2“ Co očekáváte v $2 (obsah druhé závorky), když máte v pravidle vlevo jen jedinou závorku? Navíc je vhodné dávat konkrétnější pravidla na začátek, obecnější na konec. A RewriteCond se vzhaují jen k následnému RewriteRule. |
||
LukasHula Profil |
Kajman:
jj, uz jsem tam pridal zavorku navic, vsiml jsem si, jak jsem to sem vlozil, diky za postreh čili ted to mam takto RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)/(.*)$ index.php?page=detail&cat=$1&det=$2 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?page=category&cat=$1 [QSA] ale stale neco blbne... hazi me to do rootu |
||
Kajman Profil |
#10 · Zasláno: 13. 11. 2013, 15:32:26
LukasHula:
„hazi me to do rootu“ To nebude zmíněnými pravidly. |
||
LukasHula Profil |
#11 · Zasláno: 13. 11. 2013, 15:34:20 · Upravil/a: LukasHula
Kajman:
nemuze to byt tim /produkt??? jako ze lomitko to bere jako presunuti a ne jen podstrceni? Zkousim stale a porad se mi nezobrazuje detail produktu. Kategorie je spravna, ale detail nikoli. To mi ukaze nenastylovanou stranku, jako kdyby to skutecne chtelo jit do nejakeho adresare. Ja myslel za ta podminka rewriteCond to ma zamezit nebo je tedy problem v necem jinem? Diky |
||
Davex Profil |
#12 · Zasláno: 13. 11. 2013, 18:29:49
LukasHula:
„To mi ukaze nenastylovanou stranku, jako kdyby to skutecne chtelo jit do nejakeho adresare.“ Ano, lomítko považuje každý normální prohlížeč za adresář a při vyhodnocování relativních cest ho používá. Na server se dostane až výsledná absolutní cesta, takže to na serveru ovlivnit nejde. Používej kořenové adresy. |
||
LukasHula Profil |
#13 · Zasláno: 13. 11. 2013, 18:54:51
Davex:
diky, ale ani toto mi nepomohlo... uz jsem z toho ponekud zoufaly, protoze nevim, jak to posunout o ten finalni kousek... |
||
Časová prodleva: 12 let
|
0