了解SEO的人会对这个很熟悉,因为这样防止一个页面可以通过不同途径来访问:
domain.name/index.php
www.domain.name/index.php
这样的话爬虫会认为这是两个不同的网站提供了相同的内容,对排名会有不好的影响。
解决是统一到其中一个,比如让www.domain.name/*同一转向到domain.name/*
实现方法是:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.name
RewriteRule (.*) http://domain.name/$1 [R=301,L,QSA]
其中QSA表示保留参数,L表示后面的规则不再应用
更新
如果要在IIS中启用rewrite,可以参照这个页面,想挑战英文的点击此处。
注:
IIS中支持的rewrite选项跟Apache中也并非完全相同,比如最常用的[QSA]在IIS中便不存在,因为IIS中把参数也进行匹配,可以这样解决:
RewriteRule /new_[0-9,a-z]*.html(.*) /new.php$1
