Apache:n mod_rewrite tarjoaa tehokkaan menetelmän URL-osoitteiden manipuloinnista palvelinpuolella, muuttamalla ne selkeydelleen ja käyttöystyyppisempaan muotoon. Tämä opas kertoo, miten ymmärtää mod_rewrite:n hyödyt ja määrittää sen Apachea käyttävällä VPS:llä.

Taustatiedot

Kun URL-osoite syötetään, se tutkitaan kantaisia sääntöjä vastaan. Nämä säännöt tunnistavat tiettyjä suhteitse tai avainsanoja URL:sta. Jos määritelty avainsana havaitaan ja sääntö sopii, se käynnistää tunnistetun osan korvauksen ennustettuun merkkijonoon – luomalla näin uuden URL-osoitteen.

mod_rewrite on erittäin hyödyllinen sen ansiosta, että se antaa käyttäjille mahdollisuuden muuttaa URL-osoitteita selkeydelleen ja käyttöystyyppisempaan muotoon. Tämä on erityisen hyödyllistä loppukäyttäjille ilman teknisiä osaamisia, sillä yksinkertaistetut URL-osoitteet ovat helposti ymmärrettäviä ja hakukoneystyyppisiä.

Esimerkiksi selkeän URL-osoitteen käsittelemiseksi harkitse näitä esimerkkejä:

  1. URL1: http://modrewriteexample.com/client.php?id=A786#234QA
  2. URL2: http://modrewriteexample.com/client/=A786#234QA/
  3. URL3: http://modrewriteexample.com/client/Martha/

Näistä kolmesta URL-osoitteesta kolmas on huomattavasti luettavampi ja ymmärrettävämpi loppukäyttäjälle. URL 3 pätee selkeän URL-osoitteen tarkoituksena tässä yhteydessä.

Edellytykset

Ennen jatkamista varmista SSH-pääsy VPS:lläsi.

Kuinka asentaa mod_rewrite

  1. Vaihe 1: Asenna Apache

    Tämän Ubuntu 18.04 esimerkin vuoksi käytetään sisäänrakennettua pakettiasentainta, apt-get. Aloita sen päivittämisellä:

    sudo apt-get update

    Jatka sitten Apache2:n asentamisella:

    sudo apt-get install apache2
  2. Vaihe 2: Ota mod_rewrite käyttöön

    Ota mod_rewrite käyttöön seuraavalla komennolla:

    sudo a2enmod rewrite

    Tämä komento aktivoi uudelleenkirjoitustilan tai kertoo, jos se on jo käytössä. Jatka sitten Apachen uudelleenkäynnistämällä:

    sudo service apache2 restart
  3. Vaihe 3: Luo .htaccess-tiedosto

    Määritelläksesi ennustettuja URL-osoitteen uudelleenkirjoitusreguuleja, käytä .htaccess-tiedostoa. Käyttäjät voivat kirjoittaa sääntöjä tähän tiedostoon manuaalisesti. Koska palvelin viittaa tähän tiedostoon, virheet saattavat johtaa palvelinvirheeseen. .htaccess-tiedosto tulisi luoda juuressa uudelleenkirjoitusfunktion testaamiseksi.

    Aloita suorittamalla seuraava komento:

    sudo nano /var/www/html/.htaccess

    Tämä komento joko luo .htaccess-tiedoston, jos sitä ei ole olemassa, tai avaa sen, jos se on jo olemassa. Tallenna ja poistu nanosta painamalla CTRL+O tallentamiseksi ja CTRL+X poistumiseksi.

    Jatka sitten avaamalla 000-default.conf-tiedosto, joka sijaitsee hakemistossa /etc/apache2/sites-enabled/:

    sudo nano /etc/apache2/sites-enabled/000-default.conf

    Tässä tiedostossa lisää seuraava lohko merkkijonon jälkeen:

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    

    Tallenna tiedosto samankaltaisesti kuin .htaccess-tiedostossa. Käynnistä Apache uudelleen kuten vaiheessa kaksi mainittiin muutosten astiomainneksi.

  4. Vaihe 4: Luo URL-osoitteen uudelleenkirjoitusreguuli

    URL-osoitteen uudelleenkirjoittaminen sisältää selkeän URL-osoitteen valinnan ja sen muuntamisen todellisiin polkuun, joka johtaa koodiin. Se koostuu seuraavista osista:

    • ennustettu uudelleenkirjoitusreguuli
    • kuvio, jota käytetään viitteenä syötettyyn URL-osoitteeseen
    • uudelleenkirjoitusrivit, jotka määrittelevät polun, jonka palvelin kutsuu silloin

    Luo uudelleenkirjoitusreguuli, joka ohjaa käyttäjän About_us.html-sivulle, jos pyydetty URL-osoite on https://internetport.se. Varmista uudelleenkirjoitusmekanismin aktivointi. Avaa .htaccess-tiedosto ja lisää seuraava syntaksi:

    RewriteEngine on
    RewriteRule ^About_us$ About_us.html [NC]

    Syntaksin selitys:

    • About_us on kuvio, jota ohjataan About_us.html:lle vastaamisessa
    • NC on lipuksi kirjoitusasemattomuudesta
    • ^ viittaa vastaamiseen välimerkin jälkeen IP-osoitteessa

    Onnea! Olet luonut mod_rewrite-reguulin!

Kesluku

Selkeitä, helposti ymmärrettäviä ja käyttöystyyppisiä URL-osoitteita on tärkeää menestyksekkään verkkosivustolle. URL-osoitteiden sisällyttäminen avainsanoja on välttämätöntä muistutavuuden ja SEO:n kannalta. mod_rewrite:llä voit luoda monia uudelleenkirjoitusreguuleja verkkosivustosi URL-osoitteiden rakenteen parantamiseksi.