네이버 카페에 WPForms 문의폼에서 제출하기 버튼을 누르면 "rest_no_route" 오류 메시지가 표시되는 문제에 관한 질문이 올라온 적이 있습니다. 아래와 같이 "URL과 요청한 메소드에 일치하는 라이트를 찾을 수 없습니다" 메시지가 표시되는 문제인데요.
이 에러가 발생하는 경우 체크할 사항에 대하여 살펴보겠습니다.
워드프레스 "rest_no_route" 오류
드물지만 Contact Form 7이나 WPForms 플러그인을 사용할 때 "rest_no_route" 에러가 발생하는 경우가 있습니다.
{
“code”: “rest_no_route”,
“message”: “No route was found matching the URL and request method.”,
“data”: {
“status”: 404
}
}
이 문제는 기본적으로 REST API 문제로 인해 발생한다고 합니다.
도구 » 사이트 건강에서 에러나 경고가 표시되지 않는지 체크해보시기 바랍니다. 아무런 경고가 표시되지 않아야 바람직합니다.
이 워드프레스 블로그에서는 "비활성화 플러그인을 모두 제거해야 합니다"라는 권장 개선사항이 표시되고 있습니다. 보안을 위해 사용하지 않는 플러그인은 삭제하는 것이 바람직합니다. (저는 백업할 때에만 백업 플러그인을 활성화하고, 평상 시에는 비활성화하여 사용하고 있습니다. 이 때문에 이 경고가 표시되고 있습니다.😄)
사이트 건강에서 REST API 관련 오류가 표시된다면 해당 오류를 해결한 후에 문제가 재발하는지 체크해보시기 바랍니다.
"rest_no_route" 에러 해결하기
이외에 다음과 같은 조치를 취하여 문제가 해결되는지 확인해볼 수 있습니다.
- 설정 » 고유주소로 이동하여 저장 버튼을 누릅니다. 그러면 .htaccess 파일이 새로 생성됩니다.
- FTP에 접속하여 .htaccess 파일을 체크하도록 합니다. 가능한 경우 표준 워드프레스 .htaccess 파일을 사용하면 좋습니다. REST Route에 영향을 미칠 수 있는 엄격한 rewrite 규칙이 추가되어 있지 않은지 확인하도록 합니다.
- 임시로 모든 플러그인을 비활성화하여 문제가 발생하는지 체크합니다.
- 백업을 한 후에 워드프레스 코어, 테마, 플러그인을 최신 버전으로 업데이트합니다.
FTP에 접속하는 방법은 다음 글을 참고해보세요.
어떤 글을 보면 보안 플러그인이나 서버의 방화벽이 영향을 미칠 수도 있다고 합니다. 보안 플러그인이 활성화되어 있다면 보안 플러그인 설정을 체크하거나 비활성화하여 문제 재발 여부를 확인할 수 있을 것입니다. 카페24를 사용한다면 웹 방화벽을 일시적으로 끈 후에 문제가 나타나는지 체크해보세요.
그리고 Ajax 기능을 사용할 경우에 이 문제가 발생할 수 있다는 늬앙스의 글도 있네요. WPForms 플러그인을 사용한다면 설정 » 일반에서 AJAX 양식 제출 활성화 옵션이 아래 그림과 같이 활성화되어 있다면 이 옵션을 비활성화한 후에 테스트해보시기 바랍니다.
WPForms 한국어 번역에 어색한 부분이 눈에 띄네요. "일반적인"은 아마 "General"을 번역한 것으로 보이는데, 형용사로 번역해서는 안 되고, 이 경우에는 "일반"으로 번역해야 합니다. 번역기를 사용하여 번역한 것 같은 느낌이 드네요.
위의 조치로 문제가 해결되는지 체크해보시고 아래에 댓글을 통해 해결 여부에 대하여 알려주시면 감사하겠습니다.
여러가지 조치에 문제가 해결이 안 되면 다른 컨탠트 폼 플러그인을 사용하는 것도 고려해보세요.
워드프레스 또는 웹호스팅 관련 문제로 해결에 어려움을 겪는 경우 여기에서 유료 서비스를 요청하실 수 있습니다.
WPForms Lite 한국어 번역 비활성화하기
플러그인의 한국어 번역이 어색한 경우 언어 파일(po, mo)을 삭제하는 방법이 있지만, 다른 방법으로 테마 함수 파일(차일드 테마를 만들어 차일드 테마 함수 파일)에 다음과 같은 코드를 추가할 수 있습니다.
function disable_wpforms_lite_translation() {
unload_textdomain( 'wpforms-lite' );
}
add_action( 'init', 'disable_wpforms_lite_translation', 100 );
위의 코드를 넣으면 WPForms Lite 플러그인의 한국어 번역이 비활성화됩니다.
댓글 남기기