RewriteEngine on
RewriteBase /
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ index.php?query=$1 [QSA] [L]
takyto mam htaccess, a odkedy ho mam tak mi nejdu ukladat obrazky do suboru cez formulare, zrejme sa mi to tam nejak prepisuje.
po jednej hodine hladania na nete som to vzdal a obraciam sa na vas o radu.
predtym som ziadny htacess nemal, a vsetko slapalo, ked som teraz presiel na verziu s peknymi url, tak vznikol problem.
dakujem za riesenie
formular vyzera nejak takto:
<form method=post action="/sendphotos/" enctype="multipart/form-data">
....
<input type="file" size="42" name="foto1" value="<? if ($foto1) echo "$foto1";?>">
...
len pre ilustraciu... neviem ci sa to da ovplivnit aj tym prvym riadkom enctype="multipart/form-data"
Mimo přikládané soubory funguje formulář v pohodě? Tedy jestli se má opravdu přesměrovávat na index.php?query=sendphotos a neztrácí POST data.
Další věc se ale už týká opravdu rewrite pravidla:
a) Přesto, že používáš RewriteBase, bylo by asi lepší v redirectu použít lomítko: /index.php?query=$1
b) Druhá možnost je případného použití mod_proxy (a flagu P), ale nejsem si jistý, jestli by to opravdu bylo řešení.
Parametr enctype="multipart/form-data" býval důležitý pro použití input type="file" ve formuláři. Bez něj formulář souborová data neposílal (i když kdoví, možná že některé nové prohlížeče tenhle atribut už ignorují).
Pro zkoumání skutečeného přesměrování doporučím doplněk LiveHTTPHeaders pro Firefox ;)
normalne vsetky posty funguju, dokonca som si dal vypisat aj vsetko co posiela a dokonca to aj posiela ale akosi mi to stale nechce zapisat na server, predtym mi to islo ked som nemal mod rewrite:
ked dam var_dump($_FILES); tak mi to vypise:
array(5) { ["foto1"]=> array(5) { ["name"]=> string(12) "1_6417_0.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(39) "/domains1/do830700/public/tmp/phpoctAPb" ["error"]=> int(0) ["size"]=> int(520652) } ["foto2"]=> array(5) { ["name"]=> string(13) "1_6537_0b.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(39) "/domains1/do830700/public/tmp/php0Nf7k9" ["error"]=> int(0) ["size"]=> int(148282) }
takze to aj posiela, ale myslim ze ten mod rewrite mi to akosi cele dokasle
tu tvoju vetu:
b) Druhá možnost je případného použití mod_proxy (a flagu P)
zatial nepoznam... mas konkretne riesenie? jak to zapisat?
sakris uz som na to dosiel!
bez rewrite modu stacilo k suboru z formulara pristupovat takto:
if ($foto1) ....
po spusteni mod rewrite vsak trebalo pristupovat takto:
if ($_FILES["foto1"]["name"])....
zdroj obrazku:
$_FILES["foto1"]["tmp_name"]
neviem naisto ci je to sposobene mod rewritom, alebo menili nastavenia servera, ale kor je to tym rewritom... ak sa mylim tak ma opravte, podstatne je to ze mi zasa funguje nahravanie obrazkov...