Trang 404 trong engine trên file bằng PHP
Nếu người dùng nhập một URL không chính xác vào thanh địa chỉ, chúng ta phải hiển thị một trang lỗi. Hãy để nội dung của trang lỗi được lưu trữ trong file tương ứng:
<div>
page not found
</div>
Để xác định tính không chính xác của yêu cầu, chúng ta cần kiểm tra sự tồn tại của file nội dung tương ứng với URL được yêu cầu:
<?php
$path = 'view' . $url . '.php';
if (file_exists($path)) {
// file tồn tại
} else {
// file không tồn tại
}
?>
Hãy trả về file nội dung nếu nó tồn tại, và file lỗi nếu không có nội dung:
<?php
$path = 'view' . $url . '.php';
if (file_exists($path)) {
$content = file_get_contents($path);
} else {
$content = file_get_contents('view/404.php');
}
?>
Trong trường hợp lỗi, chúng ta phải gửi đến trình duyệt một header với lỗi 404 để thông báo rõ ràng rằng trang không được tìm thấy. Hãy thực hiện điều đó:
<?php
$path = 'view' . $url . '.php';
if (file_exists($path)) {
$content = file_get_contents($path);
} else {
header('HTTP/1.0 404 Not Found');
$content = file_get_contents('view/404.php');
}
?>
Hãy triển khai việc trả về trang với lỗi 404 trong engine của bạn.