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. Bạn đừng lo lắng mình sẽ hướng dẫn bạn xử lý nhanh như sau.

loi 404 wordpress
Lỗi 404 not found

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

chrome mPFJ9nuT0l

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.

chrome 7n45VKJIV0 1024x445 1

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.

chrome RjbXJd4jrP6

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

Đ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]

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é!

Bài viết liên quan