SEO, WordPress

教你用 .htaccess 修改拔掉網址前面的 www

教你用 .htaccess 修改拔掉網址前面的 www

拿掉網址前面的 www 時代

在許多情況下,網站擁有者可能會希望將網站的訪問從 www 版本重定向到 non-www 版本(或相反),以避免重複內容的問題,這對於搜尋引擎最佳化(SEO)來說非常重要。這篇文章將透過修改 .htaccess 文件來實現從 wwwnon-www 的重定向。一般來說在 2020 年開始,越來越多的網站已經變更為不再強制要求要前面的 www,從最早期開始「www」的使用習慣變化,其實反映了網際網路技術和使用者習慣的演進。早期,「www」(World Wide Web 的縮寫)作為網址的標準前綴,主要是為了指明該地址指向的是位於該域名下的網際網路服務,特別是與其他服務(如電子郵件服務的 SMTP、檔案傳輸的 FTP 等)作區分。那時,網站主要是通過「www」這個子域來提供,而其他服務則使用不同的子域。

  1. 技術發展:DNS(域名系統)和網頁伺服器的技術進步使得無論是否使用「www」,網站都能正常訪問。伺服器可以輕易配置為同時接受帶有「www」和不帶「www」的請求,並將它們指向同一個網站。
  2. 使用者習慣改變:隨著網際網路變得普及,人們越來越習慣於直接輸入域名訪問網站,而不是完整的包括「www」的URL。簡潔的網址更容易記住和輸入,特別是在行動裝置上。
  3. 品牌策略:很多品牌開始意識到,簡化網址有助於品牌識別和市場推廣。不使用「www」可以使網址更加簡潔和直觀,有助於提高品牌的可見度和記憶度。
  4. 搜尋引擎最佳化(SEO):從 SEO 的角度來看,選擇是否使用「www」應保持一致,以避免分裂網站的連結價值。無論是選擇使用還是不使用,重要的是確保網站的所有訪問都重定向到同一個版本,從而集中連結權重和提高搜尋排名。

使用 .htaccess 進行重定向的運作原理

.htaccess 文件是一種在 Apache 伺服器上配置網站設定的文件,它允許網站管理者進行許多重要設定,如 URL 重寫和重定向。透過在 .htaccess 文件中添加特定的規則,可以在伺服器層面上實施重定向,而不需要修改任何網頁內容或進行複雜的程式設計。

以下是一個簡單的步驟,說明如何設定 .htaccess 以實現從 wwwnon-www 的重定向:

  1. 打開 .htaccess 文件:首先,需要找到位於網站根目錄的 .htaccess 文件。如果文件不存在,可以手動創建一個。
  2. 添加重定向規則:在 .htaccess 文件中添加以下代碼段:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# 將 www 重定向到 non-www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

這段代碼的運作原理如下:

    • 首先,確認 mod_rewrite 模組已啟用(<IfModule mod_rewrite.c>)。
    • RewriteEngine On 啟用重寫引擎。
    • RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 條件檢查訪問的主機名是否以 www 開頭。
    • RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 規則將所有匹配的請求重定向到相同的 URI,但去掉了 www,使用 301 永久重定向狀態碼,這有助於保留搜尋引擎排名。
  1. 保存並上傳 .htaccess 文件:修改後,保存 .htaccess 文件並上傳到網站的根目錄。
  2. 測試重定向:在瀏覽器中輸入 www 版本的網站 URL,檢查是否自動重定向到 non-www 版本。

通過這種方式設定重定向不僅可以幫助改善網站的 SEO 表現,也能為使用者提供更加一致的瀏覽體驗。此外,使用 .htaccess 文件進行重定向是一種伺服器端的解決方案,可以減少客戶端的請求次數,從而提高網站的載入速度。