網站換網址時要如何做才能確保原來連結還是有效的?
以discuz論壇來說,網站換網址(域名)後每個網頁網址後面還是一樣的,
所以可以用301重新導向方式,避免404的情形發生。
這功能類似轉址。
這是我去查到的方法,以後可能需要所以記錄下來。
我目前只測試過這個可用
- # 以下兩行不可省略
- Options +FollowSymLinks
- RewriteEngine on
- # 將index.php 轉到 /
- RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
- RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
- # 將沒有www 轉到有 www
- RewriteCond %{HTTP_HOST} ^wwetw.com [NC]
- RewriteRule ^(.*)$ http://www.wwetw.com/$1 [L,R=301]
複製代碼http://blog.awoo.com.tw/2011/08/htaccess-301-redirect/
換域名.htaccess 設置301重定向到新域名,首先您的server必須是apache系統,通常您使用PHP空間的話,那就是使用apache。在網頁的根目錄下,通常可以找到一個.htaccess的檔案,若沒有則需自已建立一個。由於在Windows中無法建立以點為開頭的檔案,故我們先建立一個htaccess.txt檔,上傳至FTP後再修改檔名為.htaccess即可。(若上傳至FTP後找不到檔案,須在FTP軟體設定強制顯示隱藏檔案)- htaccess 301轉址語法基礎介紹
- 在網站根目錄建立好.htaccess後,接著用任何notepad軟體開啟就可以直接寫入語法。
- 以下為301 redirect的各種運用方式:
- # 進入到您的網域後即301 redirect到其它網域
- Redirect 301 / http://example.com/
- # 進入到old.html後即301 redirect到其它網域的子目錄下
- Redirect /old.html http://example.com/newdirectory/
- # 進入舊的網址即301 redirect至新的網址
- Redirect /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html
- htaccess 301 轉址的進階SEO用法
- 一般網站都會有網址不一致的情怳,什麼是網址不一致?即輸入www.domain.com或www.domain.com/index.php或是輸入沒有www的網址都可進到首頁,一般人可能感覺不出有影響,但對搜尋引擎來說只要網址不同就是不同頁面,因此我們看似差不多的網址,其實搜尋引擎並不這麼認為。
- 所以我們要教大家如何維持網址的一致性,讓從index.php進來的或是從沒有www進來的統一都用301永久轉址的方式轉到www.domain.com
- # 以下兩行不可省略
- Options +FollowSymLinks
- RewriteEngine on
- # 將index.php 轉到 /
- RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
- RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
- # 將沒有www 轉到有 www
- RewriteCond %{HTTP_HOST} ^domain.com [NC]
- RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
複製代碼
http://spoint.babyshoot.cn/archives/2011/07/htaccess-301-redirect.html
換域名.htaccess 設置301重定向到新域名
網站更換域名不應該經常發生,如果因為一些特殊原因,比如找到了更好更易記更符合網站內容域名,更換域名就必須了,更換域名後如何讓搜索引擎知道這是一個更換域名老網站,那麼就需要設置301重定向。301重定向的設置在於告訴老用戶和搜索引擎,網站域名變化了,最重要的是告訴搜索引擎把老域名的權重給於新域名。
.htaccess 設置301的方法,老域名到新域名
設置方法:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L ,R=301]
第二:域名重定向到網站新域名二級目錄mulu:
根據網站代碼:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old.com [NC]
RewriteRule ^(.*)$ http://www.new.com/mulu/$1 [L,R=301]
第三:wordpress 的.htaccess 寫法
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com [NC]
RewriteRule ^(.*)$ http://www.new.com/mulu/$1 [L,R=301]
RewriteBase /mulu/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mulu/index.php [L]
</IfModule>
# END WordPress
設置完畢可自行檢查所有鏈接是否按照自己的要求轉向成功了,也可以使用在線檢測工具。
http://www.internetofficer.com/seo-tool/redirect-check/
http://blog.hi3b.com/archives/199
一般來說,常用的重導向的方法有: 301 redirect, 307 redirect 與 meta fresh:
301 redirect:301 重導向是一種永久性的 URL 轉移 (Permanently Moved)。對於搜索引擎而言,301重導向是網頁轉址的最好表達與操作方式。
307 redirect:307 重導向是一種暫時性的 URL 轉移 (Temporarily Moved )。很不幸,這種重導向的方式曾被用來做為欺騙搜索引擎作弊的手段之一。因此,目前若再採用 307 重導向的方式,很容易被引擎誤判為 spam 而被處罰。
meta fresh:這種方式以前我很常用。是在網頁的 meta 指令中,指定一定的時間後轉址到新的網頁。但,我使用時不太瞭解指定的時間短過 5 秒之內,會有被引擎誤判為 spam 的危機。因而,吃了不少悶虧。 |