» »

htaccess - ce obstaja - serviraj, v nasprotnem primeru ....

htaccess - ce obstaja - serviraj, v nasprotnem primeru ....

Lion29 ::

Torej tako...

mal me matrajo tejle rewrite rules-i...

namrec, moj namen je tak, da ce datoteka obstaja v file sistemu, potem jo direktno serviraj in USTAVI vse nadaljne preverjanje...

v kolikor ne obstaja, serviraj php skripto in nadaljuj z ostalim preverjanjem

datoteke se nahajajo v root/tmp direktoriju in sicer ena izmed:
D:/root/domena/tmp/cities/find_cities/10/0.json

moj cond in rule:

	RewriteCond	%{DOCUMENT_ROOT}tmp%{REQUEST_URI} -f
	RewriteRule 	^cities/find_cities/(.*).json$ 	/webroot/index.php?page=/cities/find_cities&%{QUERY_STRING} [QSA,L]


seveda mi ne dela (doh, ce ne nebi pisal sem)...

v rewrite logsih imam to:

127.0.0.1 - - [09/Jun/2011:11:11:12 +0200] [og/sid#375fe0][rid#2b221d8/initial] (4) [perdir D:/root/domena/] RewriteCond: input='D:/root/domena/tmp/cities/find_cities/10/0.json' pattern='-f' => matched
127.0.0.1 - - [09/Jun/2011:11:11:12 +0200] [og/sid#375fe0][rid#2b221d8/initial] (2) [perdir D:/root/domena/] rewrite 'cities/find_cities/10/0.json' -> '/webroot/index.php?page=/cities/find_cities&'
...............
...............


in se cel kup navlake naprej...

kje gresim?

prosim PLEASE, PLEASE help... going crazy ;)
Founder and CTO @ Article-Fatctory.ai
  • spremenil: Lion29 ()

misek ::

http://stackoverflow.com/questions/5469...

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /your_path/default.php [L]
</IfModule>

Lion29 ::

torej... meni ta del dela.... ko preverja ce FILETA NI!... problem je, da ko file JE.. takrat namesto da se ustavi, gre validirat se ves htaccess in ga "zjebe" preden ga izpise :|
Founder and CTO @ Article-Fatctory.ai

misek ::

Po moje si zgrešil samo v regularnem izrazu.

Lion29 ::

Torej tako:

	RewriteCond 	%{REQUEST_URI}  !^/tmp/?$
	RewriteCond	%{DOCUMENT_ROOT}tmp%{REQUEST_URI} !-f
	RewriteRule 	^(.*).jsonp$		/webroot/index.php?page=$1&presult=json&%{QUERY_STRING} [QSA,L]


Najprej imam to, ki preverja, da (slucajno) request uri vsebuje tmp in ce file ne obstaja v tmp direktoriju
potem serviraj index.php

TA DEL DELUJE... torej takrat ko fileta ni, se zalaufa PHP. no in php mi generira jsonp file in ga postavi v tmp dir


	
	RewriteRule 	^([^.]+).jsonp$		/tmp%{REQUEST_URI} [QSA,L]


naslednji del rules-ov.... karkoli ima jsonp koncnico, serviraj iz tmp mape.... Tisti prvi del zgoraj poskrbi da ce file ne obstaja pride request uri v index.php, tako da se ta del kode ne izvede....

ce pa file ne obstaja, se pa ta del kode izvede...

in po logsih dela...

AMPAK, jaz bi rad, da se dodatni rulesi, ki sledijo za temi NE IZVAJAJO v kolikor je jsonp koncnica...

NE morem zdaj jaz pred vsakim naslednjim pravilom dati novi condition, da ce vsebuje .jsonp da naj ga preskoci...
Founder and CTO @ Article-Fatctory.ai

misek ::

Potem pa poskusi v zadnjo izvedeno vrstico dodati last|L' (last rule).

Lion29 ::

RewriteRule ^(tmp) - [L]

samo to sem rabu dodat na vrh.... problem mu je bil, da ko je preusmeril v tmp dir, je zacel znova vse rule-se...in valda je potem ratal rule /tmp/tmp/....etc

tako da sem s tistim NA ZACETKU dopovedal, da mora samo enkrat procesirat, ce ima tmp notrka!

KOOONCNO... matr je slo 3/4 dneva brezveze...

no, ampak zdaj pa leti zadeva :D
Founder and CTO @ Article-Fatctory.ai


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Google font - (č,ž,š) delajo local, na hostu pa ne delujejo

Oddelek: Izdelava spletišč
82200 (1992) neoserv
»

mod_rewrite - prosim za nasvet

Oddelek: Programiranje
71273 (1149) carota
»

brez .html končnice

Oddelek: Izdelava spletišč
121826 (1266) RockyS
»

Rewrite preusmeritev v .htacess

Oddelek: Izdelava spletišč
6858 (704) Baja
»

Večni problem na sinfoniki. Ne znajo uredit MOD_REWRITE ?!

Oddelek: Izdelava spletišč
51333 (1209) Tody

Več podobnih tem