Stránka 1 z 2

[PHP] Jak prakticky vyřešit mod_rewrite ?

Odeslat příspěvekNapsal: 3. 1. 2007 16:20
od lví srdce
Už jsem ze všech parametrů, závorek, lomítek a otazníků celý paf
Pomůže mi někdo vyřešit praktický příklad ... prosím.

Mám adresu:
http://www.cokoliv.cz/?p=productsMore&iProduct=5

Co mám napsat do .htaccess abych dostal
http://www.cokoliv.cz/neco-pekneho

Děkuji za radu.


// mbing : Téma přesunuto ● z Programování do Tvorba webových stránek a aplikací.

Odeslat příspěvekNapsal: 3. 1. 2007 19:16
od Z@chi
tohle se tady resilo uz mnohokrat a na internetu je i hodne tutorialu.
Vytovoris si soubor, do ktereho budes smerovat sve odkazy. tedy napriklad index.
A pomoci regularnich vyrazu v .htaccess si potom vytvoris podminku.

Jednoduse to muzes udelat treba takto:
Kód: Vybrat vše
RewriteEngine on
RewriteRule     ^(.*)$   /index.php?q=$1 [L,QSA]

- to je velice jednoduchy priklad.

Odeslat příspěvekNapsal: 3. 1. 2007 22:39
od lví srdce
Bylo to tu mnohokrát to vím, ale ze všech článků co jsem prošel mi žádný nepodal ucelený obraz. Chápu že v .htaccess musím zapnout mod_rewrite, pak nějakou hatmatilkou :) zadat co se má dít čož sám nevytvořím a potom ten nějaký soubor, do kterého směřuji odkazy, to slyším dnes prvně ...

Odeslat příspěvekNapsal: 3. 1. 2007 22:44
od cache
Ak to mas na freehoste, tak predpokladaj, ze mod_rewrite, ci dokonca .htaccess ani nefunguje.

Jednoduchsie (hlavne pre neznalca) je pouzivat toto:

http://www.cokoliv.cz/index.php/neco-pekneho

Vzdy sa zavola index.php v REQUEST_URI budes mat potom "/index.php/neco-pekneho" a z toho si vies velmi jednoducho ziskas to "neco-pekneho".

Alebo v PATH_INFO mas "/neco-pekneho" (tusim).

Samozrejme namiesto index.php mozes mat akekolvek php, nemusi to byt nutne index.php.

Odeslat příspěvekNapsal: 3. 1. 2007 22:51
od Zorg
Máš to trochu popletené, mod_rewrite směřuje adresy http://www.cokoliv.cz/neco-pekneho na http://www.cokoliv.cz/?p=productsMore&iProduct=5 ne obráceně. Ty mu potom jenom píšeš pravidla co kam má směrovat a jak. Skvělá dokumentace s hromadou příkladů je tady: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html To cos napsal ty bohužel není praktický příklad.

Odeslat příspěvekNapsal: 3. 1. 2007 23:28
od Gigi
Asi nejlepší metodou pro tebu bude něco jako:
Kód: Vybrat vše
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


V souboru index.php pak podle $REQUESTED_URI zobraz prislusny obsah stranky.

Odeslat příspěvekNapsal: 4. 1. 2007 08:36
od lví srdce
Co mi píšete je všechno moc pěkné, každý mi dá kousek do skládačky ... ale pořád mi tam neco chybí ... nehnu se z místa. Server mi .htaccess umožňuje, jinak bych se ani neptal. Ale co tam do něj přesně napsat :)

Odeslat příspěvekNapsal: 4. 1. 2007 16:30
od Zorg
Nenapsal jsi co chceš, nevím co ti napsat. A cos napsal je blbost, mod_rewrite ti z /neco.php?hromada_divnychparametru=blabla nikdy neudělá /neco-pekneho, jak píšeš odkazy je jen a jen na tobě.

Odeslat příspěvekNapsal: 4. 1. 2007 17:11
od lví srdce
Teď už to vím, že co jsem napsal je blbost... najde se prosím nějaký mooc vzdělaný pán v PHP a vyřeší tento pro mě zapeklitý problém ? Kuju

Odeslat příspěvekNapsal: 4. 1. 2007 17:28
od 2ge
vsetko to tu uz mas napisane, ak ti to nepomohlo hladaj viacej na nete. V php si daj vypisat print_r($_REQUEST) - z@chiho riesenie v druhej odpovedi pouzivam aj ja (zjednodusene) a vsetko slape ako ma. Co sa tyka PHP, daj si toto vypisovat a linky zobrazuj ako http://nieco.com/pekne/url a uvidis sam co to bude robit a podla toho koduj dalej.

RewriteEngine

Odeslat příspěvekNapsal: 4. 1. 2007 17:43
od kecso
vyskúšaj toto


RewriteEngine on
RewriteRule ^neco-pekneho/ /index.php?p=productsMore&iProduct=5

Odeslat příspěvekNapsal: 4. 1. 2007 18:05
od lví srdce
Abych uvedl vše na pravou míru ... v PHP jsem lama a jediná věc co musím udělat v php je pouze právě hezká adresa.

Všechno zkouším na straně serveru. Výše uvedené příklady prostě zkopíruju do .htaccess a pak se těším, že je hotovo a nic. Myslím si že mi uniká ta souvislost, že je třeba zasáhnout do index.php, což je pro mě dost nepohodlné.

Odeslat příspěvekNapsal: 4. 1. 2007 19:04
od babca
Zorg píše: To cos napsal ty bohužel není praktický příklad.k/quote]

No ale pokud nemá rewrite povolenej, tak jediná možnost...

To Lví srdce: jede ti vůbec htaccess?

Odeslat příspěvekNapsal: 4. 1. 2007 19:28
od lví srdce
Jasně že jede ... hosting mam u Active 24

Odeslat příspěvekNapsal: 4. 1. 2007 20:14
od Zorg
babca píše:
Zorg píše: To cos napsal ty bohužel není praktický příklad.k/quote]
No ale pokud nemá rewrite povolenej, tak jediná možnost...
./quote]

Myslel jsem to jinak, že to není otázka, na kterou se dá odpovědět. Něco jako by ses zeptal "jaký je u nás počasí" a neřekl kde jsi.

Výše uvedené příklady ani jeden nefungují, protože už z principu nemůže existovat žádný obecný návod, který jenom zkopíruješ a jedeš. Navíc ti podle mě zatím pořád nedochází, že kromě zprovoznění mod_rewrite budeš muset projít celý kód webu a upravit generování odkazů na ty hezký (samozřejmě pokud jsi nepoužil už hotový systém, který by s tím počítal, třeba Drupal). Tedy vycházím z toho, že se snažíš o hezká URL pro celý web, ne jenom to jedno :-)