it-swarm-vi.com

Trang 404 của tôi trả về 500

Joomla đang phát hiện chính xác khi không tìm thấy một trang và chuyển hướng tôi đến trang lỗi tôi đã thiết lập. Thật không may, tôi thấy rằng mã lỗi được trả về là 500, thay vì 404 và điều này đến từ Joomla.

Có cách nào để Joomla trả lại 404 trong trường hợp này?

4
ContextSwitch

Trong thư viện/legacy/controller/legacy.php, chúng tôi đã thay đổi:

throw new Exception(JText::sprintf('JLIB_APPLICATION_ERROR_VIEW_NOT_FOUND', $name, $type, $prefix), 500);

đến

throw new Exception(JText::sprintf('JLIB_APPLICATION_ERROR_VIEW_NOT_FOUND', $name, $type, $prefix), 404);

3
ContextSwitch

Có vẻ như trang lỗi của bạn có thể có các quyền sai được đặt trên đó để nó không thể hiển thị, vì vậy bạn kết thúc với một lỗi 500 thay vào đó. 500 lỗi hầu như luôn luôn được gây ra bởi hai điều:

  1. Đã xảy ra lỗi trong tệp htaccess của bạn
  2. quyền xấu trên một tập tin hoặc thư mục

có những nguyên nhân khác, nhưng theo kinh nghiệm của tôi, đó là hai ông lớn.

2
Brian Peat