Just now I reset one of my domains and its content. What I did was unassign the domain from my hosting account, backup the database and delete the domain’s directory in my account. I was going to create only a fresh installation of my domain but keep using the same content as before. Everything worked well from the re-assigning to restoring the database.
But when I started to browse each individual posts and category archives, they all returned a 404 error of "Page not found". I checked the permalinks of each posts and found nothing wrong. Permalink structure was also the same as before I reinstall the domain.
Then I googled and found a suggestion to re-save the permalink setting to force WordPress to regenerate the permalink rules. That reset everything back again…
And guess what..? It works!
Credit goes to ozgreg