Selasa, 30 Oktober 2012

Nginx rewrite rule for CakePHP with webroot


Berbeda pada umumnya di mana file index yang diakses oleh server adalah file index yang berada pada direktori aplikasi(atau file index.php yang sejajar dengan file app, cake,dll pada cake 1.x), pada rewrite rule ini file index yang akan diakses adalah file index yang berada pada direktori app/webroot/. Jadi file index yang berada pada direktori aplikasi dan direktori app tidak dieksekusi. Hal ini tidak menjadi masalah karena script yang ada pada dua file index tersebut di definisikan ulang di file app/webroot/index.php.



Berikut adalah rewrite rule nya:



server {
    listen       80;
    server_name note.me.local www.note.me.local;
    access_log /home/herdiansc/www/noteme/site/access.log;
    error_log /home/herdiansc/www/noteme/site/error.log;

 rewrite_log on;
    root   /home/herdiansc/www/noteme/site;
 index  index.html index.htm index.php;
 
 location / {
# Ini adalah bagiannya
        rewrite ^/(.*)$ /app/webroot/$1 break;
        try_files $uri $uri/ /app/webroot/index.php?q=$uri&$args;
# Sampai sini
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }

}

Tidak ada komentar:

Posting Komentar