Hata sayfaları .HTACCESS aracılığıyla sunulur, Apache kullanıyorsanız ErrorDocument
yönergeyi kullanır ve ona durumu ve URL'yi eklersiniz.
Böylece .htaccess dosyanızda şöyle görünür:
ErrorDocument 401 http://yourwebsite.com/error-401
ErrorDocument 403 http://yourwebsite.com/error-403
ErrorDocument 500 http://yourwebsite.com/error-500
Aşağıdaki işlevi kullanabilirsiniz. Bu, HTACCESS dosyasına sizin için gerekenleri dinamik olarak ekler veya el ile yapabilirsiniz.
1. Sayfa Ekle:
Daha sonra Kontrol Panelinize girmeniz ve normal bir sayfa gibi ('Kontrol Paneli'> 'Sayfalar'> 'Yeni') Sayfalar oluşturmanız gerekir. İstediklerinize her ne kadar başlık koyarlarsa, sümüklü böceklerin aşağıdaki fonksiyondakiyle aynı olduğundan emin olun (Sümüklü böcek: hata 401, hata 403, hata 404, hata-500). Ayrıca, bu belirli sayfalar için istediğiniz düzeni ve stili oluşturmak için sayfa şablonunu kullanabilirsiniz. Bunun için WordPress Codex talimatlarını izleyin .
2. İşlev Ekle:
// 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 !! YUKARI FONKSİYONLA İLGİLİ NOTLAR
Web sitenizi taşırken veya URL yapısını değiştirirken
Yukarıdaki fonksiyonla hatırlanması gereken şey, onları HTACCESS dosyanıza yazmadan önce ErrorDocument yönergelerinin zaten var olup olmadığını kontrol etmesine rağmen, güncellenmiş sayfa konumlarını yansıtacak şekilde blogunuzu değiştirmeniz veya taşımanız durumunda ErrorDocument direktiflerini yeniden yazmayacaktır. Önce HTACCESS dosyanızdaki mevcut ErrorDocument yönergelerini silmeniz ve ardından yeni yönergeleri oluşturmak için bu fonksiyonu tekrar çalıştırmanız gerekir.
YALNIZCA fonksiyonu ateşlemek için Doğru Kanca
Unutulmaması gereken başka bir şey de bu işlevdir, init
eylemler sayfalarınızın her gereksiz yüklenmesinde ve gereksiz olmasına neden olacak şekilde çalıştırılır, bu yüzden onu bir eklentiye eklemeyi ve bunun register_activation_hook
yerine bir eklentiyi etkinleştirmeyi başlatmasını öneririm
Dosya izinleri
Ayrıca yukarıdaki işlevi kullanırken .htaccess'inizin yazılabilir olması zorunludur, bu yüzden CHMOD777 gibi bir dosyaya sahip olduğundan emin olun.