Mod rewrite, jak to jest z tą kolejnością?


(Grzelix) #1

Przy przepisywaniu adresów url trafiłem na taką sytuację: mam dwie podobne reguły

RewriteRule ^([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1&section=$2&vid_id=$3&title=$4 

RewriteRule ^([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1&section=$2&mus_id=$3&title=$4

które różnią się tylko tym: vid_id i mus_id

i teraz w zależności która reguła jest pierwsza to ta sekcja działa a druga nie

czy mógłby mi ktoś wytłumaczyć dlaczego tak się dzieje lub chociaż powiedzieć co zrobić by obie sekcje działały poprawnie


(Sitemaster) #2

Poczytaj sobie o flagach.


(Grzelix) #3

Co prawda nie zagłębiałem się w manuala mod rewrite i nie znam znaczenia flag (pewnie zaraz to nadrobie), jednak jeśli ta flaga [L] miała pomóc w moim problemie to niestety nie pomaga.


(Sitemaster) #4

Może źle zrozumiałem.

Chodzi Ci o to, żeby obie te reguły działały jednocześnie ?

Jeżeli tak, to musisz je rozróżnić jakoś warunkami dopasowania

np

RewriteRule ^vid-([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1&section=$2&vid_id=$3&title=$4 [L]

RewriteRule ^mus-([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1&section=$2&mus_id=$3&title=$4 [L]

Inaczej niby skąd ma wiedzieć czy adres a,b,c,d.html przepisać na vid_id czy na mus_id ?


(Grzelix) #5

Dzięki wielkie oto mi chodziło