Hướng dẫn xử lý lỗi 404
Hướng dẫn này giải thích các nguyên nhân thường gặp nhất của lỗi 404 Not Found trên website và cách xử lý.
1. Tệp không tồn tại
Nguyên nhân đơn giản và phổ biến nhất: tệp không có ở đó. Nếu bạn yêu cầu một tệp tĩnh, hãy đảm bảo nó thực sự tồn tại trong đường dẫn chỉ định hoặc thư mục gốc tài liệu.
Ví dụ:
Nếu bạn yêu cầu example.com/index.html, hãy xác nhận index.html tồn tại trong thư mục gốc tài liệu của tên miền example.com.
Cách kiểm tra:
- Vào Tên miền > [Tên miền của bạn] > bấm vào Thư mục gốc.
- Mở Trình quản lý tệp và x ác minh tệp nằm đúng vị trí.

2. Quy tắc rewrite
Nếu yêu cầu là một route động (ví dụ permalink đẹp của WordPress như example.com/about), sự cố có thể do quy tắc rewrite cấu hình sai trong tệp .htaccess hoặc cấu hình VirtualHost.
Với Apache hoặc LiteSpeed:
- Mở Trình quản lý tệp và kiểm tra tệp
.htaccesstrong thư mục gốc tài liệu của tên miền.
- Nếu có, hãy xem lại nội dung của nó.

- Với WordPress, bạn chỉ cần vào WP Admin > Settings > Permalinks và bấm Save (kể cả khi không thay đổi gì). Thao tác này làm mới các quy tắc rewrite trong
.htaccess. - Sau đó khởi động lại web server để áp dụng thay đổi từ tệp .htaccess.
Với Nginx hoặc OpenResty:
- Không dùng tệp
.htaccess. Quy tắc rewrite được đặt trực tiếp trong cấu hình VirtualHost. - Vào Tên miền > [Tên miền của bạn] > Chỉnh sửa VHost.

- Xem lại và sửa quy tắc rewrite, rồi lưu tệp. Thao tác này tự động nạp lại web server để áp dụng thay đổi.

Sau khi điều chỉnh, kiểm tra lại website.
3. Sự cố gắn kết của Docker
Trong một số ít trường hợp, cơ chế gắn tệp của Docker (dùng inode) có thể gây sai lệch. Nếu một người dùng hoặc chương trình đã di chuyển hay đổi tên thư mục home, container dịch vụ PHP có thể không còn thấy cùng các tệp như Trình quản lý tệp.
Điều này nghĩa là tệp có thể hiển thị trong Trình quản lý tệp nhưng PHP lại không truy cập được.
Cách kiểm tra:
-
Nếu bạn có quyền truy cập Docker:
-
Vào Docker > Terminal.
-
Chọn dịch vụ PHP.

-
Chạy:
ls filename_here.phpNếu tệp không hiển thị, hãy khởi động lại dịch vụ PHP để gắn lại.
-
-
Để khởi động lại container PHP:
- Vào Docker > Container.
- Tắt dịch vụ PHP, chờ trang tải lại, rồi bật lại.

-
Nếu bạn không có quyền truy cập Docker:
- Liên hệ nhà cung cấp hosting và yêu cầu khởi động lại dịch vụ PHP.
Khi xong, kiểm tra lại tệp bằng terminal.