Berbicara mengenai dunia web, tidak lepas kita dari satu bahasa pemograman web yang sangat popoler di kalangan maya saat ini, yakni PHP. Saat ini PHP merupakan salah satu server script yang paling sering digandrungi para developer web. 
PHP (PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. 
PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. (http://bukanbasoo.blogspot.com/2012/01/sekilas-tentang-php.html)
Saat ini PHP telah berkembang pesat dan muncul berbagai framework yang menggunakan PHP, di antaranya yang populer dan handal adalah Codeigniter (CI).
CodeIgniter dikembangkan oleh Rick Ellis (http://www.ellislab.com). Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara koding secara manual, dengan menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan website.
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.
Berikut fitur-fitur yang didukung oleh CodeIgniter :
  1. Sistem berbasis Model View Controller
  2. Kompatibel dengan PHP versi 4.
  3. Ringan dan Cepat.
  4. Terdapat dukungan untuk berbagai basis data.
  5. Mendukung Active Record Database.
  6. Mendukung form dan validasi data masukan.
  7. Keamanan dan XSS filtering.
  8. Tersedia pengaturan session.
  9. Tersedia class untuk mengirim email.
  10. Tersedia class untuk manipulasi gambar (cropping,resizing, rotate dan lain-lain).
  11. Tersedia class untuk upload file.
  12. Tersedia class yang mendukung transfer via FTP.
  13. Mendukung lokalisasi bahasa.
  14. Tersedia class untuk melakukan pagination (membuat tampilan perhalaman).
  15. Mendukung enkripsi data.
  16. Mendukung benchmarking.
  17. Mendukung caching.
  18. Pencatatan error yang terjadi.
  19. Tersedia class untuk membuat calendar.
  20. Tersedia class untuk mengetahui user agent, misalnya tipe browser dan sistem operasi yang digunakan pengunjung.
  21. Tersedia class untuk pembuatan template website.
  22. Tersedia class untuk membuat trackback.
  23. Tersedia pustaka untuk bekerja dengan XMP-RPC.
  24. Menghasilkan clean URL.
  25. URI routing yang felksibel.
  26. Mendukung hooks, ekstensi class dan plugin.
  27. Memiliki helper yang sangat banyak jumlahnya.
Kegunaan File .htaccess

File .htaccess adalah file konfigurasi yang disediakan oleh web server apache, yang biasanya digunakan untuk mengubah settingan default dari apache. File .htaccess biasanya diletakkan pada root direktori. File .htaccess harus dalam format ASCII dan dengan permission yang diset pada 644 (rw-r-r) dengan tujuan  membuat server dapat mengakses file .htaccess sedangkan visitor website tidak dapat mengakses file .htaccess dari browser.

Kode perintah dalam file .htaccess  harus ditempatkan dalam satu baris, jadi jika kita menggunakan notepad untuk membuat file .htaccess maka kita harus mendisable fungsi wordwrap pada notepad.

Sumber : http://blog.codingwear.com/read35-Tutorial-URL-Rewriting-dengan-.htaccess-dan-Penerapannya-%28Contoh-Membuat-Blog-atau-Situs-Berita%29.drz