Thứ Năm, 29 tháng 9, 2016

Yii2 phần 2 - Cấu hình frontend và backend

Sau khi cài đặt Yii2 thành công ta sẽ chạy ứng dụng đầu tiên với yii2, Cấu hình ứng dụng cơ bản trên Yii2 Advanced.

Như mình đã nói trên Yii2 advanced đã chia làm hai phần đó là frontend và backend. Khi truy cập vào weebroot bằng browse thì ứng dụng sẽ không chạy. Mà ta cần phải truy cập trực tiếp vào frontend hoặc backend
1. Cấu hình virtual host

- Nếu như ta hay sử dụng url web mặc định của apache là http://localhost/yii2adv/ thì nay ta sẽ cấu hình thành url http://yiiadvanced/
Và yiiadvanced là tên mình đặt, nó sẽ là url đến website của mình, nó đang được trỏ đến C:/xampp/htdocs/yii2adv

Nếu như bạn chưa biết cấu hình virtual host thì có thể xem bài hướng dấn ở đây

2. Cấu hình Yii2, loại bỏ frontend/web và backend/web

Sau khi cấu hình xong Virtual Host xong, để mặc định khi truy cập vào webroot thì ta phải cấu hình như thế nào. Phần này mình sẽ hướng dẫn bạn tạo file .htaccess để mặc định khi truy cập vào webroot sẽ chạy frontend đầu tiên.

Trong webroot ta tạo file .htaccess với nội dung như sau

1
2
3
4
5
6
7
8
9
10
11
12
# prevent directory listings
Options -Indexes
# follow symbolic links
Options FollowSymlinks
RewriteEngine on
 
RewriteCond %{REQUEST_URI} ^/system/$
RewriteRule ^(system)/$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/system
RewriteRule ^system(/.+)?$ /backend/web/$1 [L,PT]
RewriteCond $1 !^(index\.php|uploads|favicon\.ico)
RewriteRule ^(.*)$ frontend/web/$1 [L]
Yii2 loại bỏ fontend và backend web trên url
Tạo file .htaccess trong root để redirect đến frontend/web

Trong đó thì đường dẫn truy cập vào backend sẽ là http://yiiadvanced/system, còn mặc định khi truy cập vào webroot thì sẽ vào frontend

Trong thư mục backend/web và frontend/web ta thêm file .htaccess với nội dung như sau

1
2
3
4
5
6
RewriteEngine on
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
RewriteRule . index.php

Yii2 loại bỏ frontend/web và backend/web trên url

Như vậy là Ok rùi đó, giờ bạn có thể truy cập vào Yii2 mà không cần đến frontend/web nữa. khi này khi truy cập vào webroot mặc định sẽ là frontend

- Url frontend sẽ là mặc định
1
http://yiiadvanced/
Url frontend trong yii2 framework


- Url backend
1
http://yiiadvanced/system
Ở đây mình để đường dẫn backend là system, còn bạn muốn đổi thành admin hay gì gì đó thì bạn sửa trong file .htaccess
Yii2 url truy cập vào backend


Như vậy là ta đã cấu hình xong frontend và backend trong ứng dụng web trên yii2 framework, phần tiếp theo ta sẽ tiến hành chạy ứng dụng đầu tiên.


EmoticonEmoticon