
標題: [PHP] CodeIgniter 的 Router 在 WebHostingPad 主機上遇到的問題 [打印本頁]
作者: wmh 時間: 2008-12-13 10:58 標題: [PHP] CodeIgniter 的 Router 在 WebHostingPad 主機上遇到的問題
今天在 WebHostingPad 的虛擬主機上發現 CodeIgniter 在 URL Rewrite 後,無法抓到正確的 Controller
經過檢查後發現,原來有些主機上的環境變數名稱不太一樣,原本應該是透過 $_SERVER['PATH_INFO'] 來取得網址的路徑,但是這台主機上要用 $_SERVER['ORIG_PATH_INFO'] 來取。再加上原本 CodeIgniter 程式內的處理方式也不能運作,所以就改了一下 code:
/system/libraries/URI.php Line 91:// No QUERY_STRING?... Maybe the ORIG_PATH_INFO variable exists?
$path = (isset($_SERVER['ORIG_PATH_INFO'])) ? $_SERVER['ORIG_PATH_INFO'] : @getenv('ORIG_PATH_INFO');
if (trim($path, '/') != '' AND $path != "/".SELF)
{
// remove path and script information so we have good URI data
$this->uri_string = str_replace($_SERVER['SCRIPT_NAME'], '', $path);
return;
}
改成了這樣:// No QUERY_STRING?... Maybe the ORIG_PATH_INFO variable exists?
$path = (isset($_SERVER['ORIG_PATH_INFO'])) ? $_SERVER['ORIG_PATH_INFO'] : @getenv('ORIG_PATH_INFO');
if (trim($path, '/') != '' AND $path != "/".SELF)
{
// remove path and script information so we have good URI data
// $this->uri_string = str_replace($_SERVER['SCRIPT_NAME'], '', $path);
$this->uri_string = $path;
return;
}
PS. CodeIgniter 版本是 1.6.3
歡迎光臨 jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 (http://jsgears.com/) |
|