त्रुटि पृष्ठों को .HTACCESS के माध्यम से परोसा जाता है, यदि आप अपाचे का उपयोग कर रहे हैं तो आप 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. पेज जोड़ें:
फिर आपको अपने डैशबोर्ड में जाने और किसी भी सामान्य पृष्ठ ('डैशबोर्ड'> 'पृष्ठ'> 'नया') जैसे पृष्ठ बनाने की आवश्यकता होगी। उन्हें शीर्षक दिया जा सकता है कि आप जो भी चाहते हैं, बस सुनिश्चित करें कि स्लग नीचे के फ़ंक्शन के समान है (स्लग: त्रुटि-401, त्रुटि -403, त्रुटि -404, त्रुटि -500)। इसके अलावा, आप इन विशिष्ट पृष्ठों के लिए जो भी लेआउट और शैली चाहते हैं, उसे बनाने के लिए पेज टेम्पलेट का उपयोग कर सकते हैं। इसके लिए वर्डप्रेस कोडेक्स निर्देशों का पालन करें।
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!
नायब !! अबूझ मुहूर्त पर नोट
अपनी वेबसाइट या URL संरचना बदलते समय
उपरोक्त फ़ंक्शन के साथ याद रखने वाली बात यह है कि यह देखने के लिए कि क्या ErrorDocument निर्देश आपके HTACCESS फ़ाइल में लिखने से पहले ही मौजूद हैं, यह तब तक नहीं लिखेगा जब तक कि आप अपडेट किए गए पृष्ठ स्थानों को प्रतिबिंबित करने के लिए ErrorDocument निर्देशों को फिर से लिखना या बदल न दें। आपको पहले अपने HTACCESS फ़ाइल में मौजूदा ErrorDocument निर्देशों को हटाने की आवश्यकता होगी और फिर नए निर्देशों को बनाने के लिए इस फ़ंक्शन को पुनः चलाएँ।
हुक को केवल आग लगाने के लिए सही हुक
ध्यान देने वाली बात यह है कि यह फ़ंक्शन है, init
हर बार आपके पृष्ठों को लोड करने के लिए कार्रवाई का उपयोग करना होगा जो सुपर अनावश्यक और बेकार है इसलिए मैं इसे एक प्लगइन में जोड़ने का सुझाव दूंगा और इसके register_activation_hook
बजाय इसका उपयोग करूंगा ताकि यह केवल एक बार प्लगइन सक्रियण पर आग लग जाए
फ़ाइल अनुमतियाँ
यह भी जरूरी है कि उपरोक्त फ़ंक्शन का उपयोग करते समय आपका .htaccess लेखन योग्य हो, इसलिए सुनिश्चित करें कि इसमें सही फ़ाइल अनुमतियाँ हैं, CHMOD777 जैसी कोई चीज़।