Các trang lỗi được cung cấp qua .HTACCESS, nếu bạn đang sử dụng Apache, bạn sẽ sử dụng lệnh ErrorDocument
này và thêm trạng thái và URL vào đó.
Vì vậy, nó sẽ trông như thế này trong tệp .htaccess của bạn:
ErrorDocument 401 http://yourwebsite.com/error-401
ErrorDocument 403 http://yourwebsite.com/error-403
ErrorDocument 500 http://yourwebsite.com/error-500
Bạn có thể sử dụng các chức năng sau đây. Điều này sẽ tự động thêm những gì cần thiết vào tệp HTACCESS cho bạn hoặc bạn có thể tự làm điều đó.
1. Thêm trang:
Sau đó, bạn sẽ cần truy cập Bảng điều khiển của mình và tạo Trang giống như bất kỳ trang bình thường nào ('Bảng điều khiển'> 'Trang'> 'Mới'). Chúng có thể được đặt tiêu đề bất cứ điều gì bạn muốn, chỉ cần đảm bảo sên giống như trong hàm bên dưới (Slug: error-401, error-403, error-404, error-500). Ngoài ra, bạn có thể sử dụng mẫu trang để tạo bất kỳ bố cục và kiểu dáng nào bạn muốn cho các trang cụ thể này. Làm theo hướng dẫn WordPress Codex cho việc này.
2. Thêm chức năng:
// 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!
Lưu ý !! GHI CHÚ VỀ CHỨC NĂNG TRÊN
Khi di chuyển trang web của bạn hoặc thay đổi cấu trúc URL
Điều cần nhớ với chức năng trên là mặc dù nó sẽ kiểm tra xem các chỉ thị ErrorDocument đã tồn tại trước khi ghi chúng vào tệp HTACCESS của bạn hay chưa, nó sẽ không viết lại các chỉ thị ErrorDocument nếu bạn thay đổi hoặc di chuyển blog của bạn để phản ánh các vị trí trang được cập nhật. Trước tiên, bạn cần xóa các chỉ thị ErrorDocument trong tệp HTACCESS của mình và sau đó chạy lại chức năng này để tạo các lệnh mới.
Hook chính xác để kích hoạt chức năng CHỈ MỘT LẦN
Một điều khác cần lưu ý là chức năng này, sử dụng init
hành động sẽ chạy mỗi khi tải trang của bạn là điều không cần thiết và lãng phí, vì vậy tôi khuyên bạn nên thêm nó vào plugin và sử dụng register_activation_hook
thay vì vậy nó chỉ kích hoạt một lần khi kích hoạt plugin
Quyền tập tin
Ngoài ra, điều bắt buộc là .htaccess của bạn có thể ghi được khi sử dụng chức năng trên, vì vậy hãy đảm bảo rằng nó có quyền truy cập tệp chính xác, giống như CHMOD777.