Yii siap berjalan dengan konfigurasi default web server Apache. File .htaccess
di dalam framework Yii dan folder aplikasi melarang pengaksesan file-file. Untuk menyembunyikan file bootstrap (biasanya index.php
) di dalam URL Anda bisa menambahkan mod_rewrite
ke dalam file .htaccess
di document root atau ke konfigurasi virtual host:
RewriteEngine on # jika sebuah direktori atau file ada, maka langsung gunakan ini RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # jika tidak ada, maka arahkan ke index.php RewriteRule . index.php
Anda dapat menggunakan Yii dengan Nginx dan PHP dengan FPM SAPI. Berikut ini merupakan contoh konfigurasi host. File ini mendefinisikan file bootstrap dan membuat Yii menangkap semua request ke file yang tidak ada, sehingga memungkinkan kita untuk memiliki URL yang cantik.
server { set $host_path "/www/mysite"; access_log /www/mysite/log/access.log main; server_name mysite; root $host_path/htdocs; set $yii_bootstrap "index.php"; charset utf-8; location / { index index.html $yii_bootstrap; try_files $uri $uri/ $yii_bootstrap?$args; } location ~ ^/(protected|framework|themes/\w+/views) { deny all; } #avoid processing of calls to unexisting static files by yii location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php { fastcgi_split_path_info ^(.+\.php)(.*)$; #let yii catch the calls to unexising PHP files set $fsn /$yii_bootstrap; if (-f $document_root$fastcgi_script_name){ set $fsn $fastcgi_script_name; } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fsn; #PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fsn; } location ~ /\.ht { deny all; } }
Anda bisa set cgi.fix_pathinfo=0 di dalam php.ini jika menggunakan konfigurasi di atas guna menghindari pemanggilan stat() sistem yang tidak diperlukan.
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.