오류 페이지는 .HTACCESS를 통해 제공됩니다. Apache를 사용하는 경우 ErrorDocument
지시문을 사용 하고 상태 및 URL을 추가하십시오.
따라서 .htaccess 파일에서 다음과 같이 보일 것입니다.
ErrorDocument 401 http://yourwebsite.com/error-401
ErrorDocument 403 http://yourwebsite.com/error-403
ErrorDocument 500 http://yourwebsite.com/error-500
아래의 기능을 사용할 수 있습니다. 이것은 HTACCESS 파일에 필요한 것을 동적으로 추가하거나 수동으로 할 수 있습니다.
1. 페이지 추가 :
그런 다음 대시 보드로 이동하여 일반 페이지와 같은 페이지를 만들어야합니다 ( '대시 보드'> '페이지'> '신규'). 원하는 제목을 지정할 수 있습니다. 슬러그가 아래 기능과 동일해야합니다 (슬러그 : error-401, error-403, error-404, error-500). 또한 페이지 템플릿을 사용하여 이러한 특정 페이지에 원하는 레이아웃과 스타일을 만들 수 있습니다. 이에 대한 WordPress Codex 지침을 따르십시오 .
2. 기능 추가 :
// Create Custom Error Pages in WordPress using HTACCESS
function royal_custom_error_pages() {
// Get HTACCESS path & dynamic website url
$htaccess_file = '.htaccess';
$website_url = get_bloginfo('url').'/';
// Check & prevent writing error pages more than once
$check_file = file_get_contents($htaccess_file);
$this_string = '# BEGIN WordPress Error Pages';
if( strpos( $check_file, $this_string ) === false) {
// Setup Error page locations dynamically
$error_pages .= PHP_EOL. PHP_EOL . '# BEGIN WordPress Error Pages'. PHP_EOL. PHP_EOL;
$error_pages .= 'ErrorDocument 401 '.$website_url.'error-401'.PHP_EOL;
$error_pages .= 'ErrorDocument 403 '.$website_url.'error-403'.PHP_EOL;
$error_pages .= 'ErrorDocument 404 '.$website_url.'error-404'.PHP_EOL;
$error_pages .= 'ErrorDocument 500 '.$website_url.'error-500'.PHP_EOL;
$error_pages .= PHP_EOL. '# END WordPress Error Pages'. PHP_EOL;
// Write the error page locations to HTACCESS
$htaccess = fopen( $htaccess_file, 'a+');
fwrite( $htaccess, $error_pages );
fclose($htaccess);
}
}
add_action('init','royal_custom_error_pages'); // This will run the function everytime, not ideal!
// register_activation_hook( __FILE__, 'royal_custom_error_pages' ); // Using a plugin, runs only once!
NB !! 위의 기능에 대한 참고 사항
웹 사이트를 옮기거나 URL 구조를 변경할 때
위 함수에서 기억해야 할 것은 ErrorDocument 지시문이 HTACCESS 파일에 쓰기 전에 이미 존재하는지 확인하지만 업데이트 된 페이지 위치를 반영하도록 블로그를 변경하거나 이동해도 ErrorDocument 지시문을 다시 쓰지 않습니다. HTACCESS 파일에서 기존 ErrorDocument 지시문을 먼저 삭제 한 다음이 함수를 다시 실행하여 새 지시문을 작성해야합니다.
올바른 후크 만 기능을 실행
주목해야 할 또 다른 사항은이 기능이며, init
페이지를로드 할 때마다 작업이 실행되어 매우 불필요하고 낭비가되므로 플러그인에 추가하고 register_activation_hook
오히려 플러그인 활성화시 한 번만 실행되도록 제안하는 것이 좋습니다
파일 권한
또한 위의 기능을 사용할 때 .htaccess가 쓰기 가능해야하므로 CHMOD777과 같은 올바른 파일 권한이 있는지 확인하십시오.