Nội dung
Một số trường hợp sau khi bạn chuyển hosting, cài đặt lại website truy cập site home vẫn hoạt động bình thường và khi truy cập các site con như (bài viết, trang, chuyên mục) đều gặp lỗi 404 Not Found trong WordPress, điều này có thể sẽ khiến người dùng lo lắng.
Trong website, mã lỗi 404 Not Found được xác định là máy chủ website không thể tìm thấy nội dung cần hiển thị ra trình duyệt, do đó để xử lý lỗi này trong WordPress thì chúng ta cần phải cấu hình lại liên kết tĩnh.
Cách 1: Cập nhật đường dẫn tĩnh (Permalinks)
Bạn đăng nhập vào admin WordPress tìm đến Cài đặt => Đường dẫn tĩnh
Sau đó bạn chọn Tùy biến và tiến hành save lại, bạn nên xoá cache trình duyệt rồi hãy kiểm tra lại.
Cách 2: Chỉnh sửa trong file .htaccess
Mặc định file .htaccess là file ẩn, vì thế bạn phải show hidden để hiện các file ẩn này lên.
Tiếp đến bạn mở và chỉnh sửa file .htaccess và thêm vào đoạn mã bên dưới, nếu file .htaccess không có bạn thực hiện tạo mới nhé.
Đoạn mã dành cho WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Nếu bạn dùng WordPress Multisite thì sử dụng đoạn mã sau
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
Video hướng dẫn chỉnh sửa file .htaccess
Sửa lỗi 404 not found trong WordPress trên NGINX
Nếu bạn đang sử dụng VPS hoặc máy chủ Linux đang sử dụng NGINX làm webserver chạy website WordPress, thì có thể bạn đang thiếu cấu hình rewrite đường dẫn cho website trên NGINX. Để cấu hình rewrite cho WordPress trên NGINX, bạn chèn đoạn sau vào tập tin cấu hình tên miền trong NGINX trên máy chủ.
location /
{
try_files $uri $uri/ /index.php?$args;
}
Và nhớ khởi động lại NGINX với lệnh service nginx restart
Bây giờ bạn hãy kiểm tra lại lỗi 404 còn không nhé!