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

2021-06-26 12:02:22 字數 3012 閱讀 3937

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

php實現偽靜態化頁面方法一:

在你的程式初始化時使用如下**:

1

2

3

4

5

6

7

8

9

10

11

12

<?php

$php2html_fileurl=$_server["request_uri"];

$php2html_urlstring=str_replace("/","",strrchr($php2html_fileurl,"/"));

$php2html_urlquerystrlist=explode("@",$php2html_urlstring);

foreach($php2html_urlquerystrlistas$php2html_urlquerystr)

echo'假靜態:$_get變數

';

print_r($_get);

?>

然後php中呼叫$_get變數就像平常一樣了。

連線使用方式:

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

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

php實現偽靜態化頁面方法二:通過url rewrite實現鏈結靜態化

下面介紹2種簡單的apache+php下實現url重寫的方法,第一種適合有伺服器配置許可權的使用者,第二種適合租用空間的使用者,也作為我近期的學習心得的整理。

1、對於有伺服器配置許可權的使用者,推薦使用apache的mod_rewrite模組,這裡假設已經安裝好mod_rewrite模組。開啟apache的配置檔案,找到相應主機的部分,新增以下**:

1

2

rewriteengine on

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

$filename=basename($_server['script_name']);

if(strtolower($filename) =="abc.php")

else

}

這樣$action和$id也得到了,頁面裡鏈結可以寫成abc.php/a/1的形式來訪問相應頁面。

需要注意的是這種php實現偽靜態化頁面方法效率較第一種低,第一種方法是在web伺服器url解析過程中實現的,而這裡是在php頁面解析過程裡實現的,第2種方法只是變通,不得已而為之,要修改鏈結形式很不方便也不靈活。

PHP實現頁面靜態化 純靜態化及偽靜態化

php靜態化分為 純靜態化 和 偽靜態化 純靜態化又分為 區域性靜態化 和 完全靜態化 純靜態化 是把php生成的動態頁面儲存成靜態的html檔案,使用者訪問該靜態頁面,而不是使用者每一次訪問都重新生成一張相同的網頁,優點就是減小伺服器開銷,區域性靜態化 是生成的靜態檔案中,有區域性的資料還是通過a...

PHP 頁面靜態化 純靜態化 偽靜態化

概念 php靜態化分為 純靜態化 和 偽靜態化 純靜態化又分為 區域性靜態化 和 完全靜態化 純靜態化 是把php生成的動態頁面儲存成靜態的html檔案,使用者訪問該靜態頁面,而不是使用者每一次訪問都重新生成一張相同的網頁,優點就是減小伺服器開銷,區域性靜態化 是生成的靜態檔案中,有區域性的資料還是...

PHP 頁面靜態化 純靜態化 偽靜態化

概念 php靜態化分為 純靜態化 和 偽靜態化 純靜態化又分為 區域性靜態化 和 完全靜態化 純靜態化 是把php生成的動態頁面儲存成靜態的html檔案,使用者訪問該靜態頁面,而不是使用者每一次訪問都重新生成一張相同的網頁,優點就是減小伺服器開銷,區域性靜態化 是生成的靜態檔案中,有區域性的資料還是...