द्रुपाल al
नोड्स के लिए आपको इसका उपयोग करना होगा 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']
एरे में सभी हेड टैग पाएंगे ।
.htaccess
या अपाचे कॉन्फिगरेशन के लिए मजबूर कर दूंगा। समस्या सुलझ गयी।