Ako stavis RewriteBase da ti je script, onda ti ne treba script/ u prvom parametru, jer se to automatski skida. U principu j RewriteBase bitan samo kad se koristi i mod_alias da bi Apache umeo da se snadje gde s sta nalazi, ovako kako ti radis mozes slobodno da ostavis kao u prvom primeru i da onda rewrite-ujes celu putanju.
Dakle, nesto ovako:
Kôd:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^script/(.+) /$1 [R,L]
RewriteRule ^script/login(.*) /login.php [L]
RewriteRule ^script/admin/(.*)/? /admin.php?act=$1 [L]
RewriteRule ^script/(.*)/? /index.php?act=$1 [L]
Ovo bi moralo da sljaka, mada nisam probao... ako ne bude radilo, probaj da izmenis flagove da budu [R,L] tako da se uradi externi redirect, tako ces da vidis koju adresu on pokusava da dohvati, pa ce ti biti jasno gde je problem..
Ako isprobavas ovo u localu (ili imas pristup httpd.conf na serveru) onda je najbolje da dodas u definiciju virtuelnog hosta:
Kôd:
RewriteLog /neka/putanja/rewrite.log
RewriteLogLevel 5
log level podesi izmedju 2 i 10 na nivo detalja koji ti treba (petica je po meni sasvim dovoljna), pa onda lepo u njemu pogledaj sta se desava korak po korak...