你现在的位置:首页 > PHP网站建设知识库 > Drupal > 正文

Drupal SEO:修改.htaccess 文件

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

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

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

默认安装下 Drupal .htaccess 配置

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

把链接 http://phpstudio.info重定向到 http://www.phpstudio.info
把链接 http://www.phpstudio.info 重定向到 http://www.phpstudio.info

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

第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]