SEO Drupal .htaccess 文件(适合multi-site)

浪子不回头ぞ 提交于 2020-03-01 01:48:59

如果要对基于 Drupal 建立的网站进行 SEO (Search Engine Optimization——搜索引擎自然结果优化),那么就一定要尽量避免网站内的重复页面。因为当搜索引擎的爬虫抓取到大量的重复页面时,搜索引擎就会降低对网站页面的打分,当然这种影响可能并不太容易被察觉。

当我们使用 Drupal 时通常会碰到这样的问题,例如:页面 http://www.mypetal.com/node/12 和页面 http://mypetal.com/node/12 显示的是相同的内容。或许您会认为这是大惊小怪,但事实上这是两个独立的页面,它们的内容重复,这一点对 SEO 不利。好在 Drupal 开发者早已为我们考虑到了这点,只要做个略施小计就能唤醒这个功能:) 

注意:本文只针对拥有一级域名的网站,二级域名的网站不存在这个问题。

默认安装下 Drupal .htaccess 配置

Drupal 默认的 .htaccess 为我们提供了两种解决方案:

  1. 把链接 http://mypetal.com 重定向到 http://www.mypetal.com
  2. 把链接 http://www.mypetal.com 重定向到 http://mypetal.com

这两种方案都是为了确保只有一种形式的链接,没有优劣之分。

第1种方案,查找下面代码:

   RewriteCond %{HTTP_HOST} ^ example\. com$ [NC]
   RewriteRule ^(.*)$ http://www. example. com/$1 [L,R=301]

删除上面高亮显示的 #,并把 example 和 com 改为您的域名。

第2种方案,查找下面代码:

   RewriteCond %{HTTP_HOST} ^ example\. com$ [NC]
   RewriteRule ^(.*)$ http://www. example. com/$1 [L,R=301]

删除上面高亮显示的 #,并把 example 和 com 改为您的域名。 

Multi-site(多站点)下 Drupal .htaccess 配置

 第1种方案,查找下面代码:

  # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
  # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

在后面添加如下代码:

  RewriteCond %{HTTP_HOST} ^([a-z0-9-]+\.[a-z]{2,6})$ [NC]
  RewriteRule ^ http://www.%1%{REQUEST_URI} [L,R=301]

第2种方案,查找下面代码:

  # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
  # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

在后面添加如下代码:

  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

参考内容

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!