404: Not Found là một trong những lỗi thường gặp khi truy cập vào các trang web không còn tồn tại do nội dung quá cũ đã bị xóa hay di chuyển đến nơi khác. Thông thường khi gặp lỗi này, trong cửa sổ của trình duyệt web sẽ xuất hiện trang thông báo lỗi mặc định với nội dung đơn điệu và hơi khó hiểu.

Tạo trang thông báo lỗi 404 trong Joomla!

  • Trong phần quản trị (Administrator) của Joomla! bạn hãy tạo một bài viết (Article) dùng làm trang báo lỗi 404 có nội dung và đặt tên tùy ý, các thông số khác thực hiện giống trong hình:

Tạo trang thông báo lỗi 404 trong Joomla!

  • Thiết lập các thông số trong phần Parameters (Advanced) cho trang này như trong hình:

Thiết lập các thông số trong phần Parameters (Advanced)

  • Sau khi thực hiện xong nhấn Save để lưu bài này lại.

Tạo Menu cho trang thông báo lỗi 404

  • Truy cập vào Menus -> Menu manager.

Truy cập vào Menu manager

  • Nhấn New để tạo một Menu mới:

Tạo menu mới

  • Thiết lập các thông số cho Menu này như trong hình:

Tạo Menu cho trang thông báo lỗi 404

  • Sau khi thực hiện xong nhấn Save để lưu lại.

Tạo Menu Item cho thông báo lỗi 404

  • Tiếp tục truy cập vào Menus và chọn Menu mới vừa tạo (404 Menu).

Tạo Menu Item cho thông báo lỗi 404

  • Nhấn New để tạo một Menu Item mới trong 404 Menu.

Tạo Menu Item mới

  • Trong Select Menu Item Type, chọn Internal Link -> Articles -> Article -> Article Layout.

Chọn kiểu Menu Item là Article Layout

  • Đặt tên cho Menu, sau đó nhấn nút Select trong phần Parameters (Basic) và chọn bài viết (Article) đã tạo ở Bước 1. Các thông số khác cứ giữ nguyên.

Thiết lập thông số cho Menu Item

  • Sau khi thực hiện xong nhấn Save để lưu lại.

Bật tính năng SEO/SEF của Joomla!

Sửa tập tin báo lỗi của Joomla!

  • Sao chép (Copy) tập tin /templates/system/error.php vào thư mục /templates/template_đang_sử_dụng/ (cùng vị trí với tập tin templateDetails.xml)
  • Mở tập tin error.php vừa mới sao chép trong thư mục /templates/template_đang_sử_dụng/ 

Đối với Joomla! 1.5 tìm dòng code:

defined( '_JEXEC' ) or die( 'Restricted access' );
  • Thêm vào ngay bên dưới các dòng code sau:
if (($this->error->code) == '404') {
header('Location: 404-page.html');
exit;
}

Đối với Joomla! 1.7 (2.5) tìm dòng code:

defined('_JEXEC') or die;
  • Thêm vào ngay bên dưới các dòng code sau:
if (($this->error->getCode()) == '404') {
header('Location: 404-page.html');
exit;
}
  • Lưu tập tin error.php này lại.

Như vậy là từ bây giờ trang web Joomla! của bạn đã có một trang thông báo lỗi 404 với nội dung tùy theo ý mình. Điểm đặc biệt của trang thông báo lỗi 404 này là nó vẫn giữ nguyên giao diện và các thông tin khác của trang web.

Trang thông báo lỗi 404 

  • Trong dòng code thêm vào tập tin error.php có thông số Location: 404-page.html, trong đó 404-page chính là tên (Alias) của Menu Item được tạo ra ở Bước 3 trong chế độ SEO/SEF của Joomla! đang được bật. 
  • Nếu không sử dụng chức năng SEO/SEF thì bạn phải sửa lại thông số này thành liên kết (Link) của Menu Item được tạo ở bước bên trên.
    Liên kết của trang báo lỗi 404 


BuaXua.vn