PDA

Pogčedajte punu verziju : crtica u reg_exp u mod_rewrite


Aleksandar.Ilic
16. 02. 2009., 22:23
Osecam se i malo glupo zbog ovog pitanja, al ne mogu da skontam vec par sati sta je problem

Ali u cemu je problem sa ovim
RewriteRule ^([a-z0-9\-_]+)

A ovo radi:
RewriteRule ^([-_a-z0-9]+)

ivanhoe
16. 02. 2009., 23:21
ne bi smelo da bude problema, sem ako to printas kroz nesto pa ti to pojede \escape

Aleksandar.Ilic
16. 02. 2009., 23:37
.htaccess ...

RewriteRule ^([-_a-z0-9]+)/$ category.php?id=$1 [L]
ovo radi

RewriteRule ^([\-_a-z0-9]+)/$ category.php?id=$1 [L]
Ovo mi daje 404 error za isti url

ivanhoe
17. 02. 2009., 00:33
na mom serveru (apache 2.2) oba regexa isto rade?

ako mozes ukljuci RewriteLog (mora u httpd.conf) pa vidi sta se tacno desava.. ako ne, stavi spoljni redirect [R] pa vidi gde te baca u ovom slucaju koji ne radi..

kalkulus
18. 02. 2009., 15:52
probaj da - stavish na kraj liste karaktera. imao sam slican problem jednom i mislim da je ovo bilo reshenje

RewriteRule ^([_a-z0-9\-]+)/$ category.php?id=$1 [L]

ili mozda i bez escapeovanja(kako se ovo kaze na srpskom?)

RewriteRule ^([_a-z0-9-]+)/$ category.php?id=$1 [L]

ivanhoe
18. 02. 2009., 17:27
hmm, escape-ovanje bi moralo da radi, crtica je specijalni karakter unutar [] i sem na pocetku i kraju mora da se escape-uje

kalkulus
18. 02. 2009., 18:36
u pravu si, mora da se escapeuje, ali svakako neka proba da je stavi na kraj

Aleksandar.Ilic
19. 02. 2009., 16:49
nisam jos ukljucio log ili probao redirect, imam dosta posla, pa nikako da probam.

Ali inace, probao sam da bude i na kraju, i ne radi. Pada mi na pamet da nije sam fajl nesto sjeban :(