Nguyên nhân xảy ra lỗi 500 internal server:
- Trường hợp xảy ra là máy chủ gặp lỗi khi xử lí .htaccess (thí dụ như tập tin này bị sai cú pháp, hoặc máy chủ chưa cài module để xử lí 1 số chỉ thị đặc biệt của nó: ví dụ trong .htaccess dùng RewriteRule mà máy chủ lại không cài modRewrite,…).
- Lỗi này thường gặp do việc phân quyền cho các thư mục.
- Bạn đang bị tấn công DoS hoặc DDos (1 số server cấu hình khi host dùng quá tài nguyên thì xuất lỗi này).
- Lỗi do việc thực thi scripts bị time-out.
Hướng dẫn cách phát hiện và khắc phục lỗi 500 internal server:
1/ Lỗi với file .htaccess:
- Kiểm tra:
Bước 1: Kiểm tra lỗi từ error log giao diện cPanel để xác nhận thông báo lỗi gây ra
Bước 2: Kiểm tra lỗi từ trong Server trả về để xác định nguyên nhân (cat hoặc tail /usr/local/apache/logs/error_log | grep “domain.com”)
- Cách khắc phục:
+ Lỗi do sai .htaccess default của các scripts (WordPress, Joomla, Drupal,…). Về lỗi này chúng ta cần xây dựng lại file .htaccess default của các scripts trên trang chủ và cấu hình lại với file .htaccess hiện tại.
+ Lỗi do cú pháp file .htaccess không chính xác. Về lỗi này chúng ta cần kiểm tra lại các dòng của htaccess để đảm bảo đúng cú pháp.
+ Thay đổi file .htaccess hiện tại thành .htaccess.bak sau đó chuyển từng dòng file .htaccess để kiểm tra lỗi “500 Internal Server Error”
Chú ý: Thường lỗi do file .htaccess gây ra chúng ta kiểm tra lại các rules của mình đúng cấu trúc hay không và đường dẫn file liên quan.
2/ Thiết lập phân quyền:
- Cơ chế:
Lỗi này thường gặp ở 1 số sever không cho phép thiết lập quyền hạn đối với các thư mục sang chế độ CHMOD 777, đặc biệt là các thư mục admin hay administrator (nhằm mục đích bảo vệ phần back-end của bạn). Nghĩa là lỗi này ít khi xảy ra trên localhost, và khi gặp lỗi này bạn cũng sẽ không vào được trang quản trị.
- Khắc phục:
Bạn vào File Mananger hay dùng một chương trình FTP vào host của bạn và CHMOD lại cho các thư mục và tập tin thư mục thì là 755 còn tập tin thì nên 644, hoặc thử đổi tên/xóa file .htaccess có trong host, sau đó thử truy cập lại.
3/ Xóa cache và cookies trình duyệt của bạn:
Nếu như cách ở trên không đươc thì bạn có thể sử dụng cách này để fix. Tuy nhiên điều này vẫn rất ít xảy ra vì ngay từ đầu tên của lỗi là từ phía server rồi, nhưng chúng ta không nên bỏ qua việc fix này bởi vì rất có thể có một vấn đề nào đó với phiên bản cache đã lưu của website hiện tại trên trình duyệt làm cho xuất hiện lỗi này. Sau khi xóa các bạn cần tắt đi và bật lại trình duyệt kiểm tra lại kết quả. Sau khi thực hiện các giải quyết trên tình trạng vẫn còn, bạn có thể liên hệ trực tiếp với nhà cung cấp hosting để được trợ giúp khắc phục.