কীভাবে কাস্টম 401, 403 এবং 500 ত্রুটি পৃষ্ঠা তৈরি করবেন?


27

যখন একটি 404 ত্রুটির সম্মুখীন হয়, একটি কাস্টম ত্রুটি বার্তা রেন্ডার করতে একটি 404.php টেম্পলেট ফাইল ব্যবহার করা যেতে পারে। এটি টেম্পলেট হায়ারার্কি নিবন্ধে নথিভুক্ত করা হয়েছে ।

আমার উদ্দেশ্য 401, 403 এবং 500 ত্রুটির জন্য কাস্টম ত্রুটি পৃষ্ঠা তৈরি করা। আমি আমার থিমের ডিরেক্টরিতে 401.php, 403.php এবং 500.php ফাইল তৈরি করার চেষ্টা করেছি তবে এটি কার্যকর হয় না।

ওয়ার্ডপ্রেসে কীভাবে আমি কাস্টম 401, 403 এবং 500 ত্রুটি পৃষ্ঠা তৈরি করতে পারি?


2
আপনি এই কোডটি একটি প্রারম্ভিক পয়েন্ট হিসাবে ব্যবহার করার চেষ্টা করতে পারেন: jesin.tk/wordpress-custom-403-401-error- পৃষ্ঠা
জো

এখানে একটি বিদ্যমান প্লাগইন রয়েছে যা আপনাকে 403 এবং 401 ত্রুটিগুলির মতো ত্রুটি পৃষ্ঠাগুলি কাস্টমাইজ করতে দেয়: http://wordpress.org/plugins/custom-error-pages/ আপনাকে যা করতে হবে তা হ'ল ইনস্টল এবং সক্রিয় করা। তবে আপনাকে প্লাগইন বিকল্পের পৃষ্ঠাতে উল্লিখিত .htaccess (বা nginx.conf) ফাইলটি ম্যানুয়ালি সম্পাদনা করতে হবে।
পাই প্রেমিকা

উত্তর:


15

ত্রুটি পৃষ্ঠাগুলি .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

আপনি নীচে নিম্নলিখিত ফাংশন ব্যবহার করতে পারেন। এটি আপনার জন্য এইচটিএসিসিএএসসিএস ফাইলে যা প্রয়োজন তা ডায়নামিকভাবে যুক্ত করবে বা আপনি নিজে এটি করতে পারেন।

1. পৃষ্ঠা যুক্ত করুন:

তারপরে আপনাকে আপনার ড্যাশবোর্ডে যেতে হবে এবং যে কোনও সাধারণ পৃষ্ঠার মতো পৃষ্ঠাগুলি তৈরি করতে হবে ('ড্যাশবোর্ড'> 'পৃষ্ঠাগুলি'> 'নতুন')। এগুলি আপনি যা চান তা শিরোনামে করা যেতে পারে, কেবল স্লাগটি নীচের ফাংশনটির মতোই রয়েছে তা নিশ্চিত করুন (স্লাগ: ত্রুটি -401, ত্রুটি -403, ত্রুটি -404, ত্রুটি -500)। এছাড়াও আপনি এই নির্দিষ্ট পৃষ্ঠাগুলির জন্য যে লেআউট এবং শৈলী চান তা তৈরি করতে পৃষ্ঠাগুলি টেমপ্লেট ব্যবহার করতে পারেন। এই জন্য ওয়ার্ডপ্রেস কোডেক্স নির্দেশাবলী অনুসরণ করুন ।

২. ফাংশন যুক্ত করুন:

// 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!

বিশেষ দ্রষ্টব্য !! উপরের ফাংশন নোটস

আপনার ওয়েবসাইটটি সরানোর সময় বা ইউআরএল কাঠামো পরিবর্তন করার সময়

উপরের ফাংশনটির সাথে মনে রাখার জিনিসটি যদিও এটি পরীক্ষা করে দেখবে যে আপনার এইচটিএসিসিএএসএস ফাইলে লেখার আগে এটি ত্রুটিপত্রক নির্দেশিকা ইতিমধ্যে উপস্থিত রয়েছে কিনা তা যদি আপনার ব্লগটি আপডেট করা পৃষ্ঠাগুলি প্রতিফলিত করার জন্য আপনার ব্লগটি পরিবর্তন বা সরিয়ে নিয়ে যায় তবে এটি ত্রুটিপত্রক নির্দেশিকা পুনরায় লিখবে না। আপনাকে নতুন এই ডিরেক্টরি তৈরি করতে প্রথমে আপনার এইচটিএসিসিইএসএস ফাইলে বিদ্যমান ত্রুটিযুক্ত ডকুমেন্টের নির্দেশাবলী মুছতে হবে এবং তারপরে এই ফাংশনটি পুনরায় চালু করতে হবে।

