Mod_ReWrite
 
HeXeR 12. apr 2007 10:04:38 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#1

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 :(


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 12. apr 2007 11:04:13 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#2

To, kar ti sprasujes nima prav nobene veze z mod_rewrite... Problem imas z relativnimi linki... Vse skupaj lahko resis tako, da zaenkrat, dokler imas stran na disku, v html head dodas naslednje:


<base href="http://IP/WEBS/domain.com/">
všeč(0) ni všeč(0) spam(0)
 
HeXeR 12. apr 2007 11:04:23 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#3

Carsko, zdaj pa dela, hvala ti ;).


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
HeXeR 12. apr 2007 12:04:07 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#4

Uh še ena stvar ...



kaže da nisem imel spremenljivke v php ... drugače pa več nevem kaj od tega je prav


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]
# RewriteRule ^(.*)/? view.php?a=$1 [L]
# RewriteRule ^(.*)/$ view.php?a=$1 [L]
# RewriteRule ^/view[0-9]+$ view.php?a=$1 [L]

rad pa bi imel /view.php/neka-slika.jpg oz. lahko brez jpg, to nima veze ... spremenljivka mora biti z jpg ... naslov pa ne rabi ...



kar je pa drug problem ... zbrisal sem htaccess, pa restartal apacheja ...




login as: root

root@213.157.255.'s password:

Last login: Sun Apr 8 00:16:59 2007 from cpe-213-157-255-
.dynamic.amis.net

Linux Spninx 2.6.18-4-486 #1 Wed Feb 21 15:25:16 UTC 2007 i686



The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.



Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

Spninx:~# /etc/init.d/apache2 restart

Forcing reload of web server (apache2)....

Spninx:~# /etc/init.d/apache2 restart

Forcing reload of web server (apache2)....

Spninx:~# /etc/init.d/apache2 restart

Forcing reload of web server (apache2)....

Spninx:~#




naredil nov htaccess pa dal noter RewriteEngine off pa mi mod-rewrite še vedno deluje :S, sicer nepravilno ker mi nikakor ne spravi spremenljivke v php ...



bi bilo lahko krivo da je mod_rewrite omogočen na celem serverju ? Ker sem ga malo prej inštaliral ... :S



Edit: Tole je že malo smešno, zdaj mi tudi na view.php/a/slika-1.jpg odpre ... slika-1.jpg pa kot spremenljivke še vedno ne spravi v php :@



Seveda ob vsem tem ... datoteke .htaccess ni ... :S



Edit2: Mam še tri page na serveru, pa na vse dela mod_reWrite ... torej je globalno omogočen ... no kakrokoli ... nebi izkalpljal, samo kako spravit tako da bil dobil iz naslov spremenljivko a, v php ?


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
HeXeR 12. apr 2007 14:04:18 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#5

Mogoče sem našel problem ... če vpišem v htaccess tole


Deny from all

si lahko lepo ogledujem stran ... mislim da apache .htaccess datotek ne upošteva, glede na to da mam že za 2 strani pravil za mod_rewrite, pa ne glede na to kak se mučim pa jih za in od komentiram ne dela ...



kje bi lahko pogledal če apache upošteva .htaccess ? Gre pa za Apache2, PHP5 na Debian GNU/Linux 4.0r0 (etch).


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
HeXeR 12. apr 2007 14:04:36 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#6

Če bo še kdo imel tak problem:




In case you have a VirtualHost directive make sure it includes "AllowOverride All" and not "AllowOverride None". Secondly, I was using the "RewriteBase /mydrupalsite_directory" as described above and the clean URLs was not working. When I comment that part out they became working. I guess if you already have a VirtualHost directive for that directory you shouldn't specify the RewriteBase.




V virtualhostu je bilo potrebno popraviti zapis default je namreč AllowOverride None.


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 12. apr 2007 14:04:37 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#7

Cisto nic ne razumem, kaj govoris, pa sem dvakrat prebral zadevo... Lahko to malo bolj pocasi in podrobno pojasnis?


všeč(0) ni všeč(0) spam(0)
 
HeXeR 12. apr 2007 14:04:40 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#8

Ja, najprej je bil problem, da Debian 4, po default nastavitvah nima mod_rewrite, ki sem ga inštaliral, potem nikjer spet ni pisalo da ga je potrebno še omogočiti, nato je bil problem v virtualhostu od apacheja, ker je bilo tam tole ... AllowOverride None zaradi česa se htaccess ni upošteval ... sem vse to uredil, in se vračam k učenju pravil za lepše urlje ... prej sem mislil da delam narobe, v resnici pa apache sploh ni upošteval tega kar sem jaz napisal ...


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 12. apr 2007 14:04:41 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#9

Okej :) ...


všeč(0) ni všeč(0) spam(0)
 
HeXeR 12. apr 2007 15:04:16 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#10

Takole, zdej mi je tole ratalo


RewriteEngine on
RewriteRule ^(.*)/$ view.php?a=$1 [L]

vendar je to kar od domene dalje recimo ../$1/, kako pa bi naredil da če bi bil vmes /view/ bi šlo preko view.php ?



mislim da bi moralo biti nekaj takega


RewriteRule ^/view/(.*)/$        view.php?a=$1 [L]

potem naj bi bil naslov tak ? /view/$1/ ? Vendar tole ne dela ... :( ... prva koda pošlje vso kodo za domeno kot spremenljivko v file view.php ... jaz pa bi mel takoj po domeni še vmes /view/ pa bi te spremenljivke šle v view.php ... itd ... kak bi to naredil ?


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se