301跳转和URL转发

/ 9评 / 0

        最近更换了新的空间和域名。所以要转移网站的数据,第一次弄折腾半天。这次和大家分享下经验,关于301跳转的。新手可以看看,老鸟无视吧。

         购买玩域名,域名是不带有www的,所以域名要通过DNS解析后才可以使用,一个域名是会指向一个服务器ip地址;如果你没有做这个‘www’的解析那么"www.×××.com"就不能访问,对于不懂的人来说,这会造成他不能够访问你的网站。他只知道用带有"www"的访问你的网站,可能不知道"×××.com"也是可以访问的!所以,后来也就有了更多人在延续这个做法;我们在购买空间域名时,服务商也会顺便就帮你做了这个"www"的解析,当然,这个解析的服务器地址是和没有"www"相同的,造成:你用带"www"的和不带两个域名同时可以访问一个同样的网页。

但是这样的话,会分散某个域名的流量与PR值,最好是将所有访问定向到某个域名下。

可以通过使用服务器技术实现的url转发功能(url-forwarding 或 url redirect),转发到带www的域名来访问。但是我们说到用这种url转发方式是对seo不利的,对搜索引擎最友好的跳转方式是使用301转向(也叫301跳转,301重定向)。

所以这里就有一些疑问了,为什么godaddy等域名注册商提供的url转发功能是不利于seo的?url转发的原理是什么?如果要用301转向,那么Linux apache, Windows IIS, php, ASP, ASP.NET, JSP 分别该如何设置来实现301重定向?

301重定向的作用

为什么要使用301转向?首先第一条就是刚才我们提到的为了seo优化,在如何url网址规范化中也提到,设置301转向后,原来的页面将返回301 HTTP 状态码给浏览器或者搜索引擎,告知搜索引擎次页面已经永久重定向到了新的网页上,spider就不会索引原网页,同时也会将原网页的PR权重传递给跳转到的新网页。如果返回的是302状态码,则告诉spider页面跳转只是临时的,spider仍然会索引原网页,这就造成了重复页面问题(即Google 补充材料)。如www.5k6k.net 302 跳转到 5k6k.net,它们就会被当做两个重复页面。

其次,由于各种原因要更换域名时,可以使用301重定向将老域名301转向到新的域名,这样老域名的流量不会流失,PR权重也会转移。另外当有注册了多个不同域名,指向到同一网站时,也可以只设置一个主域名,将其他域名设置301转向到主域名,这样各个域名就不会分散权重。因此使用301转向很有必要。

URL转发的原理

url转发有两种方式,隐藏转发和(url转发后浏览器地址栏输入的网址不变)不隐藏转发(也叫显性转发:url转发后地址栏显示的地址为转发后的网址)。有人测试过,不管是隐藏转发还是不隐藏转发,根据不同的域名注册服务商,可能会返回不同的http header。有的域名服务商管理后台设置的url转发功能(URL Forwarding)会使服务器返回302状态码给搜索引擎,而不是301 http 状态码。

据说这类url转发有的是通过给浏览器窗口套用一个框架iframe的方式来实现隐藏转发,有的则是使用Javascript或Meta Refresh来实现不隐藏方式的url转发,很少是真正用了301 重定向方法的。所以大家还是尽量少用url转发功能,而是自己去手工设置实现301转向。

如何实现301重定向

Linux 主机 Apache服务器 Mod-Rewrite 模式:通过.htaccess文件

当浏览器或搜索引擎spider发送一个页面请求时,Web服务器就会检查一个名为’.htaccess’的文件,这个文件指明了如何处理页面请求,通过修改设置’.htaccess’文件就可以告知搜索引擎某个页面是302转向(临时跳转)还是301重定向(永久性跳转)。有的Linux主机服务器还支持你在管理后台直接设置301转向。如果不能在后台设置,实现301重定向步骤也很简单:新建一个文件名为.htaccess.txt的文档(注意前面的点号不能遗漏),在txt文档中写入以下301转向代码:

