Moi!
Tarkoituksena .htaccess:lla vaihtaa olemattomien kuvatiedostojen tilalle kuvatiedostot, jotka ovat palvelimella.
Kerron ongelmani hieman toisella tavalla...
RewriteBase /images/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)_(.*)1200x900.jpg esitt_$21200x900.jpg RewriteRule (.*)1200x10.jpg esitt1200x10.jpg RewriteRule (.*)670x10.jpg esitt670x10.jpg [L]
Kun nettiselaimella menee esim. osoitteeseen myexamplewebsite.com/liigasu.shtml (ei alihakemistossa oleva sivu), haluaisin ohittaa kaikki RewriteRulet.
Kun nettiselaimella menee alihakemistossa olevalle sivulle (esim. myexamplewebsite.com/kemii/liigasu.shtml), RewriteRulejen pitäisi tehdä seuraavaa:
(.*)_(.*)1200x900.jpg -> esitt_$21200x900.jpg
(.*)1200x10.jpg -> esitt1200x10.jpg
(.*)670x10.jpg -> esitt670x10.jpg
Miten tämä olisi tehtävissä?
Periaatteessa voit tehdä ehdon, jossa tarkistat viittaavan sivun (RewriteCond %{HTTP_REFERER}
). Selaimen ei ole pakko ilmoittaa tätä tietoa, joten et voi luotettavasti tietää htaccess-ehdoissa, miltä sivulta kuvia pyydetään.
Selainhan ei tiedä htaccess-ehdoista, joten jos sivulla A on kuva x.jpg ja sivulla B on kuva x.jpg, selain olettaa, että ne ovat sama kuva, ja lataa ideaalitilanteesta vain ensimmäisen kuvan. Jos siis muuttaisit kuvan ohjausta vain yhdellä sivulla (niin, että x.jpg onkin kaksi eri kuvaa), kävisi niin, että käyttäjä näkisi edelleen molemmilla sivuilla saman kuvan, mutta kuva riippuisi siitä, kummalla sivulla käyttäjä käy ensin.
Siis luultavasti järkevintä olisi laittaa sivulle /kemii/liigasu.shtml kuva /kemii/x.jpg ja tehdä sitten sille sopiva htaccess-sääntö, jottei tule sekannusta ylempänä olevan /x.jpg:n kanssa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.