網站帶不帶 www 真的大不同,新手不知道區別會走很多彎路

codinget發表於2018-11-24

最近我把網站的重定向進行了修改,主要就是修改 www 的問題,把沒有 www 的網址自動新增上 www,我本以為我最早做網站的時候加了 www 的重定向的,前兩天才發現原來沒有。今年9月5號的時候,Chrome 釋出了新版本的 Chrome 69 瀏覽器,這個名稱還挺 風流倜儻 的,但是它也惹了眾怒,就是自動隱藏了網站的 www 字首,幸虧它只是隱藏,如果是自動幫使用者跳轉到無 www 的網頁,不客氣的說 chrome 肯定會被罵死。很多朋友可能會問,加不加 www 重要嗎 ?我的回答是,在真實的部署環境場合下真的很重要

我們們先從 域名註冊 開始說起吧,程式設計原力我當時申請的域名就是 coding10.com,這裡要劃重點了,這是個不帶 www 的域名,是絕對的大 boss,是一級域名;而 www.coding10.com、wap.coding10.com、moble.coding10.com 等等其實都是二級域名,跟 coding10.com 還真不是一個級別的。但是這裡面 www.coding10.com 卻極為特殊,在相當一段時間裡,哪怕是現在,很多人仍然把帶 www 的域名作為正統嫡傳,這多是使用者的慣性使然,20 年前的使用者訪問網頁跟現在的使用者訪問網頁,習慣真的是完全不同,這也導致了對這兩個不同格式域名的兩次爭論。在早些年,如果網站新增了 www 無法訪問的話,很多使用者會天然的產生對網站的不信任感,覺得網站做得太爛,不靠譜,放到現在的話,這個評判標準真的很奇葩

有過網站部署和運營經驗的朋友都知道,對網站域名進行伺服器對映的時候呢,這兩個域名都要進行對映,不然很容易出問題,通常會出現如下的三種問題:

  • www.xxx.com 可以訪問,xxx.com 不能正常訪問
  • xxx.com 可以訪問,www.coding10.com 不能正常訪問
  • www.xxx.com 和 xxx.com 都可以訪問,但是 session 資訊是兩套

既然我們們已經知道 xxx.com和 www.xxx.com 是兩個不同的域名,出現上面的這些問題就不難理解了,而且從技術的角度嚴格來說,上面列舉的還真的不是問題,只是因為人們把 xxx.com 和 www.xxx.com 當成了一個東西,所以他們在人們眼中才成了問題,這是人的問題,而不是技術的問題。但是既然人們已經形成了廣泛的統一認知,後來的江湖就都遵從了這個約定俗成的結果,把這兩個域名都對映到同一個伺服器的同一個網站上。於是乎,不管你輸入哪一個格式的網址,都是在訪問同一個網站。但是只做到對映到一個網站是不夠的,因為只是簡單的對映到一個網站還是有問題

“我明明登陸了網站,為啥在一部分頁面我的狀態是未登入,另外一部分網頁我的狀態卻又是登陸狀態呢?無論怎麼重新整理,未登陸的頁面也一直是未登入的,登陸的網頁怎麼重新整理都是登陸狀態,成了半登半不登的陰陽人?”

如果平時你觀察夠仔細的話,你應該遇到過這種問題,很多網路開發新手遇到這種問題就是把腦袋擰下來也不知道是怎麼回事,而原因卻很簡單,就是上面我叨嘮的那些內容,解決方案就是重定向,做一個統一的規範:“要麼全部都帶 www,要麼全部都不帶 www”。

這兩年盛行了另一種說話,就是不帶 www 的域名更好,更安全云云,還一一列舉各種“證據”,這其實是另一個極端的異端邪說,純碎扯犢子,你只要明白了一個是頂級域名,一個是二級域名就行了,沒那麼多廢話,同樣也沒有那麼多好壞之分,你喜歡全部重定向到哪個就重定向到那個,沒啥好糾結。

最後就是 SEO權重 的問題,近些年一些人根據資料得出了一個有 “說服力” 的結論,不帶 www 的域名被訪問的次數遠遠比帶 www 的多,不帶 www的網站獲得的權重更高,因此做網站的時候應該全部重定向到不帶 www 的網頁。這個現象是對的,結論卻是錯的,之所以有這種現象,只是因為人們越來越懶了,使用者的使用習慣變了而已,跟 www 帶與不帶卻沒半毛錢關係

馬化騰說:“ 我每天都在焦慮,我真的不知道以後的年輕人是怎麼想的~ ”

PS:我之前部落格匯中有一個錯誤,被 Laravel-China 一個朋友 arfurs 發現了, “這是個不帶 www 的域名,是絕對的大 boss,是一級域名” 。這個部分我之前把一級域名寫成了“頂級域名”,但是頂級域名指的是 .com 結尾的域名,是從商業價值上來說的。非常感謝這位朋友的糾正,也為之前的錯誤致歉,arfurs 讓這篇部落格更加嚴謹,算是我們共同完成了這篇部落格!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章