Mod_ReWrite
13 naročnikov
13 naročnikov
Imam vprašanje glede mod rewrite ...
prej nisem delal z mod rewrite, sedaj pa sem naredil page, pa dodal mod rewrite, zadeva dela ... poskusno :)
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
RewriteRule ^([a-z0-9]+)/? view.php?a=$1 [L]
ker stvari še nimam na domeni ampak na http://IP/WEBS/domain.com/ ... zato so vse poti nekako tako:
src="PIC/avto1.jpg", tudi v linkih ...
problem nastane oz. je že ... ko imam mod rewrite pa grem recimo na tak link
http://IP/WEBS/domain.com/view.php/test_image.jpg
sicer spremenljivko test_image.jpg dobim v php vendar je stran brez CSS ker je tudi tam pot podana NEKAJ/css.css in ne http://IP/WEBS/domain.com/NEKAJ/css.css ...
no sedaj pa me zanima če se da to kako drugače rešiti ali morem iti pa sprenit vse poti, slike, css, linki ... ? Vse to namreč kaže narobe, namesto od http://IP/WEBS/domain.com/ kaže od http://IP/WEBS/domain.com/view.php/ naprej ..... :S :(
69 odgovorov
V bistvu, meni se ne da je*at s tem RegEx pa vse to ... pa imam tako
RewriteRule ^(.*)/$ index.php?url=$1 [L]
pa s PHP tako:
$urlarray = explode("/", htmlspecialchars($GET["url"], ENT_QUOTES));
Jah, mislim, da ne razumes povsem, kaj RewriteRule dela :)
Zadeva, ki sem ti jo napisal, vzame URI v obliki /verses/ljubezenski/ in ga prevede v /?page=verses&category=ljubezenski
To pomeni, da se URIja /verses/ljubezenski/ in /?page=verses&category=ljubezenski obnasata povsem enako, to je pa vse, kar zadeva naredi. Nikakor ti ne spremeni linkov v HTMLju in nikakor ne redirecta iz /?page=verses&category=ljubezenski na /verses/ljubezenski/, kar ti ocitno pricakujes :) To obnasanje bi sicer lahko tudi dosegel, ampak z nekaj vec motoviljenja...
Ja, sej dosti motovilim :D, pa vem da se tako na dela, pa je*eš :D, tisto mi pač ni všeč, pa to kar imam jaz je univerzalno, drugače pa moreš za vsak page pisat, pa še jazdelam page z nule, pri njem bi bil problem, ker bi mogo vse spreminjat.
HeXeR, prav nic nisem rekel tebi, odgovor je bil namenjen lavtarju...
Je pa res, da tudi ti motovilis, ja :)
Ajaaaaaa, saj res. Najlepša ti hvala za tole!
Je pa res da mi še zdaj ne dela. Sedaj imam tisto kodo ki si jo ti predlagal:
Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^/([^/]+)/([^/]+)/$ /?page=$1&category=$2 [L]
Pa vtipkam
http://www.verzi-verzi.info/verses/ljubezenski/
Pa ne dela...
Aha, zadevo imas v .htaccess :) Samo skini uni prvi slash... takole:
RewriteRule ^([^/]+)/([^/]+)/$ /?page=$1&category=$2 [L]
Mu že dela :D, tole še dodaj v head
[HTML]<base href="www.verzi-verzi.info" />[/HTML]
oz. če bo Vini povedal kak boljši način ?