Tạo trang thông báo lỗi 404 với CakePHP
Đây là phần nội dung chính mà tôi muốn giới thiệu với các bạn, có nhiều cách để tạo trang thông báo lỗi 404. Tôi sẽ hướng dẫn từ cách thông thường đến cách mà chỉ áp dụng cho CakePHP.
a, Sử dụng file .htaccess
Để cấu hình trang báo lỗi 404, bạn có thể sử dụng các công cụ có sẵn của CMS như WordPress hay Joomla. Hoặc nếu không bạn có thể sử dụng .htaccess để tạo trang lỗi 404 tùy biến
1
|
ErrorDocument 404 /misc/404page.html
|
b, Tạo trang thông báo lỗi cho toàn bộ website
Khi người dùng không tìm thấy hoặc truy cập đến những nội dung không cho phép thì cách này sẽ được áp dụng một cách hiệu quả trên toàn bộ website. Cách thực hiện như sau:
+ Vào thư mục app và tạo file app_error.php với nội dung như sau:
1
2
3
4
5
6
7
8
9
|
<?php
class AppError extends ErrorHandler {
function _outputMessage($template) {
$this->controller->render($template, ‘error404’);
$this->controller->afterFilter();
echo $this->controller->output;
}
}
?>
|
+ Tiếp theo bạn vào thư mục app\views\layouts và tạo file error404.ctp với nội dung thông báo lỗi mà bạn muốn hiển thị.
c, Tạo trang thông báo lỗi cho website, controller, action
Vì một số lí do nào đó, nếu bạn muốn khi người dùng nhập sai controller hoặc gõ đúng controller nhưng lại không có action cần tìm thì sẽ hiển thị trang thông báo lỗi thì cách thực hiện như sau:
+ Vào thư mục app\views\errors và tạo lần lượt 3 file là error404.ctp, missing_action.ctpvà missing_controller.ctp. Đó là những file tương ứng với từng trường hợp cụ thể mà tôi đã nêu ở trên, bạn chỉ cần thay đổi nội dung phù hợp với các trường hợp đó là được.