Konfigurasi Domain Alias dan PHP

Hari ini, alamat web yang pendek menjadi keutamaan kebanyakan pembangun sistem maklumat atau laman web. Alamat pendek bukan sahaja memudahkan pengguna untuk mengingati sesebuah halaman, malah turut memudahkan carian. Sebagai contoh, cuba bandingkan alamat yang mengandungi pelbagai parameter dan yang hanya mengandungi aksara.

Saya berikan dua contoh, di antara http://example.com/Profil.aspx?userID=10C19287 atau http://example.com/Profil/farah, mana satu lebih mudah diingati?

Sebenarnya, terdapat pelbagai cara untuk mendapatkan URL seperti diatas termasuklah mengguna fungsi route dalam MVC atau HTACCESS dalam Apache. Malah, selain itu dari menggunakan URL dalam corak diatas, salah satu cara ialah menggunakan alias atau perkataan yang lebih biasa kita dengar; sub-domain. Oh ya, tutorial ini hanya menunjukkan konsep asas sahaja.

Nama Pengguna Sebagai Alias

Pernah menggunakan Blogspot atau Tumblr, jika anda perasan, URL blog anda akan bermula dengan nama pengguna, kemudian di-ikuti dengan nama domain induk dan pengguna boleh menentukan URL blog mereka secara dinamik.

Dalam artikel ini, kita akan melihat secara mudah bagaimana mewujudkan alias dinamik dalam sesebuah laman web yang diletakkan dalam pelayan berkongsi (shared-server). Sebagai contoh, http://farah.example.com akan terus memaparkan profil untuk individu tersebut.

Terdapat 3 langkah asas yang mudah untuk mewujudkan URL diatas. Langkah pertama, menambah nama domain wildcard. Kedua, mengubahsuai modul .HTACCESS dan ketiga, mewujudkan laman PHP yang membuka profil tadi.

Langkah 1: Penambahan Wildcard Dalam Sub-Domain

Dalam tutorial ini, saya menggunakan shared-server Linux dan menggunakan panel kawalan CPanel. Maka, untuk menambah nama-domain wildcard, hanya perlu log masuk ke dalam sistem CPanel, pergi ke bahagian sub-domain dan tambah sub-domain baharu.

Subdomain: *.namadomain.com

Untuk document root, tetapkan pada direktori yang sama laman web anda ditempatkan. Klik pada Create untuk menyimpan sub-domain tersebut.

Sekiranya Berjaya, *.namadomain.com akan dipaparkan pada senarai sub-domain.

Langkah 2: Ubahsuai Fail HTACCESS

Dalam persekitaran pelayan web berasaskan Apache, penggunaan HTACCESS bukanlah satu perkara yang baru. Hampir kebanyakan sistem pengurusan kandungan (CMS) telah mengaplikasikan HTACCESS dan salah satu kegunaan ialah untuk mewujudkan URL yang mesra-SEO dan mudah diingati.

Sekiranya fail HTACCESS telah wujud dalam direktori domain induk anda, muat turun fail tersebut. Jika tidak, buat fail baharu di komputer, dengan menggunakan sebarang perisian penyunting teks. Salin kod dibawah dan simpan dalam jenis fail .HTACCESS

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !profil\.php
RewriteCond %{HTTP_HOST} ^(.+?)\.omar\.my$
RewriteRule .* /profil.php?namapengguna=%1 [L]
</IfModule>

Keterangan Kod

Apalah erti menyalin tanpa memahami bukan? Baiklah, saya akan terangkan kod-kod diatas. Pada baris pertama, pelayan akan semak samada konfigurasi menyokong modul mod_rewrite atau tidak. Secara kasar, mod_rewrite merupakan modul yang membolehkan sesebuah URI diubahsuai mengikut keperluan pengguna.

Jika mod_rewrite disokong, pelayan akan proses ke baris kedua, iaitu mengaktifkan fungsi RewriteEngine dalam modul tersebut. Jika tidak disokong, pelayan akan terus ke baris terakhir kod.

Pada baris ketiga hingga kelima, semakan terhadap keadaan host tersebut, samada ia bermula tidak bermula dengan awalan “www”, tidak memohon terus kepada halaman profil.php dan yang paling penting, perlu mempunyai sub-domain sebelum nama domain induk.

Sekiranya kesemua keadaan ini sah (true) pelayan akan melakukan aturan untuk mengubah permohonan ke URI yang ditetapkan iaitu profil.php dan membawa parameter nama pengguna. Selain itu, symbol [L] pada penghujung baris turut menerangkan bahawa tiada lagi sebarang aturan untuk diproses selepas itu.

Sebelum ke langkah terakhir, pastikan fail .HTACCESS anda tadi dah dimuat naik ke dalam direktori pelayan.

Langkah 3: Laman PHP Profil

Dalam tutorial ringkas ini, sebuah fail dummy digunakan untuk menyemak samada nama pengguna yang dihantar melalui alias tersebut berjaya diterima oleh sistem atau tidak.

Kita akan mencipta fail mengikut nama dan parameter dalam HTACCESS dan untuk itu, sila rujuk baris empat dan enam dalam fail HTACCESS tadi. Sebagai contoh, nama fail adalah profil.php dan parameter adalah namapengguna. Berikut adalah kod asas PHP untuk memaparkan parameter yang dihantar:

<?php echo "Nama Pengguna: <b>".$_GET['namapengguna']."</b>"; ?>

Simpan dan muat naik fail dalam direktori pelayan. Pastikan ini adalah direktori yang sama anda muat-naik fail HTACCESS tadi dan cuba layari laman web tersebut dengan menyatakan nama pengguna. Contohnya, http://farah.example.com

Secara asasnya, kenyataan GET dalam kod PHP akan mendapatkan nama dari URL alias dan memaparkan sahaja. Dari tutorial ini, anda juga boleh melakukan redirect atau penyemakan terus ke dalam sistem pangkalan data untuk paparan profil sebenar.

Berdasarkan input yang dihantar oleh sub-domain tersebut, adalah menjadi tugas pembangun untuk menyaring terlebih dahulu input yang diterima untuk mengelakkan sebarang isu yang tidak diingini apatah lagi apabila ia melibatkan pangkalan data dan sistem maklumat yang kritikal.


Komen telah ditutup