PDA

Pogčedajte punu verziju : [mod_rewrite] - Problem sa brojem parametara


mb_sa
08. 03. 2008., 18:16
Pozdrav svima!

Imam fajl file.php koji može imati sljedeća "stanja", tj. parametre:

(1) file.php
(2) file.php?akcija=k&id=12
(3) file.php?akcija=p&id=16
(4) file.php?akcija=a&id=17
(5) file.php?akcija=a&id=13&autor=1
(6) file.php?akcija=a&id=13&tag=mod_rewirte

Uz pomoc mod rewrite bi treba da dobijem sljedeći oblik linkova:

(1) file.htm
(2) filek-12.htm
(3) filep-16.htm
(4) filea-17.htm
(5) filea-13-1.htm
(6) filea-13-modrewrite.htm

Sa ovim pravilima ispod će raditi "stanja" (1), (2), (3) i (4)

RewriteRule file.htm file.php
RewriteRule kategorija(.*)-(.*)\.htm$ file.php?akcija=$1&id=$2

Kada na slican fazon napisem pravilo za (5) ili (6), onda dodje do brkanja pravila i parametara, što je i logicno
jer "stanje" (5) ima 3 parametra, od toga 2 ista za "stanje" (4)!

Znaci, meni bi u ovoj situaciji odgovaralo jedano pravilo sa maximlano 3 parametra od kojeg treći nije obavezan.

Također, nisam siguran da bi mogao da dobijem filea-13-1.htm i filea-13-modrewrite.htm sa ovakom struktruom linkova??!!

Nadam se da sam dovoljno objasnio svoj problem, te se nadam vasoj pomoci i svajetima.

lijep pozdrav,
mb

ivanhoe
08. 03. 2008., 22:36
nije ti dobra sema, jer sta ako ti je tag neki broj, kako ces razlikovati slucaj 5 i 6?

mb_sa
09. 03. 2008., 07:10
nije ti dobra sema, jer sta ako ti je tag neki broj, kako ces razlikovati slucaj 5 i 6?

Da, to sam i ja mislio! Imas li neki prijedlog?

Hvala!

cvele
09. 03. 2008., 18:51
napamet:

RewriteRule file([a-zA-Z]+)-([0-9]+)-([0-9]+)\.htm$ file.php?akcija=$1&id=$2&autor=$3
RewriteRule file([a-zA-Z]+)-([0-9]+)-([a-zA-Z]+)\.htm$ file.php?akcija=$1&id=$2&tag=$3

sa preduslovom da tag nemoze sadrzati broj... takodje bi moglo da se uradi sa nesto labavijim pravilom, odnosno da tag mora pocninjati slovom

mb_sa
09. 03. 2008., 19:10
Cvele,
prvobitni mi problem je sto što skripta brlja parametre.

Npr. kod linka "filea-13-1.htm" valjda zbog pravila 1, 2 i 3 akcija je a-13, a
trebalo bi da bude akcija=a, a id=13

Ova ispod pravila bi će mi pomoci da riješim probelm koji je spomenuo ivanhoe, a kojeg sam se i ja "bojao". Mogao bih osigurati da tag ne bude samo broj!

Hvala na odgovoru!

pozdrav,
mb

napamet:

RewriteRule file([a-zA-Z]+)-([0-9]+)-([0-9]+)\.htm$ file.php?akcija=$1&id=$2&autor=$3
RewriteRule file([a-zA-Z]+)-([0-9]+)-([a-zA-Z]+)\.htm$ file.php?akcija=$1&id=$2&tag=$3

sa preduslovom da tag nemoze sadrzati broj... takodje bi moglo da se uradi sa nesto labavijim pravilom, odnosno da tag mora pocninjati slovom