成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP實現偽靜態化頁面的具體實現方式

開發 后端
下面我們向大家介紹了兩種PHP實現偽靜態化頁面的具體代碼,其中包括通過URL Rewrite實現鏈接靜態化的方法,這種方法不方便也不靈活。

大家也許對PHP偽靜態頁面還比較陌生,今天我們就向大家具體講解PHP實現偽靜態化頁面的具體代碼,讓大家對對PHP偽靜態有一個更加深入的了解。

#t#PHP實現偽靜態化頁面方法一:

在你的程序初始化時使用如下代碼:

  1. <?php   
  2. $Php2Html_FileUrl = $_SERVER["REQUEST_URI"];   
  3. $Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));   
  4. $Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);   
  5. foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)   
  6. {   
  7. $Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);   
  8. $_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];   
  9. }   
  10. echo '假靜態:$_GET變量<br />';   
  11. print_r($_GET);   
  12. ?>   

然后php中調用$_GET變量就像平常一樣了。

連接使用方式:

****.php/param1|1234@param2|4321

和****.php?param1=1234¶m2=4321一樣。

PHP實現偽靜態化頁面方法二:通過URL Rewrite實現鏈接靜態化

我們知道搜索引擎對于靜態頁面是非常友好的,因此很多網站通過生成靜態頁面等手段方便爬蟲抓取自己網站的內容。但是有時候一些應用并不適合全部靜態化,比如數據變化非常大的論壇/貼吧系統,這時候我們可以通過URL重寫來實現鏈接的偽靜態化,即網站對外使用靜態化的鏈接,而內部實際上仍然使用動態頁面的 URL形式。比如像這樣一個鏈接:http://www.ci123.com/abc.php?action=a&id=1,我們可以改寫成http://www.ci123.com/abc/a/1.html的形式。這是搜索引擎優化最重要的內容之一,它還有一個額外的好處,可以使頁面有一個***鏈接,即便以后網站系統內部鏈接有變化,通過適當改變Rewrite規則就可以保證原先的外部URL一直有效。

下面介紹2種簡單的Apache+PHP下實現URL重寫的方法,***種適合有服務器配置權限的用戶,第二種適合租用空間的用戶,也作為我近期的學習心得的整理。

1、對于有服務器配置權限的用戶,推薦使用Apache的mod_rewrite模塊,這里假設已經安裝好mod_rewrite模塊。打開Apache的配置文件,找到相應主機的部分,添加以下代碼:

  1. RewriteEngine On   
  2. RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2 

然后在shell里執行service httpd reload,讓Apache重新載入配置就好了。現在在PHP頁面里面我們可以把鏈接寫成 abc/a/1.html的形式,Apache在解析這個 URL的時候會rewrite成abc.php?action=a&id=1的形式,并返回正確的頁面。運用正則表達式我們可以實現幾乎任何我們想要的鏈接形式,mod_rewrite模塊的功能異常強大,這里只是一個及其簡單的應用。

2、對于租用空間的用戶,一般都沒有辦法修改Apache的配置,這里有個變通的方法,原理是這樣的:當要傳遞參數訪問PHP 頁面時,正常情況下是通過自動全局變量$_GET來獲得,比如上面的鏈接,在頁面里可以通過$_GET['action'] 和 $_GET['id'] 來獲得,重寫URL后就不行了。現在在每個頁面里require一個url_rewrite.php文件,里面代碼如下:

  1. $filename = basename($_SERVER['SCRIPT_NAME']);   
  2.  
  3. if (strtolower($filename) == "abc.php"){   
  4.   if (!empty($_GET[id])){   
  5.     $id = intval($_GET[id]);   
  6.     $action = intval($_GET[action]);   
  7.   }   
  8.   else {   
  9.     $nav = $_SERVER["REQUEST_URI"];   
  10.     $script = $_SERVER["SCRIPT_NAME"];   
  11.     $nav = ereg_replace("^$script", "", urldecode($nav));   
  12.     $vars = explode("/", $nav);   
  13.     $action = intval($vars[1]);   
  14.     $id = intval($vars[2]);   
  15.    }   
  16. }   
這樣$action和$id也得到了,頁面里鏈接可以寫成abc.php/a/1的形式來訪問相應頁面。

需要注意的是這種PHP實現偽靜態化頁面方法效率較***種低,***種方法是在WEB服務器URL解析過程中實現的,而這里是在PHP頁面解析過程里實現的,第2種方法只是變通,不得已而為之,要修改鏈接形式很不方便也不靈活。

責任編輯:曹凱 來源: pccode.net
相關推薦

2009-11-23 18:39:17

PHP重定向

2009-11-25 11:33:26

PHP驗證表單

2009-07-02 13:36:24

動態頁面JSP技術

2009-11-24 14:45:08

PHP批量上傳圖片

2009-11-24 15:23:50

PHP文件上傳進度條

2009-11-25 14:31:43

PHP自然語言倒序

2009-11-25 15:50:53

PHP刪除數組空白元素

2009-11-27 15:31:33

PHP類搜索定位目錄樹

2009-11-23 19:33:12

PHP5多態性

2009-12-29 18:02:26

SilverLight

2009-11-26 11:05:44

PHP計算頁面執行時間

2011-06-15 17:09:43

PHP頁面靜態化

2009-11-17 17:28:21

PHP靜態頁面

2009-12-02 17:22:22

PHP抓取圖片

2009-08-30 20:55:02

arp snifferlinux源代碼

2009-12-11 13:25:01

PHP頁面跳轉

2010-03-25 18:09:23

Nginx配置文件

2009-07-24 10:53:51

ASP.NET實現靜態

2010-03-12 17:52:35

Python輸入方式

2009-12-03 15:45:51

PHP加入數據程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩国产一区二区三区 | 6080亚洲精品一区二区 | 天天爽夜夜爽精品视频婷婷 | 在线免费观看日本 | 国产欧美日韩精品一区 | 亚洲精品在线播放 | 一级午夜aaa免费看三区 | 免费视频一区二区 | 亚洲视频www | 欧美区日韩区 | 成人中文字幕在线观看 | 91精品久久久久久久久久入口 | 国产成人亚洲精品 | 国产成人精品一区 | 日韩乱码在线 | 欧美日韩在线视频一区 | 日韩中文在线观看 | 国产精品久久午夜夜伦鲁鲁 | 精品91久久 | 色视频网站免费 | 操久久 | 国产成人网 | 国产在线视频一区 | 亚洲在线一区二区三区 | 一区二区三区不卡视频 | 亚洲高清在线观看 | 国产精品国产成人国产三级 | 337p日本欧洲亚洲大胆鲁鲁 | 一区二区不卡高清 | 日韩欧美国产精品一区二区三区 | 91视频国产区| 黄色在线免费观看 | 成人精品一区 | 国产成人精品一区二区三区在线 | 蜜桃臀av一区二区三区 | 欧美一区二区在线播放 | 亚洲一区二区三区在线 | 久草网免费 | 丁香久久 | 五月天婷婷综合 | 毛片黄|