← 전체 목록
워드프레스운영

퍼머링크 설정 한 번으로 서버 이전 후 404 오류를 싹 잡습니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

워드프레스 퍼머링크 깨짐 해결은 서버 이전 직후 가장 흔하게 겪는 문제입니다. 서버를 옮겼더니 홈페이지는 잘 나오는데 각 페이지 URL로 들어가면 전부 404 Not Found가 뜨는 상황이 있었습니다. 공지사항, 진료 안내, 예약 페이지 모두 접근 불가였습니다. 원인은 퍼머링크 규칙을 담은 .htaccess 파일이 새 서버에 제대로 적용되지 않은 것이었습니다.

퍼머링크 깨짐 원인

워드프레스는 /%postname%/ 같은 글 URL 구조를 위해 .htaccess(Apache) 또는 Nginx 설정에 특별한 리라이트 규칙이 필요합니다. 이 규칙이 없거나 무시되면 모든 URL이 404를 반환합니다.

주요 원인:

  • 서버 이전 후 .htaccess가 누락되거나 잘못된 권한
  • Apache에서 AllowOverride None 설정으로 .htaccess 무시
  • Nginx 설정에 try_files $uri $uri/ /index.php?$args; 누락

가장 빠른 해결 방법

관리자 → 설정 → 퍼머링크
→ 아무 것도 변경하지 않고 "변경 사항 저장" 클릭

이 동작 하나로 워드프레스가 .htaccess를 재생성합니다. 대부분의 경우 이것으로 해결됩니다.

Nginx 환경에서 설정

Nginx는 .htaccess를 읽지 않습니다. 서버 설정 파일에서 직접 설정해야 합니다.

server {
    # ...
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

try_files $uri $uri/ /index.php?$args; 이 줄이 없으면 워드프레스 URL 구조가 작동하지 않습니다.

Apache에서 .htaccess가 무시될 때

Apache 설정에서 .htaccess 허용 여부를 확인합니다.

# Apache 설정 확인
grep -r "AllowOverride" /etc/apache2/

AllowOverride None 이면 .htaccess가 무시됩니다. AllowOverride All 로 변경해야 합니다.

<Directory /var/www/html/>
    AllowOverride All
</Directory>

변경 후 Apache 재시작: sudo systemctl restart apache2

퍼머링크 문제는 원인만 알면 대부분 5분 안에 해결됩니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)