1. Mục đích:
Trong quá trình sử dụng hosting cPanel đôi khi chúng ta sẽ gặp tình trạng thông báo lỗi "500 Internal Server Error" khi truy cập website của mình. Bài viết này sẽ tập trung vào cách kiểm tra và khắc phục do file .htaccess gây ra.
2. Tổng Quan:
Lỗi 500 xảy ra do các nguyên nhân xuất phát chủ yếu như sau:
a. 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,…).
b. Lỗi này thường gặp do việc phân quyền cho các thư mục.
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).
d. Lỗi do việc thực thi scripts bị time-out.
3. Hướng dẫn xác định lỗi 500 Internal Server Error với file .htaccess:
3.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
3.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")
4. Khắc phục lỗi 500 Internal Server Error với file .htaccess:
a. 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.
b. 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. Có thể tham khảo thêm tại link sau: http://vinahost.vn/ac/knowledgebase/134/Kim-tra-cac-module-thong-dng-ca-hosting-va-cu-hinh-htaccess--s-dng.html hoặc
c. 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.
Tham khảo:
http://codex.wordpress.org/htaccess