301 Redirect/301重定向实现方法总结!
老许说301定向
自己经常在网络翻阅一些牛人的牛博,不过不得不说这类牛人都有一个特点—特点基本上都是技术牛,然后会有很多的FANS跟着跑,老许经常就羡慕的不行不行的,不过自己没那本事也怪不得别人,这次因为公司域名不适合做品牌推广,在鄙人的多次建议之后决定更换网站域名,域名更换过程则理所当然的由我负责,查阅了一些资料,我将自己总结出来的一些方法,分享出来,希望能够帮到有需要的兄弟,也难得的写一次技术性的东西!
先来分析一下几种常见的转向各有什么特点,有什么区别:
meta fresh:早起用的比较早,直接在旧的网页代码中写入一段新的代码,让Visitors在访问该页面的时候直接跳转到新的页面,这种方法的优点在于可以自由指定跳转的时间,也就是说你可以设置在原来的页面停留多久之后跳转到新的页面,而且可以在原来的页面中作出说明等,加深访客的印象,不过这种方法在现在已经使用的很少了,一个是这种方法在web2.0的时代看来的确是out了,另外这种方法变动性太大,跳转的时间短还会被搜索引擎认为是在作弊!
301redirect:301重定向,是我们今天这篇文章的主题,也是目前使用的最广泛的方法,在SEO界,几乎是被公认的更换域名必取的方法,301重定向的含义是永久性重定向,明确表示你已经把所有业务转移到了新网站上,原来的域名基本上可以说是完全放弃,搜索引擎在识别301定向之后会将原来网站的收录和权重等全部转移到新的网站上,Google使用效果很明显,国内主流搜索引擎百度目前仍然不能够很好的识别,一般来说等待的时间都在两个月以上,不过如果是要做长期的转移,那么第一选择还是毫无疑问的是301!
302redirect:与上边的301重定向相对比,302重定向的含义是暂时性的重定向,也就是说你使用这种方法,那么你实际上就是在向搜索引擎表明你的观点:“短期内我还会回来”!不过因为很多SEO前辈们常利用这种特性来作弊,使得现在搜索引擎基本上对待302redirect都认为是直接在作弊!大名鼎鼎的Business.com和BMW德国站都曾因为这个原因受到google的惩罚,尽管他们准确说来并不是作弊!
下边就详细的说一下各种301重定向的实现方法吧!
按照图片中的顺序来写吧!
1.单一URL重定向
如果你的网站页面不多,或者说百度等搜索引擎收录数量不多,需要传递权重的页面不多,或者你网站的收益全部来自那么几个简单的页面,那么我觉得这种方法也许比较适合你,直接指定原来的页面要301redirect到哪个页面就OK,这种方法基本上很难出现出错的可能!
实现方法:打开IIS→找到要301的页面→选中,右键→属性→勾选"重定向到URL"→在下边填写要定向到的新页面的URL→选中"资源的永久重定向"【表示是301redirect】→应用
就这么简单,几步就搞定!
2.通过代码实现301redirect
PHP代码如下:
- <? Header( "HTTP/1.1 301 Moved Permanently" );
- Header( "Location: http://www.3ak.cn" );?>
ASP代码如下:
- <%@ Language=VBScript %>
- <% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.3ak.cn”>
.NET代码如下:
- <script runat=”server”>
- private void Page_Load(object sender, System.EventArgs e)
- {
- Response.Status = “301 Moved Permanently”;
- Response.AddHeader(”Location”,”http://www.3ak.cn”);
- }
- </script>
CGI PERL代码如下:
- $q = new CGI;
- print $q->redirect("http://www.3ak.cn/");
JSP代码如下:
- <%
- response.setStatus(301);
- response.setHeader( "Location", "http://www.3ak.cn/" );
- response.setHeader( "Connection", "close" );
- %>
3.APACHE服务器下实现301redirect
apache服务器下可以修改服务器配置文件而达到这样的效果,但是相对比较复杂,不做推荐,如果有需要的话可以自己百度一下!这里推荐通过设置 .htaccess 文件实现!
单一页面URL重定向:
- RewriteRule ^old\.html$ new.html
将原域名重定向到新域名
- Options +FollowSymLinks
- RewriteEngine on
- RewriteRule ^(.*)$ http://www.3ak.cn/$1 [L,R=301]
将不带www的域名重定向到带www的域名上
- Options +FollowSymLinks
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]
- RewriteRule ^(.*)$ http://www.3ak.cn/$1 [L,R=301]
.htaccess文件是个很好的东西,做网站SEO过程中已经形成了惯例对动态URL进行伪静态处理,也需要通过这个东西来实现,以上几种虽然分开说,但是实质上大同小异,相信比我熟悉apache和htaccess文件的朋友多得多,大家自己研究一下吧!
4.IIS服务器下的批量页面重定向
前边说了那么多,其实总的说来感觉很麻烦,特别是在网站内容很多,搜索引擎收录达到万以上的时候,要处理好就有些困难,下边我们讲一下网络上很少有人提及的一种IIS服务器环境下批量页面重定向,也是本人这次网站301重定向所采取的方法!
这里我们假设将http://3ak.cn通过301重定向到http://www.3ak.cn【见谅哈,大家把两个当作不同的站点看待就OK了!】
1.在IIS中新建一个站点,绑定原来所使用的域名,这里是http://3ak.cn
2.将http://3ak.cn绑定到这个新建的站点上
2.重复方法1“单页面301重定向”中的操作,右键选中新建的站点→属性→主目录→重定向到→填入http://www.3ak.cn$S$Q【请注意在域名后边直接加上$S$Q,具体意义稍后再说】→勾选“上面输入的准确URL”和“资源的永久重定向”→应用 OK,搞定!
解释一下$S$Q的含义:
$S 是将请求的 URL 的后缀传递给新的 URL。后缀是用重定向的 URL 代替之后,初
感谢分享
不会你这里也回档了吧?
文章看完。看似不是很复杂。马上实践一下。
—阿文留印
妞儿 , 别真把自己搞的跟鲁大爷似的,咱都是他笔下的国民。。
看楼上的几位,都被你欺骗咯
不过看你那么沉重的,我还是假巴意思的说一句 :节哀,逝者已去,生者奋发。
………