up
down
Close
架站盒子
Web Development Box
 

如何將www強制轉址到沒有www(含反向教學)

│ 2325 Views │ SEO
  1. 把 www 轉成沒有 www
  2. 把沒有 www 轉成有 www

有www跟沒有www有什麼區別?哪個對SEO比較好?這篇我們已經決定好要用 www 還是沒有 www(non-www),接下來就是要來強制轉址了,如果沒有做強制轉址對搜尋引擎來說就是有兩個網站,可以在網址列上輸入有 www 跟沒有 www 的網址,就會發現都連得到網站,那麼網站流量跟權重就會被分散掉,進而影響 SEO。

把 www 轉成沒有 www

首先,在網站根目錄找到.htaccess檔案。

如果沒有找到,請先檢查是否有開啟顯示隱藏檔案,如果有開啟卻還是沒有就表示沒有這份檔案,那麼就要自行新增,新增的方式很簡單,請直接建立一個空白的記事本即可,然後將檔名置空,副檔名變更為.htaccess就行了。※ 「.htaccess」就是副檔名,這份檔案不需要檔名。

接著用文字編輯器打開檔案(註1),在開頭處貼上以下配置指令:

RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

註1:如果不知道怎麼打開就用記事本去開啟檔案即可,但建議下載 SublimeVS Code 等文字編輯器作為日後編輯程式的習慣。

把沒有 www 轉成有 www

步驟跟剛剛一樣,只是內容不同,請貼上以下配置指令:

RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

說明

  1. RewriteBase:表示重寫是以哪一個網址層級做為基準,「/」表示根網域
  2. RewriteCond:表示重寫的條件
  3. %{HTTP_HOST}:表示當前網域,例如 www.example.com 或 example.com
  4. !^www\.:! 代表「非」,這句代表如果不是www開頭就執行下面的指令
  5. NC:No-Case 的縮寫,代表不分大小寫
  6. RewriteRule:表示重寫規則
  7. R=301:R 是強制重定向,301 是永久轉址
  8. L:表示這個規則到這裡結束(Last)
「301」轉址很重要,這表示將原本網址的權重一併帶到新的網址,所以 www 的權重就會轉到 non-www 了(反過來亦然)。

延伸閱讀

本文是否對您有幫助?