[Hexo] 대소문자 이슈로 404 오류 발생한 경우


발생한 일

평소에 Hexo 사용하면서 대소문자 이슈를 전혀 신경쓰지 않고 있었다. 가끔씩 Daily를 daily로 쓰는 실수를 해서 카테고리랑 태그가 두개로 분리되는 현상이 발생했다는 걸 알고 일괄 수정해서 배포를 했는데, 디렉토리명에는 전혀 적용되지 않아서 404 오류가 발생했다.

  • Daily 폴더에 1~11페이지 파일이 있고 daily 폴더에 12~13페이지 파일이 들어있어서, 실제 블로그 페이지에서 Daily 카테고리의 13페이지를 접근하려고 하면 404 오류 발생.

해결 방법

처음에는 deploy_git 폴더에 있는 내용물을 모두 삭제하고 hexo clean -> deploy 하면 해결할 줄 알았는데, github에 배포된걸 보니 여전히 디렉토리가 두개로 분리되어 있었다.

hexo에서 자체적으로 해결할 방법이 있을거라 생각하고 검색한 결과 다음 페이지를 발견했다.

http://timnew.me/blog/2014/08/20/hexo-file-name-escape-issue-and-solution/

우선 Hexo를 설치 후 별다른 세팅을 하지 않았다면 _config.yml에서 filename_case 세팅은 0으로 잡혀있다. 1로 세팅하는 경우 파일명&디렉토리명을 소문자로 변환, 2로 세팅하는 경우는 대문자로 변환해주므로 나는 1로 세팅했다.

이후 deploy_git 폴더에 들어가서 파일을 한번 다 지워주고 커밋 한뒤에, Hexo 배포를 다시 해주면 된다.

git rm -rf *
git commit -m "모든 파일 삭제"
hexo clean
hexo d -g

번외

일반적인 git 사용 상황에서 대소문자 변경해야되는 경우가 발생하는 경우는 git mv –force <원래 파일이름=""> <바꿀 파일이름=""> 으로 해주면 된다고 한다.