Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: urlenocde ja osoitteen välittyminen

nixfan [21.06.2011 12:31:39]

#

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?

-tossu- [21.06.2011 12:38:42]

#

Eikös se ole ihan hyvä, että Apache urldekoodaa osoitteet automaattisesti? Mikä tässä on varsinainen ongelma?

Metabolix [21.06.2011 12:56:26]

#

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ä).

nixfan [21.06.2011 15:04:25]

#

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.

Vastaus

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

Tietoa sivustosta