Mod_rewrite pomoć

Pozdrav svima,

Mučim se već danima da pokušam neke primjere prilagoditi, ali ne uspijevam.

Imam tri vrste linkova
a) index.php?c=ime-kategorije (prikaz određene kategorije, odnosno postova unutra)
b) index.php?c=ime-kategorije&p=2 (isto prikaz kategorije, ali sa paginacijom
c) index.php?c=ime-kategorije&post=naslov-blog-posta&ID=555 (prikaz određenog blog posta)

i pokušavam napravit url rewrite na
a) domena.com/ime-kategorije
b) domena.com/ime-kategorije/2
c) domena.com/ime-kategorije/naslov-blog-posta/555

Ako netko može pomoći sa primjer bio bih zahvalan.

LP

Mogao bi pokušati nešto ovako:

RewriteEngine On

RewriteRule ^(.*)/(.*)/([0-9]+)/?$ index.php?c=$1&post=$2&ID=$3 [NC,L]
RewriteRule ^(.*)/([0-9]+)/?$ index.php?c=$1&p=$2 [NC,L]
RewriteRule ^(.*)/?$ index.php?c=$1 [NC,L]

Nisam testirao lokalno pa se ispričavam ako ne radi.

Moraš znat da ako prva 2 pravila ne budu zadovoljena, treće će sigurno biti pa imaj to na umu kad budeš obrađivao request u kojem je definiran samo parametar c (primjer /ime-kategorije/ime-podkategorije/ će ti ući pod ovo pravilo i c će biti c=ime-kategorije/ime-podkategorije)

Hvala na pomoći igore!

Pokušao sam ubaciti spomenuti kod, ali stvaraju se neki drugi problemi.

Imam lokalno xampp i testni web se nalazi u jednom folderu (u odnosu na root)
Kao što vidiš sve pozivam preko index.php i na temelju querystringa prikazujem sadržaj.

To sve radi uredno dok ne ubacim tvoj kod u .htaccess

Nakon toga ni prikaz preko querystringa ne radi dobro.

U index.php sam napravio test.
Kada je otvoren samo index.php bez ikakvog querystringa u nastavku ovo očitavam:

C: <?php echo isset($_GET['c']) ? $_GET['c'] : '' ?>
rezultira sa:
C:index.php

Znači nakon postavljanja koda u .htaccess on prazni querystring čitao kao index.php

Hvala na pomoći!

Malo sam istraživao i čini se da samo zadnja linija radi probleme.

Znači:
RewriteRule ^(.*)/?$ index.php?c=$1 [NC,L]

Kad nju obrišem, prva dva rula rade uredno.