ক্যানোনিকাল ইউআরএলকে কীভাবে http ব্যবহার করতে বাধ্য করবেন?


10

আমাদের পৃষ্ঠায় আমরা ক্যানোনিকাল মেটা ট্যাগ প্রদর্শন করতে মেটাটাগ মডিউলটি ব্যবহার করি । কনফিগারেশনে আমরা [current-page:url:absolute]টোকেন ব্যবহার করি । এটি সূক্ষ্মভাবে কাজ করে, তবে সমস্যাটি হ'ল পৃষ্ঠাটি এইচটিটিপি বা এইচটিটিপিএস দ্বারা অ্যাক্সেস পায় কিনা তা এই প্রোটোকলটি ক্যানোনিকাল ইউআরএলে ব্যবহৃত হয়।

এসইও উদ্দেশ্যে আমরা ক্যানোনিকাল ইউআরএল একই হতে এবং উভয় প্রোটোকলের জন্য এইচটিটিপি ব্যবহার করতে চাই।

আমরা কীভাবে এটি অর্জন করতে পারি?


2
ড্রুপালে এটি না করে আমি কেবলমাত্র সমস্ত ট্র্যাফিক এইচটিটিপিএস-এ .htaccessবা অ্যাপাচি কনফিগার মাধ্যমে ডিফল্টরূপে জোর করে দেব । সমস্যা সমাধান.
লেইম্যানেক্স

উত্তর:


8

দ্রুপাল 7

আপনি hook_html_head_alter()মাথা ট্যাগ পরিবর্তন করতে প্রয়োগ করতে পারেন ; নিম্নলিখিতটি অনির্ধারিত তবে কৌশলটি করা উচিত:

function MYMODULE_html_head_alter(&$head_elements) {
  foreach ($head_elements as $key => &$tag) {
    if (strpos($key, 'drupal_add_html_head_link:canonical:') === 0) {
      if (strpos('https://', $tag['#attributes']['href']) === 0) {
        $tag['#attributes']['href'] = str_replace('https://', 'http://', $tag['#attributes']['href']);
      }
    }
  }
}

2

মেটাটাগ মডিউলের সাহায্যে আপনি [বর্তমান পৃষ্ঠা: url: পরকীয়া] টোকেনের পরিবর্তে [বর্তমান পৃষ্ঠা: url: আপেক্ষিক] টোকেন ব্যবহার করতে পারেন use

সুতরাং আপনার ক্যানোনিকাল ট্যাগটি এমন কিছু হয়ে উঠবে: http: //www.mywebsite [বর্তমান পৃষ্ঠা: url: আপেক্ষিক]


0

দ্রুপাল ৮

নোডের জন্য আপনাকে hook_ENTITY_TYPE_view_alterসেই জায়গাটি ব্যবহার করতে হবে যেখানে তারা প্রাথমিকভাবে যুক্ত হয়েছিল NodeViewController::view()

এবং আমার মনে রাখবেন যে আপনি সম্ভবত আপনার সমস্ত আগত ট্র্যাফিককে ডিফল্টরূপে এসএসএলে পুনর্নির্দেশের মাধ্যমে আরও ভাল করেছেন: কীভাবে কেবল পুরো সাইটটি এইচটিটিপিএস করবেন?

/**
 * Implements hook_ENTITY_TYPE_view_alter().
 */
function MYMODULE_node_view_alter(array &$build, Drupal\Core\Entity\EntityInterface $entity, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {
  if (isset($build['#attached']['html_head_link'])) {
    foreach ($build['#attached']['html_head_link'] as $key => $head) {
      if ((isset($head[0]['rel']) ? $head[0]['rel'] : FALSE) == 'canonical') {

        $url = \Drupal\Core\Url::fromRoute('<current>', [], ['absolute' => 'true'])
          ->toString();

        $url = str_replace('https://', 'http://', $url);

        $build['#attached']['html_head_link'][$key][0]['href'] = $url;
      }
    }
  };
}

আমি এইমাত্র খুজে পেলাম, যে শেষ পর্যন্ত আমরা সমস্ত মাথা ট্যাগ পাবেন hook_preprocess_htmlমধ্যে $variables['page']['#attached']অ্যারে রদবদল করা হবে।


-2

আমাকে পাগল বলুন এবং দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন, তবে আপনি কি এইচটিটিপি দিয়ে ইউআরএলটিকে হার্ড-কোড করতে পারবেন না?

আমি নিশ্চিত যে আমি এখানে কিছু মিস করছি, তবে আপনি যদি টোকেনটি ব্যবহার না করে পুরো ইউআরএল ছেড়ে দেন তবে আপনি সেই নির্দিষ্ট ইউআরএলটি পৃষ্ঠার প্রতিটি পরিবর্তনের জন্য নীতিগত হিসাবে শেষ করবেন D

সতর্কবাণীটি হ'ল এটি একটি আপডেট দুঃস্বপ্ন তৈরি করে যা আপনার পৃষ্ঠার উপনামটি যদি কখনও পরিবর্তন হয় তবে ক্যানোনিকাল পরিবর্তন করতে হবে remember


কখনও কখনও, আপনি যখন ডোমেন অ্যাক্সেস ব্যবহার করেন তখন কিছু নিবন্ধগুলি নির্দিষ্ট ডোমেনগুলিতে কেবল উপলভ্য হয় এবং হার্ড-কোডিং URL টি মৃত লিঙ্ক তৈরি করে links
Mołot
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.