<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當前位置:首頁 > 網站舊欄目 > 學習園地 > 程序開發教程 > 網頁偽靜態知識及其2種實現方法

      網頁偽靜態知識及其2種實現方法
      2010-01-09 20:04:14  作者:佚名  來源:網絡編程
      偽靜態技術產生的背景: 
          1、靜態網頁與動態比較:
      1)靜態網頁: 
      優勢:A、 對搜索引擎友好,被收錄的質量高;B、訪問速度快;C、資源(cpu 等)占用少。 
      劣勢:A、對于大型門戶,或者社區來說,不斷的修改將會產生大量I/O,會導致磁盤出現碎片甚至出現磁盤壞道。相當恐怖一個隱患。用戶信息一旦沒有了就沒戲玩了。B、儲存空間占用會多一些。 
      2)動態網頁: 
      優勢:相對于靜態,它的劣勢也就是動態的優勢所在——占用空間少,對硬盤友好。 
      劣勢:
      A、對搜索引擎不友好。搜索引擎會不收錄帶問號的網址?因為搜索引擎怕由于問號而進入死循環。
      B、高并發時資源占用較多。
          而偽靜態就是在這樣背景下應運而生了,它在保留動態的優點的基礎上,使得網址靜態化,也就是讓網址里不帶問號,騙過收錄的爬蟲就行了。這樣完美地糅合了前邊兩者的優點。
      優點:靜態的優點+動態的優點
      不足:流量稍大一些使用偽靜態就出現CPU使用超負荷,由于偽靜態是用正則判斷而不是真實地址,分辨到底顯示哪個頁面的責任也由直接指定轉由CPU來判斷了,所以CPU占有量的上升,確實是偽靜態最大的弊病. 
          實現機制:是利用服務器端,對請求的動態頁面做改動,讓瀏覽器認為訪問的也是靜態頁面,這個時候,瀏覽器地址欄中顯示的就是靜態地址信息(不帶問號)了。 
          兩種實現方法: 
        
        1、使用ISAPI_Rewrite進行動態鏈接重寫HTML靜態網址。ISAPI_Rewrite是一個dll組件,re_write是iis里的一個模塊。這個篩選器實現是通過正則表達式,將動態網頁網址映射成為靜態網址。如可將news.asp?id=95通過re_write將其轉換成news/95.html。映射的正則表達式在httpd.ini文件里進行設置。
        舉個小小例:處理數據翻頁,那么寫法是:
      More_<%=Page%>_<%=type%>.html (注:page是翻頁頁數,type是數據類型)表現形式:More_1_95.html
      如果翻下一頁,則為:More_2_95.html,繼續下一頁的循環,則是:
      More_3_95.html,以此類推。 
           
      不過你需要在httpd.ini文件中增加以下代碼: 
      RewriteRule /More_(\d+)_(\d+)\.html /jsp/more\.asp\?page=$1&type=$2 [N,I] 字串9

      如果你的動態程序有多個參數需要傳遞,那么就增加多個(\d+)即可,如下:
      RewriteRule /More_(\d+)_(\d+)_(\d+)\.html /asp/more\.asp\?page=$1&type=$2&type2=$3 [N,I] 
          優點:在程序上基本不需做什么變化。麻煩:要實現這個需要對iis進行控制,所以當你租用別人的服務器時,則需要先跟服務商聯系。(當然這個是對asp而言,asp.net就不用——直接將dll程序集放到程序中的bin再適當的配置即可實現) 
          2、IIS的404錯誤處理機制:通過自定義錯誤,轉向我們準備好的處理頁。不過這種可拓展性有待研究,對程序處理的統籌要求也高,不大適合實際應用的樣子。 
          首先,設置站點屬性-自定意錯誤
      找到HTTP錯誤404,然后編輯屬性->消息類型選中URL->URL填入“/index.asp”,或您的錯誤處理頁面.    
          這樣,比如用戶或蜘蛛訪問http://cn/12345.html  時(12345為文章在數據庫的ID).由于些頁面不存在,所以觸發了404錯誤.轉向了index.asp
      在index.asp里加
      CurrDomain=Request.ServerVariables("HTTP_HOST") ’當前訪問域名
      CurrURL=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&CurrDomain&":80","")  ’當前訪問URL
      此時的CurrURL應該是:12345.html .
             這樣,就得到用戶正在試圖訪問的頁面.然后提取里邊的文章ID(應該為:12345),用正則,這里就不多說了.   然后到數據庫里提取出文章內容.輸出到頁面里,就OK了. 
          結論:偽靜態太適合用在普通的企業網站上了——既不要求高并發,但同時又很在乎seo(搜索引擎優化),而且也要求后臺可動態更新。——當然實現直接生成靜態頁也行,因為這種不像社區那種修改量那么大。

      安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
      相關熱詞搜索:靜態 網頁 方法
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        午夜性色福利在线视频福利 | 思思99热九九在线播放 | 亚洲囯产一区二区 | 午夜飘花国产精品 | 尹人久久久香蕉精品 | 亚洲美女福利视频 |