কেবলমাত্র একবারে ফাংশনটি চালানোর জন্য হুককে সঠিক করুন

অন্য বিষয়টি লক্ষ্য করার মতো এটি হ'ল এই ফাংশনটি, initঅ্যাকশন ব্যবহারের সাথে সাথে প্রতিটি সময় আপনার পৃষ্ঠাগুলি লোড হবে যা অতি অপ্রয়োজনীয় এবং অপব্যয়যুক্ত তাই আমি এটি একটি প্লাগইনে যুক্ত করার register_activation_hookপরিবর্তে প্লাগইন অ্যাক্টিভেশনে একবার আগুন জ্বালানোর পরামর্শ দিচ্ছি would

ফাইল অনুমতি

এছাড়াও উপরের ফাংশনটি ব্যবহার করার সময় আপনার .htaccess লিখিত হতে হবে এটি আবশ্যক, সুতরাং এটির সঠিক ফাইল অনুমতি আছে কিনা তা নিশ্চিত করুন, CHMOD777 এর মতো কিছু।


এটি কীভাবে কাজ করার অনুমান তা নিশ্চিত নয়, .htaccess ফাইলটিতে ম্যানুয়ালি সম্পাদনা করা হয়েছিল, তবে এটি কাজ করে না। আমি লোকালহোস্টে এটি করার চেষ্টা করছি এবং লোকালহোস্টে এটি হওয়া উচিত, যেহেতু আমার কাছে সমস্ত কিছু, সার্ভার এবং ক্লায়েন্টের অ্যাক্সেস রয়েছে। তবে কেন এটি কাজ করছে না?
সলোমন ক্লসন

@ সলোমনক্লসন, সম্ভবত আপনি এর জন্য আমি যে প্লাগইনটি লিখেছি তা ব্যবহার করে দেখতে চেষ্টা করতে পারেন, এটি আপনার জন্য সমস্ত কিছু করবে এবং উপরের কোডটি যথাযথভাবে অনুসরণ করবে :)। অফিসিয়াল ওয়ার্ডপ্রেস.আরগ প্লাগইন
ম্যাট রয়েল

@ ম্যাটরয়াল ফাংশনটি দুর্দান্ত কাজ করে এবং আমি এটি এইচটিসেসের অন্যান্য নিয়ম তৈরি করতে ব্যবহার করছি। দয়া করে কীভাবে নিয়মগুলি ফাইলের একেবারে শীর্ষে সন্নিবেশ করানো যায়, দয়া করে দয়া করে ডিফল্ট ডাব্লুপিএইচএচসেসের নিয়মগুলি উপরে রাখবেন? এই মুহুর্তে htaccess ফাইলের নীচে বিধিগুলি যুক্ত করা হয়। ধন্যবাদ.
lowtechsun

আমি সমাধানটির সাথে একমত নই: 1- আপনি কোনও ওয়েবসভারে 77 777 কিছুই করবেন না! এটি সাধারণভাবে একটি খারাপ অনুশীলন এবং প্রধান সুরক্ষা গর্তগুলিতে বাড়ে। ২- আপনি ওয়েবসাইটটিতে প্রতিটি অনুরোধে একটি ফাইল রাইটিং যুক্ত করছেন, লেখার ক্রিয়া হওয়ায় ফাইলটিতে একটি লক তৈরি হবে যখন আপনি অনুরোধের সংখ্যা হ্রাস করবেন এবং একই সাথে প্রতিক্রিয়া জানাতে পারবেন। 3- কোনও ওয়েবসাইটের সার্ভারের নির্ভরতা থাকা উচিত নয় যেখানে এটি চালিত হয়, যদি এটি এমন কোনও সিস্টেমে স্থানান্তরিত হয় যেখানে উদাহরণস্বরূপ এনজিনেক্স ব্যবহৃত হয়, তবে এটি প্রত্যাশা অনুযায়ী কাজ করা বন্ধ করে দেবে। ... অবিরত
এডুয়ার্ডো অলিভিয়রা

4- ত্রুটিযুক্ত grabing এর ক্লিনার উপায় আছে stackoverflow.com/a/34619308/768516
এদুয়ার্দো মধ্যে Oliveira
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.