PHP 的$_SERVER['PHP_SELF'] 跟 $_SERVER['REDIRECT_URL']

剛剛被我發現到的= =

因為我用了剛剛apache的重新導向方法...............但是發現我讀取網頁內容檔案還是index.php

例如網址是ppp.php但是他還是讀取pages/index.php而不是我要的pages/ppp.php

並不會跟著網址讀取不一樣的檔案~~~~~~~~因為我原本這樣寫

$file = basename($_SERVER['PHP_SELF']);
$content = require("pages/".$file);

他的PHP_SELF參數~~~是讀取他真的的讀取到的檔案說~~~也就是index.php

改這樣~~~

$file = basename($_SERVER['REDIRECT_URL']);
$content = require("pages/".$file);

就可以了~~~這個參數是取網址~~~而不是真的讀取的檔案(PHP_SELF)~~



千萬別用$file = basename($_SERVER['REQUEST_URI']);

因為我剛剛因為這變數........搞到我看了一推資料........差點瘋掉= =

還以為apache的正規表示法寫錯...........試了好久說...............

其實沒問題= =.................因為我測試的網址view_category.php?id=1

然後我的page是去讀取view_category.php?id=1這個檔案

當然是不會有這檔案.........所以要用$_SERVER['REDIRECT_URL']

這樣跑出來的就不會有get參數了= =

沒有留言: