MEMPERSINGKAT URL WEBSITE DENGAN MENGGUNAKAN .htaccess
MEMPERSINGKAT URL WEBSITE DENGAN MENGGUNAKAN .htaccess
Anda lihat link halaman ini dibrowser anda? seperti apa linknya?
Ya, kali ini saya akan mengajarkan bagaimana kita dapat membuat link seperti itu pada PHP dengan memanfaatkan .htaccess. Kalau orang-orang menggunakan metode mod_rewrite atau ada yang menyebut istilahnya shortened url. Terserahlah apa namanya, yang penting sekarang adalah cara membuatnya.
Anda lihat link halaman ini dibrowser anda? seperti apa linknya?
Ya, kali ini saya akan mengajarkan bagaimana kita dapat membuat link seperti itu pada PHP dengan memanfaatkan .htaccess. Kalau orang-orang menggunakan metode mod_rewrite atau ada yang menyebut istilahnya shortened url. Terserahlah apa namanya, yang penting sekarang adalah cara membuatnya.
.htaccess
.htaccess
merupakan file konfigurasi untuk server Apache, nah disni kita akan
mengkonfigurasi file tanpa ekstensi agar dianggap menjadi file php.
.htaccess harus diletakkan di root direktori server anda. Oke
pertama-tama anda buat dulu file .htaccess. Caranya terserah anda, kalau
bingung buka notepad, kemudian klik Save as, Save as type nya diubah diubah ke All Files. Kemudian file namenya diisi dengan .htaccess.
Apa sih yang mau kita buat?
Oke,
jika sudah saya akan memberitahu apa yang sebenarnya akan kita buat.
Misal anda memiliki web dengan nama google.com nah anda memiliki file
artikel.php yang isinya adalah artikel-artikel pada web anda. Jadi file
anda pasti seperti ini, http://www.google.com/artikel.php?id=1
Nah misi kita sekarang adalah mengubah http://www.google.com/artikel.php?id=1 menjadi http://www.google.com/artikel/1, jika anda perhatikan susunannya maka artikel pada http://www.google.com/artikel/1 sebenarnya merupakan file bukan folder. Jadi itu sebuah file tanpa ekstensi php yang nanti dengan bantuan .htaccess kita buat agar server mengganggap itu file PHP.
Nah misi kita sekarang adalah mengubah http://www.google.com/artikel.php?id=1 menjadi http://www.google.com/artikel/1, jika anda perhatikan susunannya maka artikel pada http://www.google.com/artikel/1 sebenarnya merupakan file bukan folder. Jadi itu sebuah file tanpa ekstensi php yang nanti dengan bantuan .htaccess kita buat agar server mengganggap itu file PHP.
Kenapa kita ubah seperti itu?
selain url nya jadi lebih pendek, katanya orang-orang link seperti itu
juga lebih Search Engine Friendly. Oke sekarang langsung saja kita
mulai buat. Siapkan folder baru, terserah namanya apa saja diserver
anda sebagai contoh foldernya "latihan" saja, isilah dengan file
.htaccess dan buka file .htaccess nya isilah dengan kode berikut ini:
<FilesMatch "^artikel$"> ForceType application/x-httpd-php </FilesMatch>
Oke, maksud dari kode diatas adalah, FileMatch berarti kita melakukan pencarian pada file artikel dengan Regular Expression. Dan jika file artikel ketemu maka kita memaksa server agar menganggap itu file PHP dengan perintah
ForceType application/x-httpd-php
.
Jika sudah, sekarang anda bisa membuat file artikel
tok, tidak usah dikasih ekstensi, tidak usah dikasih titik, tidak usah
dikasih embel-embel macam-macam. Oke sekarang pada file artikel
tersebut isilah dengan kode berikut ini:
<? echo "htaccess sukses" ?>
Oke, anda tahu kan itu kode PHP untuk apa? jika anda tidak tahu maka anda salah baca artikel, lebih baik anda belajar dasar PHP
lebih dulu sebelum lanjut ke artikel ini. Oke sekarang jika anda
mencobanya diserver komputer anda, silahkan pada browser anda jalankan
http://localhost/latihan/artikel/1 atau jika sudah anda upload, jalankan
http://www.google.com/latihan/artikel/1. Jika muncul tulisan "htaccess
sukses", berarti file .htaccess anda telah benar dan berhasil
dijalankan.
Pada beberapa server penyedia
layanan hosting file .htaccess tidak bisa dijalankan atau ditutup
aksesnya, silahkan anda tanyakan pada perusahaan pembuat hosting anda
bagaimana cara mengaktifkannya.
Mengambil URL pada browser
Jika pada url konvensional http://www.google.com/artikel.php?id=1 maka kita mendapatkan nilai variabel
id=1
.
Nah nilai id ini kita proses didatabase sehingga kita mendapatkan isi
artikel dengan id tersebut. Sekarang karena url kita sudah menjadi
http://www.google.com/latihan/artikel/1, bagaimana caranya kita
mendapatkan nilai 1 nya?
Pertama-tama tentu saja kita mengambil alamat dibrowser. PHP memiliki fungsi untuk mengambil alamat dibrowser yaitu
$HTTP_SERVER_VARS['PATH_INFO']
,
hanya saja saya menemukan beberapa kasus bahwa fungsi tersebut tidak
bisa berjalan dibeberapa server. Entah masalahnya versi Apache nya atau
versi PHP nya saya tidak tahu. Karena itu kita menggunakan fungsi yang
lebih baik dan lebih rumit :) Oke buka file artikel anda hapus kode
yang tadi dan isilah dengan kode: <? $url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>
Jika anda tampilkan nilai
$url
maka nilanya adalah alamat url dibrowser anda, dalam hal ini nilainya
adalah http://www.google.com/latihan/artikel/1. Sip kita sudah dapat
link nya, sekarang bagaimana mendapatkan nilai 1 nya? tentu saja kita
perlu memecahnya berdasarkan tanda "/" dengan fungsi explode
. Oke tambahkan kode berikut ini: <? $url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $data = explode("/",$url); ?>
fungsi
explode
disini kita memecah string berdasarkan karakter "/" dan hasilnya kita simpan kedalam variabel $data
dalam bentuk array. Jadi pada contoh diatas jika link anda
http://localhost/latihan/artikel/1 dan anda jalankan kode diatas, maka
anda akan mendapatkan nilai: - $data[0] = http
- $data[1] = (kosong)
- $data[2] = localhost
- $data[3] = latihan
- $data[4] = artikel
- $data[5] = 1
$data[5]
.
Karena anda sudah dapat nilai id nya, maka anda tinggal memprosesnya
kedalam database seperti biasa anda lakukan. Mudah kan? tapi perlu
diingat jika didalam server kita yang tadi alamatnya:
http://www.google.com/artikel/1 maka nilainya juga akan berbeda: - $data[0] = http
- $data[1] = (kosong)
- $data[2] = www.google.com
- $data[3] = artikel
- $data[4] = 1
$data[4]
yang nilainya 1, karena itu jangan lupa untuk merubahnya.
Jika didalam web anda meload gambar atau css
atau script javascript. Gunakan fixed url untuk menampilkan gambar, css
dan javascript karena alamat kita menjadi
http://www.google.com/artikel/1 maka browser menganggap kita berada di
folder artikel dan didalam folder 1. Maka jia anda mengambil image
hanya dengan
Mudah
kan? bingung? pelajari lagi pelan-pelan. Contoh ini saya mengambil id
nya, kalau web saya ini yang saya ambil judul artikelnya, kalau
wordpress kalau tidak salah tanggalnya, jadi silahkan berkreasi dengan
teknik ini.<img src="images/dodol.jpg" />
. Ubahlah menjadi <img src="http://www.google.com/images/dodol.jpg" />
MENAMPILKAN RSS DI WEBSITE DENGAN PHP, pelajari bagaimana memparsing RSS.
MENAMPILKAN RSS DI WEBSITE DENGAN PHP, pelajari bagaimana memparsing RSS.
Anda tentu sudah mengetahui tentang RSS. Ya,
RSS merupakan sebuah file yang dibuat dengan struktur XML yang
fungsinya untuk menampilkan sepenggal informasi dari suatu website.
Karena RSS merupakan file XML maka file tersebut bisa diakses oleh
website lainnya, RSS reader ataupun software desktop. Kali ini kita
akan mencoba menampilkan RSS dari suatu website di dalam website kita.
RSS
menggunakan file XML, karena itu semua file RSS didunia harus sama.
Maka struktur file RSS telah distandarkan agar apabila anda membuat
aplikasi untuk membaca file RSS, maka aplikasi anda dapat membaca file
RSS dari website manapun diseluruh dunia.
Sejarah RSS
Saya
tidak akan bicara panjang lebar mengenai sejarah RSS, yang past RSS
pertama kali diperkenalkan oleh Netscape pada tahun 1999 yang digunakan
pada situs My.Netscape.com. Pada waktu itu RSS yang keluar pertama kali
adalah RSS versi 0.9 dan kepanjangan RSS waktu itu adalah RDF Site
Summary.
Tahukah anda, bahwa logo RSS yang
berwarna orange dan ada gambar sinyal radio nya itu pertama kali
digunakan oleh browser Mozilla Firefox pada tahun 2005. Dan untuk
pertama kalinya Internet Explorer bekerjasam dengan Mozilla yaitu IE
tertarik menggunakan icon RSS pada Firefox dan menggunakannya di
browser IE7. Setelah itu Opera pun mengikutinya dan sekarang icon
tersebut telah menjadi simbol RSS.
Sekarang
RSS telah ada dalam versi RSS 2.0 dan kepanjangannya sudah ganti
menjadi Really Simple Syndication. Bahkan variannya juga sudah mulai
banyak seperti Atom dan Podcasts. Tetapi RSS masih tetap paling populer
karena kemudahannya sampai saat ini. Oke sekarang jika anda menemukan
website yang menyediakan RSS ini berarti anda dapat menampilkan
sepenggalan berita pada website tersebut kedalam website anda. Dan
karena RSS bentuknya XML anda tentu harus mengubah isi RSS tersebut /
Parsing kebentuk yang kita inginkan, atau minimal enak dibaca. Karena
RSS berbentuk XML maka kita perlu mengetahui dulu strukturnya.
Perhatikan contoh struktur dari RSS website dhimasronggobramantyo.com:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Belajar Web</title> <link>http://www.dhimasronggobramantyo.com</link> <description>Situs yang berisi artikel dan tutorial untuk membuat dan mengembangkan website</description> <language>en-us</language> <lastBuildDate>Sat, 03 Nov 2007 15:16:46 GMT</lastBuildDate> <ttl>10</ttl> <image> <title>dhimasronggobramantyo.com</title> <width>142</width> <height>18</height> <link>http://www.dhimasronggobramantyo.com</link> <url>http://www.dhimasronggobramantyo.com/images/rssbutton.gif</url> </image> <item> <title>Aturan membuat Forms</title> <link>http://www.dhimasronggobramantyo.com/Aturan_membuat_Forms_dan_bagaimana_membuat_Forms_yang_sesuai_prinsip_Web_Standards</link> <pubDate>Sat, 03 Nov 2007 03:14:56 GMT</pubDate> <description>Forms merupakan bagian terpenting dalam website, hampir semua website yang ada saat ini memiliki forms, entah itu hanya form sederhana untuk melakukan pencarian ataupu forms kompleks untuk pendaftaran anggota. Tetapi kadang kita meremehkan form, disini saya akan mengajarkan cara membuat form yang baik dan benar.</description> </item> <item> <title>Statistik Pengunjung pada bulan Oktober 2007</title> <link>http://www.dhimasronggobramantyo.com/Statistik_Pengunjung_pada_bulan_Oktober_2007</link> <pubDate>Fri, 02 Nov 2007 11:16:43 GMT</pubDate> <description>Saya berencana untuk memberikan informasi jumlah pengunjung website ini setiap bulannya. Dan inilah statistik kunjungan website untuk bulan Oktober 2007. Saya menggunakan tools Google Analytics, dan karena website ini baru online tanggal 10 Oktober 2007, maka pengunjung bulan ini masih sedikit.</description> </item> </channel> </rss>
Jika anda perhatikan struktur RSS
diatas, maka anda dapat melihat bahwa RSS tersebut menampilkan 2
berita. Berita/informasi berada didalam
<item>
, dan didalamnya ada <title>
, <link>
, <pubDate>
dan <description>
. Nah nanti kita akan memparsing <item>
dan menampilkannya diwebsite kita agar enak dilihat. Apa anda bisa membaca jika tampilannya seperti contoh diatas?
Mungkin
anda bertanya-tanya, parsing tu seperti apa? oke, jika anda punya
Internet Explorer 7 atau Mozilla Firefox. Silahkan buka RSS situs ini
yaitu: http://www.dhimasronggobramantyo.com/newsrss.xml.
Maka yang anda lihat bukan isi RSS nya seperti contoh diatas, tetapi
sudah ditampilkan dengan baik. Ini karena IE7 dan Mozilla dapat
memparsing RSS. Nah kita akan membuatnya dengan PHP.
Parsing RSS
Cara paling gampang untuk parsing RSS adalah dengan menggunakan Magpie RSS, sebuah class PHP yang dapat anda download dengan gratis. Tetapi saya senang dengan tutorial dari Kevin Yank dari Sitepoint.
Karena kita bisa memanipulasi tampilan RSS kita. Disini kita akan
menggunakan kode dari tutorial tersebut tetapi kita manipulasi agar
kodenya lebih sederhana serta kita bisa menampilkan berapa jumlah RSS
yang ingin kita tampilkan dan agar kita bisa menampilkan gambar dalam
RSS tersebut.
Karena itu silahkan anda
kunjungi tutorial aslinya untuk mengetahui fungsi-fungsi yang digunakan
secara lebih detail. Karena saya hanya akan menerangkan bagian-bagian
yang saya ubah dan tambahkan. Oke langsung saja kita coba, kodenya
sedikit hanya satu file saja, nanti bisa anda manipulasi sendiri.
Buatlah file rss.php dan isilah dengan kode berikut ini:
<? function startElement($parser, $name, $attrs) { global $insideitem, $tag, $title, $description, $link, $pubDate; if ($insideitem) { $tag = $name; } elseif ($name == "ITEM") { $insideitem = true; } } function endElement($parser, $name) { global $insideitem, $tag, $title, $description, $link, $pubDate, $i; if (!$i) { $i=1; } if (($name == "ITEM") && ($i<=5)) { $i++; printf("<h3><a href='%s' class=main target=_blank>%s</a></h3>%s<p>%s</p>", trim($link),trim($title), substr($pubDate,0,16), $description); $title = ""; $description = ""; $link = ""; $pubDate=""; $insideitem = false; } } function characterData($parser, $data) { global $insideitem, $tag, $title, $description, $link, $pubDate; if ($insideitem) { switch ($tag) { case "TITLE": $title .= $data; break; case "DESCRIPTION": $description .= $data; break; case "LINK": $link .= $data; break; case "PUBDATE": $pubDate .= $data; break; } } } $insideitem = false; $tag = ""; $title = ""; $description = ""; $link = ""; $pubDate =""; $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); $fp = fopen("http://www.dhimasronggobramantyo.com/newsrss.xml","r"); while ($datarss = fread($fp, 4096)) xml_parse($xml_parser, $datarss, feof($fp)) or die(sprintf("XML error: %s pada baris %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); fclose($fp); xml_parser_free($xml_parser); ?>
Silahkan anda coba jalankan, atau anda dapat melihatnya disini.
Perlu diingat anda harus memiliki koneksi internet untuk mencobanya,
karena kita mengambil RSS dari situs ini secara online. Oke jika kita
perhatikan kodenya, kita memiliki 3 fungsi:
startElement
, endElement
dan characterData
. Ketiga fungsi tersebut merupakan fungsi untuk memparsing dan membagi-bagi tag XML didalm RSS.
Nah saya akan menjelaskan mengenai fungsi yang telah saya ubah yaitu
endElement
. Jika anda perhatikan pada fungsi endElement
saya menambahkan variabel $i
.
Variabel ini gunanya nanti untuk jumlah isi berita yang ingin
ditampilkan dalam RSS. Dalam contoh diatas saya hanya ingin menampilkan 5
saja. Oke jika anda lihat diatas saya memasang kode: if (!$i) { $i=1; }
Nah disitu saya hanya melakukan pengecekan sederhana, jika belum ada variabel
$i
maka akan saya buat variabel $i
dengan isinya 1. Kemudian kode berikutnya adalah seperti ini: if (($name == "ITEM") && ($i<=5)) { $i++; printf("<h3><a href='%s' class=main target=_blank>%s</a></h3>%s<p>%s</p>", trim($link),trim($title), substr($pubDate,0,16), $description); $title = ""; $description = ""; $link = ""; $pubDate=""; $insideitem = false; }
Kuncinya adalah pada pengecekan yang ini, dimana kita mengecek
($i<=5)
.
Jika anda ingin menampilkan 10 isi RSS tersebut anda tinggal
mengubahnya saja menjadi 10. Nah untuk menampilkan RSSnya kita
menggunakan fungsi printf
printf("<h3><a href='%s' class=main target=_blank>%s</a></h3>%s<p>%s</p>", trim($link),trim($title), substr($pubDate,0,16), $description);
Fungsi
Nah, pada bagian printf
ini
berfungsi untuk menampilkan pada layar sebuah teks dan variabelnya.
Karena semua variabel yang ingin ditampikan bentuknya teks / string
maka kita menggunakan %s
. Dimana pada %s
yang pertama isinya adalah trim($link)
, %s
yang kedua isinya adalah trim($title)
, %s
yang ketiga isinya adalah substr($pubDate,0,16)
dan seterusnya. printf
inilah anda memasang kode HTML untuk mempercantik tampilan RSS anda.
Mudah kan, selamat mencoba, mungkin penjelasan syaa kali ini agak
kurang lengkap, karena saya menulis artikel ini terburu-buru agar
diwebsite ini ada sesuatu yang baru. Sudah 1 bulan ini saya sibuk dan
baru bisa menulis artikel baru sekarang, jadi jangan kaget kalau
artikel diwebsite ini mulai jarang, tapi tenang saja saya sudah
menyiapkan beberapa artikel menarik.
Tidak ada komentar:
Posting Komentar