10.1.5 Catatan mengenai mod_rewrite
Seringkali pengguna baru dihadapkan pada permasalahan mod_rewrite, jadi disini akan sedikit disinggung mengenai hal tersebut. Jika halaman selamat datangnya CakePHP terlihat sedikit lucu (tidak ada gambar, atau gaya dari css), kemungkinan besar mod_rewrite tidak berfungsi dengan benar pada sistem anda. Berikut adalah beberapa anjuran yang semoga dapat membantu menyelesaikan masalah tersebut:
-
Pastikan bahwa setingan override untuk .htaccess diperbolehkan: pada httpd.conf, harus terdapat pendefinisian untuk masing-masing Directory pada server anda. Pastikan nilai untuk
AllowOverrideadalahAlluntuk Directory yang sesuai. -
Pastikan anda menyunting berkas httpd.conf global, bukan berkas pada httpd.conf spesifik per-user atau per-site.
-
Mungkin juga anda mendapatkan salinan CakePHP tanpa berkas .htaccess yang dibutuhkan. Hal ini terkadang disebabkan karena beberapa jenis sistem operasi memperlakukan berkas yang berawalan '.' sebagai berkas tersebunyi (hidden), dan tidak mau menyalinnya. Pastikan anda mendapat salinan CakePHP dari bagian unduh yang resmi dari situs CakePHP atau dari gudang SVN-nya CakePHP.
-
Pastikan Apache memuat mod_rewrite dengan benar! Pada berkas httpd.conf anda harus terdapat bagian
LoadModule rewrite_module libexec/httpd/mod_rewrite.sodanAddModule mod_rewrite.c.
Jika anda tidak ingin atau tidak dapat menggunakan/menjalankan mod_rewrite (atau modul lainnya dengan fungsi sejenis) pada server anda, anda dapat juga menggunakan URL cantik bawaan Cake. Pada berkas /app/config/core.php, buang tanda komentar pada baris yang berisi:
Configure::write('App.baseUrl', env('SCRIPT_NAME')); Configure::write('App.baseUrl', env('SCRIPT_NAME'));
Kemudian buang berkas .htaccess berikut ini:
/.htaccess /app/.htaccess /app/webroot/.htaccess
/.htaccess/app/.htaccess/app/webroot/.htaccess
Ini akan membuat URL anda kini nampak seperti www.example.com/index.php/controllername/actionname/param, tidak lagi www.example.com/controllername/actionname/param.


























