.htaccess untuk routing Yii2


Yii2 menggunakan struktur penyimpanan berkas yang sedikit berbeda jika dibandingkan dengan pendahulunya. Hal ini mengakibatkan perlu konfigurasi tambahan dari sisi web server, dalam hal ini, di website resmi yii merekomendasikan untuk melakukan konfigurasi virtual directory. Sayangnya hal ini tidak selamanya mungkin, terutama jika tidak memiliki akses pada hosting (eg: shared hosting). Sebagai alternatif, .htaccess dapat digunakan untuk mengatur root folder pada yii.

Sesuai dengan tutorial dari Yii, Yii2 memiliki dua template awal yang dapat digunakan untuk memulai pembuatan aplikasi, yakni basic template dan advance template.

Untuk basic template, .htaccess yang dapat digunakan adalah sebagai berikut:

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if request dosn't start with web add it
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule (.*) /web/$1

# if file or directory dosn't exists go to /web/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php

Sedangkan untuk basic template, .htaccess akan sedikit berbeda, menjadi sebagai berikut:

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on



# if request begins with /admin remove admin and ad /backend/web/
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin\/?(.*) /backend/web/$1

# other requests add /frontend/web/$1
RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin)
RewriteRule (.*) /frontend/web/$1

# if frontend request
RewriteCond %{REQUEST_URI} ^/frontend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/web/index.php

# if backend request
RewriteCond %{REQUEST_URI} ^/backend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /backend/web/index.php

Sumber: http://www.yiiframework.com/forum/index.php/topic/47615-yii-20-basci-app-i-miss-the-htaccess-file/page__view__findpost__p__257425

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s