Miksei urlencodella käsitelty osoite säily koko ajan samanlaisena vaan muuttuu selväksi? Elikkä jos on linkkinä "/Juttuja/viritt%C3%A4/" niin se tulee php skriptille tälläisenä "/Juttuja/virittä/". .htacces tiedostossa on tälläinen viritys tällä hetkellä
RewriteRule ^([a-zA-Z0-9äöÄÖ_]+)/([a-zA-Z0-9ÄÖäö%_+-]+)/$ index\.php?path=$1/$2&%{QUERY_STRING} [L]
Onko apachessa jokin asetus joka käskee sen dekoodaamaan osoitteen?
Eikös se ole ihan hyvä, että Apache urldekoodaa osoitteet automaattisesti? Mikä tässä on varsinainen ongelma?
Tietenkin se tulee PHP:lle tuossa muodossa, koska hakemiston nimi on "virittä" eikä "viritt%C3%A4". Jos haluat, voit erikseen luoda hakemiston "viritt%C3%A4", jolloin enkoodattu osoite on "viritt%25C3%25A4".
Enkoodaus on sitä varten, että saadaan erikoismerkit (mm. välit ja lainausmerkit) turvalliseen muotoon niissä paikoissa, joissa niistä voisi olla harmia (mm. HTML-koodissa ja HTTP-pyynnössä).
Kiitos selventävistä vastauksista. Olin tässä siinä luulossa että ne tulee enkoodattuna perille asti. Ongelma oli lähinnä siinä kun uudelleenohjauksessa oli sallittuina merkkeinä aluksi a-zA-Z0-9ÄÖäö_-, sitten alkoi tulee juttujen mukana erikoismerkkejä, jotka muutin turvalliseksi tällä urlencode. Luulin että riittä kun lisään lausekkeeseen %-merkin...
Nyt asia on selvä. Fiksumpaa onkin muuttaa säännöllinen lauseke htaccesista (.*) muotoon.
Aihe on jo aika vanha, joten et voi enää vastata siihen.