struts2中實(shí)現(xiàn)html 301 302轉(zhuǎn)向
Posted on 2011-02-23 10:11 asdtiang 閱讀(2102) 評論(0) 編輯 收藏 所屬分類: seo首先網(wǎng)上copy下什么是301,及302
301轉(zhuǎn)向(或叫301重定向,301跳轉(zhuǎn))是當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)器發(fā)出瀏覽請求時,服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址。
其它常見的狀態(tài)碼還包括,200表示一切正常,404網(wǎng)頁找不到,302暫時轉(zhuǎn)向,等等。
為什么要做網(wǎng)址轉(zhuǎn)向?
你擁有不同TLD的多個域名:
company.com
company.net
company.org
company.com.cn
company.cn
等等。
這些域名全部指向一個網(wǎng)站。如用company.com為主域名,其它域名就可以轉(zhuǎn)向到company.com。
或者你注冊了公司全稱域名longcompanyname.com,但太長 ,你也注冊了縮寫域名方便用戶記住lcn.com,其中一個做主域名,另一個就可以轉(zhuǎn)向到主域名。
為什么要用301轉(zhuǎn)向?
網(wǎng)址轉(zhuǎn)向方法主要包括:301轉(zhuǎn)向,302轉(zhuǎn)向,JavaScript轉(zhuǎn)向,PHP/ASP/CGI轉(zhuǎn)向,META REFRESH網(wǎng)頁META刷新,等。302轉(zhuǎn)向可能會有URL規(guī)范化問題。其它方法都是常用的作弊手法,當(dāng)然不是說不可以正當(dāng)?shù)赜茫椒ū旧頉]有錯,但被作弊者用多了,搜索引擎對這些可疑的轉(zhuǎn)向都很敏感。何必冒險呢。
當(dāng)網(wǎng)頁A用301重定向轉(zhuǎn)到網(wǎng)頁B時,搜索引擎可以肯定網(wǎng)頁A永久的改變位置,或者說實(shí)際上不存在了,搜索引擎就會把網(wǎng)頁B當(dāng)作唯一有效目標(biāo)。好處是,第一,沒有網(wǎng)址規(guī)范化問題,第二,也很重要的,網(wǎng)頁A的PR網(wǎng)頁級別會傳到網(wǎng)頁B。
很多時候其它網(wǎng)站會鏈接到
http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
而不是你希望的
http://www.domainname.com
這樣鏈接的PR也會傳遞到所有URL,如果你用301轉(zhuǎn)向把前三個URL轉(zhuǎn)到
http://www.domainname.com
PR也就集中在網(wǎng)頁http://www.domainname.com了。
怎樣判斷網(wǎng)站有網(wǎng)址規(guī)范化問題?
英語中有句話,東西沒壞就別修理。很多網(wǎng)站沒做301轉(zhuǎn)向排名也沒影響,那就別動它。
如果你覺得網(wǎng)站排名沒有預(yù)想的好,可以看看是否有網(wǎng)址規(guī)范化問題:
1) 查一下這些URL是否都有差不多的PR值和網(wǎng)頁快照:
http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
http://www.domainname.com
如果是,那可能有問題。
2)搜一下site:domain.com看是否結(jié)果中有多個主頁版本。
3)你的網(wǎng)站是否在Google有大量網(wǎng)頁被標(biāo)為“ 補(bǔ)充材料”(Supplemental Result)。一般認(rèn)為被歸為“ 補(bǔ)充材料”是網(wǎng)址規(guī)范化問題的征兆。
怎樣做301轉(zhuǎn)向
如果你用的是Unix/Linux主機(jī),可以用文件(Unix/Linux中用于目錄特定指令如密碼,轉(zhuǎn)向,錯誤處理等的文件)。
比如把/old.htm轉(zhuǎn)到http://www.domain.com/new.htm,可以用這個指令:
redirect 301 /old.htm http://www.domain.com/new.htm
或
redirect permanent /old.htm http://www.domain.com/new.htm
如果要把所有http://domain.com形式的URL用301重定向轉(zhuǎn)到 http://www.domain.com,包括:
http://domain.com/about.htm
轉(zhuǎn)到 http://www.domain.com/about.htm
及
http://domain.com/dir/index.htm
轉(zhuǎn)到 http://www.domain.com/dir/index.htm
等等,還要用到mod_rewrite:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.bfzz.com/$1 [L,R=301]
如果你用的是 Windows主機(jī),應(yīng)該在控制面板做301轉(zhuǎn)向設(shè)定。
據(jù)我所知,HTML無法做301轉(zhuǎn)向。在HTML里只能做JS或META REFRESH,但不是301轉(zhuǎn)向。HTML一被讀取,就已經(jīng)返回200 OK狀態(tài)碼了。
下面是struts2中實(shí)現(xiàn)301或者302
其實(shí)很easy:
action的result配置如下:status可以指定狀態(tài)碼。
<result name="to_first" type="httpheader">
<param name="status">301</param>
<param name="headers.Location">${object}/l/${city.cityUrl}-${country.countryUrl}/${cityId}/0/0</param>
</result>
另外type="redirectAction"時,默認(rèn)為302跳轉(zhuǎn)。用fireBug可以看得很清楚
天蒼蒼,野茫茫,風(fēng)吹草底見牛羊
301轉(zhuǎn)向(或叫301重定向,301跳轉(zhuǎn))是當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)器發(fā)出瀏覽請求時,服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址。
其它常見的狀態(tài)碼還包括,200表示一切正常,404網(wǎng)頁找不到,302暫時轉(zhuǎn)向,等等。
為什么要做網(wǎng)址轉(zhuǎn)向?
你擁有不同TLD的多個域名:
company.com
company.net
company.org
company.com.cn
company.cn
等等。
這些域名全部指向一個網(wǎng)站。如用company.com為主域名,其它域名就可以轉(zhuǎn)向到company.com。
或者你注冊了公司全稱域名longcompanyname.com,但太長 ,你也注冊了縮寫域名方便用戶記住lcn.com,其中一個做主域名,另一個就可以轉(zhuǎn)向到主域名。
為什么要用301轉(zhuǎn)向?
網(wǎng)址轉(zhuǎn)向方法主要包括:301轉(zhuǎn)向,302轉(zhuǎn)向,JavaScript轉(zhuǎn)向,PHP/ASP/CGI轉(zhuǎn)向,META REFRESH網(wǎng)頁META刷新,等。302轉(zhuǎn)向可能會有URL規(guī)范化問題。其它方法都是常用的作弊手法,當(dāng)然不是說不可以正當(dāng)?shù)赜茫椒ū旧頉]有錯,但被作弊者用多了,搜索引擎對這些可疑的轉(zhuǎn)向都很敏感。何必冒險呢。
當(dāng)網(wǎng)頁A用301重定向轉(zhuǎn)到網(wǎng)頁B時,搜索引擎可以肯定網(wǎng)頁A永久的改變位置,或者說實(shí)際上不存在了,搜索引擎就會把網(wǎng)頁B當(dāng)作唯一有效目標(biāo)。好處是,第一,沒有網(wǎng)址規(guī)范化問題,第二,也很重要的,網(wǎng)頁A的PR網(wǎng)頁級別會傳到網(wǎng)頁B。
很多時候其它網(wǎng)站會鏈接到
http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
而不是你希望的
http://www.domainname.com
這樣鏈接的PR也會傳遞到所有URL,如果你用301轉(zhuǎn)向把前三個URL轉(zhuǎn)到
http://www.domainname.com
PR也就集中在網(wǎng)頁http://www.domainname.com了。
怎樣判斷網(wǎng)站有網(wǎng)址規(guī)范化問題?
英語中有句話,東西沒壞就別修理。很多網(wǎng)站沒做301轉(zhuǎn)向排名也沒影響,那就別動它。
如果你覺得網(wǎng)站排名沒有預(yù)想的好,可以看看是否有網(wǎng)址規(guī)范化問題:
1) 查一下這些URL是否都有差不多的PR值和網(wǎng)頁快照:
http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
http://www.domainname.com
如果是,那可能有問題。
2)搜一下site:domain.com看是否結(jié)果中有多個主頁版本。
3)你的網(wǎng)站是否在Google有大量網(wǎng)頁被標(biāo)為“ 補(bǔ)充材料”(Supplemental Result)。一般認(rèn)為被歸為“ 補(bǔ)充材料”是網(wǎng)址規(guī)范化問題的征兆。
怎樣做301轉(zhuǎn)向
如果你用的是Unix/Linux主機(jī),可以用文件(Unix/Linux中用于目錄特定指令如密碼,轉(zhuǎn)向,錯誤處理等的文件)。
比如把/old.htm轉(zhuǎn)到http://www.domain.com/new.htm,可以用這個指令:
redirect 301 /old.htm http://www.domain.com/new.htm
或
redirect permanent /old.htm http://www.domain.com/new.htm
如果要把所有http://domain.com形式的URL用301重定向轉(zhuǎn)到 http://www.domain.com,包括:
http://domain.com/about.htm
轉(zhuǎn)到 http://www.domain.com/about.htm
及
http://domain.com/dir/index.htm
轉(zhuǎn)到 http://www.domain.com/dir/index.htm
等等,還要用到mod_rewrite:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.bfzz.com/$1 [L,R=301]
如果你用的是 Windows主機(jī),應(yīng)該在控制面板做301轉(zhuǎn)向設(shè)定。
據(jù)我所知,HTML無法做301轉(zhuǎn)向。在HTML里只能做JS或META REFRESH,但不是301轉(zhuǎn)向。HTML一被讀取,就已經(jīng)返回200 OK狀態(tài)碼了。
下面是struts2中實(shí)現(xiàn)301或者302
其實(shí)很easy:
action的result配置如下:status可以指定狀態(tài)碼。
<result name="to_first" type="httpheader">
<param name="status">301</param>
<param name="headers.Location">${object}/l/${city.cityUrl}-${country.countryUrl}/${cityId}/0/0</param>
</result>
另外type="redirectAction"時,默認(rèn)為302跳轉(zhuǎn)。用fireBug可以看得很清楚
<action name="Logon" class="tutorial.Logon"> <result type="redirectAction">Menu</result> </action>
天蒼蒼,野茫茫,風(fēng)吹草底見牛羊