udvozlet!
szerk: redukaljuk a problemat:
apache(2) azt csinalja alapbol (legalabbis debian/lenny alatti alapertelmezett beallitas, de mashol is lehet latni), hogy egy
http://vala.hol/konyv/tar
cim begepeleskor egy R=301-el ter vissza, es atiranyit a
http://vala.hol/konyv/tar/
cimre, majd teszi a dolgat tovabb (directoryindex, listing, stb). ezt hogyan lehet kikapcsoni a fenebe? (azaz az apache csak siman tegye a dolgat, es ne terjen vissza R=301-gyel?)
erdeti problemakor: (( a problema-sorozat a kovetkezo", ha valaki tudna segiteni es/vagy latott ilyesmit:
1. (hatter) talan ismert jelenseg: apache(2) azt csinalja alapbol (legalabbis debian/lenny alatti alapertelmezett beallitas, de mashol is lehet latni), hogy egy
http://vala.hol/konyv/tar
cim begepeleskor egy R=301-el ter vissza, es atiranyit a
http://vala.hol/konyv/tar/
cimre, majd teszi a dolgat tovabb (directoryindex, listing, stb).
2. (hatter, kozelebb a problemahoz) mod_rewrite: egy teljes
RewriteRule ^(.*)$ ...
direktivanak az lenne a dolga, hogy minden kerest felulirjon ugy, ahogy. pl erre, hogy
index.php?query=$1 [L,QSA]
, ez oke.
3. (megkozelebb a problemahoz) ha $1 egy letezo" file kiterjesztes nelkul, akkor ezt a fentebbi rewrite-t nem hajtja vegre. oke, ez kikapcsolhato egy
-MultiViews
opcioval.
4. (a problema) azt kellene csinalni, hogy a fentebbi rewrite-t egy
/static
konyvtar kivetelevel kene megcsinalni. nosza:
RewriteCond %{REQUEST_URI} !^/static/.*$
. ez teljesen jo, leszamitva hogy a
/static
(a vegen / nelkul) kivetelevel nem mukodik. ez viszont nagyon nem: a (3) pont ellenere az (1) pont me'g eletben van, a (2)-t pedig reszlegesen alkalmazva egy teljesen patetikus
/static/?query=static
-t ad vissza a rewrite utan mindezt R=301-gyel (valoszinuleg biztos, mert a bongeszo url-jet felulirja), es a (4)-est barhogy kiegeszitve sem gyogyul meg, raadasul valahogy mintha osszetenne' a kis agya'ban a directoryindex opciot (i.e. tkp hogy a (2) pontban index.php-t adok meg az mindegy, lehetne akar az pl main.php is). kerdes: ezt hogyan lehet athidalni? ))
thx, a.