1 Options +FollowSymLinks
2 RewriteEngine on
3 rewritecond %{http_host} ^5k6k.net [nc]
4 rewriterule ^(.*)$ http://www.5k6k.net/$1 [r=301,nc]

或者

1 RewriteEngine On
2 RewriteCond %{HTTP_HOST} !^5k6k.net$ [NC]
3 RewriteRule ^(.*)$ http://www.5k6k.net/$1 [L,R=301]

保存文件,将文件名称末尾的.txt去掉,上传到网站根目录即可。上面的代码表示整站所有的以带www的域名www.5k6k.net为地址的网页都会301转向到不带www的域名5k6k.net(不仅是首页,子目录/网页也可以)。如果是其他域名要重定向到 5k6k.net 这个新域名,则在.htaccess文件中加入如下重定向代码:

1 Options +FollowSymLinks
2 RewriteEngine on
3 RewriteRule ^(.*)$ http://www.5.net/$1 [L,R=301]

Windows主机IIS下的301转向设置

在IIS 管理后台 -> 选择你要重定向的文件或文件夹 -> 右键"重定向到URL" -> 输入需要转向的目标URL ->选择"资源的永久重定向"。

另外,如果你的Windows虚拟主机空间支持ISAPI_Rewrite,那么在IIS下利用ISAPI_Rewrite不仅可以实现url 重写,还可以用来设置301转向,下面分别是三个版本的ISAPI_Rewrite对应的带www的域名301转向到不带www域名的代码:

01 # ISAPI_Rewrite 1.3 版本 域名的301重定向
02 RewriteCond Host: ^www.5k6k.net$
03 RewriteRule (.*) http://5k6k.net$1 [I,R]
04  
05 # ISAPI_Rewrite 2.x 版本
06 RewriteCond Host: ^www.5k6k.net$
07 RewriteRule (.*) http://5k6k.net$1 [I,RP]
08  
09 # ISAPI_Rewrite 3.x 版本
10 RewriteCond %{HTTP:Host} ^www.5k6k.net$
11 RewriteRule (.*) http://5k6k.net$1 [NC,R=301]

在其他情况下,如不同域名之间在IIS下的301重定向代码请看详细介绍:ISAPI Rewrite实现IIS 301转向。

PHP 301 重定向代码

301重定向也可以在php文件中通过加入php header来实现,代码如下:

1 <?php
2 header("HTTP/1.1 301 Moved Permanently");
3 header("Location: <span style="font-family:’Verdana, 宋体’;">http://5k6k.net/newpage.html</span>");
4 exit();
5 ?>

ASP 301 重定向代码

1 <%@ Language=VBScript %>
2 <%
3 Response.Status="301 Moved Permanently"
4 Response.AddHeader "Location", http://5k6k.net
5 %>

ASP.NET 301 重定向代码

