Halaman kesalahan dilayani melalui .HTACCESS, jika Anda menggunakan Apache Anda akan menggunakan ErrorDocument
arahan dan menambahkan status dan URL ke sana.
Jadi akan terlihat seperti ini di file .htaccess Anda:
ErrorDocument 401 http://yourwebsite.com/error-401
ErrorDocument 403 http://yourwebsite.com/error-403
ErrorDocument 500 http://yourwebsite.com/error-500
Anda dapat menggunakan fungsi berikut di bawah ini. Ini akan secara dinamis menambahkan apa yang diperlukan untuk file HTACCESS untuk Anda atau Anda bisa melakukannya secara manual.
1. Tambahkan Halaman:
Anda kemudian perlu masuk ke Dashboard Anda dan membuat Halaman seperti halaman normal lainnya ('Dashboard'> 'Halaman'> 'Baru'). Mereka dapat diberi judul apa pun yang Anda inginkan, pastikan siput itu sama dengan pada fungsi di bawah (Slug: error-401, error-403, error-404, error-500). Anda juga dapat menggunakan templat halaman untuk membuat tata letak dan gaya apa pun yang Anda inginkan untuk halaman spesifik ini. Ikuti instruksi WordPress Codex untuk ini.
2. Tambahkan Fungsi:
// 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 !! CATATAN FUNGSI DI ATAS
Saat memindahkan situs web Anda atau mengubah struktur URL
Yang perlu diingat dengan fungsi di atas adalah meskipun ia akan memeriksa untuk melihat apakah arahan ErrorDocument sudah ada sebelum menulis mereka ke file HTACCESS Anda, itu tidak akan menulis ulang arahan ErrorDocument jika Anda mengubah atau memindahkan blog Anda untuk mencerminkan lokasi halaman yang diperbarui. Anda harus menghapus arahan ErrorDocument yang ada di file HTACCESS Anda terlebih dahulu dan kemudian jalankan kembali fungsi ini untuk membuat arahan baru.
Kait yang benar untuk menjalankan fungsi HANYA SEKALI
Hal lain yang perlu diperhatikan adalah fungsi ini, menggunakan init
tindakan akan berjalan setiap kali halaman Anda memuat yang super tidak perlu dan boros jadi saya akan menyarankan menambahkannya ke plugin dan menggunakan register_activation_hook
lebih dari itu sehingga hanya menyala sekali pada aktivasi plugin
Izin File
Juga sangat penting bahwa .htaccess Anda dapat ditulis saat menggunakan fungsi di atas, jadi pastikan ia memiliki izin file yang benar, seperti CHMOD777.