404 পৃষ্ঠায় কোনও নেভিগেশন লিঙ্ক নেই


11

আমি যখন এমন কোনও পৃষ্ঠা ঘুরে দেখি যা অস্তিত্বহীন থাকে, আমি এখনও অন্য প্রাথমিক পৃষ্ঠার মতো প্রাথমিক এবং গৌণ লিঙ্কগুলি দেখতে পাব বলে আশা করি, তবে আমি যা পাই তা 404 পৃষ্ঠায় কোনও নেভিগেশন লিঙ্ক নেই। 404 পৃষ্ঠায় কোনও নেভিগেশন লিঙ্কগুলিও দেখুন ।

আমি একটি সমাধান খুঁজে পেয়েছি, তবে অন্য কিছু যদি এটি সমাধান করতে পারে তবে আমি খুশি (সম্ভবত অতিরিক্ত মডিউল ব্যবহার না করে)।

উত্তর:


14

আপনি কাস্টম মডিউলটিতে একটি পৃষ্ঠা নির্ধারণ করে এটি করতে পারেন।

"পৃষ্ঠাটি পাওয়া যায়নি" বিভাগটি ব্যবহার করে একটি পৃষ্ঠা তৈরি করুন hook_menu()

function MODULE_menu() {
  $items['page-not-found'] = array(
    'title' => '',
    'page callback' => 'MODULE_page_not_found',
    'access callback' => TRUE,
  );
  return $items;
}

function MODULE_page_not_found() {
  drupal_set_title('Page not found');
  $cust_err = "";
  $cust_err = $cust_err . "The requested page " . current_path() . " could not be found";
  return $cust_err;
}

পৃষ্ঠা কলব্যাক current_path()404 ত্রুটির কারণ হয়ে পৃষ্ঠার পথ ফিরে আসতে ব্যবহার করে।

যান এডমিন> কনফিগ> সিস্টেম> সাইট-তথ্য , এবং এন্টার পৃষ্ঠা-না পাওয়া (একই নামের সংজ্ঞায়িত hook_menu) অধীনে ডিফল্ট 404 (পাওয়া যায় নি) পৃষ্ঠা

snap1

এখন ত্রুটি পৃষ্ঠাটি নিম্নলিখিত স্ক্রিনশটের মতো প্রদর্শিত হবে।

snap2

এটি পরিষ্কার যে এটিতে সমস্ত নেভিগেশন লিঙ্ক রয়েছে এবং ত্রুটি তৈরির পৃষ্ঠা URL টিও (মূল পৃষ্ঠার সাথে খুব মিল খুঁজে পাওয়া যায় না)। এবং @ নিখিলের উপরের উত্তরে উল্লিখিত মডিউলটি "অনুরোধ করা পৃষ্ঠাটি পাওয়া যায়নি।" তবে ত্রুটির কারণে পৃষ্ঠার URL টি নেই।


আপনি কি নিশ্চিত যে আমি পৃষ্ঠাটিতে নেভিগেশন লিঙ্কগুলি পেয়ে যাব?
নিক্সম্যাক

1
@ নিখিলএম আমি এটি পরীক্ষা করেছি এবং এবং স্ক্রিনশটগুলি আসল ;-)
অজিতএস

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

আমি গতকাল কাজের সাথে এটির সাথে লড়াই করে যাচ্ছিলাম, খুব সুন্দর সমাধান।
সাইক্লোনকোড

11

এই কাজটি 404 নেভিগেশন করার জন্য একটি মডিউল রয়েছে

404 পাওয়া যায় না ত্রুটি পৃষ্ঠাগুলিতে, দ্রুপাল পারফরম্যান্সের কারণে আপনার ওয়েবসাইটের সমস্ত নেভিগেশন লিঙ্কগুলির রেন্ডারিং এড়িয়ে যাবে। এর মধ্যে কয়েকটি অন্তর্ভুক্ত:

"প্রাথমিক লিঙ্কগুলি" ব্লক এবং অন্য কোনও মেনু লিঙ্কগুলি ব্লক করে। আপনার থিমের প্রাথমিক লিঙ্ক এবং গৌণ লিঙ্কগুলি। * যদি না আপনি অ্যাডমিন / কনফিগার / সিস্টেম / সাইট-তথ্যে একটি "ডিফল্ট 404 (পাওয়া যায় না) পৃষ্ঠাটি কনফিগার না করে থাকেন"।

এছাড়াও ডি 7-তে এটি ঠিক করার জন্য একটি প্যাচ রয়েছে

D8 দেখুন এই এছাড়াও এই


6

এছাড়াও ভাল মডিউল বিকল্প আছে:

  • 404 অনুসন্ধান করুন

    "404 পৃষ্ঠা পাওয়া যায় নি" মানক না দেখানোর পরিবর্তে এই মডিউলটি ইউআরএল-এর কীওয়ার্ডগুলিতে একটি অনুসন্ধান সম্পাদন করে, যেমন কোনও ব্যবহারকারী যদি http://example.com/does/not/exist এ যান তবে এই মডিউলটি একটি অনুসন্ধান করবে "অস্তিত্ব নেই" এবং 404 পৃষ্ঠার পরিবর্তে অনুসন্ধানের ফলাফল দেখায়। এটি অন্য সাইট থেকে বা অনুসন্ধান সূচকগুলি থেকে লিঙ্কযুক্ত পুরানো URL থেকে আগত দর্শকদের ধরে রাখতে সহায়তা করবে।

  • দ্রুত 404

    ড্রুপালের দামি 404 ত্রুটি রয়েছে। একটি 'গড়' মডিউল লোড সহ একটি 'গড়' সাইটে, আপনি 404 সরবরাহ করার জন্য আপনার সার্ভারে 60-100MB মেমরি গ্রাস করা হচ্ছে তা দেখতে পারেন a একটি খারাপ .gif লিঙ্ক এবং একটি অনুপস্থিত .css ফাইল সহ একটি পৃষ্ঠা বিবেচনা করুন। পৃষ্ঠাটির প্রকৃত লোডের সাথে 2404 টি উত্পন্ন করবে। আপনি সম্ভবত 60MB গ্রহণ করা উচিত তার চেয়ে পৃষ্ঠার সার্ভারে 180MB মেমরি খুঁজছেন।


3

আপনি কাস্টম মডিউলটিতে একটি পৃষ্ঠা নির্ধারণ করে এটি করতে পারেন।

Hook_menu () ব্যবহার করে "পৃষ্ঠা পাওয়া যায় নি" বিভাগের জন্য একটি পৃষ্ঠা তৈরি করুন।

 function MODULE_menu() {
   $items['page-not-found'] = array(
     'title' => '',
     'page callback' => 'MODULE_page_not_found',
     'access callback' => TRUE,
   );
   return $items;
 }

 function MODULE_page_not_found() {
   drupal_set_title('Page not found');
   $cust_err = "";
   $cust_err = $cust_err . "The requested page " . current_path() . " ould not be found";
   return $cust_err;
 }

এটা প্রায় ভাল। কিন্তু এই কোডটি ফেরত:

"অনুরোধ করা পৃষ্ঠা পৃষ্ঠা-পাওয়া যায়নি পাওয়া যায়নি"

প্রয়োজন পরিবর্তন current_path () থেকে request_uri () এবং ফিরে আসবে:

"অনুরোধ করা পৃষ্ঠা / অনুরোধ_রি পাওয়া যায়নি"


1
আমি ত্রুটির বার্তাটিতে পরিবর্তন করেছি t('The requested page "@path" could not be found.', array('@path' => request_uri()));। আপনার সাইটটি বহুভাষিক হয়ে গেলে এইভাবে ডিফল্ট ড্রুপাল অনুবাদ ব্যবহৃত হয়।
জেরোইন

আপনি ঠিক বলেছেন, এটি ভাল অনুশীলন =)
অ্যান্ডি মার্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.