Nếu trang wordpress của bạn bị lỗi error 404 tất cả các trang ngoại trừ trang chủ (homepage), bạn cần kiểm tra lại cấu hình server: file domain.conf của Nginx hoặc htaccess của Apache

Hiện tượng:

Toàn bộ các page bị lỗi 404 ngoại trừ trang chủ. Nếu như bạn chuyển setting permalinks của wordpress về option: default thì tất cả các đường dẫn lại hoạt động bình thường, tuy nhiên url sẽ trở về trạng thái default (domain/?p=123).

Giải pháp:

Đối với Nginx, bạn cần kiểm tra và sửa file domain.conf như sau:

a. Tìm đến đoạn dưới đây:

try_files $uri $uri/ /index.php?q=$uri&$args;

b. Tạo một block riêng cho đoạn này:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Chú ý: vị trí file domain.conf trong server nginx: /etc/nginx/conf.d

Đối với Apache, sửa nội dung file htaccess như sau: 

# 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