同事在使用工具对网站进行检查的时候遇到这种报错:
查看对应网页的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" ...
再用工具检查,这个地方就不报错了。
评论