WPML에서 언어 디렉토리(예: 스페인어의 경우 http://example.com/es/)를 선택할 수 없는 경우, 해당 URL에 접근하려고 시도하다가 오류가 발생했기 때문입니다. 언어 디렉토리가 작동하는지 확인하기 위해 점검할 수 있는 항목은 다음과 같습니다.
언어 디렉토리가 작동하도록 설정해야 하는 항목은 다음과 같습니다.
- URL 재작성을 활성화합니다.
- WordPress가 폴더에 대한 읽기 및 쓰기 권한을 가지도록 허용합니다.
- 사이트에서 “예쁜” 고유주소 구조를 사용하는지 확인합니다.
보시다시피 서버에 물리적 디렉토리를 생성할 필요는 없습니다. URL 재작성을 통해 디렉토리에 언어를 설정할 수 있습니다.
WPML이 디렉토리에 언어를 활성화할 수 있는지 확인하는 방법
WPML은 디렉토리에 언어가 작동하는지 확인하는 테스트 호출에 접근을 시도합니다. 이 테스트 호출은 다음과 같습니다.
yourdomain/LANGUAGE/?____icl_validate_domain=1
예를 들어, 자체 도메인(wpml.org)에 스페인어가 활성화되어 있는지 확인하려면 브라우저에서 다음 URL로 이동합니다.
http://wpml.org/es/?____icl_validate_domain=1
이렇게 하면 빈 페이지가 나타납니다. 페이지를 마우스 오른쪽 버튼으로 클릭하고 페이지 소스 보기를 선택하세요. 다음 콘텐츠가 표시되어야 합니다.
<!--http://wpml.org-->
이는 WordPress가 이 URL 구조에 대한 접근을 허용한다는 것을 WPML에 알려줍니다. 호출이 성공하면 WPML은 디렉토리별 언어 사용을 허용합니다. 그렇지 않은 경우 문제의 원인을 설명하는 메시지가 표시됩니다.
WPML에 오류 페이지가 표시되면 이 기능을 비활성화하고 기능이 비활성화된 이유에 대한 설명과 함께 빨간색 오류 메시지를 출력합니다.
중요: WPML은 fopen 호출을 수행하여 유효성 검사 URL에 접근합니다. 일반적으로 브라우저가 하는 작업과 비슷하지만 동일하지는 않습니다. 서버에서 fopen이 활성화되어 있는지 확인하세요. 차단되지 않도록 PHP 구성 파일에 다음을 추가할 수 있습니다.
SecFilterEngine Off
WordPress의 URL 재작성 활성화 확인
URL 재작성을 활성화하기 위해 WordPress는 설치된 폴더에 .htaccess라는 파일을 생성합니다. 기본 URL 이외의 항목을 사용하는 경우 WordPress에서 이 파일을 생성합니다. 해당 파일에는 다음 내용이 포함되어야 합니다.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress파일이 존재하지 않으면 생성해 보세요. 파일이 존재하지만 비어 있는 경우 이 내용을 복사하여 저장하세요.
URL을 재작성할 수 있다는 것의 의미
URL 재작성은 WordPress에서 집중적으로 사용하는 복잡한 메커니즘입니다. 이것이 작동하려면 웹 서버(일반적으로 Apache)가 URL을 재작성할 수 있어야 하며, WordPress가 재작성 논리를 관리하도록 허용되어야 합니다.
Apache에서는 mod-rewrite가 URL 재작성을 수행합니다. 기본적으로 활성화되어 있는 매우 표준적인 모듈입니다. Apache를 사용 중인데 언어 디렉토리를 활성화할 수 없는 경우 사이트에서 mod-rewrite가 활성화되어 있는지 확인하세요. 방법을 잘 모르는 경우 호스팅 제공업체에 이메일을 보내세요. 다음 내용을 사용할 수 있습니다.
안녕하세요.제가 사용하려는 WordPress 플러그인에는 mod-rewrite 모듈이 활성화되어 있어야 합니다. 제 웹사이트(http://example.com)에 mod-rewrite가 활성화되어 있는지 확인해 주실 수 있나요?
이 모듈이 활성화되어 있다고 가정할 때, 이제 WordPress가 URL 작성 규칙을 제어할 수 있어야 합니다. 이를 위해 WordPress는 설치된 폴더에 쓰기 권한이 있어야 합니다.
WordPress에 폴더 읽기 및 쓰기 권한이 있는지 확인
마찬가지로 Apache를 사용하는 경우 Apache가 실행되는 사용자를 확인하고 해당 사용자에게 WordPress가 설치된 폴더에 대한 읽기 및 쓰기 권한을 허용하세요. FTP 프로그램, 셸 또는 이메일을 통해 이 작업을 수행할 수 있습니다.
안녕하세요.부탁드릴 일이 하나 더 있습니다. 다음 디렉토리에 WordPress를 설치했습니다.
YOUR_WP_INSTALL_DIRECTORY
웹 서버가 해당 디렉토리에서 읽고 쓸 수 있도록 전체 디렉토리의 파일 권한을 (재귀적으로) 변경해 주실 수 있나요? WordPress가 일부 파일에 쓸 수 있어야 합니다.
이제 다시 확인해 보세요.
사이트에서 “예쁜” 고유주소 구조를 사용하는지 확인
사이트에서 “예쁜” 고유주소 구조를 사용해야 합니다. WordPress 설정에서 사이트의 고유주소 구조를 변경할 수 있습니다.
문제 해결
Cloudflare와 같은 CDN을 사용하는 경우 HTML 주석을 제거하여 디렉토리에 있는 언어가 올바르게 작동하는 것을 차단할 수 있습니다. 결과적으로 프런트엔드에는 아무런 문제가 없는데도
?____icl_validate_domain=1과(와) 관련된 경고를 표시하는 오탐지 오류가 나타날 수 있습니다.
도움이 필요하신가요?
여전히 작동하지 않는 경우 WPML 지원에 문의하세요.