⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Puhtaat URL:it yhdellä rivillä

Ehkä tässä on harhaanjohtava otsikko. Ehkä ei. Avaamalla nettisivuston .htaccess-tiedoston ja lisäämällä siihen tämän blogimerkinnän lopussa sijaitsevan tempun, voi nettisivujen osoiterakenteen muuttaminen "puhtaaksi" olla mahdollista. Usein manuaalisesti luoduilla nettisivuilla ei ole järkevää lähteä luomaan konkreettisesti alihakemistoja, joilla voi laittaa osoiterakenteen näyttämään selkeältä. Tarkoitan siis, ettei laajoilla nettisivuilla kannata luoda uutta kansiota esimerkiksi Suomen sodat -nimistä sivua varten ja sen jälkeen asettaa kansion sisälle index-tiedosto, johon varsinainen sivun sisältö luodaan. Tässä hämärässä esimerkissä tuo yksittäinen sivu löytyisi esimerkiksi osoitteesta www.suomensodat.info/suomi-sodassa, jossa kauttaviivan jälkeinen osa on se manuaalisesti luotu kansio. Tällainen vaatii turhaa klikkailua ja vie aikaa.

Kopeloimalla sivuston .htaccess-tiedostoa samanlainen osoiterakenne on mahdollista luoda yksinkertaisimmillaan yhdellä rivillä. Koodi vaatii toimiakseen kaksi riviä. Ensimmäinen niistä on jo usein .htaccessin sisällä. Jälkimmäinen rivi on se, jolla saadaan itse osoiterakenne uusittua. Osoiterakennetta voidaan sössiä monenlaisilla .htaccess-tiedostoon lisättävillä tempuilla. Tässä esimerkissä oletan nettisivun juurihakemistossa olevan kaikki sivustolle kuuluvat sivut. Sivut ovat .php-päätteisiä tiedostoja.

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-]+)$ ./$1\.php [NC]

Tuossa on se koodi. Ensimmäistä riviä ei tarvitse lisätä .htaccessin sisälle mikäli se löytyy jo sieltä. Alempi rivi toimii moottorina, joka mahdollistaa kaikkien .php-päätteisten tiedostojen avaamisen ilman tiedostopäätettä. Tällöin esimerkiksi tiedosto suomi-sodassa.php on avattavissa osoitteesta www.omasivusto.com/suomi-sodassa. Koodiesimerkin lopussa oleva [NC] on käsittääkseni sellainen vempula, joka muuttaa sen vasemmalla puolella olevan käskyn sellaiseksi, jossa ei ole väliä onko tiedoston nimi kirjoitettu ISOILLA vai pienillä kirjaimilla. Koodiesimerkissä tiedoston nimi voi sisältää aakkosia ja numeroita, sekä väliviivan. Muitakin merkkejä voinee sisällyttää ehtoon. Samaan tapaan koodia voitaneen muuttaa hyväksymään vain .html-päätteiset tiedostot.

Tietoa kirjoittajasta