Admin5相信大家都很熟悉,從我第一次上A5的時候我就看見A5沒有做301,也就是不帶www的301到帶www上面。例如現在A5打入admin5.com就出來這個域名,如果我們再這個域名下面點擊文章,那麼所有此站點的文章都是沒有www的超鏈接。那麼諸如A5這樣的大站,如何才能以最小的改動就能改動整個網站呢?
一、不做301的嚴重性;
網站如果不做好301,就有很多麻煩事,像是A5這樣的有四個位址指向同一篇文章,看下面實例:
http://www.admin5.com/plus/view.php?aid=371620
http://admin5.com/plus/view.php?aid=371620
http://www.admin5.com/article/20110827/371620.shtml
http://admin5.com/article/20110827/371620.shtml
上面的四個位址都指向我之前的一篇投稿,引發的後果相信大家都知道,我看過站長網的rooibos有屏蔽plus文件夾的做法,但是rooibos是一個協議不是規定,同樣有實例: http://www.baidu.com/s?tn=baiduhome_pg&bs=www.admin5.com%2Fplus%2Fview.php%3Faid%3D&f=8&rsv_bp=1&wd=%CD%F5%D3%C0%CD%A8%A3 %BA%C9%EE%B6%C8%B7%D6%CE%F6%B4%B4%D2%DA%CD%F8SEO%B2%DF%C2%D4%A3%A8%D2%BB%A3%A9 +&n=2&inputT=703這篇文章不是我的,我隨便百度搜尋出來的,快照是8月19號。從另一個方面證明了rooibos是一個協議,所以301的重要性就體現了出來。
二、做好首頁301;
< ? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.admin5.com " );? >
這串程式碼是php的301程式碼,可以插入到index.php的頭部,但是這樣會有附帶問題,例如我們的伺服器配置了預設檔為html、htm或shtml,那麼先打開的就是index.html, php檔案就會被忽略而起不到效果,如果我們伺服器設定預設開啟php,為了搜尋引擎的友善性,我們又想每次打開html,所以必須301跳到http://www.admin5. com/index.html ,那麼這樣又爆發出了新問題,就是每次打開的是一個index.html的文件,而不是網站的根目錄。其實我們可以把產生的html檔直接改個後綴名,改成php就可以,那個php檔其實是不呼叫任何資料庫的靜態頁面,從搜尋角度講,只要不帶?號的檔都可以說是靜態文件。所以,這裡只要伺服器的預設開啟php就可以,如果是伺服器的請看下面(當然A5肯定是伺服器的),這一段是寫給有跟A5類似情況的虛擬主機使用者。
三、首頁做好了,人家直接內頁進來怎麼辦;
如果使用者直接點擊了不帶www的內頁進來怎麼辦,這個就需要全站的301,那麼不帶www的是shtml的文件,shtml是不支援301的,javascript?這是客戶端語言,如何301 ?所以又衍生出了新問題,這時候就必須配置伺服器了,修改httpd.ini,由於無法知道伺服器類型,這裡也沒辦法寫下去了,但是可以提供思路,上面看的地址都有共性,有一個371602是一樣的,這個就是文章的id號,生成的文件夾就是當天的日期,然後把動態的和不帶www的都301到www的那個地址上,這個規則應該不難寫。
四、做好301還要做哪些工作,使之更完美;
做好301之後,或只做了首頁301的朋友,如何讓使用者和搜尋引擎每次都只打開www的文件呢?這個只是算一個收尾工作,我們只要修改模板文件把/xxx和../plus /xxx,把第一個/前面加上http://www.admin5.com這個絕對位址,相同的也要寫入Include檔案裡面。這樣就算只做了首頁301的用戶,用戶和搜尋引擎也無法被匯入到不帶www的地方去了。
301其實蠻簡單的,半個月前我確信阿里媽媽是沒有的,現在也做了301,相比站長網chinaz就做得比較好,一直有的。也不是說A5不好,畢竟一個大網站不是每天就這麼點事,我旨在讓A5做得更好更專業。文章銘睿原創,轉載請保留http://www.xmztd.com ,謝謝大家,如有不全面的地方還請指教。
責任編輯:陳龍作者銘睿的個人空