*本文章只適用於使用 Apache (多用於 Linux) 為 web server 的網站。
以友站 關鍵字廣告基地 為例,當這個網站架設好後,我們知道我們的官方網址是:http://www.clicks.com.tw
但是一般來說,我們可以以下四種方式輸入網址到達首頁:
http://www.clicks.com.tw/
http://www.clicks.com.tw/index.php 或 index.html 或 index.htm
http://clicks.com.tw/
http://clicks.com.tw/index.php我們知道目前搜尋引擎基礎上以 backlink 連結來賦予網頁的權重,由於我們無法控制第三方採用哪一個網址來跟我們的網站進行連結,因此就可能出現 相同網頁、不同網址、不同權重的情況出現。『 相同網頁、不同網址、不同權重』這個問題,對瀏覽者來說可以說無傷大雅,但是在搜尋引擎就會造成權重分散的情形。
對搜尋引擎來說,上述四個網址代表著四個不一樣的網頁。
而對網站瀏覽者來說,對網址的具體印象也會不一。
筆者就曾經有過 http://www.xxxx.com.tw/ (PR =4) 跟 http://www.xxxx.com.tw/index.php (PR = 5) 出現不同 Page Rank 的問題。同一個網頁不同的 PageRank 代表著浪費了辛苦累積的 backlink。
這個情況在 Linux 伺服器 (準確點應該是說使用 Apache Web Server 的伺服器) 就要透過 301 redirect 來解決。所謂 301 redirect 的意思是告訴搜尋引擎這是永久性 (301) 的轉址 (redirect)。
在放置首頁 index.php 或 index.html 的目錄下,一般有一個 .htaccess 的隱藏檔案。這個 .htaccess 屬於隱藏檔案,在 FTP 軟體上也許要設定可以觀看隱藏檔案才會發現它的存在。看不到也不用驚訝,也許本來的設定就沒有。
將 .htaccess 檔案下載回來,用 notepad 或者 Editplus 這些純文字編輯軟體就可以加入,非常簡單。請注意如果本身 .htaccess 已經有其他設定,首先需要備份萬一發生問題可以將備份檔上傳,再來就是將以下的指令放到檔案最下方即可,不要刪除本來的設定。
Options +FollowSymLinks
RewriteEngine On
# 以下是將沒有www 的網址加上有 www
RewriteCond %{HTTP_HOST} ^clicks.com.tw$ [NC]
RewriteRule ^(.*)$ http://www.clicks.com.tw/$1 [R=301,L]
# 以下是將有 index.php 的網址轉成沒有
rewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
rewriteRule ^index.php$ http://www.clicks.com.tw/ [R=301,L]請將 clicks.com.tw 網址換成您自己的網址。
新的 .htaccess 檔案上傳後,不論輸入四個當中哪一個網址,都會自動轉成官方的http://www.clicks.com.tw/ ,而搜尋引擎也會將權重全部集中在這個網址上。
由於這個情形幾乎每個網站都會出現,所以應該出現在每個網站完成的 check list 上,視為標準動作。
參考:How To Redirect index.php to directory
http://www.webmasterworld.com/apache/3495904.htm
Reference from: http://seo.list.tw/301-redirect/