话说昨天在折腾XP-Home版安装IIS,其实算是白忙乎了,因为没有搞清本地服务器与网站服务器的区别。真正的目的在于实现不带www的域名301重定向到带www的域名,至于为什么要这样做,网上已经有很多答案了。卢松松的详解301永久重定向已经可以说明问题了,最重要的目的便是防止网站流量的分流,优化网页收录,从而有利于网页pr值的提升。
那如何实现网站域名301重定向呢,网上给出的方法有很多:
Apache服务器的.htaccess实现301重定向
RewriteEngine on
RewriteCond %{http_host} ^ifenwen.com [NC]
RewriteRule ^(.*)$ http://blog.ifenwen.com/$1 [L,R=301]
IIS服务器实现301重定向:
用ASP/PHP实现301重定向:
ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://blog.ifenwen.com/"
Response.End
PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://blog.ifenwen.com/");
exit();
可惜这些方法对我都不试用,因为是win主机,所以无法设置.htaccess文件;因为不是独立主机,所以无法进行IIS设置;而对于asp/php方法,也尝试失败。
突然想到以前设置WordPress固定链接的时候用到一个文件:web.config。而所有和链接修改的设置都是在这里面,那要实现301重定向,把不带www的ifenwen.com重定向到带www的www.ifenwen.com是不是也可以在这里面设置呢?有了这样一个思路,参考原先web.config文件里书写规则,便完美实现了Godaddy免费Win主机301重定向。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^ifenwen.com$" />
</conditions>
<action type="Redirect" url="http://blog.ifenwen.com/{R:0}"
redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
其中红色部分便是新加代码用以实现301重定向,其余部分不动。
做好301重定向之后,可以检测一下成功与否:
国外的:http://www.internetofficer.com/seo-tool/redirect-check/
测试效果如下:
国内的:http://www.ranknow.cn/tools/redirectcheck
还没有做此301重定向的,赶紧去弄吧,否则带www的域名和不带的将永远是两个域名,会影响收录及pr的。







呵呵,我的就是Godaddy的!
没用过 学习下~
我没时间折腾了
确实是不错~~~~~~
win的服务器 我中用过asp空间的 不过301很重要的
额 对了 我是海天 这段时间可能要用这个名字 具体原因到我博客看吧 还需要你们帮忙呢
已经抛弃Godaddy
以后我哦再买个域名的话,你帮我弄弄吧,嘿嘿。我QQ:9225864,加我。先存着我
好酒没见 一下子留言这么多 谢谢支持~~~
这些东西还是早改、少改比较好 对收录影响很大
我是goddy的win主机,用的wordpress,做了301用的上面的代码,可是返回是302不知道是怎么回事