1 <script language="c#" runat="server">
2 private void Page_Load(object sender, System.EventArgs e)
3 {
4 Response.Status = "301 Moved Permanently";
5 Response.AddHeader("Location",http://5k6k.net);
6 }
7 </script>

CGI Perl下的301转向代码

1 $q new CGI;
2 print $q->redirect("<span style="font-family:’Verdana, 宋体’;">http://5k6k.net</span>");

JSP下的301转向代码

1 <%
2 response.setStatus(301);
3 response.setHeader( "Location""<span style="font-family:’Verdana, 宋体’;">http://5k6k.net</span>" );
4 response.setHeader( "Connection""close" );
5 %>
  1. この度はこちらのミスで番地無しでの注文でした。お店の方にはご迷惑おかけしました。値段の高い安いは別として対応してくれた方ありがとうございました。本日発送の電話をいただき最後まで気持ちよく対応していただき感謝してます。商品は明日到着予定です。楽しみに待っています。
    ★ルイヴィトン★ダミエグラフィット★ブラスレ・キープイット★ブレスレット/バングル/アクセサリー★M6609E★
    まだ来てませんが楽しみにしてます。早くこないかな〓
    coach 財布 スーパーコピー 2ちゃんねる https://www.gmt78.com/product/category/3/5.htm

  2. 丁寧な梱包で驚きました!お店の方の直筆のお手紙が入っていて(字も凄く綺麗)お心遣いに感動です!またリピートしたいです。
    商品も良く・自分の心も気持ち良くさせて頂きました。良い買い物させて頂きました。
    ありがとうございます!
    トリーバーチ ポーチ スーパーコピー エルメス https://www.kopi66.com/product/detail.aspx-id=12977.htm

  3. 月曜日の午後注文して翌日の午前に届きました。
    すごく早いけど、梱包は丁寧(バッグチャーム等の付属品は個別に梱包してありました)
    正直、Aランクでお値段が安いので、商品状態が心配でしたが、電話問い合わせ&レビューの良さ&返品可能となっていたので購入しましたが、大当たりです(*^^*)
    綺麗すぎます♪
    「自信を持ってお薦め…」と書かれた手書きのメッセージ通り、素晴らしい商品でした!
    ありがとうございましたm(__)m
    クロムハーツ スーパーコピー 金 銀 https://www.ginzajp.com/productall-6063.html

  4. スーパーコピーN品通販専門店

    最新作ブランドコピールイヴィトン財布激安
    偽物ブランド財布,偽物ブランド財布
    シャネル財布偽物,ルイヴィトン財布,財布コピー
    人気ブランド_バッグコピー_財布コピー
    サングラス偽物_ベルトコピー_新作_スーパーコピー

    バッグ、財布、小物などでございます専売店
    ★弊社は「信用第一」をモットーにお客様にご満足頂けるよう
    ★全物品運賃無料(日本全国)
    ★不良品物情況、無償で交換します.
    ★税関没収する商品は再度無料で発送します!

    ホームページ上でのご注文は24時間受け付けております
    スーパーコピー 販売店 https://www.kopioff.com/kabann/vuitton/damier/3395e1ee8ef57f48.html

  5. 思っていたより良い商品でした。ありがとうございました。
    【送料無料】ボルボネーゼ ハンドバッグをセール価格で販売中♪ボルボネーゼ ハンドバッグ ブラウン ナイロン 新品
    良かったです。
    新品品は現物を見るまではドキドキですが、とても状態の良いものでした。
    これからフル活用したいと思っております。ありがとうございました。
    クロムハーツ キャップ スーパーコピー 2ちゃん https://www.kopi66.com/product/detail.aspx?id=6533

  6. この度は迅速な発送と丁寧な梱包でありがとう
    ございました。
    そして商品についても予想以上にきれいな物で嬉しい驚きでした
    ★グッチ グッチ★ジャッキーバッグ★セミショルダーバッグ★00963★GGデニム×カーフ★ブラック/黒★
    こんなお値段だし・・・とたいした期待は持たずに購入したのですが、良い意味での期待を大
    きく裏切るような綺麗な商品が届いて驚きました。
    バックもお財布も早速活用しています。
    かなりお買い得気分です。
    また利用したいと思います。
    ありがとうございました。
    スーパーコピー ヴィトン メンズ リュック https://www.kopiok.com/product/detail-7952.html

  7. ブラントスーパーコピー品
    マストな新作アイテム続々入荷中…
    長年の豊富な経験と実績を持ち、
    ブラントスーパーコピー品の完壁な品質を維持するために、
    一流の素材を選択し、精巧な作り方でまるで本物のようなな製品を造ります。
    高品質の商品を低価格で提供する、納期を厳守することは弊社の経営理念です。
    今、マストなスーパーコピー新作アイテム続々入荷中…
    【シャネルコピー、ヴィトンコピー、コピーグッチ、エルメスコピー】ブランド財布コピー、バッグコピー腕時計コピーぜひおすすめです。

  8. 东东说道:

    很详细,谢谢,懂了

  9. 苦逼男说道:

    也是去年才搞明白这个。、

发表评论

电子邮件地址不会被公开。 必填项已用*标注