grzelix
(Grzelix)
7 Maj 2010 18:16
#1
Przy przepisywaniu adresów url trafiłem na taką sytuację: mam dwie podobne reguły
RewriteRule ^([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1§ion=$2&vid_id=$3&title=$4
RewriteRule ^([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1§ion=$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
api
(Sitemaster)
7 Maj 2010 18:28
#2
RewriteRule ^([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1§ion=$2&vid_id=$3&title=$4 [L] RewriteRule ^([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1§ion=$2&mus_id=$3&title=$4 [L]
Poczytaj sobie o flagach.
grzelix
(Grzelix)
7 Maj 2010 18:59
#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.
api
(Sitemaster)
7 Maj 2010 21:22
#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§ion=$2&vid_id=$3&title=$4 [L]
RewriteRule ^mus-([^,]*),([^,]*),([^,]*),([^,]*).html$ /index.php?page=$1§ion=$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
(Grzelix)
7 Maj 2010 23:12
#5
Dzięki wielkie oto mi chodziło