Converter for Media Plugin 오류 해결: rewrites_not_executed 문제 완벽 가이드

WordPress 사용 중 이미지 최적화를 위해 Converter for Media Plugin을 설치했지만, rewrites_not_executed 오류가 발생했다면 이를 해결하기 위한 정확한 방법이 필요합니다. 이 가이드는 해당 오류의 원인과 Nginx 환경에서 이를 해결하는 방법을 상세히 설명합니다. 웹사이트 최적화를 성공적으로 이루기 위한 실질적인 팁을 제공합니다.

rewrites_not_executed 오류란?

Converter for Media Plugin

rewrites_not_executed 오류는 Converter for Media Plugin이 WebP 또는 AVIF 형식으로 변환된 이미지를 제공하는 과정에서 Nginx 서버의 rewrite 규칙이 올바르게 설정되지 않았을 때 발생하는 문제입니다. Apache 서버는 .htaccess 파일로 쉽게 해결되지만, Nginx에서는 별도의 수동 설정이 필요합니다. 이 오류가 해결되지 않으면 플러그인이 제대로 작동하지 않아 이미지 최적화의 장점을 활용할 수 없습니다.

Nginx 환경에서 rewrites_not_executed 오류의 주요 원인

  1. rewrite 규칙 미설정
    Nginx는 rewrite 규칙을 명시적으로 추가해야 하며, 기본 설정으로는 플러그인이 요구하는 작업을 수행하지 않습니다.
  2. 변환된 이미지 파일 경로 문제
    플러그인은 변환된 파일을 /wp-content/uploads-webpc/ 경로에 저장합니다. 이 경로로 요청이 리디렉션되지 않으면 문제가 발생합니다.
  3. 브라우저 호환성 변수 미설정
    브라우저가 WebP 또는 AVIF를 지원하는지 확인하는 http_accept 헤더 기반 설정이 누락되었을 가능성이 있습니다.

rewrites_not_executed 오류 해결 방법

1. Nginx 설정 파일 수정

/etc/nginx/sites-available/your-site.conf 또는 /etc/nginx/nginx.conf에 다음 규칙을 추가합니다. 이 규칙은 브라우저가 WebP 및 AVIF를 지원하는지 확인하고, 변환된 이미지를 제공하도록 설정합니다.

# BEGIN Converter for Media
set $ext_avif ".avif";
if ($http_accept !~* "image/avif") {
    set $ext_avif "";
}

set $ext_webp ".webp";
if ($http_accept !~* "image/webp") {
    set $ext_webp "";
}

location ~* ^/wp-content/(?<path>.+)\.(?<ext>jpe?g|png|gif|webp)$ {
    add_header Vary Accept;
    add_header Cache-Control "private";
    expires 365d;
    try_files
        /wp-content/uploads-webpc/$path.$ext$ext_avif
        /wp-content/uploads-webpc/$path.$ext$ext_webp
        $uri =404;
}
# END Converter for Media

설명

  • set $ext_avifset $ext_webp: 브라우저가 특정 포맷을 지원하는지 확인하고 변수로 설정합니다.
  • location 블록: 변환된 이미지를 우선적으로 시도한 뒤 원본 이미지를 제공하거나 404를 반환합니다.
  • add_header Vary Accept: 브라우저 요청 헤더를 기반으로 적절한 파일을 제공하도록 설정합니다.

2. 설정 적용하기

설정을 저장한 후, Nginx 설정 파일의 유효성을 확인하고 변경 사항을 적용합니다.

sudo nginx -t  # 설정 파일 테스트
sudo systemctl reload nginx  # 설정 반영

3. 플러그인 캐시 초기화

변환된 이미지가 저장된 경로(/wp-content/uploads-webpc/)를 확인하고, 플러그인에서 캐시를 초기화합니다. 캐시가 잘못되었을 경우 변환 파일이 제대로 제공되지 않을 수 있습니다.

4. 권한 문제 확인

Nginx가 /wp-content/uploads//wp-content/uploads-webpc/ 디렉터리에 쓰기 권한을 가지고 있는지 확인합니다.

sudo chown -R www-data:www-data /var/www/your-site/wp-content
sudo chmod -R 755 /var/www/your-site/wp-content

추가 팁: WebP 및 AVIF 지원 최적화

  1. 캐싱 레이어 확인
    Cloudflare 같은 추가 캐싱 서비스를 사용 중이라면, 적절한 캐시 및 리다이렉션 설정을 추가하세요.
  2. 브라우저 호환성 테스트
    다양한 브라우저에서 이미지가 올바르게 표시되는지 확인합니다. WebP와 AVIF를 지원하지 않는 구형 브라우저에서는 원본 이미지를 제공해야 합니다.
  3. 성능 테스트
    설정 완료 후 웹사이트 성능 테스트 도구(Google PageSpeed Insights 등)를 사용해 최적화가 제대로 적용되었는지 확인하세요.

결론

rewrites_not_executed 오류는 Nginx 환경에서 발생하기 쉬운 문제지만, 적절한 설정을 통해 간단히 해결할 수 있습니다. 이 가이드를 따라 서버 설정을 수정하고 플러그인 기능을 최적화하면 웹사이트의 이미지 로딩 속도와 사용자 경험을 크게 향상시킬 수 있습니다. 올바른 설정을 통해 WordPress 웹사이트를 한 단계 더 발전시키세요.

Leave a Comment