Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: .htaccess ja RewriteRule -probleemaa

xxmss [09.03.2015 03:27:53]

#

Moi!

Tarkoituksena .htaccess:lla vaihtaa olemattomien kuvatiedostojen tilalle kuvatiedostot, jotka ovat palvelimella.

xxmss [09.03.2015 15:37:43]

#

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ä?

Metabolix [09.03.2015 16:09:02]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta