URL靜態化,URL偽靜態,URL重寫到底是什麼還有頁面靜態化

來源:互聯網
上載者:User

做SEO的朋友現在都知道了,URL靜態化、URL偽靜態、URL重寫對SEO的重要性,搜尋引擎喜歡靜態網站頁面。今天我們來詳細分析一下URL靜態化、URL偽靜態、URL重寫這三者的區別。

      URL靜態化。URL靜態化 就是在你的網站伺服器上現實存在的HTML頁面,每個HTML頁面對應著你網站上的一個URL。常見的可以產生URL靜態化頁面的網站開來源程式有DEDECMS和其它一些CMS內容管理系統,WordPress在安裝外掛程式後也可以實現URL靜態化。URL靜態化和偽靜態不同的地方就是URL靜態化需要產生HTML檔案,如果檔案太多產生一次可能需要很長的時間,這一點不太方便。

      URL偽靜態。URL偽態是最常見的網頁存在形式,URL偽靜態看起來和URL靜態化完全一樣,但實際上URL對應的檔案是不存在的,是用技術手段實現的。偽靜態優點很多,比如不產生現實的HTML檔案,就不會佔用網站空間,管理方便,維護方便,和URL靜態化一樣有利於SEO。

      URL重寫。URL重寫技術就是我們常見的Rewrite技術,屬於URL偽靜態技術中的一種,現在是被廣泛應用於各種系統內容,比如目前用得最多的LINUX 系統PHP環境,還有Asp.net環境,都是通過編輯設定檔規則實現的,例如我們常用的在LINUX系統PHP環境下的301重新導向,就是通過Rewrite技術實現的。

      做SEO的朋友們一定要懂得URL靜態化和URL偽靜態設定,這是做SEO站的基本要求。

 

 

 

頁面靜態化

 

  優點:降低資料庫、web伺服器壓力,訪問速度比較快; 同時,讓搜尋引擎搜錄該連結的幾率大,有助於seo

 

  思路:將"newsDetail.aspx?id=101"動態產生的網頁,下載到自定的檔案夾,然後重新命名:20120319/101.htm。這樣使用者在訪問的時候,就直接存取101.htm,靜態頁的好處這時就體現了。

 

  範例程式碼:

 

?
//文章編號id
?
       string newPath = id + ".htm";             string localPath = HttpContext.Current.Server.MapPath("~/20120319/" + newPath); //HostingEnvironment.MapPath();             //建立檔案夾               Directory.CreateDirectory(Path.GetDirectoryName(localPath));             WebClient wc = new WebClient();             wc.Encoding = Encoding.UTF8;             //通過WebClient向伺服器發Get請求,把伺服器返回的html內容儲存到磁碟上。以後使用者直接請求html檔案請求。               wc.DownloadFile("http://localhost:7930/newsDetail.aspx?id=" + art.id, localPath);

 

   頁面的a標籤就可以這麼寫:<a href='20120319/<%#Eval("id") %>.htm'><%#Eval("title")%></a>

 

  靜態頁注意幾個問題:

 

  1.頁面編碼問題:需要儲存的頁面指明編碼方式(<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />),

 

   WebClient下載網頁時,也要注意編碼問題。

 

  2.路徑: 圖片、js、css等都用絕對路徑

 

      3.頁面上不要使用伺服器控制項,都用ajax處理

 

Url重寫

 

  頁面靜態化和URL重寫目的不一樣,URL重寫和頁面靜態化都可以SEO,

 

  但是URL重寫SEO的開發難度小,頁面靜態化除了SEO之外還能大大降低伺服器的壓力。只有經常被訪問的、很少變化的內容做成靜態化。

 

  範例程式碼

 

?
  protected void Application_BeginRequest(object sender, EventArgs e)        {
?
    string url = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;//獲得使用者要訪問的資源。這個屬性獲得的是虛擬路徑       //判斷使用者訪問的是否是/Art/newsDetail-101.aspx格式       Match match = Regex.Match(url, @"~/Art/newsDetail-(\d+)\.aspx");     if (match.Success)     {         string id = match.Groups[1].Value;         //把用戶端請求發給內部的其他頁面           HttpContext.Current.RewritePath("~/Art/newsDetail.aspx?id=" + id);     } }

 

 

總結一下

1.URL重寫和頁面真正的靜態化,都可以做SEO最佳化,他們對於搜尋引擎來說沒有區別。

2.頁面靜態化還有一個主要的原因就是減小伺服器和資料庫壓力,靜態化一般是不變化的資訊,比如新聞等等,所以一個系統可以靜態化的就製作成靜態頁面,如果和伺服器互動多的頁面,那麼還保持原來的動態網頁面,不過通過URL重寫充能,做SEO。

3.還有一些和伺服器互動不多的頁面,比如使用者資訊頁面,一般都是每個使用者產生一個靜態資訊頁面,每次修改使用者資訊的時候,動態產生靜態頁面,然後替換原來的靜態頁面。

4.產生靜態頁也有很多問題,不說定址和映射問題,如果靜態頁面太多的話,儲存和管理也是問題。所以動態網頁面和靜態頁面遇到具體問題要具體分析,選擇最優方案。

5.如果只想做SEO的話,那完全可以只做URL重寫。

6.另外提一下,.net中有頁面緩衝的技術,這個伺服器壓力和產生靜態頁面有些相似,具體技術大家自己查資料吧(其實頁面緩衝是靜態頁的一種折中的辦法,不過它局限在儲存在記憶體中,會佔用記憶體)。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.