我们做站时通常会遇到这种情况,就是带www和不带www的域名会被同时访问到,
如:
www.example.com example.com/ www.example.om/index.html example.com/index.html
虽然这对用户来说并有没有什么不同,但在SEO方面是很不利于搜索引擎排名的域名权重集中的。
如何让带www和不带www域名都能被正常访问,又能将权重集中到我们的主域名上呢?
下面就是我搜集的如何使用301重定向的来实现这个效果的方法。
1、设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。
使访问example.com/的时候就会自动转到www.example.com
在.htaccess文件里写上以下代码即可。
RewriteEngine on RewriteCond %{http_host} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。
2、适用于使用Unix系统的用户。
3、适用于使用Windows系统的用户
在域名管理后台设置url转发,前面写上example.com 不带www的,后面框里写上www.example.com这种带www的域名,设置成显式转发。显式转发相当于301,隐式转发相当于302,比较危险。
不过值得一提的是,因为URL转发和301概念不同,所以并不是所有的显式转发都是301的(听说万网提供的url转发是302的),可以使用http://tool.chinaz.com/pagestatus/ 提供的网页面HTTP状态查询工具查询example.com,如果“返回状态码:301”。恭喜,那就是301设置成功了。
4、用ASP/PHP实现301重定向:
ASP:
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”,”http://www.example.com/” Response.End
PHP:
header(“HTTP/1.1 301 Moved Permanently”); header(“Location:http://www.example.com/”); exit();
近日由于本站修改了固定链接,Google百度收录都出了问题。。。无奈在找301重定向的方法,这里是暂时找到的一些,希望对大家有用!
1、重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。
打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
2、重定向www.domain.com到domain.com
RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
3、重定向olddomain.com到www.newdomain.com
RewriteEngine On RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
4、重定向olddomain.com to newdomain.com
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
5、重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]
查看HTTP返回状态值工具
http://tool.chinaz.com/pagestatus/
http://www.seobox.org/getheader.htm
评论(2)
NGINX的 怎么写 你这里貌似是apache的
if ($host != 'www.hupohost.com' ) {
rewrite ^/(.*)$ http://www.hupohost.com/$1 permanent;
}
这是合并www和非www的。 跳转到www, 如果需要跳转到不带www的,那么把下面一句改成去掉www