Sometimes, when you run server locally aka hexo s, you will find your categories page and tags page (mainly these two pages) are working fine. But when you deploy pages using hexo d, the pages suddenly give you 404.

Why is that? Link to heading

git is case in-sensitive defaultly, but javascript is a case sensitive language. That is telling you node.js will not find your route if case in-sensitive.

how to solve? Link to heading

ref link

In your blog folder, modify item ignorecase=true to ignorecase=false in .deploy_git/.git/config.

possible cmd is

cd .deploy_git
vim .git/config

After above, you clear .deploy_git and push to github.

git rm -rf *
git commit -m 'clear all files'
git push

Last but not least, re generate and deploy.

cd ..
hexo clean; hexo g; hexo d