[Solved] [Ask] Cara url mapping, di serv Apache / yg laen

edited December 2016 in Programming

Min, Saya baru disini. saya mau tanya.
Gimana cara url mapping. cara di gugel kebanyakkan g masuk

yang gw tau url mapping itu kyk
mis: req: namaweb.com/usr/bajaklaut
nti servicenya ke namaweb.com/php/search?usr=bajaklaut
intinya :
namaweb.com/usr/bajaklaut => namaweb.com/php/search?usr=bajaklaut

trims, ditunggu jawabbanny :')

Tagged:

Comments

  • edited December 2016

    Halo, sorry nih baru nongol :smiley:

    Mungkin yang kamu maksud URL Rewrite ya..

    Buat di Apache, aktifkan dulu modul mod_rewrite, caranya buka file konfigurasi nya di folder apache, lalu cari file http.conf. Lalu Uncomment baris seperti di bawah ini:

    LoadModule rewrite_module modules/mod_rewrite.so
    AddModule mod_rewrite.c

    Kalo udah, restart dulu service apachenya.

    Terus kita coba RewriteRule yg mudah dulu. Buat file php dengan isi seperti ini : < ? php echo “test”; ? > Lalu simpan dengan nama misalnya test.php

    Lalu buat file .htaccess yang isinya:

    < IfModule mod_rewrite.c >
    RewriteEngine on
    RewriteRule ^(.*).html$ $1.php [NC]
    < /IfModule >

    Simpan file .htaccess ini satu folder dengan file test.php ya. Sekarang coba akses file test di browser dengan URL http://127.0.0.1/test.html jika muncul tulisan "test" berarti sudah berhasil.

    Untuk struktur URL seperti misalnya https://errorcybernews.com/tingkat/jomblo/1 coba buat file php yang isinya:

    < ? php
    switch ($_GET['level'])
    {
    case 01:
    $level = 'highclass';
    break;
    case 02:
    $level = 'mediumclass';
    break;
    case 03:
    $level = 'lowclass';
    break;
    }
    ? >
    < html >
    < head >
    < title >Test< /title >
    < /head >
    < body >
    < ? php echo 'Kamu ' . $_GET['type'] . ' level ' . $level ? >
    < /body >
    < /html >

    Simpan dengan nama index.php terus buat file .htacsess nya dengan RewriteRule:

    < IfModule mod_rewrite.c >
    RewriteEngine on
    RewriteRule ^tingkat/([a-zA-Z]+)/([0-9]+) index.php?type=$1&level=$2 [NC]
    < /IfModule >

    Keterangan:
    - ([a-zA-Z]+) berarti membatasi agar karakter yang diterima hanya berupa huruf a sampai z baik itu huruf besar atau kecil.
    - ([0-9]+) berarti membatasi agar angka yang diterima hanya berupa angka 0 sampai 9.
    Tanda + berarti angka/huruf tersebut boleh lebih dari 1.

    Dengan cara seperti di atas jika kita mengetikkan http://127.0.0.1/tingkat/jomblo/1 di web browser, maka otomatis akan diterjemahkan sebagai http://127.0.0.1/index.php?type=jomblo&level=1

    Terus bereksperimen dan praktekan sampai dapet jalur logikanya, happy learning :blush:

Sign In or Register to comment.