同事在使用工具對網站進行檢查的時候遇到這種報錯:
查看對應網頁的html代碼類似如下:
<!DOCTYPE html> <html lang="zh-hant" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="Generator" content="Drupal 7 (http://drupal.org)" /> <link rel="canonical" href="/" /> <link rel="shortlink" href="/node/1" /> <meta name="description" ...
我先查看了一下我們的各個Drupal站,奇怪的是有一部分站點canonical是絕對地址,有一部分站點canonical是相對地址。
在網上搜索了一下解決辦法,有說安裝Global Redirect的,有說安裝Metatag然後設置Canonical URL為[site:url][current-page:url:relative]的,還有說通過鈎子函數theme_html_head_alter()來進行修改替換的。
我嘗試了修改html.tpl.php,是可以實現的,代碼如下:
... <head> <?php $head = str_replace('<link rel="canonical" href="/', '<link rel="canonical" href="https://'.$_SERVER['SERVER_NAME'].'/', $head); ?> print $head; ...
修改後再查看首頁html代碼:
<!DOCTYPE html> <html lang="zh-hant" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="Generator" content="Drupal 7 (http://drupal.org)" /> <link rel="canonical" href="https://example.com/" /> <link rel="shortlink" href="/node/1" /> <meta name="description" ...
再用工具檢查,這個地方就不報錯了。
评论