若是要对基于 Drupal 创建的网站进行 SEO (Search Engine Optimization——搜索引擎天然结果优化),那么就必定要尽可能避免网站内的重复页面。由于当搜索引擎的爬虫抓取到大量的重复页面时,搜索引擎就会下降对网站页面的打分,固然这种影响可能并不太容易被察觉。node
当咱们使用 Drupal 时一般会碰到这样的问题,例如:页面 http://www.mypetal.com/node/12 和页面 http://mypetal.com/node/12 显示的是相同的内容。或许您会认为这是大惊小怪,但事实上这是两个独立的页面,它们的内容重复,这一点对 SEO 不利。好在 Drupal 开发者早已为咱们考虑到了这点,只要作个略施小计就能唤醒这个功能:) 优化
注意:本文只针对拥有一级域名的网站,二级域名的网站不存在这个问题。网站
默认安装下 Drupal .htaccess 配置
Drupal 默认的 .htaccess 为咱们提供了两种解决方案:搜索引擎
- 把连接 http://mypetal.com 重定向到 http://www.mypetal.com
- 把连接 http://www.mypetal.com 重定向到 http://mypetal.com
这两种方案都是为了确保只有一种形式的连接,没有优劣之分。spa
第1种方案,查找下面代码:code
# RewriteCond %{HTTP_HOST} ^
example\.
com$ [NC]
# RewriteRule ^(.*)$ http://www.
example.
com/$1 [L,R=301]
删除上面高亮显示的 #,并把 example 和 com 改成您的域名。索引
第2种方案,查找下面代码:seo
# RewriteCond %{HTTP_HOST} ^
example\.
com$ [NC]
# RewriteRule ^(.*)$ http://www.
example.
com/$1 [L,R=301]
删除上面高亮显示的 #,并把 example 和 com 改成您的域名。 开发
Multi-site(多站点)下 Drupal .htaccess 配置
第1种方案,查找下面代码:rem
# 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]
参考内容